update from texinfo
[gnulib.git] / ChangeLog
1 2010-04-22  Simon Josefsson  <simon@josefsson.org>
2
3         * top/maint.mk (sc_prohibit_backup_files): Prohibit checked in
4         backup files.
5
6 2010-04-21  Simon Josefsson  <simon@josefsson.org>
7
8         * tests/test-vasprintf.c: Test %08lx.
9
10 2010-04-20  Eric Blake  <eblake@redhat.com>
11
12         tests: be robust to ignored SIGPIPE
13         * tests/test-select-in.sh: Consume all output.
14         * tests/test-lseek.sh: Check correct exit status, while avoiding
15         EPIPE.
16
17 2010-04-20  Simon Josefsson  <simon@josefsson.org>
18             Bruno Haible  <bruno@clisp.org>
19
20         visibility: Don't use -fvisibility if it leads to a warning.
21         * m4/visibility.m4 (gl_VISIBILITY): Check whether -Werror is usable. If
22         yes, don't pretend that visibility works if it leads to a warning.
23         Reported by Mike Gran <spk121@yahoo.com>.
24
25 2010-04-20  Andreas Gruenbacher  <agruen@suse.de>
26
27         * build-aux/bootstrap: Use "git -h" for testing for supported options
28         instead of "git --help".  The short-form option only shows a summary,
29         and doesn't layout the full man page.  Grep for the full option name
30         in the summary, too.
31
32 2010-04-19  Bruno Haible  <bruno@clisp.org>
33
34         relocatable: Drop the need to define RELOCATABLE_STRIP in Makefile.am.
35         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Set RELOCATABLE_STRIP.
36         * doc/relocatable-maint.texi (Supporting Relocation): Remove the
37         mention of RELOCATABLE_STRIP.
38         Reported by Sylvain Beucler <beuc@beuc.net>.
39
40 2010-04-19  Bruno Haible  <bruno@clisp.org>
41
42         * lib/diffseq.h: Fix typo in comment.
43         Reported by Eric Blake.
44
45 2010-04-19  Bruno Haible  <bruno@clisp.org>
46
47         ioctl: Move autoconf macro to a .m4 file.
48         * m4/ioctl.m4: New file, extracted from modules/ioctl.
49         * modules/ioctl (Files): Add it.
50         (configure.ac): Simply invoke gl_FUNC_IOCTL.
51         Reported by Ian Beckwith <ianb@erislabs.net>.
52
53 2010-04-18  Andreas Gruenbacher  <agruen@suse.de>
54             Bruno Haible  <bruno@clisp.org>
55
56         diffseq: Accommodate use-case with abstract arrays.
57         * lib/diffseq.h (struct context): Remove xvec, yvec fields if ELEMENT
58         is not defined.
59         (diag, compareseq): Remove local variables xv, yv if ELEMENT is not
60         defined. Use local macro XREF_YREF_EQUAL instead of EQUAL.
61
62 2010-04-18  Bruno Haible  <bruno@clisp.org>
63
64         * doc/posix-headers/stdbool.texi: More precise wording.
65
66 2010-04-17  Jim Meyering  <meyering@redhat.com>
67
68         maint.mk: use gnu-style indentation in an embedded perl script
69         * top/maint.mk (detect_empty_lines_at_EOF_): Clean up formatting.
70         Rename variable: s/two/last_two_bytes/
71
72 2010-04-16  Eric Blake  <eblake@redhat.com>
73
74         test-stdbool: skip test that fails with Solaris CC
75         * tests/test-stdbool.c (f): Skip test that causes compilation
76         error under buggy C++ compiler.
77         * lib/stdbool.in.h: Document the limitation.
78         * doc/posix-headers/stdbool.texi (stdbool.h): Likewise.
79
80         setenv: allow compilation with C++
81         * lib/setenv.c (__add_to_environ): Add a cast.  Also, drop use of
82         register keyword.
83
84         stdint: allow test to pass with C++
85         * tests/test-stdint.c: Define __STDC_CONSTANT_MACROS, for glibc.
86
87         getopt: allow compilation with C++
88         * lib/getopt_int.h (__ordering): Hoist enum declaration outside
89         struct.
90         * lib/getopt.c (_getopt_internal_r): Use correct type.
91         Reported by Dagobert Michelson, via Joel E. Denny.
92
93 2010-04-16  Bruno Haible  <bruno@clisp.org>
94
95         Override netdb.h always.
96         * modules/netdb (Makefile.am): Augment BUILT_SOURCES always.
97         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't set NETDB_H.
98         Reported by Ludovic Courtès <ludo@gnu.org>.
99
100 2010-04-15  Bruno Haible  <bruno@clisp.org>
101
102         openpty: Fix mistake from 2010-03-21.
103         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when openpty exists.
104         Reported by Simon Josefsson.
105
106 2010-04-15  Eric Blake  <eblake@redhat.com>
107
108         test-forkpty: fix expected signature
109         * tests/test-forkpty.c (SIGNATURE_CHECK): Add appropriate const.
110         Reported by Simon Josefsson.
111
112 2010-04-15  Jim Meyering  <meyering@redhat.com>
113
114         maint.mk: texinfo_suffix_re_: correct the default regexp
115         * top/maint.mk (texinfo_suffix_re_): Fix default regexp.
116
117         * top/maint.mk (sc_texinfo_acronym): Improve filename regexp, and
118         make it configurable via texinfo_suffix_re_.
119
120 2010-04-14  Eric Blake  <eblake@redhat.com>
121
122         strtok_r: relax license to LGPLv2+
123         * modules/strtok_r (License): Relax license.
124         Reported by Matthias Bolte.
125
126 2010-04-14  Simon Josefsson  <simon@josefsson.org>
127
128         * lib/gc-libgcrypt.c (gc_init): Use MIN_GCRYPT_VERSION set to
129         version 1.4.4 by default instead of requiring the libgcrypt
130         version used during build.  This makes it possible to use the
131         application with older but still binary compatible libgcrypt
132         versions.
133
134 2010-04-13  Eric Blake  <eblake@redhat.com>
135
136         getopt-gnu: match recent glibc fixes and posix ruling
137         * tests/test-getopt.h (test_getopt): Strengthen tests of leading
138         '+' handling, when requesting extensions.
139         * tests/test-getopt_long.h (test_getopt_long): Strengthen test of
140         'W;' handling.
141         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Detect glibc 2.11 bug.
142         * doc/posix-functions/getopt.texi (getopt): Document this.
143         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
144         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
145         Likewise.
146
147         getopt: merge bug fixes from glibc
148         * lib/getopt.c (_getopt_internal_r): Use correct message for 'W;'
149         diagnostics.  Honor '+:' correctly.  Reject ';'.
150
151         getopt-posix: detect MacOS bug
152         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Reject MacOS botch of
153         optind when missing a required argument.
154         * doc/posix-functions/getopt.texi (getopt): Document the bug.
155         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
156         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
157         Likewise.
158
159         getopt-posix: avoid spurious failure on Solaris
160         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for getopt_clip as
161         an indicator that setting optind=1 is sufficient for reset.
162
163         getopt-posix: avoid spurious failure on FreeBSD
164         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for optreset even
165         in POSIX mode, since the m4 test uses it.
166
167         gnulib-tool: silence warning on BSD sh
168         * gnulib-tool: Avoid leaking warning about unknown 'declare'.
169
170 2010-04-13  Jim Meyering  <meyering@redhat.com>
171
172         doc: users.txt: GNU patch now uses gnulib
173         * users.txt: Add patch.
174
175 2010-04-12  Jim Meyering  <meyering@redhat.com>
176
177         maint.mk: generate more concise timing data for syntax-check rules
178         * top/maint.mk ($(sc_z_rules_)): Remove the ":", "sc_" prefix and
179         " done" from each line that reports a syntax-check test duration.
180
181 2010-04-12  Andreas Gruenbacher  <agruen@suse.de>
182
183         git-version-gen: use "git update-index..." rather than "git status"
184         * build-aux/git-version-gen: Use git update-index --refresh, not
185         "git status".  With some versions of git, "git status" would fail
186         to update the index and result in an unwarranted "-dirty" suffix.
187
188 2010-04-11  Jim Meyering  <meyering@redhat.com>
189
190         openat: correct formatting (no semantic change)
191         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Correct formatting in AC_DEFINE.
192         Suggested by Bruno Haible.
193
194 2010-04-11  Bruno Haible  <bruno@clisp.org>
195
196         Stricter declaration checking in testdirs.
197         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
198         If for_tests is true, augment AM_CPPFLAGS to define
199         GNULIB_STRICT_CHECKING.
200         * build-aux/warn-on-use.h (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): When
201         GNULIB_STRICT_CHECKING is defined, verify that the function is
202         declared.
203
204 2010-04-11  Paolo Bonzini  <bonzini@gnu.org>
205             Bruno Haible  <bruno@clisp.org>
206
207         libunistring: Improve configure output.
208         * m4/libunistring.m4 (gl_LIBUNISTRING): Check for libiconv first.
209         Don't say "consider installing GNU libunistring" when checking again
210         with libiconv.
211
212 2010-04-11  Bruno Haible  <bruno@clisp.org>
213
214         libunistring: Correct value of $LTLIBUNISTRING.
215         * m4/libunistring.m4 (gl_LIBUNISTRING): When it depends on libiconv,
216         correct the value of $LTLIBUNISTRING.
217
218 2010-04-11  Bruno Haible  <bruno@clisp.org>
219
220         havelib: Add static libraries to LIBS in the right order.
221         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): When $LIB[]NAME contains no
222         -l options, prepend it to $LIBS, instead of appending it to $LIBS.
223
224 2010-04-11  Bruno Haible  <bruno@clisp.org>
225
226         libunistring: Detect libunistring also when it depends on libiconv.
227         * m4/libunistring.m4 (gl_LIBUNISTRING): Unset the cached result before
228         the second AC_LIB_HAVE_LINKFLAGS invocation.
229
230 2010-04-11  James Youngman  <jay@gnu.org>
231
232         close-stream: declare local scalars to be "const"
233         * lib/close-stream.c (close_stream): Make boolean variables const
234         to document the fact that we set but do not change them.
235
236 2010-04-11  Bruno Haible  <bruno@clisp.org>
237
238         * m4/libunistring.m4 (gl_LIBUNISTRING): Fix typo in comment.
239
240 2010-04-11  Jim Meyering  <meyering@redhat.com>
241
242         maint.mk: don't include dist-check.mk
243         * top/maint.mk: Remove bogus include directive.
244
245         maint.mk: improve empty-line-at-EOF check
246         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Use Perl-based
247         solution, rather than tail+Perl-based one.  The latter would read
248         a few kilobytes from the end of each file, and did not handle empty
249         files properly.
250
251         maint.mk: print the elapsed time for each syntax-check rule
252         * top/maint.mk (sc_m_rules_): Save start time in a file.
253         (sc_z_rules_): New rules: remove temp file and print elapsed time.
254         (local-check): Interpose the .z rules
255
256 2010-04-11  Jim Meyering  <meyering@redhat.com>
257
258         maint.mk: detect_empty_lines_at_EOF_: avoid FP for an empty file
259         * top/maint.mk (detect_empty_lines_at_EOF_): Don't confuse an
260         empty file with one that ends in an empty line.
261
262 2010-04-10  Bruno Haible  <bruno@clisp.org>
263
264         mkdir: Make it work on mingw64.
265         * lib/sys_stat.in.h: Include <direct.h> together with <io.h>.
266         * lib/mkdir.c: Update comment.
267         Reported by Roman Donchenko (Роман Донченко) <dxdragon@yandex.ru>.
268
269 2010-04-10  Bruno Haible  <bruno@clisp.org>
270
271         Don't override improved macro from newer autoconf.
272         * m4/gnulib-common.m4 (AC_C_RESTRICT): Don't define for
273         autoconf >= 2.62.
274         Reported by Joel E. Denny <jdenny@clemson.edu>.
275
276 2010-04-10  Jim Meyering  <meyering@redhat.com>
277
278         maint.mk: new syntax-check rule: prohibit empty lines at end of file
279         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): New rule.
280
281         maint.mk: correct a diagnostic
282         * top/maint.mk (sc_prohibit_HAVE_MBRTOWC): Fix obsolete use of $re
283         in diagnostic; now use $prohibit.
284
285 2010-04-10  Bruno Haible  <address@hidden>
286
287         fchownat: Fix a C++ test error on Solaris 8.
288         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Don't set REPLACE_FCHOWNAT to 1 if
289         the function does not exist.
290
291 2010-04-10  Bruno Haible  <bruno@clisp.org>
292
293         vasnprintf: Add more tests.
294         * tests/test-vasnprintf-posix.c: Include <errno.h>.
295         (test_function): Test converting an invalid wide string.
296
297         vasnprintf: Correct handling of unconvertible wide string arguments.
298         * lib/vasnprintf.c (MAX_ROOM_NEEDED): New function, extracted from
299         VASNPRINTF.
300         (VASNPRINTF): Use it. After snprintf failed, allocate more memory only
301         if HAVE_SNPRINTF_RETVAL_C99 is false and the allocated memory is
302         smaller than the expected maximum need for the directive. Set errno to
303         EILSEQ, not EINVAL, when the directive is 'c' or 's'.
304         (local_strnlen, local_wcslen, local_wcsnlen): Update conditions.
305         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require AC_C_INLINE and
306         gl_SNPRINTF_RETVAL_C99. Define HAVE_SNPRINTF_RETVAL_C99.
307         * modules/vasnprintf (Files): Add m4/printf.m4.
308         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
309
310 2010-04-10  Bruno Haible  <bruno@clisp.org>
311
312         vasnprintf: Fix crash in %ls directive.
313         * lib/vasnprintf.c (VASNPRINTF): Don't abort when a unconvertible wide
314         string is passed as argument to %ls, with no precision and no width.
315         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
316
317 2010-04-10  Bruno Haible  <bruno@clisp.org>
318
319         vasnprintf: Fix multiple test failures on mingw.
320         * lib/vasnprintf.c (SNPRINTF) [mingw]: Define to snprintf, not
321         _snprintf, or snwprintf, not _snwprintf.
322
323 2010-04-10  Bruno Haible  <bruno@clisp.org>
324
325         write: Fix a C++ test error on mingw.
326         * lib/unistd.in.h (write): Use _GL_CXXALIAS_SYS_CAST.
327
328 2010-04-10  Bruno Haible  <bruno@clisp.org>
329
330         vasnprintf test: Reduce code duplication.
331         * tests/test-vasnprintf.c (test_function): New function, extracted from
332         test_vasnprintf.
333         (test_vasnprintf, test_asnprintf): Invoke it.
334
335 2010-04-10  Bruno Haible  <bruno@clisp.org>
336
337         strnlen: Fix warning in C++ mode on MacOS X.
338         * lib/string.in.h (strnlen): Use the modern idiom.
339         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set REPLACE_STRNLEN to 1, instead of
340         defining strnlen as a macro already in <config.h>.
341         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
342         REPLACE_STRNLEN.
343         * modules/string (Makefile.am): Substitute REPLACE_STRNLEN.
344         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
345
346 2010-04-08  James Youngman  <jay@gnu.org>
347
348         * doc/manywarnings.texi (manywarnings): Add missing parenthesis in
349         the example.
350
351 2010-04-09  Jim Meyering  <meyering@redhat.com>
352
353         maint.mk: print better diagnostic when there is no $(_hv_file)
354         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): Skip test and
355         announce that when $(_hv_file) (aka help-version) does not exist.
356
357         init.sh: run tr in the "C" locale to avoid multibyte interpretation
358         * tests/init.sh (rand_bytes_): Run tr in the "C" locale so it does
359         not try to interpret its random input bytes.  Jarno Rajahalme reported
360         that ./test-xalloc-die.sh would fail with "tr: Illegal byte sequence".
361         on Darwin 10.3.0 with LC_CTYPE=UTF-8.
362         (mktempd_): Likewise, just in case.
363
364         ftruncate: add two years to projected module removal date: 2012
365         * m4/ftruncate.m4: Adjust comments.
366
367         ftruncate: mark module as obsolete; even MinGW provides it, now
368         * modules/ftruncate (Status): Obsolete.
369         (Notice): Say that.
370         * doc/posix-functions/ftruncate.texi: Don't say MinGW lacks it.
371         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/9203
372
373 2010-04-08  Bruno Haible  <bruno@clisp.org>
374
375         Fix side effects from tests-related modules.
376         * modules/dprintf-posix (Comment): New section.
377         * modules/fprintf-posix (Comment): Likewise.
378         * modules/obstack-printf-posix (Comment): Likewise.
379         * modules/printf-posix (Comment): Likewise.
380         * modules/snprintf-posix (Comment): Likewise.
381         * modules/sprintf-posix (Comment): Likewise.
382         * modules/vasnprintf-posix (Comment): Likewise.
383         * modules/vasprintf-posix (Comment): Likewise.
384         * modules/vdprintf-posix (Comment): Likewise.
385         * modules/vfprintf-posix (Comment): Likewise.
386         * modules/vprintf-posix (Comment): Likewise.
387         * modules/vsnprintf-posix (Comment): Likewise.
388         * modules/vsprintf-posix (Comment): Likewise.
389         * modules/xprintf-posix (Comment): Likewise.
390         * modules/xvasprintf-posix (Comment): Likewise.
391         * modules/ceilf-tests (Depends-on): Remove fprintf-posix.
392         * modules/floorf-tests (Depends-on): Likewise.
393         * modules/round-tests (Depends-on): Likewise.
394         * modules/roundf-tests (Depends-on): Likewise.
395         * modules/trunc-tests (Depends-on): Likewise.
396         * modules/truncf-tests (Depends-on): Likewise.
397         * tests/test-ceilf2.c (check): Don't invoke fprintf if the
398         'fprintf-posix' module is not present.
399         * tests/test-floorf2.c (check): Likewise.
400         * tests/test-trunc2.c (check): Likewise.
401         * tests/test-truncf2.c (check): Likewise.
402         * tests/test-round2.c (equal): Likewise.
403         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
404
405 2010-04-07  Karl Berry  <karl@gnu.org>
406
407         * config/srclist.txt,
408         * config/srclistvars.sh,
409         * config/srclist-update: doc fixes.
410
411 2010-04-07  Jim Meyering  <meyering@redhat.com>
412
413         maint.mk: add a PATH crosschecking syntax-check rule
414         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): New rule.
415         Useful if you use a test like the one in help-version (coreutils,
416         diffutils, grep, gzip) that ensures $(VERSION) matches what is
417         printed by prog --version.
418
419 2010-04-06  Bruno Haible  <bruno@clisp.org>
420
421         Fix link error on mingw.
422         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add LIBSOCKET.
423         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Likewise.
424
425 2010-04-06  Bruno Haible  <bruno@clisp.org>
426
427         Assume rmdir exists.
428         * lib/rmdir.c (rpl_rmdir): Remove code that invokes the rmdir program.
429
430 2010-04-06  Giuseppe Scrivano <gscrivano@gnu.org>
431
432         doc: update users.txt
433         * users.txt: Add gcal.
434
435 2010-04-06  Jim Meyering  <meyering@redhat.com>
436
437         init.sh: simply unset TMPDIR rather than risking env -i
438         * tests/init.sh (mktempd_): Using env -i is rather harsh, and
439         although it probably works fine on all Unix-based systems, some
440         systems (Cygwin?) cannot tolerate a totally cleared environment.
441         Suggestion from Eric Blake.
442
443 2010-04-06  Jim Meyering  <meyering@redhat.com>
444
445         init.sh: portability fix: use env's POSIX-specified -i option not -u
446         * tests/init.sh (mktempd_): Use env -i and set PATH explicitly rather
447         than unportable env -u.  Solaris 5.11's env lacks support for -u.
448
449 2010-04-05  Bruno Haible  <bruno@clisp.org>
450
451         btowc: Work around Cygwin 1.7.2 bug.
452         * m4/btowc.m4 (gl_FUNC_BTOWC): Set REPLACE_BTOWC to 1 if the function
453         does not map NUL to 0.
454         * doc/posix-functions/btowc.texi: Mention the Cygwin bug.
455
456 2010-04-05  Bruno Haible  <bruno@clisp.org>
457
458         Make the multithread modules work on Cygwin 1.7.2.
459         * m4/threadlib.m4 (gl_THREADLIB_BODY): Improve the test whether
460         imported symbols can be declared weak, so that it returns "no" on
461         Cygwin 1.7.2.
462
463 2010-04-05  Bruno Haible  <bruno@clisp.org>
464
465         Use the module 'strncat'.
466         * modules/unistr/u8-strncat (Depends-on): Add strncat.
467
468         Tests for module 'strncat'.
469         * modules/strncat-tests: New file.
470         * tests/test-strncat.c: New file.
471
472         New module 'strncat'.
473         * lib/string.in.h (strncat): New declaration.
474         * lib/strncat.c: New file, based on lib/unistr/u-strncat.h.
475         * m4/strncat.m4: New file, based on m4/memchr.m4.
476         * modules/strncat: New file.
477         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Also check whether strncat
478         is declared.
479         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRNCAT,
480         REPLACE_STRNCAT.
481         * modules/string (Makefile.am): Substitute GNULIB_STRNCAT,
482         REPLACE_STRNCAT.
483         * doc/posix-functions/strncat.texi: Mention the Solaris bug and the new
484         module.
485         * tests/test-string-c++.cc: Check signature of strncat.
486
487 2010-04-05  Jim Meyering  <meyering@redhat.com>
488
489         xstrtoumax-tests: convert to use init.sh
490         * modules/xstrtoumax-tests (Files): Add tests/init.sh.
491         * tests/test-xstrtoumax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
492         Use Exit, not exit.
493         Remove uses of $EXEEXT and "./" to run a program in the current dir.
494
495         xstrtoimax-tests: convert to use init.sh
496         * modules/xstrtoimax-tests (Files): Add tests/init.sh.
497         * tests/test-xstrtoimax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
498         Use Exit, not exit.
499         Remove uses of $EXEEXT and "./" to run a program in the current dir.
500
501 2010-04-05  Bruno Haible  <bruno@clisp.org>
502
503         sys_socket: Avoid #define replacements in C++ mode.
504         * lib/sys_socket.in.h (close, gethostname, select): In C++, attach a
505         warning to the function if possible, rather than #defining the symbol
506         to a dysfunctional alias.
507
508 2010-04-05  Bruno Haible  <bruno@clisp.org>
509
510         fseeko: Fix C++ test error on mingw.
511         * m4/fseeko.m4 (gl_HAVE_FSEEKO): New macro, extracted from
512         gl_FUNC_FSEEKO.
513         (gl_REPLACE_FSEEKO): Also set REPLACE_FSEEKO if appropriate.
514         (gl_FUNC_FSEEKO): Require gl_HAVE_FSEEKO. Update.
515         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't fiddle with internals of the
516         fseeko module. Instead, invoke gl_REPLACE_FSEEKO.
517
518 2010-04-05  Bruno Haible  <bruno@clisp.org>
519
520         duplocale: Improve test output.
521         * tests/test-duplocale.c (main): Print reason for skipped test.
522
523 2010-04-05  Bruno Haible  <bruno@clisp.org>
524
525         Assume rmdir exists.
526         * m4/rmdir.m4 (gl_FUNC_RMDIR): Remove test whether rmdir exists.
527         * doc/posix-functions/rmdir.texi: Remove mention of "old platforms".
528
529 2010-04-05  Bruno Haible  <bruno@clisp.org>
530
531         Fix link error on Solaris 8 with cc.
532         * modules/pty-c++-tests (test_pty_c___LDADD): Add LIBINTL.
533
534 2010-04-05  Bruno Haible  <bruno@clisp.org>
535
536         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
537         * lib/math.in.h (frexpl): Fix condition on _GL_CXXALIASWARN invocation.
538
539 2010-04-05  Bruno Haible  <bruno@clisp.org>
540
541         vasprintf: Update documentation.
542         * doc/glibc-functions/asprintf.texi: Mention the 'vasprintf' module.
543
544 2010-04-05  Bruno Haible  <bruno@clisp.org>
545
546         ptsname: Improve test.
547         * tests/test-ptsname.c (main): Also try the various master names of BSD
548         systems.
549
550 2010-04-05  Bruno Haible  <bruno@clisp.org>
551
552         memchr: Avoid a possible C++ test error.
553         * lib/string.in.h (memchr): Provide declaration if function is missing.
554         * m4/memchr.m4 (gl_FUNC_MEMCHR): If the function is missing, set
555         HAVE_MEMCHR to 0, not REPLACE_MEMCHR to 1.
556         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MEMCHR.
557         * modules/string (Makefile.am): Substitute HAVE_MEMCHR.
558
559 2010-04-05  Bruno Haible  <bruno@clisp.org>
560
561         strtok_r: Improve idiom.
562         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Invoke gl_PREREQ_STRDUP only when
563         AC_LIBOBJ is used.
564
565 2010-04-05  Bruno Haible  <bruno@clisp.org>
566
567         strdup: Improve idiom.
568         * m4/strdup.m4 (gl_FUNC_STRDUP): Invoke gl_PREREQ_STRDUP only when
569         AC_LIBOBJ is used.
570         (gl_FUNC_STRDUP_POSIX): When strdup is missing and malloc is not POSIX
571         compliant, don't set REPLACE_STRDUP to 1. Invoke gl_PREREQ_STRDUP only
572         when AC_LIBOBJ is used.
573
574 2010-04-05  Bruno Haible  <bruno@clisp.org>
575
576         mbsinit, mbrtowc, wcrtomb: Improve idioms.
577         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): When the function does not exist,
578         don't set REPLACE_MBSINIT to 1.
579         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): When the function does not exist,
580         don't set REPLACE_MBRTOWC to 1.
581         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): When the function does not
582         exist, don't set REPLACE_MBSRTOWCS to 1.
583         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): When the function does not
584         exist, don't set REPLACE_MBSNRTOWCS to 1.
585         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): When the function does not exist,
586         don't set REPLACE_WCRTOMB to 1.
587         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): When the function does not
588         exist, don't set REPLACE_WCSRTOMBS to 1.
589         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): When the function does not
590         exist, don't set REPLACE_WCSNRTOMBS to 1.
591
592 2010-04-05  Bruno Haible  <bruno@clisp.org>
593
594         ldexpl: Improve idiom.
595         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When the function is not declared,
596         make sure to set HAVE_DECL_LDEXPL to 0.
597
598 2010-04-05  Jim Meyering  <meyering@redhat.com>
599
600         xstrtol-tests: convert to use init.sh
601         * modules/xstrtol-tests (Files): Add tests/init.sh.
602         * tests/test-xstrtol.sh: Invoke "$srcdir/init.sh" and path_prepend_.
603         Use Exit, not exit.
604         Remove uses of $EXEEXT and "./" to run a program in the current dir.
605
606         atexit-tests: convert to use init.sh
607         * modules/atexit-tests (Files): Add tests/init.sh.
608         * tests/test-atexit.sh: Invoke "$srcdir/init.sh" and path_prepend_.
609         Use Exit, not exit.
610         Remove uses of $EXEEXT and "./" to run a program in the current dir.
611
612         init.sh: fix typo
613         * tests/init.sh: Restore omitted ":" before stderr_fileno_ initialization.
614
615         init.sh: make it easier for a test script to write to the tty, ...
616         when using automake's parallel-tests mode.
617         * tests/init.sh (stderr_fileno_): Define overridable variable.
618         (warn_): New function, to use it.
619         (fail_, skip_, framework_failure_): Use warn_.
620
621 2010-04-04  Bruno Haible  <bruno@clisp.org>
622
623         btowc: Avoid warning.
624         * lib/btowc.c: Include <stdlib.h>.
625         Reported by Hauke Fath <hauke@espresso.rhein-neckar.de>.
626
627 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
628             Bruno Haible  <bruno@clisp.org>
629
630         wchar: Port to NetBSD 1.5.
631         * lib/wchar.in.h (WEOF): Provide fallback also when wint_t exists.
632         * lib/wctype.in.h (WEOF): Likewise.
633
634 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
635             Bruno Haible  <bruno@clisp.org>
636
637         Port extended stdio to NetBSD 1.5.
638         * lib/stdio-impl.h [NetBSD]: Include <sys/param.h>.
639         (struct __sfileext, fp_ub): Define the "old way" for NetBSD 1.5Z and
640         older.
641
642 2010-04-04  Bruno Haible  <bruno@clisp.org>
643
644         string: Remove unused substitution.
645         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
646         HAVE_DECL_STRERROR.
647         * modules/string (Makefile.am): Don't substitute HAVE_DECL_STRERROR.
648
649 2010-04-04  Bruno Haible  <bruno@clisp.org>
650
651         strtod: Avoid a possible C++ test error.
652         * m4/strtod.m4 (gl_FUNC_STRTOD): When setting HAVE_STRTOD to 0, don't
653         set REPLACE_STRTOD.
654
655 2010-04-04  Bruno Haible  <bruno@clisp.org>
656
657         strerror: Update documentation.
658         * doc/posix-functions/strerror.texi: Remove mention of old platforms.
659
660 2010-04-04  Bruno Haible  <bruno@clisp.org>
661
662         stdio: Fix some C++ test errors on Solaris 8 with GCC.
663         * lib/stdio.in.h (vdprintf, vfprintf, vprintf, vsprintf): Use
664         _GL_CXXALIAS_SYS_CAST.
665
666 2010-04-04  Bruno Haible  <bruno@clisp.org>
667
668         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
669         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): When the
670         function is not declared, set HAVE_DECL_FREXPL to 0, instead of setting
671         REPLACE_FREXPL to 1.
672         * doc/posix-functions/frexpl.texi: Update documentation.
673
674 2010-04-04  Bruno Haible  <bruno@clisp.org>
675
676         math: Fix some C++ test errors on Solaris 8 and Cygwin.
677         * lib/math.in.h (cosl, logl, sinl): Use simpler idiom.
678
679 2010-04-04  Bruno Haible  <bruno@clisp.org>
680
681         Implement nanosleep for native Windows.
682         * lib/nanosleep.c (nanosleep): New implementation for native Windows.
683
684 2010-04-04  Bruno Haible  <bruno@clisp.org>
685
686         math: Fix some C++ test errors on Solaris 8.
687         * lib/math.in.h (truncf, trunc): Use simpler idiom.
688
689 2010-04-04  Bruno Haible  <bruno@clisp.org>
690
691         math: Fix some C++ test errors on Cygwin.
692         * lib/math.in.h (ceilf, ceill, floorf, floorl, roundf, round, roundl,
693         truncl): Provide declaration if the system does not have it.
694         * m4/ceilf.m4 (gl_FUNC_CEILF): If the function is not declared, set
695         HAVE_DECL_CEILF to 0, not REPLACE_CEILF to 1.
696         * m4/ceill.m4 (gl_FUNC_CEILL): If the function is not declared, set
697         HAVE_DECL_CEILL to 0, not REPLACE_CEILL to 1.
698         * m4/floorf.m4 (gl_FUNC_FLOORF): If the function is not declared, set
699         HAVE_DECL_FLOORF to 0, not REPLACE_FLOORF to 1.
700         * m4/floorl.m4 (gl_FUNC_FLOORL): If the function is not declared, set
701         HAVE_DECL_FLOORL to 0, not REPLACE_FLOORL to 1.
702         * m4/round.m4 (gl_FUNC_ROUND): If the function is not declared, set
703         HAVE_DECL_ROUND to 0, not REPLACE_ROUND to 1.
704         * m4/roundf.m4 (gl_FUNC_ROUNDF): If the function is not declared, set
705         HAVE_DECL_ROUNDF to 0, not REPLACE_ROUNDF to 1.
706         * m4/roundl.m4 (gl_FUNC_ROUNDL): If the function is not declared, set
707         HAVE_DECL_ROUNDL to 0, not REPLACE_ROUNDL to 1.
708         * m4/truncl.m4 (gl_FUNC_TRUNCL): If the function is not declared, set
709         HAVE_DECL_TRUNCL to 0, not REPLACE_TRUNCL to 1.
710         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_CEILF,
711         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
712         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
713         * modules/math (Makefile.am): Substitute HAVE_DECL_CEILF,
714         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
715         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
716
717 2010-04-04  Bruno Haible  <bruno@clisp.org>
718
719         * m4/ceilf.m4 (gl_FUNC_CEILF): Remove redundant AC_SUBST invocation.
720         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
721         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
722         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
723         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
724         * m4/isinf.m4 (gl_ISINF): Likewise.
725         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
726
727 2010-04-04  Bruno Haible  <bruno@clisp.org>
728
729         * m4/trunc.m4 (gl_FUNC_TRUNC): Remove redundant AC_SUBST invocation.
730         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
731
732 2010-04-04  Bruno Haible  <bruno@clisp.org>
733
734         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Renamed from gl_TMPFILE.
735         * modules/tmpfile (configure.ac): Update.
736
737         tmpfile: Fix C++ test error on mingw.
738         * lib/stdio.in.h (tmpfile): New declaration.
739         * m4/tmpfile.m4 (gl_TMPFILE): Require gl_STDIO_H_DEFAULTS. Set
740         REPLACE_TMPFILE instead of defining tmpfile as a macro in config.h.
741         * modules/tmpfile (Depends-on): Add stdio.
742         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
743         * m4/stdio_h.m4 (gl_STDIO_H): Also check whether tmpfile is declared.
744         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_TMPFILE and REPLACE_TMPFILE.
745         * modules/stdio (Makefile.am): Substitute GNULIB_TMPFILE and
746         REPLACE_TMPFILE.
747         * tests/test-stdio-c++.cc (tmpfile): Verify signature.
748
749 2010-04-04  Bruno Haible  <bruno@clisp.org>
750
751         ioctl: Fix C++ test error on mingw.
752         * lib/ioctl.c (ioctl): Renamed from rpl_ioctl.
753         * lib/sys_ioctl.in.h (ioctl): When SYS_IOCTL_H_HAVE_WINSOCK2_H is 1,
754         use _GL_FUNCDECL_SYS, not _GL_FUNCDECL_RPL.
755
756 2010-04-03  Bruno Haible  <bruno@clisp.org>
757
758         wcwidth: Fix C++ test error on mingw.
759         * lib/wcwidth.c (wcwidth): Renamed from rpl_wcwidth.
760         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): If the wcwidth function does not
761         exist, don't set REPLACE_WCWIDTH. Instead, rely on HAVE_DECL_WCWIDTH.
762
763 2010-04-03  Bruno Haible  <bruno@clisp.org>
764
765         nanosleep: Fix C++ test error on mingw.
766         * lib/nanosleep.c (nanosleep): Renamed from rpl_nanosleep.
767         * lib/time.in.h (nanosleep): Use modern idiom.
768         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): When the system does not have a
769         nanosleep function, set HAVE_NANOSLEEP to 0, instead of setting
770         REPLACE_NANOSLEEP to 1.
771         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_NANOSLEEP.
772         * modules/time (Makefile.am): Substitute HAVE_NANOSLEEP.
773
774 2010-04-03  Bruno Haible  <bruno@clisp.org>
775
776         strptime: Fix C++ test error on mingw.
777         * lib/time.in.h (strptime): Use HAVE_STRPTIME, not REPLACE_STRPTIME.
778         * m4/strptime.m4 (gl_FUNC_STRPTIME): Set HAVE_STRPTIME, not
779         REPLACE_STRPTIME. Invoke gl_PREREQ_STRPTIME.
780         (gl_PREREQ_STRPTIME): New macro, extracted from gl_FUNC_STRPTIME.
781         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_STRPTIME,
782         not REPLACE_STRPTIME.
783         * modules/time (Makefile.am): Substitute HAVE_STRPTIME, not
784         REPLACE_STRPTIME.
785
786 2010-04-03  Bruno Haible  <bruno@clisp.org>
787
788         timegm: Fix C++ test error on mingw.
789         * lib/time.in.h (timegm): Use modern idiom.
790         * m4/timegm.m4 (gl_FUNC_TIMEGM): When timegm does not exist, set
791         HAVE_TIMEGM to 0, not REPLACE_TIMEGM to 1.
792         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEGM.
793         * modules/time (Makefile.am): Substitute HAVE_TIMEGM.
794
795 2010-04-03  Bruno Haible  <bruno@clisp.org>
796
797         timegm: Assume declaration if function exists.
798         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume timegm is declared if and only
799         if it exists. Don't clobber ac_cv_func_timegm.
800
801 2010-04-03  Bruno Haible  <bruno@clisp.org>
802
803         time_r: Fix C++ test error on mingw.
804         * lib/time.in.h (localtime_r, gmtime_r): Use modern idiom.
805         * m4/time_r.m4 (gl_TIME_R): When localtime_r does not exist, set
806         HAVE_LOCALTIME_R to 0, not REPLACE_LOCALTIME_R to 1.
807         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_LOCALTIME_R.
808         * modules/time (Makefile.am): Substitute HAVE_LOCALTIME_R.
809
810 2010-04-03  Bruno Haible  <bruno@clisp.org>
811
812         time_r: Minor updates.
813         * modules/time_r (Description): Mention the provided functions.
814         * lib/time_r.c: Don't include <string.h>.
815         * doc/posix-functions/gmtime_r.texi: Mention the 'time_r' module.
816         * doc/posix-functions/localtime_r.texi: Likewise.
817
818 2010-04-03  Bruno Haible  <bruno@clisp.org>
819
820         time: Fix regression introduced on 2010-03-08.
821         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Require
822         gl_HEADER_TIME_H_DEFAULTS, not gl_HEADER_STRING_H_DEFAULTS.
823
824 2010-04-03  Jim Meyering  <meyering@redhat.com>
825
826         maint.mk: don't silently disable project-specific syntax-check rules
827         * top/maint.mk (_prohibit_regexp): Define, to help people realize
828         that they need to convert their project-specific syntax-check rules
829         to use the new _sc_search_regexp.
830
831 2010-04-03  Bruno Haible  <bruno@clisp.org>
832
833         fchdir: Fix regression introduced on 2010-03-08.
834         * lib/unistd.in.h (fchdir): Fix declaration.
835         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set HAVE_FCHDIR, not REPLACE_FCHDIR.
836         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_FCHDIR, not
837         REPLACE_FCHDIR.
838         * modules/unistd (Makefile.am): Substitute HAVE_FCHDIR, not
839         REPLACE_FCHDIR.
840
841 2010-04-03  Bruno Haible  <bruno@clisp.org>
842
843         getpagesize: Fix C++ test error on mingw.
844         * lib/unistd.in.h (getpagesize): Don't use _GL_CXXALIASWARN if the
845         system does not declare the function.
846         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Also check whether it's
847         declared.
848         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
849         HAVE_DECL_GETPAGESIZE.
850         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETPAGESIZE.
851
852 2010-04-03  Bruno Haible  <bruno@clisp.org>
853
854         stdio: Make C++ tests work on mingw.
855         * lib/stdio.in.h (getline): Don't use _GL_CXXALIASWARN if the system
856         does not declare the function.
857
858 2010-04-03  Bruno Haible  <bruno@clisp.org>
859
860         ftello: Fix C++ test error on mingw.
861         * lib/stdio.in.h (ftello): Use modern idiom.
862         * lib/ftello.c (ftello): Renamed from rpl_ftello.
863         * m4/ftello.m4 (gl_FUNC_FTELLO): Distinguish the case that the function
864         is missing and that it needs to be replaced.
865         (gl_REPLACE_FTELLO): Don't set REPLACE_FTELLO here.
866         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FTELLO.
867         * modules/stdio (Makefile.am): Substitute HAVE_FTELLO.
868
869 2010-04-03  Bruno Haible  <bruno@clisp.org>
870
871         fseeko: Fix C++ test error on mingw.
872         * lib/stdio.in.h (fseeko): Use modern idiom.
873         * lib/fseeko.c (fseeko): Renamed from rpl_fseeko.
874         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Distinguish the case that the function
875         is missing and that it needs to be replaced.
876         (gl_REPLACE_FSEEKO): Don't set REPLACE_FSEEKO here.
877         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FSEEKO.
878         * modules/stdio (Makefile.am): Substitute HAVE_FSEEKO.
879
880 2010-04-03  Bruno Haible  <bruno@clisp.org>
881
882         mkstemp: Fix C++ test error on mingw.
883         * lib/stdlib.in.h (mkstemp): Use modern idiom.
884         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Distinguish the case that the
885         function is missing and that it needs to be replaced.
886         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_MKSTEMP.
887         * modules/stdlib (Makefile.am): Substitute HAVE_MKSTEMP.
888
889 2010-04-03  Bruno Haible  <bruno@clisp.org>
890
891         stpncpy: Fix C++ test error on mingw.
892         * lib/string.in.h (stpncpy): Use modern idiom.
893         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Distinguish the case that the
894         function is missing and that it needs to be replaced.
895         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
896         REPLACE_STPNCPY.
897         * modules/string (Makefile.am): Substitute REPLACE_STPNCPY.
898
899 2010-04-03  Bruno Haible  <bruno@clisp.org>
900
901         sys_stat: Fix C++ test error on mingw.
902         * build-aux/c++defs.h (_GL_CXXALIAS_RPL_CAST_1): New macro.
903         * lib/sys_stat.in.h (lchmod): Use it instead of _GL_CXXALIAS_RPL_1.
904
905 2010-04-03  Bruno Haible  <bruno@clisp.org>
906
907         pty: Update doc.
908         * doc/glibc-headers/pty.texi: Mention changes done since 2010-03-18.
909
910 2010-04-03  Bruno Haible  <bruno@clisp.org>
911
912         unistd: Fix C++ test error on mingw.
913         * lib/unistd.in.h (getcwd): Use _GL_CXXALIAS_SYS_CAST.
914
915 2010-04-03  Bruno Haible  <bruno@clisp.org>
916
917         Update doc regarding mingw.
918         * doc/glibc-functions/openpty.texi: Update regarding mingw.
919         * doc/glibc-functions/login_tty.texi: Likewise.
920         * doc/glibc-functions/forkpty.texi: Likewise.
921
922 2010-04-03  Bruno Haible  <bruno@clisp.org>
923
924         stdlib: Avoid compilation failure of c-strtold on mingw.
925         * lib/stdlib.in.h: Don't include <unistd.h> on native Windows systems.
926
927 2010-04-03  Bruno Haible  <bruno@clisp.org>
928
929         locale: Make C++ tests work on Cygwin and mingw.
930         * lib/locale.in.h (duplocale): Don't use _GL_CXXALIASWARN if gnulib
931         cannot provide the function.
932         Reported by Simon Josefsson.
933
934 2010-04-03  Bruno Haible  <bruno@clisp.org>
935
936         localename: Port to MacOS X 10.6.
937         * lib/localename.c (gl_locale_name_thread_unsafe): On MacOS X, try the
938         memory layout of the locales in MacOS X 10.6 as well.
939         Reported by Panu Kekäläinen <panu@kekalainen.eu>.
940
941 2010-04-02  Bruno Haible  <bruno@clisp.org>
942
943         gnulib-tool: Ensure that long-running tests are executed last.
944         * gnulib-tool (func_emit_tests_Makefile_am): Emit the code for long-
945         running tests after the one for the other tests.
946
947 2010-04-02  Bruno Haible  <bruno@clisp.org>
948
949         gnulib-tool: Ensure the tests in the main directory are executed first.
950         * gnulib-tool (func_emit_tests_Makefile_am): Initialize SUBDIRS to
951         start with the current directory.
952
953 2010-04-02  Bruno Haible  <bruno@clisp.org>
954
955         Tests for module 'havelib', moved here from GNU gettext.
956         * modules/havelib-tests: New file, from gettext/autoconf-lib-link with
957         modifications.
958         * tests/havelib/README: New file, from gettext/autoconf-lib-link.
959         * tests/havelib/Makefile.am: New file, from gettext/autoconf-lib-link
960         with modifications.
961         * tests/havelib/rpath-1: New file, from gettext/autoconf-lib-link with
962         modifications.
963         * tests/havelib/rpath-1a: New file, from gettext/autoconf-lib-link.
964         * tests/havelib/rpath-1b: New file, from gettext/autoconf-lib-link.
965         * tests/havelib/rpath-2_a: New file, from gettext/autoconf-lib-link
966         with modifications.
967         * tests/havelib/rpath-2_b: New file, from gettext/autoconf-lib-link
968         with modifications.
969         * tests/havelib/rpath-2aaa: New file, from gettext/autoconf-lib-link.
970         * tests/havelib/rpath-2aab: New file, from gettext/autoconf-lib-link.
971         * tests/havelib/rpath-2aac: New file, from gettext/autoconf-lib-link.
972         * tests/havelib/rpath-2aad: New file, from gettext/autoconf-lib-link.
973         * tests/havelib/rpath-2aba: New file, from gettext/autoconf-lib-link.
974         * tests/havelib/rpath-2abb: New file, from gettext/autoconf-lib-link.
975         * tests/havelib/rpath-2abc: New file, from gettext/autoconf-lib-link.
976         * tests/havelib/rpath-2abd: New file, from gettext/autoconf-lib-link.
977         * tests/havelib/rpath-2baa: New file, from gettext/autoconf-lib-link.
978         * tests/havelib/rpath-2bab: New file, from gettext/autoconf-lib-link.
979         * tests/havelib/rpath-2bac: New file, from gettext/autoconf-lib-link.
980         * tests/havelib/rpath-2bad: New file, from gettext/autoconf-lib-link.
981         * tests/havelib/rpath-2bba: New file, from gettext/autoconf-lib-link.
982         * tests/havelib/rpath-2bbb: New file, from gettext/autoconf-lib-link.
983         * tests/havelib/rpath-2bbc: New file, from gettext/autoconf-lib-link.
984         * tests/havelib/rpath-2bbd: New file, from gettext/autoconf-lib-link.
985         * tests/havelib/rpath-3_a: New file, from gettext/autoconf-lib-link
986         with modifications.
987         * tests/havelib/rpath-3_b: New file, from gettext/autoconf-lib-link
988         with modifications.
989         * tests/havelib/rpath-3aaa: New file, from gettext/autoconf-lib-link.
990         * tests/havelib/rpath-3aab: New file, from gettext/autoconf-lib-link.
991         * tests/havelib/rpath-3aac: New file, from gettext/autoconf-lib-link.
992         * tests/havelib/rpath-3aad: New file, from gettext/autoconf-lib-link.
993         * tests/havelib/rpath-3aae: New file, from gettext/autoconf-lib-link.
994         * tests/havelib/rpath-3aaf: New file, from gettext/autoconf-lib-link.
995         * tests/havelib/rpath-3aag: New file, from gettext/autoconf-lib-link.
996         * tests/havelib/rpath-3aah: New file, from gettext/autoconf-lib-link.
997         * tests/havelib/rpath-3aba: New file, from gettext/autoconf-lib-link.
998         * tests/havelib/rpath-3abb: New file, from gettext/autoconf-lib-link.
999         * tests/havelib/rpath-3abc: New file, from gettext/autoconf-lib-link.
1000         * tests/havelib/rpath-3abd: New file, from gettext/autoconf-lib-link.
1001         * tests/havelib/rpath-3abe: New file, from gettext/autoconf-lib-link.
1002         * tests/havelib/rpath-3abf: New file, from gettext/autoconf-lib-link.
1003         * tests/havelib/rpath-3abg: New file, from gettext/autoconf-lib-link.
1004         * tests/havelib/rpath-3abh: New file, from gettext/autoconf-lib-link.
1005         * tests/havelib/rpath-3baa: New file, from gettext/autoconf-lib-link.
1006         * tests/havelib/rpath-3bab: New file, from gettext/autoconf-lib-link.
1007         * tests/havelib/rpath-3bac: New file, from gettext/autoconf-lib-link.
1008         * tests/havelib/rpath-3bad: New file, from gettext/autoconf-lib-link.
1009         * tests/havelib/rpath-3bae: New file, from gettext/autoconf-lib-link.
1010         * tests/havelib/rpath-3baf: New file, from gettext/autoconf-lib-link.
1011         * tests/havelib/rpath-3bag: New file, from gettext/autoconf-lib-link.
1012         * tests/havelib/rpath-3bah: New file, from gettext/autoconf-lib-link.
1013         * tests/havelib/rpath-3bba: New file, from gettext/autoconf-lib-link.
1014         * tests/havelib/rpath-3bbb: New file, from gettext/autoconf-lib-link.
1015         * tests/havelib/rpath-3bbc: New file, from gettext/autoconf-lib-link.
1016         * tests/havelib/rpath-3bbd: New file, from gettext/autoconf-lib-link.
1017         * tests/havelib/rpath-3bbe: New file, from gettext/autoconf-lib-link.
1018         * tests/havelib/rpath-3bbf: New file, from gettext/autoconf-lib-link.
1019         * tests/havelib/rpath-3bbg: New file, from gettext/autoconf-lib-link.
1020         * tests/havelib/rpath-3bbh: New file, from gettext/autoconf-lib-link.
1021         * tests/havelib/rpathx/rpathx.c: New file, from
1022         gettext/autoconf-lib-link.
1023         * tests/havelib/rpathx/Makefile.am: New file, from
1024         gettext/autoconf-lib-link.
1025         * tests/havelib/rpathx/configure.ac: New file, from
1026         gettext/autoconf-lib-link with modifications.
1027         * tests/havelib/rpathy/rpathy.c: New file, from
1028         gettext/autoconf-lib-link.
1029         * tests/havelib/rpathy/Makefile.am: New file, from
1030         gettext/autoconf-lib-link.
1031         * tests/havelib/rpathy/configure.ac: New file, from
1032         gettext/autoconf-lib-link with modifications.
1033         * tests/havelib/rpathz/rpathz.c: New file, from
1034         gettext/autoconf-lib-link.
1035         * tests/havelib/rpathz/Makefile.am: New file, from
1036         gettext/autoconf-lib-link.
1037         * tests/havelib/rpathz/configure.ac: New file, from
1038         gettext/autoconf-lib-link with modifications.
1039         * tests/havelib/rpathlx/usex.c: New file, from
1040         gettext/autoconf-lib-link.
1041         * tests/havelib/rpathlx/Makefile.am: New file, from
1042         gettext/autoconf-lib-link.
1043         * tests/havelib/rpathlx/configure.ac: New file, from
1044         gettext/autoconf-lib-link with modifications.
1045         * tests/havelib/rpathly/usey.c: New file, from
1046         gettext/autoconf-lib-link.
1047         * tests/havelib/rpathly/Makefile.am: New file, from
1048         gettext/autoconf-lib-link.
1049         * tests/havelib/rpathly/configure.ac: New file, from
1050         gettext/autoconf-lib-link with modifications.
1051         * tests/havelib/rpathlz/usez.c: New file, from
1052         gettext/autoconf-lib-link.
1053         * tests/havelib/rpathlz/Makefile.am: New file, from
1054         gettext/autoconf-lib-link.
1055         * tests/havelib/rpathlz/configure.ac: New file, from
1056         gettext/autoconf-lib-link with modifications.
1057         * tests/havelib/rpathlyx/usey.c: New file, from
1058         gettext/autoconf-lib-link.
1059         * tests/havelib/rpathlyx/Makefile.am: New file, from
1060         gettext/autoconf-lib-link.
1061         * tests/havelib/rpathlyx/configure.ac: New file, from
1062         gettext/autoconf-lib-link with modifications.
1063         * tests/havelib/rpathlzyx/usez.c: New file, from
1064         gettext/autoconf-lib-link.
1065         * tests/havelib/rpathlzyx/Makefile.am: New file, from
1066         gettext/autoconf-lib-link.
1067         * tests/havelib/rpathlzyx/configure.ac: New file, from
1068         gettext/autoconf-lib-link with modifications.
1069         * tests/havelib/rpathcfg.sh: New file, from gettext/autoconf-lib-link
1070         with modifications.
1071
1072 2010-04-02  Bruno Haible  <bruno@clisp.org>
1073
1074         gnulib-tool: Create distributed built sources also for the tests.
1075         * gnulib-tool (func_create_testdir): Also generate distributed built
1076         sources in the tests directory.
1077
1078 2010-04-02  Bruno Haible  <bruno@clisp.org>
1079
1080         gnulib-tool: Obey user's environment variables.
1081         * gnulib-tool (func_create_testdir): When creating built sources,
1082         respect the environment variables for autoconf, automake, etc. given by
1083         the user.
1084
1085 2010-04-02  Bruno Haible  <bruno@clisp.org>
1086
1087         gnulib-tool: Provide the value of --m4-base to modules.
1088         * gnulib-tool (func_import, func_create_testdir): Emit a definition
1089         of gl_m4_base.
1090
1091 2010-04-02  Eric Blake  <eblake@redhat.com>
1092
1093         maint.mk: fix some fallout
1094         * NEWS: Document the incompatible change, and its effect on cfg.mk.
1095         * top/maint.mk (sc_prohibit_test_minus_ao): Update.
1096
1097 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
1098
1099         maint.mk: _sc_search_regexp: generalize and rename from _prohibit_regexp
1100         * top/maint.mk (_sc_search_regexp): Rename from _prohibit_regexp.
1101         (sc_cast_of_argument_to_free): Adapt to use _sc_search_regexp.
1102         (sc_cast_of_x_alloc_return_value): Likewise.
1103         (sc_cast_of_alloca_return_value): Likewise.
1104         (sc_space_tab): Likewise.
1105         (sc_prohibit_atoi_atof): Likewise.
1106         (sc_prohibit_magic_number_exit): Likewise.
1107         (sc_error_exit_success): Likewise.
1108         (sc_file_system): Likewise.
1109         (sc_prohibit_have_config_h): Likewise.
1110         (sc_require_config_h): Likewise.
1111         (sc_prohibit_HAVE_MBRTOWC): Likewise.
1112         (sc_obsolete_symbols): Likewise.
1113         (sc_changelog): Likewise.
1114         (sc_program_name): Likewise.
1115         (sc_the_the): Likewise.
1116         (sc_trailing_blank): Likewise.
1117         (sc_two_space_separator_in_usage): Likewise.
1118         (sc_useless_cpp_parens): Likewise.
1119         (sc_GPL_version): Likewise.
1120         (sc_GFDL_version): Likewise.
1121         (sc_texinfo_acronym): Likewise.
1122         (sc_prohibit_cvs_keyword): Likewise.
1123         (sc_prohibit_stat_st_blocks): Likewise.
1124         (sc_prohibit_S_IS_definition): Likewise.
1125         (sc_redundant_const): Likewise.
1126         (sc_makefile_TAB_only_indentation): Likewise.
1127         (sc_m4_quote_check): Likewise.
1128         (sc_makefile_path_separator_check): Likewise.
1129         (sc_copyright_check): Likewise.
1130         (sc_Wundef_boolean): Likewise.
1131         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
1132
1133         maint.mk: match 0 or more whitespace-before-function-call '('
1134         * top/maint.mk (sc_error_exit_success): Relax regexp to match uses
1135         that have zero or two-and-more spaces between the function name
1136         and the open parenthesis.
1137         (sc_error_message_warn_fatal): Likewise.
1138         (sc_error_message_uppercase): Likewise.
1139         (sc_error_message_period): Likewise.
1140
1141 2010-03-31  Eric Blake  <eblake@redhat.com>
1142
1143         maint.mk: check for [ as well as test
1144         * top/maint.mk (sc_prohibit_test_minus_ao): Extend test.
1145         Based on a libvirt report by Matthias Bolte.
1146
1147         gnumakefile: don't squelch _version output
1148         * top/GNUmakefile (_version): Create one-shot dependency rather
1149         than using $(shell) when version must be regenerated.
1150         (_autoreconf): Run verbosely, by default.
1151
1152         sys_time: avoid compiler warnings
1153         * lib/sys_time.in.h (includes): Ensure gcc pragma is
1154         unconditional, fixing regression from 2010-03-29.
1155         Reported by Simon Josefsson.
1156
1157 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
1158
1159         maint.mk: s/_header_without_use/_sc_header_without_use/
1160         * top/maint.mk (_sc_header_without_use): Rename from _header_without_use.
1161         (sc_prohibit_assert_without_use): Use the new name.
1162         (sc_prohibit_close_stream_without_use): Likewise.
1163         (sc_prohibit_getopt_without_use): Likewise.
1164         (sc_prohibit_quotearg_without_use): Likewise.
1165         (sc_prohibit_quote_without_use): Likewise.
1166         (sc_prohibit_long_options_without_use): Likewise.
1167         (sc_prohibit_inttostr_without_use): Likewise.
1168         (sc_prohibit_ignore_value_without_use): Likewise.
1169         (sc_prohibit_error_without_use): Likewise.
1170         (sc_prohibit_xalloc_without_use): Likewise.
1171         (sc_prohibit_hash_without_use): Likewise.
1172         (sc_prohibit_hash_pjw_without_use): Likewise.
1173         (sc_prohibit_safe_read_without_use): Likewise.
1174         (sc_prohibit_argmatch_without_use): Likewise.
1175         (sc_prohibit_canonicalize_without_use): Likewise.
1176         (sc_prohibit_root_dev_ino_without_use): Likewise.
1177         (sc_prohibit_openat_without_use): Likewise.
1178         (sc_prohibit_c_ctype_without_use): Likewise.
1179         (sc_prohibit_signal_without_use): Likewise.
1180         (sc_prohibit_intprops_without_use): Likewise.
1181
1182 2010-03-30  Eric Blake  <eblake@redhat.com>
1183
1184         maint: improve module indicators
1185         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE)
1186         (gl_MODULE_INDICATOR, gl_MODULE_INDICATOR_FOR_TESTS): Fit in 80
1187         columns, and avoid extra macro expansion.
1188
1189         fdopendir: work around FreeBSD bug
1190         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
1191         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Set it.
1192         * modules/dirent (Makefile.am): Substitute it.
1193         * lib/dirent.in.h (fdopendir): Supply missing FreeBSD
1194         declaration.
1195         * doc/posix-functions/fdopendir.texi (fdopendir): Document the
1196         fix.
1197         Reported by Christian Weisgerber <naddy@mips.inka.de>.
1198
1199 2010-03-29  Bruno Haible  <bruno@clisp.org>
1200
1201         Emit #pragma system_header after the inclusion guard, not before.
1202         * lib/arpa_inet.in.h: Emit #pragma system_header after the inclusion
1203         guard that spans the entire file, not before. This enables an
1204         optimization in GCC's preprocessor.
1205         * lib/ctype.in.h: Likewise.
1206         * lib/dirent.in.h: Likewise.
1207         * lib/errno.in.h: Likewise.
1208         * lib/float.in.h: Likewise.
1209         * lib/getopt.in.h: Likewise.
1210         * lib/iconv.in.h: Likewise.
1211         * lib/langinfo.in.h: Likewise.
1212         * lib/locale.in.h: Likewise.
1213         * lib/math.in.h: Likewise.
1214         * lib/netdb.in.h: Likewise.
1215         * lib/netinet_in.in.h: Likewise.
1216         * lib/pty.in.h: Likewise.
1217         * lib/sched.in.h: Likewise.
1218         * lib/se-selinux.in.h: Likewise.
1219         * lib/search.in.h: Likewise.
1220         * lib/spawn.in.h: Likewise.
1221         * lib/stdarg.in.h: Likewise.
1222         * lib/stdint.in.h: Likewise.
1223         * lib/string.in.h: Likewise.
1224         * lib/strings.in.h: Likewise.
1225         * lib/sys_file.in.h: Likewise.
1226         * lib/sys_ioctl.in.h: Likewise.
1227         * lib/sys_time.in.h: Likewise.
1228         * lib/sys_times.in.h: Likewise.
1229         * lib/sys_utsname.in.h: Likewise.
1230         * lib/sys_wait.in.h: Likewise.
1231         * lib/sysexits.in.h: Likewise.
1232         * lib/wctype.in.h: Likewise.
1233
1234 2010-03-28  James Youngman  <jay@gnu.org>
1235
1236         save-cwd: don't leak a file descriptor when the caller execs.
1237         * lib/save-cwd.c (save_cwd): set the close-on-exec flag for the
1238         saved file descriptor.
1239         * modules/save-cwd (Depends-on): Depend on cloexec.
1240
1241 2010-03-29  Bruno Haible  <bruno@clisp.org>
1242
1243         Remove vestiges of fts-lgpl module.
1244         * lib/fts_.h: Assume GNULIB_FTS is 1.
1245         * lib/fts.c: Likewise.
1246         * modules/fts (configure.ac): Remove gl_MODULE_INDICATOR invocation.
1247
1248 2010-03-28  Bruno Haible  <bruno@clisp.org>
1249
1250         Fix definition of tests witness macro.
1251         * gnulib-tool (func_import): Fix definition of witness macro.
1252
1253 2010-03-28  Bruno Haible  <bruno@clisp.org>
1254
1255         Fix ioctl's protoype on glibc systems.
1256         * lib/sys_ioctl.in.h (ioctl): If REPLACE_IOCTL is 1, use a wrapper. Use
1257         _GL_CXXALIAS_SYS, not _GL_CXXALIAS_SYS_CAST.
1258         * lib/ioctl.c (rpl_ioctl) [HAVE_IOCTL]: New wrapper.
1259         * modules/ioctl (configure.ac): Test whether ioctl has the POSIX
1260         signature. If not, arrange to replace the ioctl function.
1261         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
1262         REPLACE_IOCTL.
1263         * modules/sys_ioctl (Makefile.am): Substitute REPLACE_IOCTL.
1264         * doc/posix-functions/ioctl.texi: Mention the glibc problem.
1265         Reported by Ludovic Courtès <ludo@gnu.org>.
1266
1267 2010-03-28  Javier Villavicencio  <the_paya@gentoo.org>
1268
1269         exclude: fix the case of globs vs. EXCLUDE_INCLUDE
1270         * lib/exclude.c (excluded_file_pattern_p): Fix logic error that
1271         made it so grep -r --include=GLOB* ... did not work.
1272
1273 2010-03-26  Jim Meyering  <meyering@redhat.com>
1274             Eric Blake  <eblake@redhat.com>
1275
1276         maint.mk: prohibit use of test's -o and -a operators
1277         * top/maint.mk (sc_prohibit_test_minus_ao): New rule.
1278
1279 2010-03-28  Bruno Haible  <bruno@clisp.org>
1280
1281         Remove unused GNULIB_XYZ macro definitions.
1282         * modules/crypto/gc-camellia (configure.ac): Remove gl_MODULE_INDICATOR
1283         invocation.
1284
1285 2010-03-28  Bruno Haible  <bruno@clisp.org>
1286
1287         Mark privileged tests modules.
1288         * modules/idpriv-drop-tests (Status): New section.
1289         * modules/idpriv-droptemp-tests (Status): New section.
1290
1291 2010-03-28  Bruno Haible  <bruno@clisp.org>
1292
1293         Split C++ tests into separate tests modules.
1294         * modules/dirent-c++-tests: New file, extracted from
1295         modules/dirent-tests.
1296         * modules/dirent-tests: Depend on it.
1297         * modules/fcntl-h-c++-tests: New file, extracted from
1298         modules/fcntl-h-tests.
1299         * modules/fcntl-h-tests: Depend on it.
1300         * modules/glob-c++-tests: New file, extracted from modules/glob-tests.
1301         * modules/glob-tests: Depend on it.
1302         * modules/iconv-h-c++-tests: New file, extracted from
1303         modules/iconv-h-tests.
1304         * modules/iconv-h-tests: Depend on it.
1305         * modules/langinfo-c++-tests: New file, extracted from
1306         modules/langinfo-tests.
1307         * modules/langinfo-tests: Depend on it.
1308         * modules/locale-c++-tests: New file, extracted from
1309         modules/locale-tests.
1310         * modules/locale-tests: Depend on it.
1311         * modules/math-c++-tests: New file, extracted from modules/math-tests.
1312         * modules/math-tests: Depend on it.
1313         * modules/pty-c++-tests: New file, extracted from modules/pty-tests.
1314         * modules/pty-tests: Depend on it.
1315         * modules/search-c++-tests: New file, extracted from
1316         modules/search-tests.
1317         * modules/search-tests: Depend on it.
1318         * modules/signal-c++-tests: New file, extracted from
1319         modules/signal-tests.
1320         * modules/signal-tests: Depend on it.
1321         * modules/spawn-c++-tests: New file, extracted from
1322         modules/spawn-tests.
1323         * modules/spawn-tests: Depend on it.
1324         * modules/stdio-c++-tests: New file, extracted from
1325         modules/stdio-tests.
1326         * modules/stdio-tests: Depend on it.
1327         * modules/stdlib-c++-tests: New file, extracted from
1328         modules/stdlib-tests.
1329         * modules/stdlib-tests: Depend on it.
1330         * modules/string-c++-tests: New file, extracted from
1331         modules/string-tests.
1332         * modules/string-tests: Depend on it.
1333         * modules/sys_ioctl-c++-tests: New file, extracted from
1334         modules/sys_ioctl-tests.
1335         * modules/sys_ioctl-tests: Depend on it.
1336         * modules/sys_select-c++-tests: New file, extracted from
1337         modules/sys_select-tests.
1338         * modules/sys_select-tests: Depend on it.
1339         * modules/sys_socket-c++-tests: New file, extracted from
1340         modules/sys_socket-tests.
1341         * modules/sys_socket-tests: Depend on it.
1342         * modules/sys_stat-c++-tests: New file, extracted from
1343         modules/sys_stat-tests.
1344         * modules/sys_stat-tests: Depend on it.
1345         * modules/sys_time-c++-tests: New file, extracted from
1346         modules/sys_time-tests.
1347         * modules/sys_time-tests: Depend on it.
1348         * modules/time-c++-tests: New file, extracted from modules/time-tests.
1349         * modules/time-tests: Depend on it.
1350         * modules/unistd-c++-tests: New file, extracted from
1351         modules/unistd-tests.
1352         * modules/unistd-tests: Depend on it.
1353         * modules/wchar-c++-tests: New file, extracted from
1354         modules/wchar-tests.
1355         * modules/wchar-tests: Depend on it.
1356         * modules/wctype-c++-tests: New file, extracted from
1357         modules/wctype-tests.
1358         * modules/wctype-tests: Depend on it.
1359         Reported by Simon Josefsson.
1360
1361 2010-03-28  Bruno Haible  <bruno@clisp.org>
1362
1363         gnulib-tool: Allow 'foo-tests' module even if there is no module 'foo'.
1364         * gnulib-tool (func_exists_module): New function, extracted from
1365         func_verify_module.
1366         (func_verify_module): Use it.
1367         (func_get_dependencies): Synthetize a dependency from 'foo-tests' to
1368         'foo' only if 'foo' exists.
1369         * doc/gnulib.texi (Extra tests modules): Explain how to split a tests
1370         module.
1371
1372 2010-03-28  Bruno Haible  <bruno@clisp.org>
1373
1374         gnulib-tool: Add support for special categories of tests.
1375         * gnulib-tool: New options --with-c++-tests, --with-longrunning-tests,
1376         --with-privileged-tests, --with-unportable-tests, --with-all-tests.
1377         (func_usage): Document them.
1378         (inc_cxx_tests, inc_longrunning_tests, inc_privileged_tests,
1379         inc_unportable_tests, inc_all_tests): New variables.
1380         (func_acceptable): Consider these variables.
1381         (func_modules_transitive_closure): Make it work when the 'Status' field
1382         consists of multiple words.
1383         (func_import): Store and restore the values of inc_cxx_tests,
1384         inc_longrunning_tests, inc_privileged_tests, inc_unportable_tests,
1385         inc_all_tests in gnulib-comp.m4.
1386         (func_create_testdir): Set inc_all_tests to true.
1387         * doc/gnulib.texi (Extra tests modules): New section.
1388         Suggested by Jim Meyering.
1389
1390 2010-03-28  Bruno Haible  <bruno@clisp.org>
1391
1392         ansi-c++-opt: Allow turning off the C++ build by default.
1393         * m4/ansi-c++.m4 (gl_CXX_CHOICE): Let CXX_CHOICE default to 'no' if
1394         gl_CXX_CHOICE_DEFAULT_NO is defined.
1395         Requested by Eric Blake.
1396
1397 2010-03-28  Bruno Haible  <bruno@clisp.org>
1398
1399         unistd: Avoid #define replacements in C++ mode.
1400         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
1401         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
1402         setsockopt, shutdown, select): In C++, attach a warning to the function
1403         if possible, rather than #defining the symbol to a dysfunctional alias.
1404         Reported by John W. Eaton <jwe@gnu.org>.
1405
1406 2010-03-28  Bruno Haible  <bruno@clisp.org>
1407
1408         Fix link errors on mingw.
1409         * lib/sys_ioctl.in.h (ioctl): Fix declaration idiom.
1410         * modules/sys_ioctl-tests (Makefile.am): Link test-sys_ioctl-c++ with
1411         $(LIBSOCKET).
1412         * modules/sys_select-tests (Makefile.am): Link test-sys_select-c++ with
1413         $(LIBSOCKET).
1414
1415 2010-03-28  Bruno Haible  <bruno@clisp.org>
1416             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1417
1418         lib-ignore: Determine different options for different compilers.
1419         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Set a variable which
1420         depends on the current language (C/C++/Fortran). Don't set LDFLAGS.
1421         Add comments.
1422         (_gl_IGNORE_UNUSED_LIBRARIES_OPTIONS): New macro.
1423         * NEWS: Mention the change.
1424
1425 2010-03-27  Bruno Haible  <bruno@clisp.org>
1426
1427         Remove unused GNULIB_XYZ macro definitions.
1428         * modules/dup3 (configure.ac): Remove gl_MODULE_INDICATOR invocation.
1429         * modules/fseek (configure.ac): Likewise.
1430         * modules/ioctl (configure.ac): Likewise.
1431         * modules/open (configure.ac): Likewise.
1432         * modules/stdlib-safer (configure.ac): Likewise.
1433
1434 2010-03-27  Bruno Haible  <bruno@clisp.org>
1435
1436         Add a remark about certain modules.
1437         * modules/malloc (Comment): New section.
1438         * modules/realloc (Comment): Likewise.
1439         * modules/sigpipe (Comment): Likewise.
1440
1441 2010-03-27  Bruno Haible  <bruno@clisp.org>
1442
1443         Resolve conflict between the two kinds of module indicators.
1444         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Define
1445         GNULIB_TEST_XYZ instead of GNULIB_XYZ.
1446         * modules/canonicalize (configure.ac): Invoke
1447         gl_MODULE_INDICATOR_FOR_TESTS.
1448         * tests/test-canonicalize-lgpl.c: Test GNULIB_TEST_XYZ instead of
1449         GNULIB_XYZ.
1450         * tests/test-dirent-c++.cc: Likewise.
1451         * tests/test-dirent-safer.c: Likewise.
1452         * tests/test-dup2.c: Likewise.
1453         * tests/test-fchdir.c: Likewise.
1454         * tests/test-fcntl-h-c++.cc: Likewise.
1455         * tests/test-getopt.c: Likewise.
1456         * tests/test-getopt.h: Likewise.
1457         * tests/test-langinfo-c++.cc: Likewise.
1458         * tests/test-locale-c++.cc: Likewise.
1459         * tests/test-math-c++.cc: Likewise.
1460         * tests/test-pty-c++.cc: Likewise.
1461         * tests/test-search-c++.cc: Likewise.
1462         * tests/test-signal-c++.cc: Likewise.
1463         * tests/test-spawn-c++.cc: Likewise.
1464         * tests/test-stdio-c++.cc: Likewise.
1465         * tests/test-stdlib-c++.cc: Likewise.
1466         * tests/test-string-c++.cc: Likewise.
1467         * tests/test-sys_ioctl-c++.cc: Likewise.
1468         * tests/test-sys_select-c++.cc: Likewise.
1469         * tests/test-sys_socket-c++.cc: Likewise.
1470         * tests/test-sys_stat-c++.cc: Likewise.
1471         * tests/test-sys_time-c++.cc: Likewise.
1472         * tests/test-time-c++.cc: Likewise.
1473         * tests/test-unistd-c++.cc: Likewise.
1474         * tests/test-wchar-c++.cc: Likewise.
1475         * tests/uninorm/test-u8-nfc.c: Likewise.
1476         * tests/uninorm/test-u8-nfd.c: Likewise.
1477         * tests/uninorm/test-u8-nfkc.c: Likewise.
1478         * tests/uninorm/test-u8-nfkd.c: Likewise.
1479         * tests/uninorm/test-u16-nfc.c: Likewise.
1480         * tests/uninorm/test-u16-nfd.c: Likewise.
1481         * tests/uninorm/test-u16-nfkc.c: Likewise.
1482         * tests/uninorm/test-u16-nfkd.c: Likewise.
1483         * tests/uninorm/test-u32-nfc.c: Likewise.
1484         * tests/uninorm/test-u32-nfc-big.c: Likewise.
1485         * tests/uninorm/test-u32-nfd.c: Likewise.
1486         * tests/uninorm/test-u32-nfd-big.c: Likewise.
1487         * tests/uninorm/test-u32-nfkc.c: Likewise.
1488         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
1489         * tests/uninorm/test-u32-nfkd.c: Likewise.
1490         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
1491         * tests/uninorm/test-u32-normalize-big.c: Likewise.
1492
1493 2010-03-27  Bruno Haible  <bruno@clisp.org>
1494
1495         Distinguish two kinds of module indicators.
1496         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Renamed from
1497         gl_MODULE_INDICATOR.
1498         (gl_MODULE_INDICATOR): New macro.
1499         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
1500         gl_MODULE_INDICATOR_FOR_TESTS instead of gl_MODULE_INDICATOR.
1501         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
1502         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
1503         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
1504         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
1505         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
1506         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
1507         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
1508         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
1509         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
1510         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
1511         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
1512         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
1513         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
1514         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
1515         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
1516         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
1517         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
1518         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
1519         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
1520         * modules/cloexec (configure.ac): Likewise.
1521         * modules/getopt-gnu (configure.ac): Likewise.
1522         * modules/uninorm/u8-normalize (configure.ac): Likewise.
1523         * modules/uninorm/u16-normalize (configure.ac): Likewise.
1524         * modules/uninorm/u32-normalize (configure.ac): Likewise.
1525         * modules/fdopendir (configure.ac): Invoke gl_MODULE_INDICATOR.
1526
1527 2010-03-27  Bruno Haible  <bruno@clisp.org>
1528
1529         New module description field 'Comment'.
1530         * gnulib-tool: New option --extract-comment.
1531         (func_usage): Document it.
1532         (sed_extract_prog, sed_extract_field_header): Support 'Comment' field.
1533         (func_get_comment): New function.
1534         * modules/TEMPLATE-EXTENDED: Add a blank Comment field.
1535
1536 2010-03-27  Bruno Haible  <bruno@clisp.org>
1537
1538         Addendum to 2010-02-07 commit.
1539         * gnulib-tool (func_usage): Document --extract-applicability option.
1540
1541 2010-03-27  Bruno Haible  <bruno@clisp.org>
1542
1543         Use GNULIB_POSIXCHECK instead of GNULIB_PORTCHECK.
1544         * lib/time.in.h (asctime, asctime_r, ctime, ctime_r): Test
1545         GNULIB_POSIXCHECK, not GNULIB_PORTCHECK. Provide compile-time warnings
1546         rather than link errors.
1547
1548 2010-03-27  Bruno Haible  <bruno@clisp.org>
1549
1550         Avoid side effects from tests-related modules on the compilation of lib.
1551         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): New macro.
1552         (gl_MODULE_INDICATOR_SET_VARIABLE): Use its expansion as a value.
1553         * gnulib-tool (func_emit_tests_Makefile_am): Accept a witness_macro
1554         parameter. Emit into AM_CPPFLAGS a definition of the designated C
1555         macro.
1556         (func_import): Define a witness macro. Assign it a value that depends
1557         on the current package. Override gl_MODULE_INDICATOR_CONDITION for the
1558         tests-related modules.
1559         (func_create_testdir): Update func_emit_tests_Makefile_am invocation.
1560         Reported by Jim Meyering.
1561
1562 2010-03-27  Bruno Haible  <bruno@clisp.org>
1563
1564         Factorize common .m4 code.
1565         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE): New macro.
1566         * m4/arpa_inet_h.m4 (gl_ARPA_INET_MODULE_INDICATOR): Use it.
1567         * m4/ctype.m4 (gl_CTYPE_MODULE_INDICATOR): Likewise.
1568         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Likewise.
1569         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
1570         * m4/iconv_h.m4 (gl_ICONV_MODULE_INDICATOR): Likewise.
1571         * m4/inttypes.m4 (gl_INTTYPES_MODULE_INDICATOR): Likewise.
1572         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
1573         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
1574         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
1575         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Likewise.
1576         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
1577         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
1578         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
1579         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
1580         * m4/stddef_h.m4 (gl_STDDEF_MODULE_INDICATOR): Likewise.
1581         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
1582         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
1583         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
1584         * m4/strings_h.m4 (gl_STRINGS_MODULE_INDICATOR): Likewise.
1585         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_MODULE_INDICATOR): Likewise.
1586         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
1587         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
1588         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
1589         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
1590         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
1591         * m4/sys_times_h.m4 (gl_SYS_TIMES_MODULE_INDICATOR): Likewise.
1592         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_MODULE_INDICATOR): Likewise.
1593         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Likewise.
1594         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
1595         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
1596         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
1597
1598 2010-03-27  Bruno Haible  <bruno@clisp.org>
1599
1600         Fix a compilation error on Cygwin with g++ >= 4.3.
1601         * lib/sys_stat.in.h (lchmod): Don't warn about the use of this function
1602         if it is undefined or if we alias it to chmod.
1603         (lstat): Don't warn about the use of this function if it is undefined
1604         or if we alias it to stat.
1605         Reported by Simon Josefsson.
1606
1607 2010-03-27  Bruno Haible  <bruno@clisp.org>
1608
1609         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Renamed from gl_GETLOGIN.
1610         * modules/getlogin (configure.ac): Update.
1611
1612         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Renamed from gl_GETLOGIN_R.
1613         * modules/getlogin_r (configure.ac): Update.
1614
1615         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Renamed from gl_INET_NTOP.
1616         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Update.
1617         * modules/inet_ntop (configure.ac): Update.
1618
1619         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Renamed from gl_INET_PTON.
1620         * modules/inet_pton (configure.ac): Update.
1621
1622         * m4/mbslen.m4 (gl_FUNC_MBSLEN): Renamed from gl_MBSLEN.
1623         * modules/mbslen (configure.ac): Update.
1624
1625         * m4/pty.m4 (gl_FUNC_FORKPTY): Renamed from gl_FORKPTY.
1626         (gl_FUNC_OPENPTY): Renamed from gl_OPENPTY.
1627         * modules/forkpty (configure.ac): Update.
1628         * modules/openpty (configure.ac): Update.
1629
1630 2010-03-26  Simon Josefsson  <simon@josefsson.org>
1631
1632         * top/maint.mk (sc_texinfo_acronym): Don't infloop if there is
1633         no *.texi files.  Reported by Eric Blake <eblake@redhat.com>.
1634
1635 2010-03-25  Eric Blake  <eblake@redhat.com>
1636
1637         maint: use pragma consistently across replacement headers
1638         * lib/ctype.in.h (system_header): Hoist for consistent placement.
1639         * lib/dirent.in.h (system_header): Likewise.
1640         * lib/errno.in.h (system_header): Likewise.
1641         * lib/float.in.h (system_header): Likewise.
1642         * lib/getopt.in.h (system_header): Likewise.
1643         * lib/iconv.in.h (system_header): Likewise.
1644         * lib/inttypes.in.h (system_header): Likewise.
1645         * lib/langinfo.in.h (system_header): Likewise.
1646         * lib/locale.in.h (system_header): Likewise.
1647         * lib/math.in.h (system_header): Likewise.
1648         * lib/netdb.in.h (system_header): Likewise.
1649         * lib/netinet_in.in.h (system_header): Likewise.
1650         * lib/pty.in.h (system_header): Likewise.
1651         * lib/sched.in.h (system_header): Likewise.
1652         * lib/se-selinux.in.h (system_header): Likewise.
1653         * lib/search.in.h (system_header): Likewise.
1654         * lib/spawn.in.h (system_header): Likewise.
1655         * lib/stdarg.in.h (system_header): Likewise.
1656         * lib/stdint.in.h (system_header): Likewise.
1657         * lib/string.in.h (system_header): Likewise.
1658         * lib/strings.in.h (system_header): Likewise.
1659         * lib/sys_file.in.h (system_header): Likewise.
1660         * lib/sys_ioctl.in.h (system_header): Likewise.
1661         * lib/sys_socket.in.h (system_header): Likewise.
1662         * lib/sys_times.in.h (system_header): Likewise.
1663         * lib/sys_utsname.in.h (system_header): Likewise.
1664         * lib/sys_wait.in.h (system_header): Likewise.
1665         * lib/sysexits.in.h (system_header): Likewise.
1666         * lib/unistd.in.h (system_header): Likewise.
1667         * lib/wctype.in.h (system_header): Likewise.
1668
1669         arpa/inet: fix mingw compilation warning
1670         * lib/arpa_inet.in.h (system_header): Hoist to be unconditional.
1671         Reported by Matthew Bolte.
1672
1673 2010-03-25  Bruno Haible  <bruno@clisp.org>
1674
1675         Avoid collision between gnulib wrapper and libintl wrapper.
1676         * lib/printf.c (printf): Don't define if a printf wrapper is already
1677         defined in intl/printf.c.
1678         Reported by Michel Boaventura <michel@michelboaventura.com>.
1679
1680 2010-03-25  Bruno Haible  <bruno@clisp.org>
1681
1682         Use ANSI C.
1683         * lib/readutmp.h (getutent): Provide ANSI C prototype.
1684
1685 2010-03-25  Bruno Haible  <bruno@clisp.org>
1686
1687         Minor formatting changes.
1688         * lib/acosl.c: Insert space before function argument list.
1689         * lib/argz.c: Likewise.
1690         * lib/asinl.c: Likewise.
1691         * lib/expl.c: Likewise.
1692         * lib/gen-uni-tables.c: Likewise.
1693         * lib/gettext.h: Likewise.
1694         * lib/glthread/lock.h: Likewise.
1695         * lib/tanl.c: Likewise.
1696         * lib/uniname/uniname.c: Likewise.
1697         * tests/test-idpriv-drop.c: Likewise.
1698         * tests/test-idpriv-droptemp.c: Likewise.
1699         * tests/test-lock.c: Likewise.
1700         * tests/test-tls.c: Likewise.
1701         * lib/argp-help.c: Insert space before function-like macro argument
1702         list.
1703         * lib/memcmp.c: Likewise.
1704         * tests/test-base64.c: Likewise.
1705         * lib/localename.c: Insert space before sizeof's argument list.
1706         * lib/safe-alloc.h: Likewise.
1707         * lib/file-set.h: Insert space before macro argument list.
1708         * tests/test-argp.c: Likewise.
1709         * lib/argp-namefrob.h: Insert space before function parameter list.
1710         * lib/getaddrinfo.c: Likewise.
1711         * lib/netdb.in.h: Likewise.
1712         * lib/parse-duration.h: Likewise.
1713         * lib/parse-duration.c: Likewise.
1714         * lib/poll.c: Likewise.
1715         * lib/select.c: Likewise.
1716         * lib/trim.h: Likewise.
1717         * tests/test-usleep.c: Likewise.
1718         * lib/ldexpl.c: Insert space before function parameter list and before
1719         function argument list.
1720         * lib/logl.c: Likewise.
1721         * lib/sqrtl.c: Likewise.
1722         * lib/trim.c: Likewise.
1723         * lib/cosl.c: Use GNU style indentation. Insert space before function
1724         argument list.
1725         * lib/sinl.c: Likewise.
1726         * lib/tsearch.c: Insert space after 'for'.
1727         Reported by Jim Meyering.
1728
1729 2010-03-23  Pádraig Brady  <P@draigBrady.com>  (tiny change)
1730
1731         * maint.mk (sc_Wundef_boolean): Check for the presence of the
1732         config header before grepping, as it's not present before
1733         autoreconf/configure are run.  Reported by Simon Josefsson.
1734
1735 2010-03-23  Bruno Haible  <bruno@clisp.org>
1736
1737         pt_chown: Make it work with automake < 1.11.
1738         * modules/pt_chown (Makefile.am): Define pkglibexecdir.
1739         Reported by Simon Josefsson.
1740
1741 2010-03-23  Bruno Haible  <bruno@clisp.org>
1742
1743         pt_chown: Don't depend on GPLed modules.
1744         * lib/pt_chown.c: Don't include idpriv.h.
1745         (main): Don't drop privileges.
1746         * modules/pt_chown (Depends-on): Remove idpriv-drop.
1747         Reported by Simon Josefsson.
1748
1749 2010-03-24  Simon Josefsson  <simon@josefsson.org>
1750
1751         * top/maint.mk (sc_texinfo_acronym): Add rule, based on
1752         suggestions from karl@freefriends.org (Karl Berry).
1753
1754 2010-03-22  Eric Blake  <eblake@redhat.com>
1755
1756         gethostname: further tweaks
1757         * lib/unistd.in.h (includes): Only worry about <winsock2.h> if we
1758         are overriding gethostname.
1759         Suggested by Bruno Haible.
1760
1761 2010-03-21  Bruno Haible  <bruno@clisp.org>
1762
1763         Fix comments.
1764         * lib/forkpty.c (rpl_forkpty): Fix comment.
1765         * lib/openpty.c (rpl_openpty): Likewise.
1766         Reported by Eric Blake.
1767
1768 2010-03-22  Eric Blake  <eblake@redhat.com>
1769
1770         gethostname: fix build on mingw
1771         * lib/unistd.in.h (includes): Work around fact that mingw
1772         <winsock2.h> re-includes <unistd.h>, by avoiding any
1773         redeclarations if we are being included by <winsock2.h>.
1774         Reported by Matthias Bolte.
1775
1776 2010-03-21  Bruno Haible  <bruno@clisp.org>
1777
1778         forkpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
1779         * lib/forkpty.c (forkpty): New replacement function, from glibc with
1780         modifications.
1781         * lib/pty.in.h (forkpty): Update declaration. Add comments.
1782         * m4/pty.m4 (gl_FORKPTY): If forkpty is not declared, arrange to
1783         provide the replacement.
1784         * modules/forkpty (Depends-on): Add openpty, login_tty.
1785         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_FORKPTY.
1786         * modules/pty (Makefile.am): Substitute HAVE_FORKPTY.
1787         * doc/glibc-functions/forkpty.texi: More supported platforms.
1788         * config/srclist.txt: Add forkpty.c (commented).
1789
1790 2010-03-21  Bruno Haible  <bruno@clisp.org>
1791
1792         * modules/forkpty-tests: Use the common TEMPLATE-TESTS.
1793         (Makefile.am): Verify that PTY_LIB is defined.
1794
1795         * modules/openpty-tests: Use the common TEMPLATE-TESTS.
1796
1797 2010-03-21  Bruno Haible  <bruno@clisp.org>
1798
1799         Tests for module 'login_tty'.
1800         * modules/login_tty-tests: New file.
1801         * tests/test-login_tty.c: New file.
1802
1803         New module 'login_tty'.
1804         * lib/login_tty.c: New file.
1805         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): New macro.
1806         * modules/login_tty: New file.
1807         * doc/glibc-functions/login_tty.texi: Mention the new module.
1808
1809 2010-03-21  Bruno Haible  <bruno@clisp.org>
1810
1811         login_tty: Documentation.
1812         * doc/glibc-functions/login_tty.texi: New file.
1813         * doc/gnulib.texi (Glibc <utmp.h>): Include it.
1814
1815 2010-03-21  Bruno Haible  <bruno@clisp.org>
1816
1817         pty: Consistent macro naming.
1818         * m4/pty_h.m4 (gl_PTY_H): Renamed from gl_PTY.
1819         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): Update.
1820         * modules/pty (configure.ac): Update.
1821
1822 2010-03-21  Bruno Haible  <bruno@clisp.org>
1823
1824         Tests for openpty: Make stricter.
1825         * tests/test-openpty.c (main): Add test of canonical processing and
1826         erase.
1827         * modules/openpty-tests (Makefile.am): Verify that PTY_LIB is defined.
1828
1829         openpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
1830         * lib/openpty.c (openpty): New replacement function.
1831         * lib/pty.in.h: Include <termios.h>.
1832         (openpty): Update declaration. Add comments.
1833         * m4/pty.m4 (gl_OPENPTY): Require AC_USE_SYSTEM_EXTENSIONS. If openpty
1834         is not declared, arrange to provide the replacement. Check for _getpty
1835         and posix_openpt.
1836         * modules/openpty (Depends-on): Add extensions, fcntl-h, ioctl.
1837         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_OPENPTY.
1838         * modules/pty (Makefile.am): Substitute HAVE_OPENPTY.
1839         * modules/pty-tests (test_pty_c___LDADD): New variable.
1840         * doc/glibc-functions/openpty.texi: More supported platforms.
1841
1842 2010-03-21  Bruno Haible  <bruno@clisp.org>
1843
1844         setenv: Tweaks.
1845         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Include necessary headers in
1846         the test program.
1847         * doc/posix-functions/setenv.texi: Update platforms list.
1848
1849 2010-03-21  Bruno Haible  <bruno@clisp.org>
1850
1851         New module 'unlockpt'.
1852         * lib/unlockpt.c: New file, from glibc with modifications.
1853         * m4/unlockpt.m4: New file.
1854         * modules/unlockpt: New file.
1855         * lib/stdlib.in.h (unlockpt): New declaration.
1856         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether unlockpt is declared.
1857         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_UNLOCKPT, HAVE_UNLOCKPT.
1858         * modules/stdlib (Makefile.am): Substitute GNULIB_UNLOCKPT,
1859         HAVE_UNLOCKPT.
1860         * doc/posix-functions/unlockpt.texi: Mention the new module.
1861         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::unlockpt.
1862         * config/srclist.txt: Add unlockpt.c (commented).
1863
1864 2010-03-21  Jim Meyering  <meyering@redhat.com>
1865
1866         maint.mk: prohibit inclusion of "intprops.h" without use
1867         * top/maint.mk (sc_prohibit_intprops_without_use): New rule.
1868
1869 2010-03-21  Bruno Haible  <bruno@clisp.org>
1870
1871         New module 'grantpt'.
1872         * lib/grantpt.c: New file, from glibc with modifications.
1873         * m4/grantpt.m4: New file.
1874         * modules/grantpt: New file.
1875         * lib/stdlib.in.h (grantpt): New declaration.
1876         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether grantpt is declared.
1877         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GRANTPT, HAVE_GRANTPT.
1878         * modules/stdlib (Makefile.am): Substitute GNULIB_GRANTPT,
1879         HAVE_GRANTPT.
1880         * doc/posix-functions/grantpt.texi: Mention the new module.
1881         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::grantpt.
1882         * config/srclist.txt: Add grantpt.c (commented).
1883
1884 2010-03-21  Bruno Haible  <bruno@clisp.org>
1885
1886         New module 'pt_chown'.
1887         * lib/pt_chown.c: New file, from glibc with modifications.
1888         * lib/pty-private.h: New file, from glibc with modifications.
1889         * modules/pt_chown: New file.
1890         * config/srclist.txt: Add pt_chown.c, pty-private.h (commented).
1891
1892 2010-03-21  Bruno Haible  <bruno@clisp.org>
1893
1894         Tests for module 'ptsname'.
1895         * modules/ptsname-tests: New file.
1896         * tests/test-ptsname.c: New file.
1897
1898         New module 'ptsname'.
1899         * lib/ptsname.c: New file, from glibc with modifications.
1900         * m4/ptsname.m4: New file.
1901         * modules/ptsname: New file.
1902         * lib/stdlib.in.h (ptsname): New declaration.
1903         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether ptsname is declared.
1904         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PTSNAME, HAVE_PTSNAME.
1905         * modules/stdlib (Makefile.am): Substitute GNULIB_PTSNAME,
1906         HAVE_PTSNAME.
1907         * doc/posix-functions/ptsname.texi: Mention the new module.
1908         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::ptsname.
1909         * config/srclist.txt: Add ptsname.c (commented).
1910
1911 2010-03-21  Bruno Haible  <bruno@clisp.org>
1912
1913         Tests for module 'ttyname_r'.
1914         * modules/ttyname_r-tests: New file.
1915         * tests/test-ttyname_r.c: New file.
1916
1917         New module 'ttyname_r'.
1918         * lib/ttyname_r.c: New file.
1919         * m4/ttyname_r.m4: New file.
1920         * modules/ttyname_r: New file.
1921         * lib/unistd.in.h (ttyname_r): New declaration.
1922         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether ttyname_r is declared.
1923         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TTYNAME_R, HAVE_TTYNAME_R.
1924         * modules/unistd (Makefile.am): Substitute GNULIB_TTYNAME_R,
1925         HAVE_TTYNAME_R.
1926         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::ttyname_r.
1927         * doc/posix-functions/ttyname_r.texi: Mention the new module.
1928
1929 2010-03-20  Bruno Haible  <bruno@clisp.org>
1930
1931         signal: Undefine macro definitions in C++ mode.
1932         * lib/signal.in.h (sigismember, sigemptyset, sigaddset, sigdelset,
1933         sigfillset): Undefine macro definitions from the system header in C++
1934         mode.
1935         Reported by John W. Eaton <jwe@gnu.org>.
1936
1937 2010-03-20  Bruno Haible  <bruno@clisp.org>
1938
1939         Ensure no #include statements inside extern "C" { ... }.
1940         * lib/obstack.h: Shrink extern "C" { ... } region so that it does not
1941         contain #include statements.
1942         * lib/time.in.h: Likewise.
1943
1944 2010-03-20  Bruno Haible  <bruno@clisp.org>
1945
1946         Make _GL_WARN_ON_USE usable in C++ and C mode in the same compilation.
1947         * build-aux/warn-on-use.h (_GL_WARN_EXTERN_C): New macro.
1948         (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): Likewise.
1949         Reported by John W. Eaton <jwe@gnu.org>.
1950
1951 2010-03-20  Bruno Haible  <bruno@clisp.org>
1952
1953         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix last commit.
1954         Reported by Jim Meyering.
1955
1956 2010-03-20  Bruno Haible  <bruno@clisp.org>
1957
1958         pipe: Set errno upon failure.
1959         * lib/pipe.h: Specify that when -1 is returned, errno is set.
1960         * lib/pipe.c (create_pipe): Set errno when returning -1. Use the right
1961         errno value in error message.
1962
1963 2010-03-20  Bruno Haible  <bruno@clisp.org>
1964             Jim Meyering  <meyering@redhat.com>
1965
1966         lchown: Avoid "unused variable" warning.
1967         * lib/lchown.c (rpl_lchown): Move variable 'st' into #if block.
1968
1969 2010-03-20  Bruno Haible  <bruno@clisp.org>
1970
1971         Work around unlink() bug on MacOS X 10.5.6.
1972         * lib/unlink.c (rpl_unlink): If UNLINK_PARENT_BUG is defined, fail when
1973         attempting to unlink a parent directory.
1974         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. Test for
1975         MacOS X 10.5 bug. If the bug is present, define UNLINK_PARENT_BUG and
1976         activate for the replacement function.
1977         * doc/posix-functions/unlink.texi: Mention the MacOS X 10.5 bug.
1978
1979 2010-03-20  Bruno Haible  <bruno@clisp.org>
1980
1981         Fix link errors on Solaris 8.
1982         * modules/dirent-tests (test_dirent_c___LDADD): Add LIB_NANOSLEEP.
1983         * modules/wctype-tests (test_wctype_c___LDADD): Likewise.
1984
1985 2010-03-19  Jim Meyering  <meyering@redhat.com>
1986
1987         regcomp.c: make non-_LIBC implementation of build_range_exp consistent
1988         The _LIBC implementation of build_range_exp correctly honors the
1989         RE_NO_EMPTY_RANGES flag when checking for reversed range endpoints.
1990         However, the non-_LIBC implementation would ignore that syntax-bit
1991         flag and return REG_ERANGE unconditionally.
1992         This change makes it honor that flag.
1993         * lib/regcomp.c (build_range_exp) [!_LIBC]: Add a parameter: "syntax".
1994         Make two pointer parameters "const".
1995         Use "syntax" bits in order to honor RE_NO_EMPTY_RANGES.
1996         (parse_bracket_exp): Update caller.
1997
1998         regex.m4: correct the reversed range endpoint ([b-a]) test
1999         * m4/regex.m4: When requiring that [b-a] evoke failure,
2000         use RE_NO_EMPTY_RANGES.  This makes this entire configure-time
2001         test pass once again for x86-based systems.
2002
2003 2010-03-19  Bruno Haible  <bruno@clisp.org>
2004
2005         scandir: Fix link error on Solaris 8.
2006         * lib/scandir.c (_D_EXACT_NAMLEN, _D_ALLOC_NAMLEN): New fallback
2007         macros.
2008
2009 2010-03-19  Bruno Haible  <bruno@clisp.org>
2010
2011         getusershell: Fix documentation.
2012         * doc/glibc-functions/endusershell.texi: Refer to the getusershell
2013         module.
2014         * doc/glibc-functions/setusershell.texi: Likewise.
2015
2016         getusershell: Provide declaration, missing on Solaris 9.
2017         * lib/unistd.in.h (getusershell, setusershell, endusershell): Declare
2018         also if HAVE_GETUSERSHELL && !HAVE_DECL_GETUSERSHELL.
2019         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): When the function exists,
2020         check whether it is declared. Set HAVE_DECL_GETUSERSHELL.
2021         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
2022         HAVE_DECL_GETUSERSHELL, not HAVE_GETUSERSHELL.
2023         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETUSERSHELL, not
2024         HAVE_GETUSERSHELL.
2025         * doc/glibc-functions/getusershell.texi: Mention the Solaris problem.
2026
2027 2010-03-19  Bruno Haible  <bruno@clisp.org>
2028
2029         wctype: Provide iswblank function.
2030         * lib/wctype.in.h (iswblank): Provide a replacement also when iswcntrl
2031         exists and is fine.
2032         * m4/wctype_h.m4 (gl_WCTYPE_H): Also check whether iswcntrl exists.
2033         * modules/wctype (Makefile.am): Substitute HAVE_ISWBLANK.
2034         * tests/test-wctype.c (main): Re-enable the iswblank tests.
2035         * doc/posix-functions/iswblank.texi: Update.
2036
2037 2010-03-19  Bruno Haible  <bruno@clisp.org>
2038
2039         Tests of module 'pty' in C++ mode.
2040         * modules/pty-tests: New file.
2041         * tests/test-pty-c++.cc: New file.
2042         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
2043
2044 2010-03-19  Eric Blake  <eblake@redhat.com>
2045
2046         logb: fix documentation
2047         * doc/posix-functions/logb.texi (logb): Gnulib fixes the cygwin
2048         1.5 declaration bug.
2049
2050         forkpty, openpty: prefer glibc's const-safe prototype
2051         * lib/forkpty.c (rpl_forkpty): New file.
2052         * lib/openpty.c (rpl_openpty): Likewise.
2053         * modules/forkpty (Files): Distribute it.
2054         * modules/openpty (Files): Likewise.
2055         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.  Move decl
2056         check...
2057         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): ...here.  Request
2058         replacement for for non-const BSD signature.
2059         * modules/pty (Makefile.am): Substitute witnesses.
2060         * lib/pty.in.h (forkpty, openpty): Declare replacements.
2061         * tests/test-forkpty.c: Update signature check.
2062         * tests/test-openpty.c: Likewise.
2063         * doc/glibc-functions/forkpty.texi (forkpty): Document the fix.
2064         * doc/glibc-functions/openpty.texi (openpty): Likewise.
2065
2066         forkpty, openpty: split functions into new modules
2067         * modules/pty (Makefile.am): Substitute new witnesses.
2068         (Libraries): Move library detection...
2069         * modules/forkpty: ...into new module.
2070         * modules/openpty: Another new module.
2071         * modules/pty-tests: Rename and split...
2072         * modules/forkpty-tests: ...to this...
2073         * modules/openpty-tests: ...and this.
2074         * tests/test-pty.c: Rename and split...
2075         * tests/test-forkpty.c: ...to this...
2076         * tests/test-openpty.c: ...and this.
2077         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.
2078         (gl_PTY): Split library searching...
2079         * m4/pty.m4 (gl_PTY_LIB): ...into new file.
2080         (gl_FORKPTY, gl_OPENPTY): New macros.
2081         * lib/pty.in.h (forkpty, openpty): Honor new witnesses.
2082         * NEWS: Mention the split.
2083         * MODULES.html.sh (Misc): Document the modules.
2084         * doc/glibc-functions/forkpty.texi (forkpty): Likewise.
2085         * doc/glibc-functions/openpty.texi (openpty): Likewise.
2086
2087         pty: improve replacement header
2088         * lib/pty.in.h: New file.
2089         * modules/pty (Files): Ship it.
2090         (Makefile.am): Always build replacement.
2091         * m4/pty.m4: Rename...
2092         * m4/pty_h.m4: ...to this.
2093         (gl_PTY): Modernize setting of witness macros; update check of
2094         forkpty to take proper advantage of cache.
2095         (gl_PTY_MODULE_INDICATOR, gl_PTY_H_DEFAULTS): New macros.
2096
2097         getopt: avoid compiler warning
2098         * lib/getopt.c (attribute_hidden): Remove unused macro.
2099
2100 2010-03-18  Bruno Haible  <bruno@clisp.org>
2101
2102         Fix link errors on Solaris 8.
2103         * modules/iconv-h-tests (test_iconv_h_c___LDADD): Add LIB_NANOSLEEP.
2104         * modules/search-tests (test_search_c___LDADD): Likewise.
2105         * modules/signal-tests (test_signal_c___LDADD): Likewise.
2106         * modules/spawn-tests (test_spawn_c___LDADD): Likewise.
2107         * modules/stdio-tests (test_stdio_c___LDADD): Likewise.
2108         * modules/sys_select-tests (test_sys_select_c___LDADD): Likewise.
2109         * modules/sys_socket-tests (test_sys_socket_c___LDADD): Likewise.
2110         * modules/sys_time-tests (test_sys_time_c___LDADD): Likewise.
2111         * modules/wchar-tests (test_wchar_c___LDADD): Likewise.
2112
2113 2010-03-18  Bruno Haible  <bruno@clisp.org>
2114
2115         Fix bug introduced on 2010-03-14.
2116         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): New macro.
2117         (gl_SPAWN_H): Require it.
2118         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Likewise.
2119         Reported by Simon Josefsson.
2120
2121 2010-03-18  Bruno Haible  <bruno@clisp.org>
2122
2123         Fix typo introduced on 2009-12-31.
2124         * m4/spawn_h.m4 (gl_SPAWN_H): Check for the declaration of
2125         posix_spawn_file_actions_adddup2.
2126
2127 2010-03-17  Bert Wesarg  <bert.wesarg@googlemail.com>  (tiny change)
2128         and Eric Blake  <eblake@redhat.com>
2129
2130         test-vc-list-files-git: make more robust
2131         * tests/test-vc-list-files-git.sh: Unset problematic environment
2132         variables.  Chain commands together.
2133
2134 2010-03-17  Ludovic Courtès <ludo@gnu.org>  (tiny change)
2135
2136         * m4/pty.m4: Unset $ac_cv_have_decl_forkpty before the second
2137         `AC_CHECK_DECL' invocation.
2138
2139 2010-03-15  Sergey Poznyakoff  <gray@gnu.org.ua>
2140
2141         * lib/inttostr.c (inttostr): Make sure the invocation of verify
2142         appears before executable statements. Suggested by Petr Sumbera
2143         <Petr.Sumbera@Sun.COM>.
2144
2145 2010-03-14  Bruno Haible  <bruno@clisp.org>
2146
2147         * tests/test-flock.c (test_exclusive): Comment out a test that causes
2148         portability problems. Instead use a simpler test.
2149         (main): Check that invalid arguments are rejected only on Linux.
2150
2151 2010-03-14  Bruno Haible  <bruno@clisp.org>
2152
2153         Fix bug introduced on 2009-12-31.
2154         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
2155         gl_PREREQ_SYS_H_WINSOCK2 always.
2156         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise. Remove
2157         SYS_SOCKET_H variable.
2158         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Remove test for flock.
2159         Update comments.
2160         * m4/ctype.m4 (gl_CTYPE_H): Update comments.
2161         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
2162         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
2163         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
2164         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
2165
2166 2010-03-14  Bruno Haible  <bruno@clisp.org>
2167
2168         Fix values returned by sinl, cosl.
2169         * lib/trigl.h: Add specification comments.
2170         * lib/sincosl.c (kernel_sinl, kernel_cosl): Fix comments and formula
2171         that combines the values from the precomputed table with the values of
2172         the Chebyshev polynomials.
2173
2174 2010-03-14  Bruno Haible  <bruno@clisp.org>
2175
2176         Fix compilation error when modules 'posix_spawn[p]' are not used.
2177         * m4/spawn_h.m4 (gl_SPAWN_H): Set HAVE_POSIX_SPAWN here.
2178         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): ... not here.
2179
2180 2010-03-14  Bruno Haible  <bruno@clisp.org>
2181
2182         Fix compilation error on mingw when module 'time_r' is not used.
2183         * lib/time.in.h (localtime_r, gmtime_r): Declare only if GNULIB_TIME_R
2184         is 1.
2185         * tests/test-time-c++.cc (localtime_r, gmtime_r): Likewise.
2186         * modules/time_r (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
2187         * modules/time (Makefile.am): Substitute GNULIB_TIME_R.
2188         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TIME_R.
2189
2190 2010-03-14  Bruno Haible  <bruno@clisp.org>
2191
2192         Fix compilation error with Sun C.
2193         * lib/strtol.c: Use LLONG_MIN instead of GCC specific LONG_LONG_MIN.
2194         Use LLONG_MAX instead of GCC specific LONG_LONG_MAX. Use ULLONG_MAX
2195         instead of GCC specific ULONG_LONG_MAX.
2196         * lib/xstrtoll.c: Likewise.
2197         * lib/xstrtoull.c: Likewise.
2198
2199 2010-03-13  Bruno Haible  <bruno@clisp.org>
2200
2201         Allow the user to disable C++ code and tests.
2202         * m4/ansi-c++.m4 (gl_CXX_CHOICE): New macro.
2203         (gl_PROG_ANSI_CXX): Require it.
2204
2205 2010-03-13  Bruno Haible  <bruno@clisp.org>
2206
2207         * DEPENDENCIES (libtool): Mention libtool 2.2.x requirement in special
2208         cases.
2209
2210 2010-03-13  Bruno Haible  <bruno@clisp.org>
2211
2212         Test that gnulib does not break the standard C++ headers.
2213         * tests/test-locale-c++2.cc: New file.
2214         * modules/locale-tests (Files): Add it.
2215         (Makefile.am): Compile it for test-locale-c++.
2216         * tests/test-math-c++2.cc: New file.
2217         * modules/math-tests (Files): Add it.
2218         (Makefile.am): Compile it for test-math-c++.
2219         * tests/test-signal-c++2.cc: New file.
2220         * modules/signal-tests (Files): Add it.
2221         (Makefile.am): Compile it for test-signal-c++.
2222         * tests/test-stdio-c++2.cc: New file.
2223         * modules/stdio-tests (Files): Add it.
2224         (Makefile.am): Compile it for test-stdio-c++.
2225         * tests/test-stdlib-c++2.cc: New file.
2226         * modules/stdlib-tests (Files): Add it.
2227         (Makefile.am): Compile it for test-stdlib-c++.
2228         * tests/test-string-c++2.cc: New file.
2229         * modules/string-tests (Files): Add it.
2230         (Makefile.am): Compile it for test-string-c++.
2231         * tests/test-time-c++2.cc: New file.
2232         * modules/time-tests (Files): Add it.
2233         (Makefile.am): Compile it for test-time-c++.
2234         Reported by John W. Eaton <jwe@gnu.org>.
2235
2236 2010-03-13  Bruno Haible  <bruno@clisp.org>
2237
2238         * gnulib-tool (func_usage): Clarify which options are available for
2239         --create-testdir and --create-megatestdir.
2240
2241 2010-03-13  Bruno Haible  <bruno@clisp.org>
2242
2243         Fix compilation error with glibc >= 2.10 and g++ >= 4.4.
2244         * build-aux/warn-on-use.h (_GL_WARN_ON_USE_CXX): New macro.
2245         * build-aux/c++defs.h (_GL_CXXALIASWARN1): New macro.
2246         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
2247         strstr, strcasestr): Use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN
2248         when appropriate.
2249         Reported by Jim Meyering.
2250
2251 2010-03-12  Simon Josefsson  <simon@josefsson.org>
2252
2253         * gnulib-tool (func_import): Explain origin of code.
2254
2255 2010-03-12  Bruno Haible  <bruno@clisp.org>
2256
2257         Fix problem with automake's definition of CXXLINK.
2258         * gnulib-tool (func_create_testdir): After LT_INIT, also use LT_LANG.
2259         Reported by Simon Josefsson and Ludovic Courtès.
2260
2261 2010-03-12  Bruno Haible  <bruno@clisp.org>
2262
2263         * doc/gnulib-intro.texi (Steady Development): Mention Ian Beckwith's
2264         stable releases.
2265
2266 2010-03-11  Bruno Haible  <bruno@clisp.org>
2267
2268         Fix problems with overloaded C++ definitions of memchr, strpbrk, etc.
2269         * build-aux/c++defs.h (_GL_CXXALIAS_SYS_CAST2): Make it work regardless
2270         whether the system provides one variant or multiple variants of the
2271         function.
2272         * lib/string.in.h (memchr, strpbrk): Use _GL_CXXALIAS_SYS_CAST2 for all
2273         C++ compilers.
2274         (memrchr, rawmemchr, strchrnul, strstr, strcasestr): Use
2275         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS.
2276         Reported by Jim Meyering.
2277
2278 2010-03-09  Simon Josefsson  <simon@josefsson.org>
2279
2280         * gnulib-tool (LIBTOOLPATH): Fix cut'n'paste bug.
2281
2282 2010-03-08  Bruno Haible  <bruno@clisp.org>
2283
2284         gnulib-tool: Add support for --libtool in --create-testdir.
2285         * gnulib-tool (LIBTOOLPATH, LIBTOOLIZE): New variables.
2286         (func_create_testdir): Emit LT_INIT invocations. Invoke LIBTOOLIZE.
2287
2288 2010-03-08  Eric Blake  <eblake@redhat.com>
2289
2290         gnulib-tool.texi: mention possibility of git submodule
2291         * doc/gnulib-tool.texi (VCS Issues): Add details about using git
2292         submodules.
2293         * doc/.gitignore: Ignore another generated file.
2294
2295 2010-03-08  Karl Berry  <karl@gnu.org>
2296
2297         * doc/gnulib-tool.texi (VCS Issues): Mention third option
2298         of committing gnulib files while skipping others.
2299
2300 2010-03-07  Bruno Haible  <bruno@clisp.org>
2301
2302         Tests of module 'wctype' in C++ mode.
2303         * tests/test-wctype-c++.cc: New file.
2304         * modules/wctype-tests (Files): Add it and tests/signature.h.
2305         (Depends-on): Add ansi-c++-opt.
2306         (Makefile.am): Arrange to compile and run test-wctype-c++.
2307
2308         Tests of module 'wchar' in C++ mode.
2309         * tests/test-wchar-c++.cc: New file.
2310         * modules/wchar-tests (Files): Add it and tests/signature.h.
2311         (Depends-on): Add ansi-c++-opt.
2312         (Makefile.am): Arrange to compile and run test-wchar-c++.
2313         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Invoke
2314         gl_MODULE_INDICATOR.
2315
2316         Tests of module 'unistd' in C++ mode.
2317         * tests/test-unistd-c++.cc: New file.
2318         * modules/unistd-tests (Files): Add it and tests/signature.h.
2319         (Depends-on): Add ansi-c++-opt.
2320         (Makefile.am): Arrange to compile and run test-unistd-c++.
2321         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Invoke
2322         gl_MODULE_INDICATOR.
2323
2324         Tests of module 'time' in C++ mode.
2325         * tests/test-time-c++.cc: New file.
2326         * modules/time-tests (Files): Add it and tests/signature.h.
2327         (Depends-on): Add ansi-c++-opt.
2328         (Makefile.am): Arrange to compile and run test-time-c++.
2329         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
2330
2331         Tests of module 'sys_time' in C++ mode.
2332         * tests/test-sys_time-c++.cc: New file.
2333         * modules/sys_time-tests (Files): Add it and tests/signature.h.
2334         (Depends-on): Add ansi-c++-opt.
2335         (Makefile.am): Arrange to compile and run test-sys_time-c++.
2336         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Invoke
2337         gl_MODULE_INDICATOR.
2338
2339         Tests of module 'sys_stat' in C++ mode.
2340         * tests/test-sys_stat-c++.cc: New file.
2341         * modules/sys_stat-tests (Files): Add it and tests/signature.h.
2342         (Depends-on): Add ansi-c++-opt.
2343         (Makefile.am): Arrange to compile and run test-sys_stat-c++.
2344         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Invoke
2345         gl_MODULE_INDICATOR.
2346
2347         Tests of module 'sys_socket' in C++ mode.
2348         * tests/test-sys_socket-c++.cc: New file.
2349         * modules/sys_socket-tests (Files): Add it and tests/signature.h.
2350         (Depends-on): Add ansi-c++-opt.
2351         (Makefile.am): Arrange to compile and run test-sys_socket-c++.
2352         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Invoke
2353         gl_MODULE_INDICATOR.
2354
2355         Tests of module 'sys_select' in C++ mode.
2356         * tests/test-sys_select-c++.cc: New file.
2357         * modules/sys_select-tests (Files): Add it and tests/signature.h.
2358         (Depends-on): Add ansi-c++-opt.
2359         (Makefile.am): Arrange to compile and run test-sys_select-c++.
2360         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Invoke
2361         gl_MODULE_INDICATOR.
2362
2363         Tests of module 'sys_ioctl' in C++ mode.
2364         * tests/test-sys_ioctl-c++.cc: New file.
2365         * modules/sys_ioctl-tests (Files): Add it and tests/signature.h.
2366         (Depends-on): Add ansi-c++-opt.
2367         (Makefile.am): Arrange to compile and run test-sys_ioctl-c++.
2368         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Invoke
2369         gl_MODULE_INDICATOR.
2370
2371         Tests of module 'string' in C++ mode.
2372         * tests/test-string-c++.cc: New file.
2373         * modules/string-tests (Files): Add it and tests/signature.h.
2374         (Depends-on): Add ansi-c++-opt.
2375         (Makefile.am): Arrange to compile and run test-string-c++.
2376         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Invoke
2377         gl_MODULE_INDICATOR.
2378
2379         Tests of module 'stdlib' in C++ mode.
2380         * tests/test-stdlib-c++.cc: New file.
2381         * modules/stdlib-tests (Files): Add it and tests/signature.h.
2382         (Depends-on): Add ansi-c++-opt.
2383         (Makefile.am): Arrange to compile and run test-stdlib-c++.
2384         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Invoke
2385         gl_MODULE_INDICATOR.
2386
2387         Tests of module 'stdio' in C++ mode.
2388         * tests/test-stdio-c++.cc: New file.
2389         * modules/stdio-tests (Files): Add it and tests/signature.h.
2390         (Depends-on): Add ansi-c++-opt.
2391         (Makefile.am): Arrange to compile and run test-stdio-c++.
2392         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Invoke
2393         gl_MODULE_INDICATOR.
2394
2395         Tests of module 'spawn' in C++ mode.
2396         * tests/test-spawn-c++.cc: New file.
2397         * modules/spawn-tests (Files): Add it and tests/signature.h.
2398         (Depends-on): Add ansi-c++-opt.
2399         (Makefile.am): Arrange to compile and run test-spawn-c++.
2400         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Invoke
2401         gl_MODULE_INDICATOR.
2402
2403         Tests of module 'signal' in C++ mode.
2404         * tests/test-signal-c++.cc: New file.
2405         * modules/signal-tests (Files): Add it and tests/signature.h.
2406         (Depends-on): Add ansi-c++-opt.
2407         (Makefile.am): Arrange to compile and run test-signal-c++.
2408         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Invoke
2409         gl_MODULE_INDICATOR.
2410
2411         Tests of module 'search' in C++ mode.
2412         * tests/test-search-c++.cc: New file.
2413         * modules/search-tests (Files): Add it and tests/signature.h.
2414         (Depends-on): Add ansi-c++-opt.
2415         (Makefile.am): Arrange to compile and run test-search-c++.
2416         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Invoke
2417         gl_MODULE_INDICATOR.
2418
2419         Tests of module 'math' in C++ mode.
2420         * tests/test-math-c++.cc: New file.
2421         * modules/math-tests (Files): Add it and tests/signature.h.
2422         (Depends-on): Add ansi-c++-opt.
2423         (Makefile.am): Arrange to compile and run test-math-c++.
2424         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
2425
2426         Tests of module 'locale' in C++ mode.
2427         * tests/test-locale-c++.cc: New file.
2428         * modules/locale-tests (Files): Add it and tests/signature.h.
2429         (Depends-on): Add ansi-c++-opt.
2430         (Makefile.am): Arrange to compile and run test-locale-c++.
2431         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Invoke
2432         gl_MODULE_INDICATOR.
2433
2434         Tests of module 'langinfo' in C++ mode.
2435         * tests/test-langinfo-c++.cc: New file.
2436         * modules/langinfo-tests (Files): Add it and tests/signature.h.
2437         (Depends-on): Add ansi-c++-opt.
2438         (Makefile.am): Arrange to compile and run test-langinfo-c++.
2439         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Invoke
2440         gl_MODULE_INDICATOR.
2441
2442         Tests of module 'iconv-h' in C++ mode.
2443         * tests/test-iconv-h-c++.cc: New file.
2444         * modules/iconv-h-tests (Files): Add it and tests/signature.h.
2445         (Depends-on): Add ansi-c++-opt.
2446         (Makefile.am): Arrange to compile and run test-iconv-h-c++.
2447
2448         Tests of module 'glob' in C++ mode.
2449         * tests/test-glob-c++.cc: New file.
2450         * modules/glob-tests (Files): Add it.
2451         (Depends-on): Add ansi-c++-opt.
2452         (Makefile.am): Arrange to compile and run test-glob-c++.
2453
2454         Tests of module 'fcntl-h' in C++ mode.
2455         * tests/test-fcntl-h-c++.cc: New file.
2456         * modules/fcntl-h-tests (Files): Add it and tests/signature.h.
2457         (Depends-on): Add ansi-c++-opt.
2458         (Makefile.am): Arrange to compile and run test-fcntl-h-c++.
2459         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Invoke
2460         gl_MODULE_INDICATOR.
2461
2462         Tests of module 'dirent' in C++ mode.
2463         * tests/test-dirent-c++.cc: New file.
2464         * modules/dirent-tests (Files): Add it and tests/signature.h.
2465         (Depends-on): Add ansi-c++-opt.
2466         (Makefile.am): Arrange to compile and run test-dirent-c++.
2467         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
2468         gl_MODULE_INDICATOR.
2469
2470         New module 'ansi-c++-opt'.
2471         * modules/ansi-c++-opt: New file.
2472         * m4/ansi-c++.m4: New file, from GNU gettext with modifications.
2473
2474         Document C++ namespace mode.
2475         * doc/gnulib.texi (A C++ namespace for gnulib): New section.
2476
2477         wctype: Avoid #define replacements in C++ mode.
2478         * lib/wctype.in.h: Include c++defs.h, warn-on-use.h.
2479         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower,
2480         iswprint, iswpunct, iswspace, iswupper, iswxdigit, towlower, towupper):
2481         In C++, define a namespaced alias symbol.
2482         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set WCTYPE_H.
2483         * modules/wctype (Depends-on): Add c++defs, warn-on-use.
2484         (Makefile.am): Provide a wctype.h replacement always. Update wctype.h
2485         rule.
2486
2487         wchar: Avoid #define replacements in C++ mode.
2488         * lib/wchar.in.h: Include c++defs.h.
2489         (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs,
2490         wcrtomb, wcsrtombs, wcsnrtombs): In C++, define a namespaced alias
2491         symbol.
2492         (wcwidth): Likewise. Fix prototype to be POSIX compliant.
2493         * modules/wchar (Depends-on): Add c++defs.
2494         (Makefile.am): Update wchar.h rule.
2495
2496         unistd: Avoid #define replacements in C++ mode.
2497         * lib/unistd.in.h: Include c++defs.h.
2498         (chown, close, dup, dup2, dup3, euidaccess, faccessat, fchdir,
2499         fchownat, fsync, ftruncate, getcwd, getdomainname, getdtablesize,
2500         getgroups, gethostname, getlogin, getlogin_r, getpagesize,
2501         getusershell, setusershell, endusershell, lchown, link, linkat, lseek,
2502         pipe2, pread, readlink, readlinkat, rmdir, sleep, symlink, symlinkat,
2503         unlink, unlinkat, usleep, write): In C++, define a namespaced alias
2504         symbol.
2505         (environ): Update.
2506         * modules/unistd (Depends-on): Add c++defs.
2507         (Makefile.am): Update unistd.h rule.
2508
2509         time: Avoid #define replacements in C++ mode.
2510         * lib/time.in.h: Include c++defs.h, warn-on-use.h.
2511         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): In C++,
2512         define a namespaced alias symbol.
2513         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): New macro.
2514         (gl_HEADER_TIME_H_DEFAULTS): Initialize also GNULIB_MKTIME,
2515         GNULIB_NANOSLEEP, GNULIB_STRPTIME, GNULIB_TIMEGM.
2516         * modules/time (Depends-on): Add c++defs, warn-on-use.
2517         (Makefile.am): Update time.h rule.
2518         * modules/mktime (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
2519         * modules/nanosleep (configure.ac): Likewise.
2520         * modules/strptime (configure.ac): Likewise.
2521         * modules/timegm (configure.ac): Likewise.
2522
2523         sys_time: Avoid #define replacements in C++ mode.
2524         * lib/sys_time.in.h: Include c++defs.h.
2525         (gettimeofday): In C++, define a namespaced alias symbol.
2526         * modules/sys_time (Depends-on): Add c++defs.
2527         (Makefile.am): Update sys/time.h rule.
2528
2529         sys_stat: Avoid #define replacements in C++ mode.
2530         * lib/sys_stat.in.h: Include c++defs.h.
2531         (fchmodat, fstat, fstatat, futimens, lchmod, lstat, mkdir, mkdirat,
2532         mkfifo, mkfifoat, mknod, mknodat, utimensat): In C++, define a
2533         namespaced alias symbol.
2534         In C++, define a namespaced alias symbol.
2535         * modules/sys_stat (Depends-on): Add c++defs.
2536         (Makefile.am): Update sys/stat.h rule.
2537
2538         sys_socket: Avoid #define replacements in C++ mode.
2539         * lib/sys_socket.in.h: Handle the case of recursive include on Cygwin.
2540         Include c++defs.h. Include warn-on-use.h earlier. Enable the function
2541         definitions also when the system has a <sys/socket.h>.
2542         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
2543         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, accept4):
2544         In C++, define a namespaced alias symbol.
2545         * modules/sys_socket (Depends-on): Add c++defs.
2546         (Makefile.am): Update sys/socket.h rule.
2547
2548         sys_select: Avoid #define replacements in C++ mode.
2549         * lib/sys_select.in.h: Include c++defs.h. Enable the function
2550         definitions also when the system has a <sys/select.h>.
2551         (select): In C++, define a namespaced alias symbol.
2552         * modules/sys_select (Depends-on): Add c++defs.
2553         (Makefile.am): Update sys/select.h rule.
2554
2555         sys_ioctl: Avoid #define replacements in C++ mode.
2556         * lib/sys_ioctl.in.h: Include c++defs.h.
2557         (ioctl): In C++, define a namespaced alias symbol.
2558         * modules/sys_ioctl (Depends-on): Add c++defs.
2559         (Makefile.am): Update sys/ioctl.h rule.
2560
2561         string: Avoid #define replacements in C++ mode.
2562         * lib/string.in.h: Include c++defs.h.
2563         (stpncpy): Define to rpl_stpncpy, not gnu_stpncpy.
2564         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
2565         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
2566         strcasestr, strtok_r, mbslen, mbschr, mbsrchr, mbspbrk, strerror,
2567         strsignal, strverscmp): In C++, define a namespaced alias symbol.
2568         * modules/string (Depends-on): Add c++defs.
2569         (Makefile.am): Update string.h rule.
2570
2571         stdlib: Avoid #define replacements in C++ mode.
2572         * lib/stdlib.in.h: Include c++defs.h.
2573         (atoll, calloc, canonicalize_file_name, getloadavg, getsubopt, malloc,
2574         mkdtemp, mkostemp, mkostemps, mkstemp, mkstemps, putenv, random_r,
2575         srandom_r, initstate_r, setstate_r, realloc, realpath, rpmatch, setenv,
2576         strtod, strtoll, strtoull, unsetenv): In C++, define a namespaced alias
2577         symbol.
2578         * modules/stdlib (Depends-on): Add c++defs.
2579         (Makefile.am): Update stdlib.h rule.
2580
2581         stdio: Avoid #define replacements in C++ mode.
2582         * lib/stdio.in.h: Include c++defs.h.
2583         (dprintf, fclose, fflush, fopen, fprintf, fpurge, fputc, fputs,
2584         freopen, fseek, fseeko, ftell, ftello, fwrite, getdelim, getline,
2585         obstack_printf, obstack_vprintf, perror, popen, printf, fputc, putchar,
2586         puts, remove, rename, renameat, snprintf, sprintf, asprintf, vasprintf,
2587         vdprintf, vfprintf, vprintf, vsnprintf, vsprintf): In C++, define a
2588         namespaced alias symbol.
2589         * modules/stdio (Depends-on): Add c++defs.
2590         (Makefile.am): Update stdio.h rule.
2591
2592         spawn: Avoid #define replacements in C++ mode.
2593         * lib/spawn.in.h: Include c++defs.h.
2594         (posix_spawn, posix_spawnp, posix_spawnattr_init,
2595         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
2596         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
2597         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
2598         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
2599         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
2600         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
2601         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
2602         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
2603         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
2604         In C++, define a namespaced alias symbol.
2605         * modules/spawn (Depends-on): Add c++defs.
2606         (Makefile.am): Update spawn.h rule.
2607
2608         signal: Avoid #define replacements in C++ mode.
2609         * lib/signal.in.h: Include c++defs.h.
2610         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
2611         sigpending, sigprocmask, signal, raise, sigaction): In C++, define a
2612         namespaced alias symbol.
2613         * modules/signal (Depends-on): Add c++defs.
2614         (Makefile.am): Update signal.h rule.
2615
2616         search: Avoid #define replacements in C++ mode.
2617         * lib/search.in.h: Include c++defs.h.
2618         (_gl_search_compar_fn, _gl_search_action_fn): New types.
2619         (tsearch, tfind, tdelete, twalk): In C++, define a namespaced alias
2620         symbol.
2621         * modules/search (Depends-on): Add c++defs.
2622         (Makefile.am): Update search.h rule.
2623
2624         math: Avoid #define replacements in C++ mode.
2625         * lib/math.in.h: Include c++defs.h.
2626         (frexp, acosl, asinl, atanl, ceilf, ceill, cosl, expl, floorf, floorl,
2627         frexpl, ldexpl, logl, roundf, round, roundl, sinl, sqrtl, tanl, truncf,
2628         trunc, truncl): In C++, define a namespaced alias symbol.
2629         * modules/math (Depends-on): Add c++defs.
2630         (Makefile.am): Update math.h rule.
2631
2632         locale: Avoid #define replacements in C++ mode.
2633         * lib/locale.in.h: Include c++defs.h.
2634         (duplocale): In C++, define a namespaced alias symbol.
2635         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize HAVE_DUPLOCALE.
2636         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Set HAVE_DUPLOCALE.
2637         * modules/locale (Depends-on): Add c++defs.
2638         (Makefile.am): Update locale.h rule. Substitute HAVE_DUPLOCALE.
2639
2640         langinfo: Avoid #define replacements in C++ mode.
2641         * lib/langinfo.in.h: Include c++defs.h.
2642         (nl_langinfo): In C++, define a namespaced alias symbol.
2643         * modules/langinfo (Depends-on): Add c++defs.
2644         (Makefile.am): Update langinfo.h rule.
2645
2646         iconv-h: Avoid #define replacements in C++ mode.
2647         * lib/iconv.in.h: Include c++defs.h, warn-on-use.h.
2648         (iconv_open, iconv, iconv_close): In C++, define a namespaced alias
2649         symbol.
2650         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
2651         whenever iconv is present.
2652         * modules/iconv-h (Depends-on): Add c++defs, warn-on-use.
2653         (Makefile.am): Update iconv.h rule.
2654
2655         glob: Avoid #define replacements in C++ mode.
2656         * lib/glob.in.h: Include c++defs.h, warn-on-use.h.
2657         (_gl_glob_errfunc_fn): New type.
2658         (glob, globfree, glob_pattern_p): In C++, define a namespaced alias
2659         symbol.
2660         * modules/glob (Depends-on): Add c++defs, warn-on-use.
2661         (Makefile.am): Update glob.h rule.
2662
2663         fcntl-h: Avoid #define replacements in C++ mode.
2664         * lib/fcntl.in.h: Include c++defs.h.
2665         (fcntl, open, openat): In C++, define a namespaced alias symbol.
2666         * modules/fcntl-h (Depends-on): Add c++defs.
2667         (Makefile.am): Update fcntl.h rule.
2668
2669         dirent: Avoid #define replacements in C++ mode.
2670         * lib/dirent.in.h: Include c++defs.h.
2671         (closedir, fdopendir, opendir, scandir, alphasort): In C++, define a
2672         namespaced alias symbol.
2673         (dirfd): Update declaration.
2674         * modules/dirent (Depends-on): Add c++defs.
2675         (Makefile.am): Update dirent.h rule.
2676
2677         ctype: Make it usable in C++ code.
2678         * lib/ctype.in.h: Include c++defs.h.
2679         (isblank): Declare as extern "C".
2680         * modules/ctype (Depends-on): Add c++defs.
2681         (Makefile.am): Update ctype.h rule.
2682
2683         New module 'c++defs'.
2684         * modules/c++defs: New file.
2685         * build-aux/c++defs.h: New file.
2686         Reported by John W. Eaton <jwe@gnu.org>.
2687
2688 2010-03-07  Bruno Haible  <bruno@clisp.org>
2689
2690         logb: Provide missing declaration for Cygwin.
2691         * lib/math.in.h (logb): New declaration.
2692         * m4/logb.m4: New file.
2693         * modules/logb (Files): Add m4/logb.m4.
2694         (Depends-on): Add math.
2695         (configure.ac): Invoke gl_FUNC_LOGB, gl_MATH_MODULE_INDICATOR.
2696         * m4/math_h.m4 (gl_MATH_H): Check also for logb declaration.
2697         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGB, HAVE_DECL_LOGB.
2698         * modules/math (Makefile.am): Substitute GNULIB_LOGB, HAVE_DECL_LOGB.
2699         * doc/posix-functions/logb.texi: Mention the Cygwin bug.
2700
2701 2010-03-07  Bruno Haible  <bruno@clisp.org>
2702
2703         Fix test-cond link error.
2704         * tests/test-cond.c: Include <stdio.h>.
2705
2706 2010-03-07  Bruno Haible  <bruno@clisp.org>
2707
2708         Fix test-dirent-safer link error.
2709         * modules/dirent-safer-tests (Makefile.am): Define
2710         test_dirent_safer_LDADD.
2711
2712 2010-03-07  Bruno Haible  <bruno@clisp.org>
2713
2714         * gnulib-tool (func_create_testdir): Don't use 'lib-ignore' module
2715         among default module list.
2716
2717 2010-03-07  Bruno Haible  <bruno@clisp.org>
2718
2719         Fix link error on platforms with GNU libiconv.
2720         * modules/unistr/u8-strcoll-tests (Makefile): Define
2721         test_u8_strcoll_LDADD.
2722         * modules/unistr/u16-strcoll-tests (Makefile): Define
2723         test_u16_strcoll_LDADD.
2724         * modules/unistr/u32-strcoll-tests (Makefile): Define
2725         test_u32_strcoll_LDADD.
2726
2727 2010-03-07  Bruno Haible  <bruno@clisp.org>
2728
2729         Use POSIX declarations for socket functions.
2730         * lib/sys_socket.in.h (rpl_connect, rpl_accept, rpl_bind,
2731         rpl_getpeername, rpl_getsockname, rpl_recv, rpl_send, rpl_recvfrom,
2732         rpl_sendto): Change declaration to match POSIX.
2733         * lib/connect.c (rpl_connect): Likewise.
2734         * lib/accept.c (rpl_accept): Likewise.
2735         * lib/bind.c (rpl_bind): Likewise.
2736         * lib/getpeername.c (rpl_getpeername): Likewise.
2737         * lib/getsockname.c (rpl_getsockname): Likewise.
2738         * lib/recv.c (rpl_recv): Likewise.
2739         * lib/send.c (rpl_send): Likewise.
2740         * lib/recvfrom.c (rpl_recvfrom): Likewise.
2741         * lib/sendto.c (rpl_sendto): Likewise.
2742
2743 2010-03-06  Bruno Haible  <bruno@clisp.org>
2744
2745         Clarify access, euidaccess, faccessat.
2746         * doc/posix-functions/faccessat.texi: Mention security problem under
2747         "Other problems", not "Portability problems".
2748         * doc/posix-functions/access.texi: Likewise. Mention a related security
2749         problem.
2750         * doc/glibc-functions/euidaccess.texi: Mention security problems.
2751         * lib/euidaccess.c: Add comments about platforms.
2752         * lib/unistd.in.h (access, euidaccess): Add warnings.
2753
2754 2010-03-07  Bruno Haible  <bruno@clisp.org>
2755
2756         Ensure posix_spawnattr_{get,set}sched{policy,param} are defined.
2757         * lib/spawn.in.h (POSIX_SPAWN_SETSCHEDPARAM): Define fallback.
2758         (POSIX_SPAWN_SETSCHEDULER): Likewise.
2759         (POSIX_SPAWN_USEVFORK): Define in a way that works when
2760         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
2761         (posix_spawnattr_getschedpolicy, posix_spawnattr_setschedpolicy): Also
2762         declare when POSIX_SPAWN_SETSCHEDULER is zero.
2763         (posix_spawnattr_getschedparam, posix_spawnattr_setschedparam): Also
2764         declare when POSIX_SPAWN_SETSCHEDPARAM is zero.
2765         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether
2766         POSIX_SPAWN_SETSCHEDULER or POSIX_SPAWN_SETSCHEDPARAM are zero.
2767         * modules/posix_spawnattr_getschedparam (configure.ac): Enable the
2768         replacement also when POSIX_SPAWN_SETSCHEDPARAM is zero.
2769         * modules/posix_spawnattr_setschedparam (configure.ac): Likewise.
2770         * modules/posix_spawnattr_getschedpolicy (configure.ac): Enable the
2771         replacement also when POSIX_SPAWN_SETSCHEDULER is zero.
2772         * modules/posix_spawnattr_setschedpolicy (configure.ac): Likewise.
2773         * lib/spawnattr_getschedparam.c (posix_spawnattr_getschedparam): Do
2774         nothing if POSIX_SPAWN_SETSCHEDPARAM is zero.
2775         * lib/spawnattr_setschedparam.c (posix_spawnattr_setschedparam):
2776         Likewise.
2777         * lib/spawnattr_getschedpolicy.c (posix_spawnattr_getschedpolicy): Do
2778         nothing if POSIX_SPAWN_SETSCHEDULER is zero.
2779         * lib/spawnattr_setschedpolicy.c (posix_spawnattr_setschedpolicy):
2780         Likewise.
2781         * tests/test-spawn.c (main): Make it work when
2782         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
2783
2784 2010-03-07  Bruno Haible  <bruno@clisp.org>
2785
2786         Fix incorrect Makefile.am generation in German locale.
2787         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
2788         Execute sed command with character range in C locale.
2789
2790 2010-03-06  Bruno Haible  <bruno@clisp.org>
2791
2792         Tests for module 'iconv-h'.
2793         * modules/iconv-h-tests: New file.
2794         * tests/test-iconv-h.c: New file.
2795
2796         New module 'iconv-h'.
2797         * modules/iconv-h: New file.
2798         * modules/iconv_open (Files): Remove lib/iconv.in.h, m4/iconv_h.m4.
2799         (Depends-on): Add iconv-h. Remove include_next, arg-nonnull.
2800         (configure.ac): Remove gl_ICONV_H.
2801         (Makefile.am): Remove rule for iconv.h.
2802
2803 2010-03-06  Bruno Haible  <bruno@clisp.org>
2804
2805         More consistent naming of *.m4 files.
2806         * m4/wctype_h.m4: Renamed from m4/wctype.m4.
2807         * modules/wctype (Files): Update.
2808
2809         More consistent naming of *.m4 files.
2810         * m4/wchar_h.m4: Renamed from m4/wchar.m4.
2811         * modules/wchar (Files): Update.
2812
2813 2010-03-06  Jim Meyering  <meyering@redhat.com>
2814
2815         euidaccess: relax license to LGPLv2+
2816         * modules/euidaccess (License): Relax to LGPLv2+.
2817
2818 2010-03-06  Bruno Haible  <bruno@clisp.org>
2819
2820         Prefer lib_SOURCES over unconditional AC_LIBOBJ.
2821         * modules/exitfail (configure.ac): Remove AC_LIBOBJ invocation.
2822         (Makefile.am): Augment lib_SOURCES instead.
2823
2824 2010-03-04  Jim Meyering  <meyering@redhat.com>
2825
2826         utime: remove obsolete module
2827         This module, like autoconf's AC_FUNC_UTIME_NULL macro, has been
2828         unnecessary for years, and has been marked as obsolete for 10 months.
2829         * modules/utime: Remove file.
2830         * lib/utime.c: Remove file.
2831         * m4/utime.m4: Remove file.
2832         * m4/utimes-null.m4: Remove file.
2833         * doc/posix-functions/utime.texi (utime): Remove reference to
2834         the module.  Move the sole "fixed by gnulib" item into the
2835         "problems not fixed by Gnulib" list.
2836         * MODULES.html.sh (func_all_modules): Remove reference to "utime".
2837
2838 2010-03-05  Simon Josefsson  <simon@josefsson.org>
2839
2840         * modules/exit (License): Relax license to LGPLv2+.
2841         (Status): Mark as obsolete.
2842         * NEWS: Mention deprecated 'exit' module.
2843         * doc/posix-functions/exit.texi: Recommend 'stdlib' module instead
2844         of now obsolete 'exit'.
2845
2846 2010-03-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2847
2848         fts-lgpl: remove unused module
2849         * modules/fts-lgpl: Remove.
2850         * MODULES.html.sh (func_all_modules): Adjust.
2851         * check-module (find_included_lib_files): Adjust.
2852         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove.
2853
2854 2010-03-02  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
2855
2856         copy-acl: enhance Solaris ACL error handling
2857         * lib/copy-acl.c (qcopy_acl): Also ignore EOPNOTSUPP.
2858         * lib/set-mode-acl.c (qset_acl): Likewise.
2859
2860 2010-03-02  Bruno Haible  <bruno@clisp.org>
2861
2862         spawn: Don't override the system defined values on FreeBSD 8.
2863         * lib/spawn.in.h (POSIX_SPAWN_RESETIDS, POSIX_SPAWN_SETPGROUP,
2864         POSIX_SPAWN_SETSIGDEF, POSIX_SPAWN_SETSIGMASK,
2865         POSIX_SPAWN_SETSCHEDPARAM, POSIX_SPAWN_SETSCHEDULER): Don't redefine
2866         if HAVE_POSIX_SPAWN is 1.
2867         Reported by Johan van Selst <johans@stack.nl> via Eric Blake.
2868
2869 2010-03-01  Bruno Haible  <bruno@clisp.org>
2870
2871         * doc/gnulib-tool.texi (Initial import): Clarify the requirements
2872         regarding Automake.
2873
2874 2010-02-25  Bruno Haible  <bruno@clisp.org>
2875
2876         Fix breakage of gnulib-tool with ksh, introduced on 2010-02-21.
2877         * gnulib-tool: Define 'echo' as a function only before the ksh alias
2878         setting, not afterwards.
2879         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
2880
2881 2010-02-24  Eric Blake  <eblake@redhat.com>
2882
2883         bootstrap, git-version-gen: use timestamp
2884         * build-aux/git-version-gen (scriptversion): Force UTC.
2885         * build-aux/bootstrap (scriptversion): New variable.
2886
2887         bootstrap: allow older git
2888         * build-aux/bootstrap (GNULIB_SRCDIR): Add fallback if git is
2889         older than 1.6.4.  Requested by the libvirt project.
2890
2891 2010-02-23  Eric Blake  <eblake@redhat.com>
2892
2893         warn-on-use: work with old autoconf
2894         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Accomodate older
2895         AS_VAR semantics of autoconf 2.60.
2896         Reported by Bruno Haible.
2897
2898         bootstrap: improve some comments
2899         * build-aux/bootstrap: Drop unneeded emacs hint.  Add some
2900         clarification comments.
2901
2902         gettimeofday: provide correct function
2903         * lib/gettimeofday.c (gettimeofday): Provide rpl_gettimeofday only
2904         when replacement is declared, otherwise provide gettimeofday.
2905         Reported by Michael Goffioul.
2906
2907 2010-02-23  Jim Meyering  <meyering@redhat.com>
2908
2909         lib-ignore: relax license to "unlimited", not LGPLv2+
2910         * modules/lib-ignore (License): Relax to "unlimited".
2911
2912 2010-02-23  Jim Meyering  <meyering@redhat.com>
2913
2914         lib-ignore: relax license to LGPLv2+
2915         * modules/lib-ignore (License): Relax to LGPLv2+.
2916
2917 2010-02-22  Eric Blake  <eblake@redhat.com>
2918
2919         lseek: avoid bash 3.2 broken pipe bug
2920         * m4/lseek.m4 (gl_FUNC_LSEEK): Drain pipe, to avoid spurious
2921         warning from bash 3.2.
2922         Reported by Ben Pfaff, with analysis from Bruno Haible.
2923
2924         bootstrap: support non-FSF copyright holder
2925         * build-aux/bootstrap (COPYRIGHT_HOLDER, with_gettext): Allow
2926         bootstrap.conf override of COPYRIGHT_HOLDER.
2927         (MSGID_BUGS_ADDRESS): Allow URL rather than email.
2928
2929         bootstrap: interoperate with gettext 0.14.1
2930         * build-aux/bootstrap (slurp): Fix typo when using older gettext.
2931
2932         bootstrap: allow for alternate submodule location
2933         * build-aux/bootstrap (gnulib_path): New variable; use instead of
2934         hardcoding submodule location.
2935         (gnulib_mk): Allow direct use of Makefile.am.
2936
2937         bootstrap: use GNULIB_SRCDIR to reduce disk usage
2938         * build-aux/bootstrap (GNULIB_SRCDIR): If set, use as a reference,
2939         rather than reconfiguring where the submodule points.
2940
2941         gettimeofday: restore support for platforms that lack function
2942         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Also compile
2943         replacement if function is missing.
2944         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): New witness.
2945         * modules/sys_time (Makefile.am): Substitute it.
2946         * lib/sys_time.in.h (gettimeofday): Check it.
2947         Reported by Michael Goffioul.
2948
2949 2010-02-21  Bruno Haible  <bruno@clisp.org>
2950
2951         * lib/stdio.in.h (obstack_printf): Fix typo.
2952
2953 2010-02-21  Jose E. Marchesi  <jemarch@gnu.org>
2954
2955         vc-list-files: use bzr ls's -R option
2956         * build-aux/vc-list-files: Invoke bazaar to generate a recursive
2957         list of versioned files based on 'dir' (usage of -R in 'bzr ls').
2958
2959 2010-02-21  Jim Meyering  <meyering@redhat.com>
2960
2961         init.sh: fix EXEEXT shims to work also for names like test-prog
2962         * tests/init.sh: Re-exec a better shell, when needed.
2963         If the current shell lacks support for posix $(...), an init.sh-using
2964         test will now try to find a shell that supports that.  If EXEEXT is
2965         nonempty, we also require support for hyphen-in-alias-name and shell
2966         substitutions like ${var#glob}.  Failure to find such a shell results
2967         in a skipped test.
2968
2969 2010-02-21  Bruno Haible  <bruno@clisp.org>
2970
2971         Really work around around "broken pipe" error message from bash 3.2.
2972         * gnulib-tool (func_reset_sigpipe): Remove function.
2973         (echo): In bash 3.2, define to a function that uses printf.
2974         Analyzed by Ralf Wildenhues, Chet Ramey, Ben Pfaff.
2975
2976 2010-02-20  Bruno Haible  <bruno@clisp.org>
2977
2978         Restore support for automake 1.9.6 with autoconf 2.61.
2979         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Ensure MKDIR_P is AC_SUBSTed.
2980         Reported by James Youngman <jay@gnu.org>.
2981
2982 2010-02-20  Bruno Haible  <bruno@clisp.org>
2983
2984         Improve *printf warning condition.
2985         * lib/stdio.in.h (fprintf, printf, vfprintf, vprintf): Emit warning
2986         also if GNULIB_POSIXCHECK is defined, the *-posix module is not used,
2987         and the function is overridden due to SIGPIPE emulation.
2988
2989 2010-02-20  Bruno Haible  <bruno@clisp.org>
2990
2991         * lib/stdio.in.h: Tweak comments.
2992
2993 2010-02-19  Bruno Haible  <bruno@clisp.org>
2994
2995         Make it easier to find modules. New gnulib-tool option '--find'.
2996         * gnulib-tool: New option --find.
2997         (func_usage): Document it.
2998         (func_sanitize_modulelist): New function, extracted from
2999         func_all_modules.
3000         (func_all_modules): Invoke it.
3001         * doc/gnulib-tool.texi (Which modules?): New node.
3002
3003 2010-02-18  Markus Duft <mduft@gentoo.org>  (tiny change)
3004
3005         * lib/sys_select.in.h: Provide select replacement even if
3006         sys/select.h exists on a system, for Interix.
3007
3008 2010-02-18  Jim Meyering  <meyering@redhat.com>
3009
3010         init.sh: don't use $(...) just yet
3011         * tests/init.sh (create_exe_shim_functions_): Use `...`, not $(...),
3012         to accommodate e.g., Solaris' /bin/sh.
3013
3014 2010-02-17  Bruno Haible  <bruno@clisp.org>
3015
3016         * doc/posix-headers/netdb.texi: Mention NetBSD 5.0 problem.
3017         Reported by Ludovic Courtès <ludo@gnu.org>.
3018
3019 2010-02-16  Simon Josefsson  <simon@josefsson.org>
3020
3021         * modules/userspec-tests (test_userspec_LDADD): Add variable, for
3022         linking with -lintl.
3023
3024 2010-02-17  Simon Josefsson  <simon@josefsson.org>
3025
3026         * lib/netdb.in.h (AI_V4MAPPED, AI_ALL, AI_ADDRCONFIG): Define to 0
3027         if not provided by the system's netdb.h.  Reported by
3028         ludo@gnu.org (Ludovic Courtès).
3029
3030 2010-02-15  Jim Meyering  <meyering@redhat.com>
3031
3032         init.sh: improve portability and efficiency
3033         * tests/init.sh (find_exe_basenames_): Remove unnecessary use of
3034         "dummy" in a for loop.
3035         Use '!', not '^' to select the complement of a character set used
3036         in a "case" statement.
3037         Use shell variable manipulation, a la ${...%.exe}, rather than sed.
3038         Suggestions from Eric Blake.
3039
3040         init.sh: automatically accommodate programs with the .exe suffix
3041         Automatically arrange for an invocation of "prog" to execute the
3042         program named "prog$EXEEXT" (usually prog.exe).  Thus, all invocations
3043         may use the simpler "prog", yet still work when built on a system
3044         that requires specifying the added suffix.
3045         Do this by constructing a function named "prog" that invokes
3046         "prog.exe" for each .exe file in selected directories.
3047         * tests/init.sh (find_exe_basenames_): New function.
3048         (create_exe_shim_functions_): New function.
3049         (path_prepend_): Use it.
3050
3051         maint.mk: mark syntax-check sc_*.m rules as .PHONY
3052         * top/maint.mk ($(syntax-check-rules)): Add .PHONY, so that
3053         "make -t syntax-check" doesn't create a ton of sc_*.m files.
3054
3055 2010-02-14  Jim Meyering  <meyering@redhat.com>
3056
3057         maint.mk: prohibit inclusion of "hash-pjw.h" without_use
3058         * top/maint.mk (sc_prohibit_hash_without_use): Re-add "@".
3059         (sc_prohibit_hash_pjw_without_use): New rule.
3060
3061         maint.mk: allow the default upload destination dir to be overridden
3062         * top/maint.mk (upload_dest_dir_): Define with a default that
3063         preserves the status quo.
3064         (emit_upload_commands): Use it, rather than hard-coding $(PACKAGE).
3065         Reported by Peter Simons.
3066
3067         maint.mk: prohibit inclusion of "hash.h" without_use
3068         * top/maint.mk (sc_prohibit_hash_without_use): New rule.
3069
3070 2010-02-10  Jim Meyering  <meyering@redhat.com>
3071
3072         maint.mk: prohibit inclusion of "ignore-value.h" without_use
3073         * top/maint.mk (sc_prohibit_ignore_value_without_use): New rule.
3074
3075 2010-02-09  Eric Blake  <ebb9@byu.net>
3076         and Bruno Haible  <bruno@clisp.org>
3077
3078         obstack-printf-posix: ensure declaration
3079         * m4/obstack-printf.m4 (gl_DECL_OBSTACK_PRINTF): New macro,
3080         extracted from gl_FUNC_OBSTACK_PRINTF.
3081         (gl_FUNC_OBSTACK_PRINTF): Invoke it.
3082         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
3083         Likewise.
3084         * lib/stdio.in.h (obstack_printf, obstack_vprintf): Declare also
3085         if GNULIB_OBSTACK_PRINTF_POSIX is 1 and GNULIB_OBSTACK_PRINTF is
3086         0.
3087
3088 2010-02-08  Bruno Haible  <bruno@clisp.org>
3089
3090         gnulib-tool: Fix typo in 2010-02-07 commit.
3091         * gnulib-tool (func_get_dependencies): Fix typo in last commit.
3092         Reported by Eric Blake.
3093
3094 2010-02-07  Bruno Haible  <bruno@clisp.org>
3095
3096         gnulib-tool: Fix up caching patches.
3097         * gnulib-tool: New options --cache-modules, --no-cache-modules. Remove
3098         option --no-cache. Use associative arrays when supported by the shell.
3099         (sed_comments): New variable.
3100         (modcache): Renamed from do_cache.
3101         (sed_extract_field_header): Renamed from sed_extract_cache_prog. Don't
3102         abbreviate unnecessarily.
3103         (have_associative): New variable.
3104         (func_cache_var): Define correctly for bash 1.x. Define in an optimized
3105         way also for ksh and zsh.
3106         (func_init_sed_convert_to_cache_statements): New function, extracted
3107         from func_cache_lookup_module. Add support for associative arrays.
3108         Don't set the c_MODULE_cached variable here. Ignore all lines before
3109         the first field header. Remove only the final newline, not all trailing
3110         newlines. Support empty fields correctly. Limit the use of 'eval' to
3111         assignments.
3112         (func_get_description, func_get_status, func_get_notice,
3113         func_get_applicability, func_get_filelist, func_get_dependencies,
3114         func_get_autoconf_early_snippet, func_get_autoconf_snippet,
3115         func_get_automake_snippet, func_get_include_directive,
3116         func_get_link_directive, func_get_license, func_get_maintainer):
3117         Update documentation. List the unoptimized code first. Add support for
3118         associative arrays. Limit the use of 'eval' to assignments.
3119         (func_get_applicability): Undo stylistic pessimisations.
3120         (func_get_automake_snippet, func_get_include_directive): Reduce code
3121         duplication.
3122         (func_modules_transitive_closure, func_modules_add_dummy,
3123         func_modules_notice, func_modules_to_filelist, func_add_file,
3124         func_update_file, func_emit_lib_Makefile_am, func_emit_po_Makevars,
3125         func_emit_po_POTFILES_in, func_emit_tests_Makefile_am, func_import,
3126         func_create_testdir, func_create_megatestdir): Update documentation.
3127
3128 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3129
3130         * gnulib-tool (func_cache_lookup_module): Store the module name
3131         belonging to the cache variable; error out if two different
3132         module names map to the same cache variable name.
3133
3134 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3135
3136         gnulib-tool: Make caching optional.
3137         * gnulib-tool: Accept option --no-cache, turning off $do_cache.
3138         Update matching short versions of --no-changelog.
3139         (func_usage): Update.
3140         (sed_extract_cache_prog): Renamed from ...
3141         (sed_extract_prog): ... this; revert to old extraction script.
3142         (func_get_description, func_get_status)
3143         (func_get_notice, func_get_applicability, func_get_filelist)
3144         (func_get_dependencies, func_get_autoconf_early_snippet)
3145         (func_get_autoconf_snippet, func_get_automake_snippet)
3146         (func_get_include_directive, func_get_link_directive)
3147         (func_get_license, func_get_maintainer): If $do_cache is false,
3148         use old, non-caching extraction scripts.
3149         Suggestion by Bruno Haible.
3150
3151 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3152
3153         gnulib-tool: cache module metainformation.
3154         * gnulib-tool (sed_extract_prog): Match newline before each
3155         header, and rewrite header to a shell variable suffix.
3156         (func_cache_var, func_cache_lookup_module): New functions,
3157         to turn a module name into a cache variable prefix, and to
3158         look up and cache module metainformation.
3159         (func_get_description, func_get_status)
3160         (func_get_notice, func_get_applicability, func_get_filelist)
3161         (func_get_dependencies, func_get_autoconf_early_snippet)
3162         (func_get_autoconf_snippet, func_get_automake_snippet)
3163         (func_get_include_directive, func_get_link_directive)
3164         (func_get_license, func_get_maintainer): Use
3165         func_cache_lookup_module.
3166
3167 2010-02-07  Bruno Haible  <bruno@clisp.org>
3168
3169         fnctl: Fix missing dependency.
3170         * modules/fcntl (Depends-on): Add getdtablesize.
3171         Reported by John W. Eaton <jwe@gnu.org>.
3172
3173 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
3174
3175         Argp: fix recognition of short alias options.
3176
3177         * lib/argp-parse.c (convert_options): Fix improper use of
3178         `|' between character values.
3179         * tests/test-argp.c (group1_option): New alias option
3180         --read (-r).
3181         (group1_parser): Special handling for 'r'.
3182         (test15): New test case.
3183         (test_fun): Add test15.
3184         * tests/test-argp-2.sh: Update expected --help and --usage
3185         outputs.
3186
3187 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
3188
3189         * tests/test-argp.c: Fix indentation.
3190
3191 2010-02-04  Eric Blake  <ebb9@byu.net>
3192
3193         gettimeofday: expose type of second argument
3194         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Do better detection
3195         of glibc extension signature, and define GETTIMEOFDAY_TIMEZONE.
3196         * tests/test-gettimeofday.c: Use it to silence warning.
3197         * doc/posix-functions/gettimeofday.texi (gettimeofday): Document
3198         the issue.
3199
3200 2010-02-03  Jim Meyering  <meyering@redhat.com>
3201
3202         regcomp.c: avoid the sole warning from gcc's -Wtype-limits
3203         * lib/regcomp.c (TYPE_SIGNED): Define.
3204         (parse_dup_op): Use it to avoid the sole warning from -Wtype-limits.
3205
3206         regcomp.c: avoid a new -Wshadow warning
3207         * lib/regcomp.c (create_initial_state): Do not shadow local "err".
3208
3209 2010-02-01  Jim Meyering  <meyering@redhat.com>
3210
3211         removing useless parentheses in cpp #define directives
3212         For motivation, see commit c0221df4, "define STREQ(a,b)
3213         consistently, removing useless parentheses"
3214         * lib/memcmp.c (CMP_LT_OR_GT): Remove useless parentheses.
3215         * lib/mountlist.c (MNT_IGNORE): Likewise.
3216         * lib/trim.h (trim, trim_trailing, trim_leading): Likewise.
3217
3218 2010-02-01  Eric Blake  <ebb9@byu.net>
3219
3220         sys_time: use link-warning
3221         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Split defaults...
3222         (gl_HEADER_SYS_TIME_H_DEFAULTS): ...into new macro.
3223         (gl_SYS_TIME_MODULE_INDICATOR): New macro.
3224         * modules/sys_time (Depends-on): Add warn-on-use.
3225         (Makefile.am): Always build replacement.
3226         (configure.ac): Update substitutions.
3227         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY)
3228         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Include defaults, and no longer
3229         bother with SYS_TIME_H.
3230         * modules/gettimeofday (configure.ac): Declare indicator.
3231         * lib/sys_time.in.h (gettimeofday): Warn if gnulib module is not
3232         in use.
3233
3234         closein-tests: silence compiler warning
3235         * tests/test-closein.c (main): Ignore fread result.
3236         * modules/closein-tests (Depends-on): Add ignore-value.
3237
3238         tests: silence warning about system return
3239         * tests/test-areadlink-with-size.c (main): Ignore system result.
3240         * tests/test-areadlink.c (main): Likewise.
3241         * tests/test-areadlinkat-with-size.c (main): Likewise.
3242         * tests/test-areadlinkat.c (main): Likewise.
3243         * tests/test-canonicalize-lgpl.c (main): Likewise.
3244         * tests/test-canonicalize.c (main): Likewise.
3245         * tests/test-chown.c (main): Likewise.
3246         * tests/test-fchownat.c (main): Likewise.
3247         * tests/test-fdutimensat.c (main): Likewise.
3248         * tests/test-fstatat.c (main): Likewise.
3249         * tests/test-futimens.c (main): Likewise.
3250         * tests/test-lchown.c (main): Likewise.
3251         * tests/test-link.c (main): Likewise.
3252         * tests/test-linkat.c (main): Likewise.
3253         * tests/test-lstat.c (main): Likewise.
3254         * tests/test-mkdir.c (main): Likewise.
3255         * tests/test-mkdirat.c (main): Likewise.
3256         * tests/test-mkfifo.c (main): Likewise.
3257         * tests/test-mkfifoat.c (main): Likewise.
3258         * tests/test-mknod.c (main): Likewise.
3259         * tests/test-readlink.c (main): Likewise.
3260         * tests/test-remove.c (main): Likewise.
3261         * tests/test-rename.c (main): Likewise.
3262         * tests/test-renameat.c (main): Likewise.
3263         * tests/test-rmdir.c (main): Likewise.
3264         * tests/test-symlink.c (main): Likewise.
3265         * tests/test-symlinkat.c (main): Likewise.
3266         * tests/test-unlink.c (main): Likewise.
3267         * tests/test-unlinkat.c (main): Likewise.
3268         * tests/test-utimens.c (main): Likewise.
3269         * tests/test-utimensat.c (main): Likewise.
3270         * modules/areadlink-tests (Depends-on): Add ignore-value.
3271         * modules/areadlink-with-size-tests (Depends-on): Likewise.
3272         * modules/areadlinkat-tests (Depends-on): Likewise.
3273         * modules/areadlinkat-with-size-tests (Depends-on): Likewise.
3274         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
3275         * modules/canonicalize-tests (Depends-on): Likewise.
3276         * modules/chown-tests (Depends-on): Likewise.
3277         * modules/fdutimensat-tests (Depends-on): Likewise.
3278         * modules/futimens-tests (Depends-on): Likewise.
3279         * modules/lchown-tests (Depends-on): Likewise.
3280         * modules/link-tests (Depends-on): Likewise.
3281         * modules/linkat-tests (Depends-on): Likewise.
3282         * modules/lstat-tests (Depends-on): Likewise.
3283         * modules/mkdir-tests (Depends-on): Likewise.
3284         * modules/mkfifo-tests (Depends-on): Likewise.
3285         * modules/mkfifoat-tests (Depends-on): Likewise.
3286         * modules/mknod-tests (Depends-on): Likewise.
3287         * modules/openat-tests (Depends-on): Likewise.
3288         * modules/readlink-tests (Depends-on): Likewise.
3289         * modules/remove-tests (Depends-on): Likewise.
3290         * modules/rename-tests (Depends-on): Likewise.
3291         * modules/renameat-tests (Depends-on): Likewise.
3292         * modules/rmdir-tests (Depends-on): Likewise.
3293         * modules/symlink-tests (Depends-on): Likewise.
3294         * modules/symlinkat-tests (Depends-on): Likewise.
3295         * modules/unlink-tests (Depends-on): Likewise.
3296         * modules/utimens-tests (Depends-on): Likewise.
3297         * modules/utimensat-tests (Depends-on): Likewise.
3298
3299 2010-01-31  Bruno Haible  <bruno@clisp.org>
3300
3301         Perform the same test for many <math.h> functions.
3302         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC,
3303         gl_COMMON_DOUBLE_MATHFUNC_TEST): New macros.
3304         * m4/sqrt.m4 (gl_FUNC_SQRT): Invoke gl_COMMON_DOUBLE_MATHFUNC instead
3305         of gl_MATHFUNC.
3306         * modules/acos (configure.ac): Likewise.
3307         * modules/asin (configure.ac): Likewise.
3308         * modules/atan (configure.ac): Likewise.
3309         * modules/atan2 (configure.ac): Likewise.
3310         * modules/cbrt (configure.ac): Likewise.
3311         * modules/copysign (configure.ac): Likewise.
3312         * modules/cos (configure.ac): Likewise.
3313         * modules/cosh (configure.ac): Likewise.
3314         * modules/erf (configure.ac): Likewise.
3315         * modules/erfc (configure.ac): Likewise.
3316         * modules/exp (configure.ac): Likewise.
3317         * modules/fmod (configure.ac): Likewise.
3318         * modules/hypot (configure.ac): Likewise.
3319         * modules/j0 (configure.ac): Likewise.
3320         * modules/j1 (configure.ac): Likewise.
3321         * modules/jn (configure.ac): Likewise.
3322         * modules/lgamma (configure.ac): Likewise.
3323         * modules/log (configure.ac): Likewise.
3324         * modules/log10 (configure.ac): Likewise.
3325         * modules/log1p (configure.ac): Likewise.
3326         * modules/pow (configure.ac): Likewise.
3327         * modules/remainder (configure.ac): Likewise.
3328         * modules/sin (configure.ac): Likewise.
3329         * modules/sinh (configure.ac): Likewise.
3330         * modules/tan (configure.ac): Likewise.
3331         * modules/tanh (configure.ac): Likewise.
3332         * modules/y0 (configure.ac): Likewise.
3333         * modules/y1 (configure.ac): Likewise.
3334         * modules/yn (configure.ac): Likewise.
3335         Suggested by Paolo Bonzini.
3336
3337 2010-01-31  Bruno Haible  <bruno@clisp.org>
3338
3339         * m4/getline.m4 (gl_FUNC_GETLINE): Add comment about REPLACE_GETLINE.
3340
3341 2010-01-31  Bruno Haible  <bruno@clisp.org>
3342
3343         Work around getdelim() bug on FreeBSD 8.0.
3344         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Test whether getdelim supports an
3345         initially NULL line. Set REPLACE_GETDELIM if getdelim exists but does
3346         not work.
3347         * lib/stdio.in.h (getdelim): Define as an alias if REPLACE_GETDELIM
3348         is 1.
3349         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize REPLACE_GETDELIM.
3350         * modules/stdio (Makefile.am): Also substitute REPLACE_GETDELIM.
3351         * tests/test-getdelim.c (main): Also test result for a NULL buffer and
3352         a non-zero size.
3353         * doc/posix-functions/getdelim.texi: Mention the FreeBSD bug.
3354
3355 2010-01-31  Bruno Haible  <bruno@clisp.org>
3356
3357         Work around getline() bug on FreeBSD 8.0.
3358         * m4/getline.m4 (gl_FUNC_GETLINE): Also test result for a NULL buffer
3359         and a non-zero size.
3360         * tests/test-getline.c (main): Likewise.
3361         * doc/posix-functions/getline.texi: Mention the FreeBSD bug.
3362         Reported by Dennis <noordsij@cs.helsinki.fi> via Eric Blake.
3363
3364 2010-01-28  Eric Blake  <ebb9@byu.net>
3365
3366         regex: fix build failure
3367         * lib/regex_internal.h (__GNUC_PREREQ): Define for non-glibc
3368         platforms.
3369
3370 2010-01-28  Jim Meyering  <meyering@redhat.com>
3371
3372         regex: do not ignore memory allocation failure
3373         * lib/regex_internal.c (create_cd_newstate): Detect
3374         re_node_set_init_copy failure.   Extracted from glibc commit
3375         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
3376
3377         regex: sync more white-space changes from libc
3378         * lib/regex_internal.c: White-space only changes.
3379         * lib/regexec.c: Likewise.
3380
3381         regex: add many uses of __attribute_warn_unused_result__
3382         * lib/regex_internal.c: Use __attribute_warn_unused_result__.
3383         * lib/regexec.c: Likewise.
3384         Extracted from a messy glibc commit.
3385
3386         regcomp.c: spelling and merge-artifact from glibc
3387         * lib/regcomp.c: Merge remainder of glibc's
3388         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
3389
3390         regcomp.c: sync white-space changes from glibc
3391         * lib/regcomp.c: Merge to accommodate white space
3392         changes from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
3393
3394         regcomp.c: do not ignore internal return values
3395         * lib/regcomp.c: Do not ignore internal return values.
3396         This is from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c,
3397         but without its white-space changes and spelling fixes.
3398
3399         regex_internal.h: define __attribute_warn_unused_result__
3400         * lib/regex_internal.h (__attribute_warn_unused_result__): Define.
3401
3402         maint: add a syntax-check rule to check for vulnerable Makefile.in
3403         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): New rule.
3404
3405 2010-01-27  Jim Meyering  <meyering@redhat.com>
3406
3407         ncftpput-ftp: clean up spaces
3408         * build-aux/ncftpput-ftp: Make Copyright line consistent.
3409         Remove trailing blanks.
3410
3411 2010-01-27  Simon Josefsson  <simon@josefsson.org>
3412
3413         * build-aux/git-version-gen: Fix copyright statement.
3414         * build-aux/gnupload: Likewise.
3415         * tests/test-arcfour.c: Likewise.
3416         * tests/test-arctwo.c: Likewise.
3417         * tests/test-count-one-bits.c: Likewise.
3418         * tests/test-crc.c: Likewise.
3419         * tests/test-des.c: Likewise.
3420         * tests/test-gc-arcfour.c: Likewise.
3421         * tests/test-gc-arctwo.c: Likewise.
3422         * tests/test-gc-des.c: Likewise.
3423         * tests/test-gc-hmac-md5.c: Likewise.
3424         * tests/test-gc-hmac-sha1.c: Likewise.
3425         * tests/test-gc-md2.c: Likewise.
3426         * tests/test-gc-md4.c: Likewise.
3427         * tests/test-gc-md5.c: Likewise.
3428         * tests/test-gc-pbkdf2-sha1.c: Likewise.
3429         * tests/test-gc-rijndael.c: Likewise.
3430         * tests/test-gc-sha1.c: Likewise.
3431         * tests/test-gc.c: Likewise.
3432         * tests/test-gethostname.c: Likewise.
3433         * tests/test-gettimeofday.c: Likewise.
3434         * tests/test-hash.c: Likewise.
3435         * tests/test-hmac-md5.c: Likewise.
3436         * tests/test-hmac-sha1.c: Likewise.
3437         * tests/test-md2.c: Likewise.
3438         * tests/test-md4.c: Likewise.
3439         * tests/test-md5.c: Likewise.
3440         * tests/test-memchr.c: Likewise.
3441         * tests/test-memchr2.c: Likewise.
3442         * tests/test-memcmp.c: Likewise.
3443         * tests/test-memmem.c: Likewise.
3444         * tests/test-memrchr.c: Likewise.
3445         * tests/test-rawmemchr.c: Likewise.
3446         * tests/test-read-file.c: Likewise.
3447         * tests/test-rijndael.c: Likewise.
3448         * tests/test-sockets.c: Likewise.
3449         * tests/test-strchrnul.c: Likewise.
3450         * tests/test-strstr.c: Likewise.
3451         * tests/test-strtod.c: Likewise.
3452         * build-aux/ncftpput-ftp: Likewise.
3453
3454 2010-01-26  Eric Blake  <ebb9@byu.net>
3455
3456         ignore-value: update recommended header name
3457         * modules/ignore-value (Include): Only use <> for headers that
3458         exist in glibc.
3459
3460 2010-01-26  Jim Meyering  <meyering@redhat.com>
3461
3462         test-userspec.c: avoid compiler warnings
3463         * tests/test-userspec.c (main): Avoid shadowing ("uid"),
3464         and "initialization discards qualifiers..." warnings.
3465         Put the first "uid" in its own scope, and make char* members "const".
3466
3467 2010-01-25  Bruno Haible  <bruno@clisp.org>
3468
3469         gnulib-tool: Make warning diagnostics consistent.
3470         * gnulib-tool (func_warning): New function.
3471         Use it everywhere where gnulib-tool produces output to stderr and it is
3472         not a fatal error.
3473
3474 2010-01-25  Bruno Haible  <bruno@clisp.org>
3475
3476         Fix test dependencies.
3477         * modules/xstrtol-tests (Depends-on): Add inttypes.
3478         * modules/xstrtoll-tests (Depends-on): Likewise. Remove xstrtoll.
3479
3480 2010-01-25 Pádraig Brady <P@draigBrady.com>
3481
3482         syntax-check: detect incorrect boolean macro values in config.h
3483         * modules/maintainer-makefile (configure.ac): Parameterize the location
3484         of config.h which will be available to makefiles as $(CONFIG_INCLUDE).
3485         The logic is from Eric Blake and the location indicated by Jim Meyering.
3486         Note the more natural CONFIG_HEADER name is prohibited by automake
3487         for backwards compatibility reasons.
3488         * top/maint.mk (sc_Wundef_boolean): New rule.
3489
3490 2010-01-25  Jim Meyering  <meyering@redhat.com>
3491
3492         bootstrap: detect MacOS 10.6's shasum, too
3493         * build-aux/bootstrap: Also recognize MacOS 10.6's shasum.
3494         Suggested by Thomas Treichl <Thomas.Treichl@gmx.net>.
3495
3496 2010-01-23  Jim Meyering  <meyering@redhat.com>
3497
3498         xstrtoll: new module
3499         * modules/xstrtoll: New file.
3500         * MODULES.html.sh (Numeric conversion functions): Add xstrtoll.
3501         * lib/xstrtol.h [HAVE_LONG_LONG_INT]: Declare xstrtoll and xstrtoull.
3502         * lib/xstrtoll.c, lib/xstrtoull.c: New files.
3503         ./configure fails if you use this module and lack "long long".
3504         * modules/xstrtoll-tests: New module.
3505         * tests/test-xstrtoll.c, tests/test-xstrtoull.c: New files.
3506         * tests/test-xstrtoll.sh: Like test-xstrtol.c, but use the
3507         new init.sh-based test framework.
3508
3509 2010-01-24  Bruno Haible  <bruno@clisp.org>
3510
3511         Tests for module 'yn'.
3512         * modules/yn-tests: New file.
3513         * tests/test-yn.c: New file.
3514
3515         Tests for module 'y1'.
3516         * modules/y1-tests: New file.
3517         * tests/test-y1.c: New file.
3518
3519         Tests for module 'y0'.
3520         * modules/y0-tests: New file.
3521         * tests/test-y0.c: New file.
3522
3523         Tests for module 'tanh'.
3524         * modules/tanh-tests: New file.
3525         * tests/test-tanh.c: New file.
3526
3527         Tests for module 'tan'.
3528         * modules/tan-tests: New file.
3529         * tests/test-tan.c: New file.
3530
3531         Tests for module 'sqrt'.
3532         * modules/sqrt-tests: New file.
3533         * tests/test-sqrt.c: New file.
3534
3535         Tests for module 'sinh'.
3536         * modules/sinh-tests: New file.
3537         * tests/test-sinh.c: New file.
3538
3539         Tests for module 'sin'.
3540         * modules/sin-tests: New file.
3541         * tests/test-sin.c: New file.
3542
3543         Tests for module 'rint'.
3544         * modules/rint-tests: New file.
3545         * tests/test-rint.c: New file.
3546
3547         Tests for module 'remainder'.
3548         * modules/remainder-tests: New file.
3549         * tests/test-remainder.c: New file.
3550
3551         Tests for module 'pow'.
3552         * modules/pow-tests: New file.
3553         * tests/test-pow.c: New file.
3554
3555         Tests for module 'nextafter'.
3556         * modules/nextafter-tests: New file.
3557         * tests/test-nextafter.c: New file.
3558
3559         Tests for module 'modf'.
3560         * modules/modf-tests: New file.
3561         * tests/test-modf.c: New file.
3562
3563         Tests for module 'logb'.
3564         * modules/logb-tests: New file.
3565         * tests/test-logb.c: New file.
3566
3567         Tests for module 'log1p'.
3568         * modules/log1p-tests: New file.
3569         * tests/test-log1p.c: New file.
3570
3571         Tests for module 'log10'.
3572         * modules/log10-tests: New file.
3573         * tests/test-log10.c: New file.
3574
3575         Tests for module 'log'.
3576         * modules/log-tests: New file.
3577         * tests/test-log.c: New file.
3578
3579         Tests for module 'lgamma'.
3580         * modules/lgamma-tests: New file.
3581         * tests/test-lgamma.c: New file.
3582
3583         Tests for module 'ldexp'.
3584         * modules/ldexp-tests: New file.
3585         * tests/test-ldexp.c: New file.
3586
3587         Tests for module 'jn'.
3588         * modules/jn-tests: New file.
3589         * tests/test-jn.c: New file.
3590
3591         Tests for module 'j1'.
3592         * modules/j1-tests: New file.
3593         * tests/test-j1.c: New file.
3594
3595         Tests for module 'j0'.
3596         * modules/j0-tests: New file.
3597         * tests/test-j0.c: New file.
3598
3599         Tests for module 'hypot'.
3600         * modules/hypot-tests: New file.
3601         * tests/test-hypot.c: New file.
3602
3603         Tests for module 'fmod'.
3604         * modules/fmod-tests: New file.
3605         * tests/test-fmod.c: New file.
3606
3607         Tests for module 'fabs'.
3608         * modules/fabs-tests: New file.
3609         * tests/test-fabs.c: New file.
3610
3611         Tests for module 'exp'.
3612         * modules/exp-tests: New file.
3613         * tests/test-exp.c: New file.
3614
3615         Tests for module 'erfc'.
3616         * modules/erfc-tests: New file.
3617         * tests/test-erfc.c: New file.
3618
3619         Tests for module 'erf'.
3620         * modules/erf-tests: New file.
3621         * tests/test-erf.c: New file.
3622
3623         Tests for module 'cosh'.
3624         * modules/cosh-tests: New file.
3625         * tests/test-cosh.c: New file.
3626
3627         Tests for module 'cos'.
3628         * modules/cos-tests: New file.
3629         * tests/test-cos.c: New file.
3630
3631         Tests for module 'copysign'.
3632         * modules/copysign-tests: New file.
3633         * tests/test-copysign.c: New file.
3634
3635         Tests for module 'cbrt'.
3636         * modules/cbrt-tests: New file.
3637         * tests/test-cbrt.c: New file.
3638
3639         Tests for module 'atan2'.
3640         * modules/atan2-tests: New file.
3641         * tests/test-atan2.c: New file.
3642
3643         Tests for module 'atan'.
3644         * modules/atan-tests: New file.
3645         * tests/test-atan.c: New file.
3646
3647         Tests for module 'asin'.
3648         * modules/asin-tests: New file.
3649         * tests/test-asin.c: New file.
3650
3651         Tests for module 'acos'.
3652         * modules/acos-tests: New file.
3653         * tests/test-acos.c: New file.
3654
3655 2010-01-24  Bruno Haible  <bruno@clisp.org>
3656
3657         Fix tests for common <math.h> functions.
3658         * m4/mathfunc.m4 (gl_MATHFUNC): Take two additional parameters. Use a
3659         code snippet that references the function pointer, rather than merely
3660         calling the function. Substitute the FUNC_LIBM variable.
3661         * m4/sqrt.m4 (gl_FUNC_SQRT): Update gl_MATHFUNC invocation.
3662         * modules/acos (configure.ac): Likewise.
3663         * modules/asin (configure.ac): Likewise.
3664         * modules/atan (configure.ac): Likewise.
3665         * modules/atan2 (configure.ac): Likewise.
3666         * modules/cbrt (configure.ac): Likewise.
3667         * modules/copysign (configure.ac): Likewise.
3668         * modules/cos (configure.ac): Likewise.
3669         * modules/cosh (configure.ac): Likewise.
3670         * modules/erf (configure.ac): Likewise.
3671         * modules/erfc (configure.ac): Likewise.
3672         * modules/exp (configure.ac): Likewise.
3673         * modules/fabs (configure.ac): Likewise.
3674         * modules/fmod (configure.ac): Likewise.
3675         * modules/hypot (configure.ac): Likewise.
3676         * modules/j0 (configure.ac): Likewise.
3677         * modules/j1 (configure.ac): Likewise.
3678         * modules/jn (configure.ac): Likewise.
3679         * modules/ldexp (configure.ac): Likewise.
3680         * modules/lgamma (configure.ac): Likewise.
3681         * modules/log (configure.ac): Likewise.
3682         * modules/log10 (configure.ac): Likewise.
3683         * modules/log1p (configure.ac): Likewise.
3684         * modules/logb (configure.ac): Likewise.
3685         * modules/modf (configure.ac): Likewise.
3686         * modules/nextafter (configure.ac): Likewise.
3687         * modules/pow (configure.ac): Likewise.
3688         * modules/remainder (configure.ac): Likewise.
3689         * modules/rint (configure.ac): Likewise.
3690         * modules/sin (configure.ac): Likewise.
3691         * modules/sinh (configure.ac): Likewise.
3692         * modules/tan (configure.ac): Likewise.
3693         * modules/tanh (configure.ac): Likewise.
3694         * modules/y0 (configure.ac): Likewise.
3695         * modules/y1 (configure.ac): Likewise.
3696         * modules/yn (configure.ac): Likewise.
3697
3698 2010-01-24  Bruno Haible  <bruno@clisp.org>
3699
3700         Tests: Defeat inlining of math functions by GCC >= 4.3.0.
3701         * tests/test-acosl.c (x): New variable.
3702         (main): Store argument in x and fetch it from x.
3703         * tests/test-asinl.c (x): New variable.
3704         (main): Store argument in x and fetch it from x.
3705         * tests/test-atanl.c (x): New variable.
3706         (main): Store argument in x and fetch it from x.
3707         * tests/test-cosl.c (x): New variable.
3708         (main): Store argument in x and fetch it from x.
3709         * tests/test-expl.c (x): New variable.
3710         (main): Store argument in x and fetch it from x.
3711         * tests/test-logl.c (x): New variable.
3712         (main): Store argument in x and fetch it from x.
3713         * tests/test-sinl.c (x): New variable.
3714         (main): Store argument in x and fetch it from x.
3715         * tests/test-sqrtl.c (x): New variable.
3716         (main): Store argument in x and fetch it from x.
3717         * tests/test-tanl.c (x): New variable.
3718         (main): Store argument in x and fetch it from x.
3719
3720 2010-01-24  Bruno Haible  <bruno@clisp.org>
3721
3722         Provide EXEEXT and srcdir in TESTS_ENVIRONMENT by default.
3723         * gnulib-tool (func_emit_tests_Makefile_am): Add EXEEXT and srcdir
3724         assignments to the initial TESTS_ENVIRONMENT.
3725         * doc/gnulib.texi (Unit test modules): Document it.
3726         * modules/acl-tests (Makefile.am): Drop EXEEXT assignment from
3727         TESTS_ENVIRONMENT.
3728         * modules/btowc-tests (Makefile.am): Likewise.
3729         * modules/c-stack-tests (Makefile.am): Likewise.
3730         * modules/c-strcase-tests (Makefile.am): Likewise.
3731         * modules/copy-file-tests (Makefile.am): Likewise.
3732         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
3733         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
3734         * modules/mbrtowc-tests (Makefile.am): Likewise.
3735         * modules/mbscasecmp-tests (Makefile.am): Likewise.
3736         * modules/mbscasestr-tests (Makefile.am): Likewise.
3737         * modules/mbschr-tests (Makefile.am): Likewise.
3738         * modules/mbscspn-tests (Makefile.am): Likewise.
3739         * modules/mbsinit-tests (Makefile.am): Likewise.
3740         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
3741         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
3742         * modules/mbspbrk-tests (Makefile.am): Likewise.
3743         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
3744         * modules/mbsrchr-tests (Makefile.am): Likewise.
3745         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
3746         * modules/mbsspn-tests (Makefile.am): Likewise.
3747         * modules/mbsstr-tests (Makefile.am): Likewise.
3748         * modules/nl_langinfo-tests (Makefile.am): Likewise.
3749         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
3750         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
3751         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
3752         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
3753         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
3754         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
3755         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
3756         * modules/wcrtomb-tests (Makefile.am): Likewise.
3757         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
3758         * modules/wcsrtombs-tests (Makefile.am): Likewise.
3759         * modules/quotearg-tests (Makefile.am): Drop EXEEXT and srcdir
3760         assignments from TESTS_ENVIRONMENT.
3761         * modules/argp-tests (Makefile.am): Drop TESTS_ENVIRONMENT
3762         augmentation.
3763         * modules/argp-version-etc-tests (Makefile.am): Likewise.
3764         * modules/atexit-tests (Makefile.am): Likewise.
3765         * modules/binary-io-tests (Makefile.am): Likewise.
3766         * modules/closein-tests (Makefile.am): Likewise.
3767         * modules/dprintf-posix-tests (Makefile.am): Likewise.
3768         * modules/exclude-tests (Makefile.am): Likewise.
3769         * modules/fflush-tests (Makefile.am): Likewise.
3770         * modules/fpending-tests (Makefile.am): Likewise.
3771         * modules/fprintf-posix-tests (Makefile.am): Likewise.
3772         * modules/freadahead-tests (Makefile.am): Likewise.
3773         * modules/freadptr-tests (Makefile.am): Likewise.
3774         * modules/freadseek-tests (Makefile.am): Likewise.
3775         * modules/fseek-tests (Makefile.am): Likewise.
3776         * modules/fseeko-tests (Makefile.am): Likewise.
3777         * modules/ftell-tests (Makefile.am): Likewise.
3778         * modules/ftello-tests (Makefile.am): Likewise.
3779         * modules/idpriv-drop-tests (Makefile.am): Likewise.
3780         * modules/idpriv-droptemp-tests (Makefile.am): Likewise.
3781         * modules/lseek-tests (Makefile.am): Likewise.
3782         * modules/parse-duration-tests (Makefile.am): Likewise.
3783         * modules/perror-tests (Makefile.am): Likewise.
3784         * modules/pipe-filter-gi-tests (Makefile.am): Likewise.
3785         * modules/pipe-filter-ii-tests (Makefile.am): Likewise.
3786         * modules/pipe-tests (Makefile.am): Likewise.
3787         * modules/pread-tests (Makefile.am): Likewise.
3788         * modules/printf-posix-tests (Makefile.am): Likewise.
3789         * modules/select-tests (Makefile.am): Likewise.
3790         * modules/sigpipe-tests (Makefile.am): Likewise.
3791         * modules/tsearch-tests (Makefile.am): Likewise.
3792         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
3793         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
3794         * modules/uniname/uniname-tests (Makefile.am): Likewise.
3795         * modules/uniwidth/width-tests (Makefile.am): Likewise.
3796         * modules/vdprintf-posix-tests (Makefile.am): Likewise.
3797         * modules/version-etc-tests (Makefile.am): Likewise.
3798         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
3799         * modules/vprintf-posix-tests (Makefile.am): Likewise.
3800         * modules/xalloc-die-tests (Makefile.am): Likewise.
3801         * modules/xprintf-posix-tests (Makefile.am): Likewise.
3802         * modules/xstrtoimax-tests (Makefile.am): Likewise.
3803         * modules/xstrtol-tests (Makefile.am): Likewise.
3804         * modules/xstrtoumax-tests (Makefile.am): Likewise.
3805         * modules/yesno-tests (Makefile.am): Likewise.
3806         Suggested by Jim Meyering.
3807
3808 2010-01-24  Bruno Haible  <bruno@clisp.org>
3809
3810         More documentation.
3811         * doc/gnulib.texi (Writing modules): New chapter.
3812         (Miscellaneous Notes): Move sections "Comments" and "Header files" to
3813         the new chapter.
3814
3815 2010-01-24  Jim Meyering  <meyering@redhat.com>
3816
3817         maint.mk: do not prepend "./" after filtering
3818         * top/maint.mk (_prepend_srcdir_prefix): New variable
3819         (VC_LIST_EXCEPT): Use it to avoid prepending (post-filter)
3820         "./" when $(srcdir) is ".".
3821
3822         define STREQ(a,b) consistently, removing useless parentheses
3823         #define STREQ(a, b) (strcmp ((a), (b)) == 0) is over-parenthesized,
3824         since the only risk is that "a" or "b" contains an unparenthesized
3825         comma, but if either did that, STREQ would have 3 or more arguments.
3826         Hence, #define STREQ(a, b) (strcmp (a, b) == 0) is better.
3827         * lib/fts.c (STREQ): Remove unnecessary parentheses.
3828         * lib/hash-triple.c (STREQ): Likewise.
3829         * tests/test-argv-iter.c (STREQ): Use a and b, not s1 and s2.
3830         * lib/getugroups.c (STREQ): Likewise.
3831
3832 2010-01-23  Jim Meyering  <meyering@redhat.com>
3833
3834         maint.mk: fix syntax-check in a non-srcdir build directory
3835         * top/maint.mk (_dot_escaped_srcdir): Remove erroneous backslash,
3836         introduced in my 2010-01-21 commit, a6da6c45.  Reported by Eric Blake.
3837
3838 2010-01-22  Jim Meyering  <meyering@redhat.com>
3839
3840         userspec: add unit tests
3841         * tests/test-userspec.c: New file.
3842         * modules/userspec-tests: Likewise.
3843
3844 2010-01-21  Jim Meyering  <meyering@redhat.com>
3845
3846         maint.mk: handle source file names containing "." robustly
3847         * top/maint.mk (_dot_escaped_srcdir): Define.
3848         (VC_LIST): Use it in LHS of sed substitution.
3849
3850 2010-01-21  Jiri Denemark  <jdenemar@redhat.com>
3851
3852         maint.mk: fix VC_LIST_EXCEPT for srcdir != builddir
3853         * top/maint.mk (VC_LIST_EXCEPT): Preprocess the output of
3854         $(VC_LIST) to remove a prefix of '$(srcdir)/', so that it works
3855         from a non-srcdir build.
3856
3857 2010-01-20  Eric Blake  <ebb9@byu.net>
3858
3859         warn-on-use: use instead of link-warning
3860         * modules/stdio (Depends-on, Makefile.am): Drop link-warning.
3861         * modules/unistd (Depends-on, Makefile.am): Likewise.
3862         * modules/arpa_inet (Depends-on): Replace link-warning with
3863         warn-on-use.
3864         (Makefile.am): Update rules accordingly.
3865         * modules/ctype (Depends-on, Makefile.am): Likewise.
3866         * modules/dirent (Depends-on, Makefile.am): Likewise.
3867         * modules/fcntl-h (Depends-on, Makefile.am): Likewise.
3868         * modules/inttypes (Depends-on, Makefile.am): Likewise.
3869         * modules/langinfo (Depends-on, Makefile.am): Likewise.
3870         * modules/locale (Depends-on, Makefile.am): Likewise.
3871         * modules/math (Depends-on, Makefile.am): Likewise.
3872         * modules/search (Depends-on, Makefile.am): Likewise.
3873         * modules/signal (Depends-on, Makefile.am): Likewise.
3874         * modules/spawn (Depends-on, Makefile.am): Likewise.
3875         * modules/stdlib (Depends-on, Makefile.am): Likewise.
3876         * modules/string (Depends-on, Makefile.am): Likewise.
3877         * modules/strings (Depends-on, Makefile.am): Likewise.
3878         * modules/sys_file (Depends-on, Makefile.am): Likewise.
3879         * modules/sys_ioctl (Depends-on, Makefile.am): Likewise.
3880         * modules/sys_select (Depends-on, Makefile.am): Likewise.
3881         * modules/sys_socket (Depends-on, Makefile.am): Likewise.
3882         * modules/sys_stat (Depends-on, Makefile.am): Likewise.
3883         * modules/sys_times (Depends-on, Makefile.am): Likewise.
3884         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
3885         * modules/wchar (Depends-on, Makefile.am): Likewise.
3886         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Check which functions
3887         should be poisoned.
3888         * m4/ctype.m4 (gl_CTYPE_H): Likewise.
3889         * m4/dirent_h.m4 (gl_DIRENT_H): Likewise.
3890         * m4/fcntl_h.m4 (gl_FCNTL_H): Likewise.
3891         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
3892         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
3893         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
3894         * m4/math_h.m4 (gl_MATH_H): Likewise.
3895         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
3896         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
3897         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
3898         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
3899         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
3900         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
3901         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
3902         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H_DEFAULTS): Likewise.
3903         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
3904         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
3905         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
3906         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
3907         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
3908         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
3909         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
3910         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
3911         * lib/arpa_inet.in.h: Use _GL_WARN_ON_USE instead of
3912         GL_LINK_WARNING.
3913         * lib/ctype.in.h: Likewise.
3914         * lib/dirent.in.h: Likewise.
3915         * lib/fcntl.in.h: Likewise.
3916         * lib/inttypes.in.h: Likewise.
3917         * lib/langinfo.in.h: Likewise.
3918         * lib/locale.in.h: Likewise.
3919         * lib/math.in.h: Likewise.
3920         * lib/search.in.h: Likewise.
3921         * lib/signal.in.h: Likewise.
3922         * lib/spawn.in.h: Likewise.
3923         * lib/stdio.in.h: Likewise.
3924         * lib/stdlib.in.h: Likewise.
3925         * lib/string.in.h: Likewise.
3926         * lib/strings.in.h: Likewise.
3927         * lib/sys_file.in.h: Likewise.
3928         * lib/sys_ioctl.in.h: Likewise.
3929         * lib/sys_select.in.h: Likewise.
3930         * lib/sys_socket.in.h: Likewise.
3931         * lib/sys_stat.in.h: Likewise.
3932         * lib/sys_times.in.h: Likewise.
3933         * lib/sys_utsname.in.h: Likewise.
3934         * lib/unistd.in.h: Likewise.
3935         * lib/wchar.in.h: Likewise.
3936
3937 2010-01-20  Bruno Haible  <bruno@clisp.org>
3938
3939         Avoid duplicate -lm.
3940         * m4/isnan.m4 (gl_ISNAN): Avoid duplicate -lm in $ISNAN_LIBM.
3941         * m4/round.m4 (gl_FUNC_ROUND): Avoid duplicate -lm in $ROUND_LIBM.
3942         * m4/roundf.m4 (gl_FUNC_ROUNDF): Avoid duplicate -lm in $ROUNDF_LIBM.
3943         * m4/roundl.m4 (gl_FUNC_ROUNDL): Avoid duplicate -lm in $ROUNDL_LIBM.
3944         * m4/acosl.m4 (gl_FUNC_ACOSL): Avoid duplicate -lm in $ACOSL_LIBM.
3945         * m4/cosl.m4 (gl_FUNC_COSL): Avoid duplicate -lm in $COSL_LIBM.
3946         * m4/logl.m4 (gl_FUNC_LOGL): Avoid duplicate -lm in $LOGL_LIBM.
3947         * m4/sinl.m4 (gl_FUNC_SINL): Avoid duplicate -lm in $SINL_LIBM.
3948         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Avoid duplicate -lm in $SQRTL_LIBM.
3949         * m4/tanl.m4 (gl_FUNC_TANL): Avoid duplicate -lm in $TANL_LIBM.
3950         * m4/asinl.m4 (gl_FUNC_ASINL): Same change, for consistency.
3951         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
3952         Reported by Paolo Bonzini.
3953
3954 2010-01-19  Bruno Haible  <bruno@clisp.org>
3955
3956         langinfo, nl_langinfo: Relicense under LGPLv2+.
3957         * modules/langinfo (License): Change to LGPLv2+.
3958         * modules/nl_langinfo (License): Likewise.
3959         Patch by David Lutterkort <lutter@redhat.com>.
3960
3961 2010-01-19  Bruno Haible  <bruno@clisp.org>
3962
3963         Avoid compilation error with cc on OSF/1 5.1.
3964         * lib/fcntl.in.h: Include <unistd.h> after the #include_next <fcntl.h>
3965         statement, not before.
3966         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
3967
3968 2010-01-18  Bruno Haible  <bruno@clisp.org>
3969
3970         Avoid a link error due to the __printf__ symbol.
3971         * lib/stdio.in.h (__attribute__): Define to empty also for gcc 2.5.x
3972         and 2.6.x.
3973         (__format__, __printf__): Remove definitions.
3974         * lib/argp-fmtstream.h: Likewise.
3975         * lib/argp.h: Likewise.
3976         * lib/error.h: Likewise.
3977         * lib/vasnprintf.h: Likewise.
3978         * lib/xprintf.h: Likewise.
3979         * lib/xvasprintf.h: Likewise.
3980         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
3981
3982 2010-01-18  Bruno Haible  <bruno@clisp.org>
3983
3984         Tests for module 'tanl'.
3985         * modules/tanl-tests: New file.
3986         * tests/test-tanl.c: New file.
3987
3988         Tests for module 'sqrtl'.
3989         * modules/sqrtl-tests: New file.
3990         * tests/test-sqrtl.c: New file.
3991
3992         Tests for module 'sinl'.
3993         * modules/sinl-tests: New file.
3994         * tests/test-sinl.c: New file.
3995
3996         Tests for module 'logl'.
3997         * modules/logl-tests: New file.
3998         * tests/test-logl.c: New file.
3999
4000         Tests for module 'expl'.
4001         * modules/expl-tests: New file.
4002         * tests/test-expl.c: New file.
4003
4004         Tests for module 'cosl'.
4005         * modules/cosl-tests: New file.
4006         * tests/test-cosl.c: New file.
4007
4008         Tests for module 'atanl'.
4009         * modules/atanl-tests: New file.
4010         * tests/test-atanl.c: New file.
4011
4012         Tests for module 'asinl'.
4013         * modules/asinl-tests: New file.
4014         * tests/test-asinl.c: New file.
4015
4016         Tests for module 'acosl'.
4017         * modules/acosl-tests: New file.
4018         * tests/test-acosl.c: New file.
4019
4020         New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
4021         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
4022         tanl): Use the standard gnulib idiom.
4023         * lib/cosl.c: Don't include trigl.c and sincosl.c.
4024         * lib/sinl.c: Likewise.
4025         * lib/tanl.c: Don't include trigl.c.
4026         (kernel_tanl): Make static.
4027         * lib/sincosl.c: Include trigl.h first.
4028         * lib/trigl.c: Likewise.
4029         * m4/acosl.m4: New file.
4030         * m4/asinl.m4: New file.
4031         * m4/atanl.m4: New file.
4032         * m4/cosl.m4: New file.
4033         * m4/expl.m4: New file.
4034         * m4/logl.m4: New file.
4035         * m4/sinl.m4: New file.
4036         * m4/sqrtl.m4: New file.
4037         * m4/tanl.m4: New file.
4038         * m4/mathl.m4: Remove file.
4039         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_* and HAVE_*
4040         variables for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
4041         Don't initialize GNULIB_MATHL.
4042         * modules/acosl: New file.
4043         * modules/asinl: New file.
4044         * modules/atanl: New file.
4045         * modules/cosl: New file.
4046         * modules/expl: New file.
4047         * modules/logl: New file.
4048         * modules/sinl: New file.
4049         * modules/sqrtl: New file.
4050         * modules/tanl: New file.
4051         * modules/math (Makefile.am): Substitute GNULIB_* and HAVE_* variables
4052         for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl. Don't
4053         substitute GNULIB_MATHL.
4054         * modules/mathl: Rewritten.
4055         * doc/posix-functions/acosl.texi: Mention the 'acosl' module.
4056         * doc/posix-functions/asinl.texi: Mention the 'asinl' module.
4057         * doc/posix-functions/atanl.texi: Mention the 'atanl' module.
4058         * doc/posix-functions/cosl.texi: Mention the 'cosl' module.
4059         * doc/posix-functions/expl.texi: Mention the 'expl' module.
4060         * doc/posix-functions/logl.texi: Mention the 'logl' module.
4061         * doc/posix-functions/sinl.texi: Mention the 'sinl' module.
4062         * doc/posix-functions/sqrtl.texi: Mention the 'sqrtl' module.
4063         * doc/posix-functions/tanl.texi: Mention the 'tanl' module.
4064
4065 2010-01-18  Bruno Haible  <bruno@clisp.org>
4066
4067         sqrt: Make gl_FUNC_SQRT requirable.
4068         * m4/sqrt.m4: New file.
4069         * modules/sqrt (Files): Add it.
4070         (configure.ac): Invoke gl_FUNC_SQRT.
4071
4072 2010-01-18  Bruno Haible  <bruno@clisp.org>
4073
4074         New modules for common <math.h> functions.
4075         * m4/mathfunc.m4: New file.
4076         * modules/acos: New file.
4077         * modules/asin: New file.
4078         * modules/atan: New file.
4079         * modules/atan2: New file.
4080         * modules/cbrt: New file.
4081         * modules/copysign: New file.
4082         * modules/cos: New file.
4083         * modules/cosh: New file.
4084         * modules/erf: New file.
4085         * modules/erfc: New file.
4086         * modules/exp: New file.
4087         * modules/fabs: New file.
4088         * modules/fmod: New file.
4089         * modules/hypot: New file.
4090         * modules/j0: New file.
4091         * modules/j1: New file.
4092         * modules/jn: New file.
4093         * modules/ldexp: New file.
4094         * modules/lgamma: New file.
4095         * modules/log: New file.
4096         * modules/log10: New file.
4097         * modules/log1p: New file.
4098         * modules/logb: New file.
4099         * modules/modf: New file.
4100         * modules/nextafter: New file.
4101         * modules/pow: New file.
4102         * modules/remainder: New file.
4103         * modules/rint: New file.
4104         * modules/sin: New file.
4105         * modules/sinh: New file.
4106         * modules/sqrt: New file.
4107         * modules/tan: New file.
4108         * modules/tanh: New file.
4109         * modules/y0: New file.
4110         * modules/y1: New file.
4111         * modules/yn: New file.
4112         * doc/posix-functions/acos.texi: Mention the 'acos' module.
4113         * doc/posix-functions/asin.texi: Mention the 'asin' module.
4114         * doc/posix-functions/atan.texi: Mention the 'atan' module.
4115         * doc/posix-functions/atan2.texi: Mention the 'atan2' module.
4116         * doc/posix-functions/cbrt.texi: Mention the 'cbrt' module.
4117         * doc/posix-functions/copysign.texi: Mention the 'copysign' module.
4118         * doc/posix-functions/cos.texi: Mention the 'cos' module.
4119         * doc/posix-functions/cosh.texi: Mention the 'cosh' module.
4120         * doc/posix-functions/erf.texi: Mention the 'erf' module.
4121         * doc/posix-functions/erfc.texi: Mention the 'erfc' module.
4122         * doc/posix-functions/exp.texi: Mention the 'exp' module.
4123         * doc/posix-functions/fabs.texi: Mention the 'fabs' module.
4124         * doc/posix-functions/fmod.texi: Mention the 'fmod' module.
4125         * doc/posix-functions/hypot.texi: Mention the 'hypot' module.
4126         * doc/posix-functions/j0.texi: Mention the 'j0' module.
4127         * doc/posix-functions/j1.texi: Mention the 'j1' module.
4128         * doc/posix-functions/jn.texi: Mention the 'jn' module.
4129         * doc/posix-functions/ldexp.texi: Mention the 'ldexp' module.
4130         * doc/posix-functions/lgamma.texi: Mention the 'lgamma' module.
4131         * doc/posix-functions/log.texi: Mention the 'log' module.
4132         * doc/posix-functions/log10.texi: Mention the 'log10' module.
4133         * doc/posix-functions/log1p.texi: Mention the 'log1p' module.
4134         * doc/posix-functions/logb.texi: Mention the 'logb' module.
4135         * doc/posix-functions/modf.texi: Mention the 'modf' module.
4136         * doc/posix-functions/nextafter.texi: Mention the 'nextafter' module.
4137         * doc/posix-functions/pow.texi: Mention the 'pow' module.
4138         * doc/posix-functions/remainder.texi: Mention the 'remainder' module.
4139         * doc/posix-functions/rint.texi: Mention the 'rint' module.
4140         * doc/posix-functions/sin.texi: Mention the 'sin' module.
4141         * doc/posix-functions/sinh.texi: Mention the 'sinh' module.
4142         * doc/posix-functions/sqrt.texi: Mention the 'sqrt' module.
4143         * doc/posix-functions/tan.texi: Mention the 'tan' module.
4144         * doc/posix-functions/tanh.texi: Mention the 'tanh' module.
4145         * doc/posix-functions/y0.texi: Mention the 'y0' module.
4146         * doc/posix-functions/y1.texi: Mention the 'y1' module.
4147         * doc/posix-functions/yn.texi: Mention the 'yn' module.
4148
4149 2010-01-18  Jim Meyering  <meyering@redhat.com>
4150
4151         ignore-value: relax license to LGPLv2+
4152         * modules/ignore-value (License): Relax to LGPLv2+.
4153
4154         getdate: don't leak when TZ contains two or more '"'s
4155         * lib/getdate.y (get_date): Don't leak a copy of TZ for each
4156         double quote in TZ after the first one.
4157
4158         readtokens: do not leak internal token_lengths buffer
4159         * lib/readtokens.c (readtokens): Free the local, lengths,
4160         when the supplied "token_lengths" parameter is NULL.
4161
4162 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4163
4164         Fix a couple of missing LIBTHREAD link failures on AIX.
4165         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add
4166         $(LIBTHREAD).
4167         * modules/strsignal-tests (test_strsignal_LDADD): Likewise.
4168
4169         Link test-poll against INET_PTON_LIB.
4170         * modules/poll-tests (test_poll_LDADD): Add $(INET_PTON_LIB),
4171         for inet_pton on Solaris 10.
4172
4173 2010-01-17  Bruno Haible  <bruno@clisp.org>
4174
4175         unistdio/*-sprintf: Fix typo in module description.
4176         * modules/unistdio/u8-sprintf (Depends-on): Fix typo.
4177         * modules/unistdio/u8-u8-sprintf (Depends-on): Likewise.
4178         * modules/unistdio/u16-sprintf (Depends-on): Likewise.
4179         * modules/unistdio/u16-u16-sprintf (Depends-on): Likewise.
4180         * modules/unistdio/u32-sprintf (Depends-on): Likewise.
4181         * modules/unistdio/u32-u32-sprintf (Depends-on): Likewise.
4182         * modules/unistdio/ulc-sprintf (Depends-on): Likewise.
4183         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
4184
4185 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4186
4187         gnulib-tool: fix filelist for AIX, HP-UX ksh.
4188         * gnulib-tool (func_filter_filelist): Do not quote possibly-empty
4189         variables in shell case patterns, for AIX and HP-UX ksh.
4190
4191         Split large sed scripts, for HP-UX sed.
4192         * modules/stdio: Split sed scripts around 50 sed commands,
4193         to avoid HP-UX limit of 99 commands, in the near future.
4194         * modules/string: Likewise.
4195         * modules/unistd: Likewise.
4196
4197         gnulib-tool: avoid writing in the current directory.
4198         * gnulib-tool (func_emit_lib_Makefile_am)
4199         (func_emit_tests_Makefile_am): Put temporary files in $tmp,
4200         not in the current directory, so concurrent gnulib-tool
4201         instances do not interfere.
4202
4203 2010-01-16  Jim Meyering  <meyering@redhat.com>
4204
4205         doc: update users.txt
4206         * users.txt: Add grep.
4207         (diffutils, gzip): Update URLs.
4208
4209 2010-01-12  Bruno Haible  <bruno@clisp.org>
4210
4211         posix_spawn: Avoid test failure on Cygwin.
4212         * tests/test-posix_spawn3.c (DATA_FILENAME) [CYGWIN]: Use less risky
4213         characters.
4214         Reported by Simon Josefsson.
4215
4216 2010-01-12  Bruno Haible  <bruno@clisp.org>
4217
4218         * tests/test-cond.c (main): When skipping the test, show the reason.
4219
4220 2010-01-12  Simon Josefsson  <simon@josefsson.org>
4221
4222         * lib/striconv.c (str_cd_iconv): Avoid if before free.
4223
4224 2010-01-12  Simon Josefsson  <simon@josefsson.org>
4225
4226         * top/maint.mk (VC_LIST_EXCEPT): Filter list through
4227         VC_LIST_ALWAYS_EXCLUDE_REGEX.
4228
4229 2010-01-12  Eric Blake  <ebb9@byu.net>
4230
4231         build: guarantee AS_VAR_IF
4232         * m4/warnings.m4 (gl_WARN_ADD): Use autoconf name.
4233         (gl_AS_VAR_IF): Move...
4234         * m4/gnulib-common.m4 (AS_VAR_IF): ...here.
4235         Reported by Simon Josefsson.
4236
4237 2010-01-12  Simon Josefsson  <simon@josefsson.org>
4238
4239         * lib/stdio.in.h: Fix typo.
4240
4241 2010-01-12  Simon Josefsson  <simon@josefsson.org>
4242
4243         * m4/gc.m4: Check if linking to libgcrypt also needs linking to
4244         libgpg-error.
4245
4246 2010-01-12  Simon Josefsson  <simon@josefsson.org>
4247
4248         * tests/test-xalloc-die.sh: Use $EXEEXT.
4249
4250 2010-01-12  Simon Josefsson  <simon@josefsson.org>
4251             Bruno Haible  <bruno@clisp.org>
4252
4253         getlogin, getlogin_r: Avoid test failure.
4254         * tests/test-getlogin.c: Include <stdio.h>.
4255         (main): Skip the test when the function fails because stdin is not a
4256         tty.
4257         * tests/test-getlogin_r.c: Include <stdio.h>.
4258         (main): Skip the test when the function fails because stdin is not a
4259         tty.
4260
4261 2010-01-11  Eric Blake  <ebb9@byu.net>
4262
4263         tests: avoid more large file warnings
4264         * tests/test-fflush.c: Avoid warning about ftell use.
4265         * tests/test-fseek.c: Avoid warning about fseek use.
4266
4267 2010-01-10  Bruno Haible  <bruno@clisp.org>
4268
4269         nproc: Work better on Linux when /proc and /sys are not mounted.
4270         * lib/nproc.c (num_processors): Use num_processors_via_affinity_mask ()
4271         as lower bound when, on glibc/Linux systems,
4272         sysconf (_SC_NPROCESSORS_CONF) returns 1.
4273         Suggested by Pádraig Brady <P@draigbrady.com>.
4274         Reported by Dmitry V. Levin <ldv@altlinux.org>.
4275
4276         nproc: Refactor.
4277         * lib/nproc.c (num_processors_via_affinity_mask): New function,
4278         extracted from num_processors.
4279         (num_processors): Call it.
4280
4281 2010-01-11  Jim Meyering  <meyering@redhat.com>
4282
4283         utimecmp: avoid new warning from upcoming gcc-4.5.0
4284         * lib/utimecmp.c (BILLION): Define using #define rather than an
4285         anonymous enum, to placate upcoming gcc-4.5.0's -Wenum-compare.
4286
4287 2010-01-11  Eric Blake  <ebb9@byu.net>
4288
4289         math: add portability warnings for classification macros
4290         * modules/math (Depends-on): Add warn-on-use.
4291         (Makefile.am): Provide new substitutions.
4292         * m4/math_h.m4 (gl_MATH_H): Require inline.
4293         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL)
4294         (_GL_WARN_REAL_FLOATING_IMPL): New helper macros.
4295         (isfinite, isinf, isnan, signbit) [GNULIB_POSIXCHECK]: Use them to
4296         implement warnings.
4297
4298         unistd: warn on use of environ without module
4299         * modules/unistd (Depends-on): Add warn-on-use.
4300         (Makefile.am): Provide new substitutions.
4301         * m4/unistd_h.m4 (gl_UNISTD_H): Check for inline and environ.
4302         * lib/unistd.in.h (environ): Wrap with a warning helper function.
4303
4304         stdio: warn on suspicious uses
4305         * modules/stdio (Depends-on): Add warn-on-use.
4306         (Makefile.am): Provide new substitutions.
4307         * m4/stdio_h.m4 (gl_STDIO_H): Check for inline, ftello, and
4308         fseeko.
4309         * lib/stdio.in.h (gets): Always warn on use.
4310         (fseek, ftell): Adjust when warnings are issued, and honor
4311         _GL_NO_LARGE_FILES as a way to silence the warning.
4312         * tests/test-fpurge.c [!GNULIB_FSEEK]: Use new means to squelch
4313         any warning about large file offsets.
4314         * tests/test-freadable.c [!GNULIB_FSEEK]: Likewise.
4315         * tests/test-freading.c [!GNULIB_FSEEK]: Likewise.
4316         * tests/test-fseeko.c [!GNULIB_FSEEK]: Likewise.
4317         * tests/test-ftell.c [!GNULIB_FSEEK]: Likewise.
4318         * tests/test-ftello.c [!GNULIB_FSEEK]: Likewise.
4319         * tests/test-fwritable.c [!GNULIB_FSEEK]: Likewise.
4320         * tests/test-fwriting.c [!GNULIB_FSEEK]: Likewise.
4321         * tests/test-getopt.c [!GNULIB_FTELL]: Likewise.
4322
4323         warn-on-use: new module
4324         * modules/warn-on-use: New file.
4325         * build-aux/warn-on-use.h: Likewise.
4326         * m4/warn-on-use.m4: Likewise.
4327         * MODULES.html.sh (Support for building): Mention it.
4328
4329 2010-01-10  Bruno Haible  <bruno@clisp.org>
4330
4331         Tests for module 'unistr/u32-strdup'.
4332         * modules/unistr/u32-strdup-tests: New file.
4333         * tests/unistr/test-u32-strdup.c: New file.
4334
4335         Tests for module 'unistr/u16-strdup'.
4336         * modules/unistr/u16-strdup-tests: New file.
4337         * tests/unistr/test-u16-strdup.c: New file.
4338
4339         Tests for module 'unistr/u8-strdup'.
4340         * modules/unistr/u8-strdup-tests: New file.
4341         * tests/unistr/test-u8-strdup.c: New file.
4342         * tests/unistr/test-strdup.h: New file.
4343
4344         Tests for module 'unistr/u32-strncmp'.
4345         * modules/unistr/u32-strncmp-tests: New file.
4346         * tests/unistr/test-u32-strncmp.c: New file.
4347
4348         Tests for module 'unistr/u16-strncmp'.
4349         * modules/unistr/u16-strncmp-tests: New file.
4350         * tests/unistr/test-u16-strncmp.c: New file.
4351
4352         Tests for module 'unistr/u8-strncmp'.
4353         * modules/unistr/u8-strncmp-tests: New file.
4354         * tests/unistr/test-u8-strncmp.c: New file.
4355         * tests/unistr/test-strncmp.h: New file.
4356
4357         Tests for module 'unistr/u32-strcoll'.
4358         * modules/unistr/u32-strcoll-tests: New file.
4359         * tests/unistr/test-u32-strcoll.c: New file.
4360
4361         Tests for module 'unistr/u16-strcoll'.
4362         * modules/unistr/u16-strcoll-tests: New file.
4363         * tests/unistr/test-u16-strcoll.c: New file.
4364
4365         Tests for module 'unistr/u8-strcoll'.
4366         * modules/unistr/u8-strcoll-tests: New file.
4367         * tests/unistr/test-u8-strcoll.c: New file.
4368
4369         Tests for module 'unistr/u32-strcmp'.
4370         * modules/unistr/u32-strcmp-tests: New file.
4371         * tests/unistr/test-u32-strcmp.c: New file.
4372         * tests/unistr/test-u32-strcmp.h: New file.
4373
4374         Tests for module 'unistr/u16-strcmp'.
4375         * modules/unistr/u16-strcmp-tests: New file.
4376         * tests/unistr/test-u16-strcmp.c: New file.
4377         * tests/unistr/test-u16-strcmp.h: New file.
4378
4379         Tests for module 'unistr/u8-strcmp'.
4380         * modules/unistr/u8-strcmp-tests: New file.
4381         * tests/unistr/test-u8-strcmp.c: New file.
4382         * tests/unistr/test-u8-strcmp.h: New file.
4383         * tests/unistr/test-strcmp.h: New file.
4384
4385         Tests for module 'unistr/u32-strncat'.
4386         * modules/unistr/u32-strncat-tests: New file.
4387         * tests/unistr/test-u32-strncat.c: New file.
4388
4389         Tests for module 'unistr/u16-strncat'.
4390         * modules/unistr/u16-strncat-tests: New file.
4391         * tests/unistr/test-u16-strncat.c: New file.
4392
4393         Tests for module 'unistr/u8-strncat'.
4394         * modules/unistr/u8-strncat-tests: New file.
4395         * tests/unistr/test-u8-strncat.c: New file.
4396         * tests/unistr/test-strncat.h: New file.
4397
4398         Tests for module 'unistr/u32-strcat'.
4399         * modules/unistr/u32-strcat-tests: New file.
4400         * tests/unistr/test-u32-strcat.c: New file.
4401
4402         Tests for module 'unistr/u16-strcat'.
4403         * modules/unistr/u16-strcat-tests: New file.
4404         * tests/unistr/test-u16-strcat.c: New file.
4405
4406         Tests for module 'unistr/u8-strcat'.
4407         * modules/unistr/u8-strcat-tests: New file.
4408         * tests/unistr/test-u8-strcat.c: New file.
4409         * tests/unistr/test-strcat.h: New file.
4410
4411         Tests for module 'unistr/u32-stpncpy'.
4412         * modules/unistr/u32-stpncpy-tests: New file.
4413         * tests/unistr/test-u32-stpncpy.c: New file.
4414
4415         Tests for module 'unistr/u16-stpncpy'.
4416         * modules/unistr/u16-stpncpy-tests: New file.
4417         * tests/unistr/test-u16-stpncpy.c: New file.
4418
4419         Tests for module 'unistr/u8-stpncpy'.
4420         * modules/unistr/u8-stpncpy-tests: New file.
4421         * tests/unistr/test-u8-stpncpy.c: New file.
4422         * tests/unistr/test-stpncpy.h: New file.
4423
4424         Tests for module 'unistr/u32-strncpy'.
4425         * modules/unistr/u32-strncpy-tests: New file.
4426         * tests/unistr/test-u32-strncpy.c: New file.
4427
4428         Tests for module 'unistr/u16-strncpy'.
4429         * modules/unistr/u16-strncpy-tests: New file.
4430         * tests/unistr/test-u16-strncpy.c: New file.
4431
4432         Tests for module 'unistr/u8-strncpy'.
4433         * modules/unistr/u8-strncpy-tests: New file.
4434         * tests/unistr/test-u8-strncpy.c: New file.
4435         * tests/unistr/test-strncpy.h: New file.
4436
4437         Tests for module 'unistr/u32-stpcpy'.
4438         * modules/unistr/u32-stpcpy-tests: New file.
4439         * tests/unistr/test-u32-stpcpy.c: New file.
4440
4441         Tests for module 'unistr/u16-stpcpy'.
4442         * modules/unistr/u16-stpcpy-tests: New file.
4443         * tests/unistr/test-u16-stpcpy.c: New file.
4444
4445         Tests for module 'unistr/u8-stpcpy'.
4446         * modules/unistr/u8-stpcpy-tests: New file.
4447         * tests/unistr/test-u8-stpcpy.c: New file.
4448         * tests/unistr/test-stpcpy.h: New file.
4449
4450         Tests for module 'unistr/u32-strcpy'.
4451         * modules/unistr/u32-strcpy-tests: New file.
4452         * tests/unistr/test-u32-strcpy.c: New file.
4453
4454         Tests for module 'unistr/u16-strcpy'.
4455         * modules/unistr/u16-strcpy-tests: New file.
4456         * tests/unistr/test-u16-strcpy.c: New file.
4457
4458         Tests for module 'unistr/u8-strcpy'.
4459         * modules/unistr/u8-strcpy-tests: New file.
4460         * tests/unistr/test-u8-strcpy.c: New file.
4461         * tests/unistr/test-strcpy.h: New file.
4462
4463         Tests for module 'unistr/u32-strnlen'.
4464         * modules/unistr/u32-strnlen-tests: New file.
4465         * tests/unistr/test-u32-strnlen.c: New file.
4466
4467         Tests for module 'unistr/u16-strnlen'.
4468         * modules/unistr/u16-strnlen-tests: New file.
4469         * tests/unistr/test-u16-strnlen.c: New file.
4470
4471         Tests for module 'unistr/u8-strnlen'.
4472         * modules/unistr/u8-strnlen-tests: New file.
4473         * tests/unistr/test-u8-strnlen.c: New file.
4474         * tests/unistr/test-strnlen.h: New file.
4475
4476         Tests for module 'unistr/u32-strlen'.
4477         * modules/unistr/u32-strlen-tests: New file.
4478         * tests/unistr/test-u32-strlen.c: New file.
4479
4480         Tests for module 'unistr/u16-strlen'.
4481         * modules/unistr/u16-strlen-tests: New file.
4482         * tests/unistr/test-u16-strlen.c: New file.
4483
4484         Tests for module 'unistr/u8-strlen'.
4485         * modules/unistr/u8-strlen-tests: New file.
4486         * tests/unistr/test-u8-strlen.c: New file.
4487
4488         Tests for module 'unistr/u32-prev'.
4489         * modules/unistr/u32-prev-tests: New file.
4490         * tests/unistr/test-u32-prev.c: New file.
4491
4492         Tests for module 'unistr/u16-prev'.
4493         * modules/unistr/u16-prev-tests: New file.
4494         * tests/unistr/test-u16-prev.c: New file.
4495
4496         Tests for module 'unistr/u8-prev'.
4497         * modules/unistr/u8-prev-tests: New file.
4498         * tests/unistr/test-u8-prev.c: New file.
4499
4500         Tests for module 'unistr/u32-next'.
4501         * modules/unistr/u32-next-tests: New file.
4502         * tests/unistr/test-u32-next.c: New file.
4503
4504         Tests for module 'unistr/u16-next'.
4505         * modules/unistr/u16-next-tests: New file.
4506         * tests/unistr/test-u16-next.c: New file.
4507
4508         Tests for module 'unistr/u8-next'.
4509         * modules/unistr/u8-next-tests: New file.
4510         * tests/unistr/test-u8-next.c: New file.
4511
4512         Tests for module 'unistr/u32-strmbtouc'.
4513         * modules/unistr/u32-strmbtouc-tests: New file.
4514         * tests/unistr/test-u32-strmbtouc.c: New file.
4515
4516         Tests for module 'unistr/u16-strmbtouc'.
4517         * modules/unistr/u16-strmbtouc-tests: New file.
4518         * tests/unistr/test-u16-strmbtouc.c: New file.
4519
4520         Tests for module 'unistr/u8-strmbtouc'.
4521         * modules/unistr/u8-strmbtouc-tests: New file.
4522         * tests/unistr/test-u8-strmbtouc.c: New file.
4523
4524         Tests for module 'unistr/u32-strmblen'.
4525         * modules/unistr/u32-strmblen-tests: New file.
4526         * tests/unistr/test-u32-strmblen.c: New file.
4527
4528         Tests for module 'unistr/u16-strmblen'.
4529         * modules/unistr/u16-strmblen-tests: New file.
4530         * tests/unistr/test-u16-strmblen.c: New file.
4531
4532         Tests for module 'unistr/u8-strmblen'.
4533         * modules/unistr/u8-strmblen-tests: New file.
4534         * tests/unistr/test-u8-strmblen.c: New file.
4535
4536         Tests for module 'unistr/u32-cpy-alloc'.
4537         * modules/unistr/u32-cpy-alloc-tests: New file.
4538         * tests/unistr/test-u32-cpy-alloc.c: New file.
4539
4540         Tests for module 'unistr/u16-cpy-alloc'.
4541         * modules/unistr/u16-cpy-alloc-tests: New file.
4542         * tests/unistr/test-u16-cpy-alloc.c: New file.
4543
4544         Tests for module 'unistr/u8-cpy-alloc'.
4545         * modules/unistr/u8-cpy-alloc-tests: New file.
4546         * tests/unistr/test-u8-cpy-alloc.c: New file.
4547         * tests/unistr/test-cpy-alloc.h: New file.
4548
4549         Tests for module 'unistr/u32-mbsnlen'.
4550         * modules/unistr/u32-mbsnlen-tests: New file.
4551         * tests/unistr/test-u32-mbsnlen.c: New file.
4552
4553         Tests for module 'unistr/u16-mbsnlen'.
4554         * modules/unistr/u16-mbsnlen-tests: New file.
4555         * tests/unistr/test-u16-mbsnlen.c: New file.
4556
4557         Tests for module 'unistr/u8-mbsnlen'.
4558         * modules/unistr/u8-mbsnlen-tests: New file.
4559         * tests/unistr/test-u8-mbsnlen.c: New file.
4560
4561         Tests for module 'unistr/u32-chr'.
4562         * modules/unistr/u32-chr-tests: New file.
4563         * tests/unistr/test-u32-chr.c: New file.
4564
4565         Tests for module 'unistr/u16-chr'.
4566         * modules/unistr/u16-chr-tests: New file.
4567         * tests/unistr/test-u16-chr.c: New file.
4568
4569         Tests for module 'unistr/u8-chr'.
4570         * modules/unistr/u8-chr-tests: New file.
4571         * tests/unistr/test-u8-chr.c: New file.
4572         * tests/unistr/test-chr.h: New file, based on tests/test-memchr.c.
4573
4574         Tests for module 'unistr/u32-cmp2'.
4575         * modules/unistr/u32-cmp2-tests: New file.
4576         * tests/unistr/test-u32-cmp2.c: New file.
4577
4578         Tests for module 'unistr/u16-cmp2'.
4579         * modules/unistr/u16-cmp2-tests: New file.
4580         * tests/unistr/test-u16-cmp2.c: New file.
4581
4582         Tests for module 'unistr/u8-cmp2'.
4583         * modules/unistr/u8-cmp2-tests: New file.
4584         * tests/unistr/test-u8-cmp2.c: New file.
4585         * tests/unistr/test-cmp2.h: New file, based on tests/unistr/test-cmp.h.
4586
4587         Tests for module 'unistr/u32-cmp'.
4588         * modules/unistr/u32-cmp-tests: New file.
4589         * tests/unistr/test-u32-cmp.c: New file.
4590
4591         Tests for module 'unistr/u16-cmp'.
4592         * modules/unistr/u16-cmp-tests: New file.
4593         * tests/unistr/test-u16-cmp.c: New file.
4594
4595         Tests for module 'unistr/u8-cmp'.
4596         * modules/unistr/u8-cmp-tests: New file.
4597         * tests/unistr/test-u8-cmp.c: New file.
4598         * tests/unistr/test-cmp.h: New file, based on tests/test-memcmp.c.
4599
4600         Tests for module 'unistr/u32-set'.
4601         * modules/unistr/u32-set-tests: New file.
4602         * tests/unistr/test-u32-set.c: New file.
4603
4604         Tests for module 'unistr/u16-set'.
4605         * modules/unistr/u16-set-tests: New file.
4606         * tests/unistr/test-u16-set.c: New file.
4607
4608         Tests for module 'unistr/u8-set'.
4609         * modules/unistr/u8-set-tests: New file.
4610         * tests/unistr/test-u8-set.c: New file.
4611         * tests/unistr/test-set.h: New file.
4612
4613         Tests for module 'unistr/u32-move'.
4614         * modules/unistr/u32-move-tests: New file.
4615         * tests/unistr/test-u32-move.c: New file.
4616
4617         Tests for module 'unistr/u16-move'.
4618         * modules/unistr/u16-move-tests: New file.
4619         * tests/unistr/test-u16-move.c: New file.
4620
4621         Tests for module 'unistr/u8-move'.
4622         * modules/unistr/u8-move-tests: New file.
4623         * tests/unistr/test-u8-move.c: New file.
4624         * tests/unistr/test-move.h: New file.
4625
4626         Tests for module 'unistr/u32-cpy'.
4627         * modules/unistr/u32-cpy-tests: New file.
4628         * tests/unistr/test-u32-cpy.c: New file.
4629
4630         Tests for module 'unistr/u16-cpy'.
4631         * modules/unistr/u16-cpy-tests: New file.
4632         * tests/unistr/test-u16-cpy.c: New file.
4633
4634         Tests for module 'unistr/u8-cpy'.
4635         * modules/unistr/u8-cpy-tests: New file.
4636         * tests/unistr/test-u8-cpy.c: New file.
4637         * tests/unistr/test-cpy.h: New file.
4638
4639 2010-01-09  Bruno Haible  <bruno@clisp.org>
4640
4641         Tests for module 'unistr/u32-uctomb'.
4642         * modules/unistr/u32-uctomb-tests: New file.
4643         * tests/unistr/test-u32-uctomb.c: New file.
4644
4645         Tests for module 'unistr/u16-uctomb'.
4646         * modules/unistr/u16-uctomb-tests: New file.
4647         * tests/unistr/test-u16-uctomb.c: New file.
4648
4649         Tests for module 'unistr/u8-uctomb'.
4650         * modules/unistr/u8-uctomb-tests: New file.
4651         * tests/unistr/test-u8-uctomb.c: New file.
4652
4653         Tests for module 'unistr/u32-mbtoucr'.
4654         * modules/unistr/u32-mbtoucr-tests: New file.
4655         * tests/unistr/test-u32-mbtoucr.c: New file.
4656
4657         Tests for module 'unistr/u16-mbtoucr'.
4658         * modules/unistr/u16-mbtoucr-tests: New file.
4659         * tests/unistr/test-u16-mbtoucr.c: New file.
4660
4661         Tests for module 'unistr/u8-mbtoucr'.
4662         * modules/unistr/u8-mbtoucr-tests: New file.
4663         * tests/unistr/test-u8-mbtoucr.c: New file.
4664
4665         Tests for module 'unistr/u32-mbtouc'.
4666         * modules/unistr/u32-mbtouc-tests: New file.
4667         * tests/unistr/test-u32-mbtouc.c: New file.
4668
4669         Tests for module 'unistr/u16-mbtouc'.
4670         * modules/unistr/u16-mbtouc-tests: New file.
4671         * tests/unistr/test-u16-mbtouc.c: New file.
4672
4673         Tests for module 'unistr/u8-mbtouc'.
4674         * modules/unistr/u8-mbtouc-tests: New file.
4675         * tests/unistr/test-u8-mbtouc.c: New file.
4676
4677         Tests for module 'unistr/u32-mbtouc-unsafe'.
4678         * modules/unistr/u32-mbtouc-unsafe-tests: New file.
4679         * tests/unistr/test-u32-mbtouc-unsafe.c: New file.
4680         * tests/unistr/test-u32-mbtouc.h: New file.
4681
4682         Tests for module 'unistr/u16-mbtouc-unsafe'.
4683         * modules/unistr/u16-mbtouc-unsafe-tests: New file.
4684         * tests/unistr/test-u16-mbtouc-unsafe.c: New file.
4685         * tests/unistr/test-u16-mbtouc.h: New file.
4686
4687         Tests for module 'unistr/u8-mbtouc-unsafe'.
4688         * modules/unistr/u8-mbtouc-unsafe-tests: New file.
4689         * tests/unistr/test-u8-mbtouc-unsafe.c: New file.
4690         * tests/unistr/test-u8-mbtouc.h: New file.
4691
4692         Tests for module 'unistr/u32-mblen'.
4693         * modules/unistr/u32-mblen-tests: New file.
4694         * tests/unistr/test-u32-mblen.c: New file.
4695
4696         Tests for module 'unistr/u16-mblen'.
4697         * modules/unistr/u16-mblen-tests: New file.
4698         * tests/unistr/test-u16-mblen.c: New file.
4699
4700         Tests for module 'unistr/u8-mblen'.
4701         * modules/unistr/u8-mblen-tests: New file.
4702         * tests/unistr/test-u8-mblen.c: New file.
4703
4704         Tests for module 'unistr/u32-to-u16'.
4705         * modules/unistr/u32-to-u16-tests: New file.
4706         * tests/unistr/test-u32-to-u16.c: New file.
4707
4708         Tests for module 'unistr/u32-to-u8'.
4709         * modules/unistr/u32-to-u8-tests: New file.
4710         * tests/unistr/test-u32-to-u8.c: New file.
4711
4712         Tests for module 'unistr/u16-to-u32'.
4713         * modules/unistr/u16-to-u32-tests: New file.
4714         * tests/unistr/test-u16-to-u32.c: New file.
4715
4716         Tests for module 'unistr/u16-to-u8'.
4717         * modules/unistr/u16-to-u8-tests: New file.
4718         * tests/unistr/test-u16-to-u8.c: New file.
4719
4720         Tests for module 'unistr/u8-to-u32'.
4721         * modules/unistr/u8-to-u32-tests: New file.
4722         * tests/unistr/test-u8-to-u32.c: New file.
4723
4724         Tests for module 'unistr/u8-to-u16'.
4725         * modules/unistr/u8-to-u16-tests: New file.
4726         * tests/unistr/test-u8-to-u16.c: New file.
4727
4728         Tests for module 'unistr/u32-check'.
4729         * modules/unistr/u32-check-tests: New file.
4730         * tests/unistr/test-u32-check.c: New file.
4731
4732         Tests for module 'unistr/u16-check'.
4733         * modules/unistr/u16-check-tests: New file.
4734         * tests/unistr/test-u16-check.c: New file.
4735
4736         Tests for module 'unistr/u8-check'.
4737         * modules/unistr/u8-check-tests: New file.
4738         * tests/unistr/test-u8-check.c: New file.
4739
4740         * tests/unictype/test-categ_byname.c: Include <stdbool.h>.
4741         (category_equals): New function.
4742         (main): Add more tests.
4743         * modules/unictype/category-byname-tests (Depends-on): Add stdbool.
4744
4745         * tests/unictype/test-bidi_byname.c (main): Add more tests.
4746
4747 2010-01-10  Bruno Haible  <bruno@clisp.org>
4748
4749         unistr/u*-strcoll: Try harder to distinguish different strings.
4750         * lib/unistr/u-strcoll.h (FUNC): When sl1 and sl2 are the same,
4751         compare s1 and s2 to see if they are different.
4752
4753 2010-01-10  Bruno Haible  <bruno@clisp.org>
4754
4755         unistr/u*-stpncpy: Fix the return value.
4756         * lib/unistr.h (u8_stpncpy, u16_stpncpy, u32_stpncpy): Make the
4757         description of the return value consistent with stpncpy in glibc.
4758         * lib/unistr/u-stpncpy.h (FUNC): Return the pointer past the last
4759         written non-NUL unit.
4760
4761 2010-01-10  Bruno Haible  <bruno@clisp.org>
4762
4763         unistr/u*-next: Add missing dependencies.
4764         * modules/unistr/u8-next (Depends-on): Add unistr/u8-strmbtouc.
4765         * modules/unistr/u16-next (Depends-on): Add unistr/u16-strmbtouc.
4766         * modules/unistr/u32-next (Depends-on): Add unistr/u32-strmbtouc.
4767
4768 2010-01-10  Bruno Haible  <bruno@clisp.org>
4769
4770         unistr/u8-mbsnlen: Fix return value for incomplete character.
4771         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtoucr instead of
4772         u8_mblen.
4773         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtoucr.
4774         Remove unistr/u8-mblen.
4775         * lib/unistr/u16-mbsnlen.c (u16_mbsnlen): Use u16_mbtoucr instead of
4776         u16_mblen.
4777         * modules/unistr/u16-mbsnlen (Depends-on): Add unistr/u16-mbtoucr.
4778         Remove unistr/u16-mblen.
4779
4780 2010-01-10  Bruno Haible  <bruno@clisp.org>
4781
4782         wchar: Fix compilation error when <wchar.h> is used from coreutils.
4783         * lib/wchar.in.h: Treat __need_wint_t like __need_mbstate_t.
4784         Reported by Brian Gough <bjg@gnu.org> and
4785         Chris Clayton <chris2553@googlemail.com> via
4786         Mike Frysinger <vapier@gentoo.org> and Jim Meyering <jim@meyering.net>.
4787
4788 2010-01-09  Bruno Haible  <bruno@clisp.org>
4789
4790         unistr/u16-to-u32: Reject invalid input.
4791         * lib/unistr/u16-to-u32.c (u16_to_u32): Call u16_mbtoucr instead of
4792         u16_mbtouc.
4793         * modules/unistr/u16-to-u32 (Depends-on): Add unistr/u16-mbtoucr.
4794         Remove unistr/u16-mbtouc.
4795
4796         unistr/u16-to-u8: Reject invalid input.
4797         * lib/unistr/u16-to-u8.c (u16_to_u8): Call u16_mbtoucr instead of
4798         u16_mbtouc.
4799         * modules/unistr/u16-to-u8 (Depends-on): Add unistr/u16-mbtoucr.
4800         Remove unistr/u16-mbtouc.
4801
4802         unistr/u8-to-u32: Reject invalid input.
4803         * lib/unistr/u8-to-u32.c (u8_to_u32): Call u8_mbtoucr instead of
4804         u8_mbtouc.
4805         * modules/unistr/u8-to-u32 (Depends-on): Add unistr/u8-mbtoucr.
4806         Remove unistr/u8-mbtouc.
4807
4808         unistr/u8-to-u16: Reject invalid input.
4809         * lib/unistr/u8-to-u16.c (u8_to_u16): Call u8_mbtoucr instead of
4810         u8_mbtouc.
4811         * modules/unistr/u8-to-u16 (Depends-on): Add unistr/u8-mbtoucr.
4812         Remove unistr/u8-mbtouc.
4813
4814 2010-01-09  Bruno Haible  <bruno@clisp.org>
4815
4816         Tests for module 'getlogin'.
4817         * modules/getlogin-tests: New file.
4818         * tests/test-getlogin.c: New file.
4819
4820         New module 'getlogin'.
4821         * lib/unistd.in.h (getlogin): New declaration.
4822         * lib/getlogin.c: New file.
4823         * m4/getlogin.m4: New file.
4824         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETLOGIN,
4825         HAVE_GETLOGIN.
4826         * modules/unistd (Makefile.am): Substitute GNULIB_GETLOGIN,
4827         HAVE_GETLOGIN.
4828         * modules/getlogin: New file.
4829         * doc/posix-functions/getlogin.texi: Mention the new module.
4830         Reported by John W. Eaton <jwe@gnu.org>.
4831
4832 2010-01-09  Bruno Haible  <bruno@clisp.org>
4833
4834         getlogin_r: Support for native Windows.
4835         * lib/getlogin_r.c: Include <windows.h>
4836         (getlogin_r): Implement for native Windows.
4837         * tests/test-getlogin_r.c (main): Also test with a huge buffer.
4838         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>
4839         via John W. Eaton <jwe@gnu.org>.
4840
4841 2010-01-09  Bruno Haible  <bruno@clisp.org>
4842
4843         getlogin_r: Small fixes.
4844         * lib/getlogin_r.c (getlogin_r): Don't set errno if the function
4845         succeeds.
4846         * m4/getlogin_r.m4 (gl_GETLOGIN_R): Require gl_USE_SYSTEM_EXTENSIONS
4847         before testing whether getlogin_r is declared. No need to set
4848         HAVE_DECL_GETLOGIN_R to 1.
4849         (gl_PREREQ_GETLOGIN_R): Don't check for the getlogin_r declaration.
4850
4851 2010-01-09  Bruno Haible  <bruno@clisp.org>
4852
4853         * lib/unistd.in.h (getlogin_r): Add comment.
4854
4855 2010-01-09  Bruno Haible  <bruno@clisp.org>
4856
4857         Tests for module 'getlogin_r'.
4858         * modules/getlogin_r-tests: New file.
4859         * tests/test-getlogin_r.c: New file.
4860
4861 2010-01-09  Jim Meyering  <meyering@redhat.com>
4862
4863         maint.mk: extend proper_name_utf8-vs-LIBICONV-checking rule
4864         * top/maint.mk (sc_proper_name_utf8_requires_ICONV): Adapt to work
4865         also when $(LIBICONV) is part of LDADD, rather than ${prog}_LDADD.
4866
4867 2010-01-08  Simon Josefsson  <simon@josefsson.org>
4868
4869         * lib/dup2.c (rpl_dup2): Improve comment.
4870
4871 2010-01-08  Eric Blake  <ebb9@byu.net>
4872
4873         maint.mk: allow packages to add makefile @@ exceptions
4874         * top/maint.mk (_makefile_at_at_check_exceptions): New hook.
4875         (sc_makefile_check): Rename...
4876         (sc_makefile_at_at_check): ...to this, and use hook.
4877
4878         dup2: work around mingw bug
4879         * lib/dup2.c (rpl_dup2): Sanitize return value on mingw.
4880         Reported by Simon Josefsson.
4881
4882 2010-01-07  John W. Eaton  <jwe@octave.org>  (tiny change)
4883
4884         glob: Fix C++ compilation.
4885         * lib/glob.in.h [__cplusplus]: Define __BEGIN_DECLS and __END_DECLS for
4886         C++.
4887
4888 2010-01-07  Bruno Haible  <bruno@clisp.org>
4889
4890         Fix indentation of wctype.in.h, broken since 2007-01-06.
4891         * lib/wctype.in.h: Fix indentation of preprocessor directives.
4892
4893 2010-01-07  Bruno Haible  <bruno@clisp.org>
4894
4895         mbslen: Avoid collision with system function.
4896         * lib/string.in.h [MirBSD]: Include <wchar.h>.
4897         (mbslen): Undefine first. Alias mbslen to rpl_mbslen.
4898         * m4/mbslen.m4: New file.
4899         * modules/mbslen (Files): Add it.
4900         (configure.ac): Invoke gl_MBSLEN.
4901         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MBSLEN.
4902         * modules/string (Makefile.am): Substitute HAVE_MBSLEN.
4903         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>
4904         via Ian Beckwith <ianb@erislabs.net>.
4905
4906 2010-01-07  Bruno Haible  <bruno@clisp.org>
4907
4908         dirent: Document the last fix.
4909         * doc/posix-headers/dirent.texi: Document the bug of missing 'ino_t'.
4910
4911 2010-01-07  Bruno Haible  <bruno@clisp.org>
4912
4913         stdio: Ensure <stdio.h> defines off_t, ssize_t, va_list.
4914         * lib/stdio.in.h: Include <sys/types.h> unconditionally.
4915         * tests/test-stdio.c: Verify that fpos_t, off_t, size_t, ssize_t,
4916         va_list are defined.
4917         * doc/posix-headers/stdio.texi: Document the bug of missing types.
4918         Reported by Eric Blake.
4919
4920 2010-01-07  Bruno Haible  <bruno@clisp.org>
4921
4922         xlist, xoset: Fix missing dependency bug, introduced on 2009-12-13.
4923         * modules/xlist (Depends-on): Add 'list',
4924         * modules/xoset (Depends-on): Add 'oset'.
4925         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
4926
4927 2010-01-07  Bruno Haible  <bruno@clisp.org>
4928
4929         * doc/posix-functions/strcasecmp.texi: Clarify the platforms.
4930         * doc/posix-functions/strncasecmp.texi: Likewise.
4931
4932 2010-01-07  Bruno Haible  <bruno@clisp.org>
4933
4934         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Simplify logic.
4935
4936 2010-01-07  John W. Eaton  <jwe@octave.org>
4937
4938         wctype: allow C++ use
4939         * lib/wctype.in.h: Add extern "C" block for C++.
4940
4941 2010-01-06  Eric Blake  <ebb9@byu.net>
4942
4943         maint.mk: detect incorrect GFDL usage
4944         * top/maint.mk (_GFDL_regexp, sc_GFDL_version): New rule.
4945
4946 2010-01-06  Jim Meyering  <meyering@redhat.com>
4947         and Eric Blake  <ebb9@byu.net>
4948
4949         maint.mk: ignore multi-line copyright in NEWS
4950         * top/maint.mk (NEWS_hash): Add immunity to multi-line copyright.
4951
4952 2010-01-06  Eric Blake  <ebb9@byu.net>
4953
4954         select: add missing dependency
4955         * modules/select-tests (Depends-on): Move sockets dependency...
4956         * modules/select (Depends-on): ...here.
4957         Reported by Ian Beckwith.
4958
4959         doc: regenerate INSTALL
4960         * doc/INSTALL: Reflect recent autoconf update.
4961         * doc/INSTALL.ISO: Likewise.
4962         * doc/INSTALL.UTF-8: Likewise.
4963
4964         pread: fix compilation on glibc
4965         * m4/pread.m4 (gl_FUNC_PREAD): Request all interfaces.
4966         Reported by Ralf Wildenhues.
4967
4968         dirent: fix test failure
4969         * lib/dirent.in.h (includes): Guarantee ino_t.
4970         Reported by Ralf Wildenhues.
4971
4972 2010-01-06  Petr Salinger  <Petr.Salinger@seznam.cz>  (tiny change)
4973
4974         linkat, renameat: avoid bad free
4975         * lib/at-func2.c (at_func2): Fix typo.
4976         Reported via Ian Beckwith, from http://bugs.debian.org/561117.
4977
4978 2010-01-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4979
4980         cleanup after gl_FUNC_READLINK, for gl_FUNC_SYMLINK test
4981         * m4/readlink.m4 (gl_FUNC_READLINK): Remove conftest.lnk2,
4982         to avoid failure of symlink test later.
4983
4984 2010-01-06  Eric Blake  <ebb9@byu.net>
4985
4986         stdio, unistd: guarantee ssize_t
4987         * lib/unistd.in.h (includes): Ensure that types required by POSIX
4988         2008 are exposed when needed.
4989         * lib/stdio.in.h (includes): Likewise.
4990         Reported by Ralf Wildenhues.
4991
4992 2010-01-06  Paolo Bonzini  <bonzini@gnu.org>
4993
4994         nl_langinfo: do not call AC_CHECK_FUNC_ONCE inside if.
4995         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Do not call
4996         AC_CHECK_FUNC_ONCE inside if, do not adjust ac_cv_func_nl_langinfo.
4997
4998 2010-01-06  Jim Meyering  <meyering@redhat.com>
4999
5000         readtokens: this module *does* require xalloc.h
5001         It uses only functions that were omitted by the old syntax-check rule.
5002         * lib/readtokens.c: Include "xalloc.h" once again.
5003         * modules/readtokens (Depends-on): Add xalloc.
5004         This reverts part of 0e0f8f12ec241c0f1c1f21f960bb5cf908a0fa3c.
5005
5006 2010-01-05  Eric Blake  <ebb9@byu.net>
5007
5008         maint: support 'make announcement' from a VPATH build
5009         * top/maint.mk (announcement): Look for correct NEWS file.
5010
5011 2010-01-05  Aurelien Jarno  <aurelien@aurel32.net>  (tiny change)
5012
5013         utimens (fdutimens): ignore a negative FD, per contract
5014         * lib/utimens.c (fdutimens) [HAVE_FUTIMENS]: Call futimens only
5015         when we have a valid file descriptor.  Otherwise, using a brand
5016         new glibc (with just-patched futimens that now fails with EBADF)
5017         would cause this function to fail with ENOSYS.
5018         Reported by Guillaume Ayoub in http://bugs.debian.org/563726.
5019         See also http://bugzilla.redhat.com/552320.
5020
5021 2010-01-05  Eric Blake  <ebb9@byu.net>
5022
5023         strcase: document what it provides
5024         * doc/posix-functions/strcasecmp.texi (strcasecmp): Mention the
5025         gnulib module.
5026         * doc/posix-functions/strncasecmp.texi (strncasecmp): Likewise.
5027         Reported by Dilyan Palauzov <Dilyan.Palauzov@aegee.org>.
5028
5029 2010-01-05  Jim Meyering  <meyering@redhat.com>
5030
5031         maint: remove useless inclusions of "xalloc.h"
5032         * lib/getloadavg.c: Remove useless inclusion of "xalloc.h".
5033         * lib/readtokens.c: Likewise.
5034         * lib/same.c: Likewise.
5035         * modules/getloadavg (Depends-on): Remove xalloc.
5036         * modules/readtokens: Likewise.
5037         * modules/same: Likewise.
5038
5039         maint.mk: include 4 more function names in alloca.h-checking regexp
5040         * top/maint.mk (sc_prohibit_xalloc_without_use): Use more complete
5041         regexp.  Before, we would give a false-positive (saying alloca.h
5042         is included unnecessarily) when the only uses involved omitted symbols.
5043
5044         xalloc.h: use consistent formatting
5045         * lib/xalloc.h: Move declarations to start in the first column.
5046
5047 2010-01-05  Eric Blake  <ebb9@byu.net>
5048
5049         mkdir: avoid xalloc
5050         * lib/mkdir.c (includes): Drop unused header.
5051         Reported by John W. Eaton.
5052
5053 2010-01-04  Jim Meyering  <meyering@redhat.com>
5054
5055         nl_langinfo: avoid configure-time syntax error
5056         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): When we've already tested
5057         for nl_langinfo.h, AC_CHECK_FUNCS_ONCE([nl_langinfo]) expands to
5058         the empty string.  Don't let that provoke a shell syntax error.
5059
5060         regcomp, regexec, fnmatch: avoid array bounds read error
5061         * lib/regcomp.c (build_equiv_class): From glibc:
5062         Use only the low 24 bits of a findidx return value as an index
5063         into the weights array.  Patch by Ulrich Drepper:
5064         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=b7d1c5fa30
5065         * lib/regexec.c (check_node_accept_bytes): Likewise.
5066         * lib/fnmatch_loop.c (FCT): Likewise.
5067
5068         regcomp: skip collseq lookup when there are no rules
5069         * lib/regcomp.c (lookup_collation_sequence_value): From glibc:
5070         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a532a41df58
5071
5072         regcomp: recognize ill-formed { } expressions
5073         * lib/regcomp.c (parse_dup_op): From glibc:
5074         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a87cd2894cb
5075
5076         regcomp: fix typo in comment
5077         * lib/regcomp.c (duplicate_node_closure): Sync from glibc.
5078         s/satisfy/satisfies/.
5079
5080         regcomp: sync from glibc: remove dead store
5081         * lib/regcomp.c (duplicate_node_closure): Remove useless
5082         search_duplicated_node call and dead store.
5083
5084         regcomp: sync from glibc; always use nl_langinfo
5085         * lib/regcomp.c (init_dfa) [!LIBC]: Always use nl_langinfo (CODESET),
5086         now that gnulib provides it.  Recognize UTF8 as well as UTF-8.
5087         * modules/regex (Depends-on): Add nl_langinfo.
5088
5089 2010-01-04  Eric Blake  <ebb9@byu.net>
5090
5091         fdopendir: fix configure test
5092         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for existing file.
5093
5094 2010-01-01  Bruno Haible  <bruno@clisp.org>
5095
5096         wchar: Remove unused configure check.
5097         * m4/wchar.m4 (gl_WCHAR_H): Don't test whether <wchar.h> is standalone.
5098
5099 2010-01-01  Eric Blake  <ebb9@byu.net>
5100
5101         headers: make check of system header explicit
5102         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't exploit knowledge of
5103         gl_CHECK_NEXT_HEADER internals, but call AC_CHECK_HEADERS_ONCE
5104         ourselves.
5105         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
5106         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
5107         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
5108         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise, for gt_INTTYPES_PRI
5109         internals.
5110         * m4/wchar.m4 (gl_WCHAR_H): Skip followup test if header is
5111         missing.
5112         Suggested by Bruno Haible.
5113
5114 2010-01-01  Jim Meyering  <meyering@redhat.com>
5115
5116         ChangeLog: tweak to eliminate unnecessary copyright line
5117         * ChangeLog: Remove a copyright line that was mistakenly updated
5118         by today's update-copyright run.  Reported by Eric Blake.
5119
5120         test-update-copyright: don't let envvar setting cause test failure
5121         * tests/test-update-copyright.sh: Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
5122
5123 2010-01-01  Bruno Haible  <bruno@clisp.org>
5124
5125         localename: Avoid gcc warning.
5126         * lib/localename.c (gl_locale_name_thread_unsafe): Don't define this
5127         function if it is not used.
5128
5129 2010-01-01  Jim Meyering  <meyering@redhat.com>
5130
5131         update nearly all FSF copyright year lists to include 2010
5132         Use the same procedure as for 2009, outlined in
5133         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081
5134
5135         version-etc: set COPYRIGHT_YEAR to 2010
5136         * lib/version-etc.c (COPYRIGHT_YEAR): Manually update the enum.
5137
5138 2009-12-31  Eric Blake  <ebb9@byu.net>
5139
5140         doc: correct availability of cygwin 1.5.x getopt
5141         * doc/posix-functions/optarg.texi (optarg): Cygwin supplies getopt
5142         variables.
5143         * doc/posix-functions/opterr.texi (opterr): Likewise.
5144         * doc/posix-functions/optind.texi (optind): Likewise.
5145         * doc/posix-functions/optopt.texi (optopt): Likewise.
5146         * doc/posix-functions/tzname.texi (tzname): Likewise.
5147
5148         openat: update maintainer
5149         * modules/openat (Maintainer): Add myself.
5150
5151         utimens: avoid shadowing warning
5152         * lib/utimens.c (fdutimens, lutimens): Consolidate separate stat
5153         buffers into one, to avoid shadowing, as well as avoiding a
5154         redundant stat.
5155         Reported by Jim Meyering.
5156
5157         test-dup2: avoid compiler warning
5158         * tests/test-dup2.c (is_inheritable): Only define if used.
5159
5160 2010-01-01  Bruno Haible  <bruno@clisp.org>
5161
5162         vasnprintf: Avoid passing an 'rpl_mbstate_t *' to the system's wcrtomb.
5163         * lib/vasnprintf.c (VASNPRINTF): If GNULIB_defined_mbstate_t is
5164         defined, use wctomb instead of wcrtomb.
5165
5166 2010-01-01  Bruno Haible  <bruno@clisp.org>
5167
5168         iconv: Reject native Solaris iconv.
5169         * m4/iconv.m4 (AM_ICONV_LINK): Recognize native Solaris iconv() bug.
5170         * doc/posix-functions/iconv.texi: Document native Solaris iconv() bug.
5171
5172 2009-12-31  Bruno Haible  <bruno@clisp.org>
5173
5174         * tests/test-signal.c (main): Remove test of 'SIG'.
5175
5176 2009-12-31  Bruno Haible  <bruno@clisp.org>
5177
5178         spawn: Fix incomplete fix.
5179         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
5180         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
5181         warnings for GNULIB_POSIXCHECK again.
5182         Reported by Eric Blake.
5183
5184 2009-12-31  Bruno Haible  <bruno@clisp.org>
5185
5186         Avoid namespace pollution on glibc systems.
5187         * lib/spawn.in.h: Don't include <sched.h>, <signal.h> on glibc systems.
5188         * lib/sys_times.in.h: Don't include <time.h> on glibc systems.
5189         * lib/wchar.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> on
5190         glibc systems.
5191
5192 2009-12-31  Bruno Haible  <bruno@clisp.org>
5193
5194         * m4/wchar.m4 (gl_WCHAR_H): Remove gl_STDDEF_H invocation.
5195         (gl_REPLACE_WCHAR_H): Turn into a no-op.
5196         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Likewise.
5197         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
5198         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
5199         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
5200         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
5201
5202 2009-12-31  Bruno Haible  <bruno@clisp.org>
5203
5204         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
5205         gl_CHECK_NEXT_HEADERS before testing ac_cv_header_sys_select_h, not
5206         afterwards.
5207
5208 2009-12-31  Bruno Haible  <bruno@clisp.org>
5209
5210         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H_DEFAULTS): Don't set
5211         SYS_UTSNAME_H.
5212
5213 2009-12-31  Bruno Haible  <bruno@clisp.org>
5214
5215         spawn: Fix misapplied patch.
5216         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
5217         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
5218         warnings for GNULIB_POSIXCHECK.
5219
5220 2009-12-31  Bruno Haible  <bruno@clisp.org>
5221
5222         times: Update after sys_times changed.
5223         * m4/times.m4: New file, extracted from modules/times. Set HAVE_TIMES.
5224         * modules/times (Files): Add it.
5225         (configure.ac): Invoke gl_FUNC_TIMES.
5226
5227 2009-12-31  Bruno Haible  <bruno@clisp.org>
5228
5229         Use AC_C_INLINE where necessary.
5230         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Require AC_C_INLINE.
5231         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
5232         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
5233         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
5234         * m4/mbfile.m4 (gl_MBFILE): Likewise.
5235         * m4/mbiter.m4 (gl_MBITER): Likewise.
5236         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
5237         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
5238         * m4/wait-process.m4 (gl_WAIT_PROCESS): Likewise.
5239         * modules/u64 (configure.ac): Likewise.
5240
5241 2009-12-31  Bruno Haible  <bruno@clisp.org>
5242
5243         Use AC_C_INLINE instead of module 'inline' where possible.
5244         * modules/inline (Description): Clarify purpose.
5245         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS): Require AC_C_INLINE.
5246         * modules/count-one-bits (Depends-on): Remove inline.
5247         * m4/openat.m4 (gl_PREREQ_OPENAT): Require AC_C_INLINE.
5248         * modules/openat (Depends-on): Remove inline.
5249         * modules/fdutimensat (Depends-on, configure.ac): Require AC_C_INLINE
5250         instead of depending on module 'inline'.
5251         * modules/filevercmp (Depends-on, configure.ac): Likewise.
5252         * modules/unicase/cased (Depends-on, configure.ac): Likewise.
5253         * modules/unicase/ignorable (Depends-on, configure.ac): Likewise.
5254         * modules/unictype/category-of (Depends-on, configure.ac): Likewise.
5255         * modules/unictype/category-test (Depends-on, configure.ac): Likewise.
5256         * modules/unictype/ctype-alnum (Depends-on, configure.ac): Likewise.
5257         * modules/unictype/ctype-alpha (Depends-on, configure.ac): Likewise.
5258         * modules/unictype/ctype-blank (Depends-on, configure.ac): Likewise.
5259         * modules/unictype/ctype-cntrl (Depends-on, configure.ac): Likewise.
5260         * modules/unictype/ctype-digit (Depends-on, configure.ac): Likewise.
5261         * modules/unictype/ctype-graph (Depends-on, configure.ac): Likewise.
5262         * modules/unictype/ctype-lower (Depends-on, configure.ac): Likewise.
5263         * modules/unictype/ctype-print (Depends-on, configure.ac): Likewise.
5264         * modules/unictype/ctype-punct (Depends-on, configure.ac): Likewise.
5265         * modules/unictype/ctype-space (Depends-on, configure.ac): Likewise.
5266         * modules/unictype/ctype-upper (Depends-on, configure.ac): Likewise.
5267         * modules/unictype/ctype-xdigit (Depends-on, configure.ac): Likewise.
5268         * modules/unictype/property-alphabetic (Depends-on, configure.ac):
5269         Likewise.
5270         * modules/unictype/property-ascii-hex-digit (Depends-on,
5271         configure.ac): Likewise.
5272         * modules/unictype/property-bidi-arabic-digit (Depends-on,
5273         configure.ac): Likewise.
5274         * modules/unictype/property-bidi-arabic-right-to-left (Depends-on,
5275         configure.ac): Likewise.
5276         * modules/unictype/property-bidi-block-separator (Depends-on,
5277         configure.ac): Likewise.
5278         * modules/unictype/property-bidi-boundary-neutral (Depends-on,
5279         configure.ac): Likewise.
5280         * modules/unictype/property-bidi-common-separator (Depends-on,
5281         configure.ac): Likewise.
5282         * modules/unictype/property-bidi-control (Depends-on, configure.ac):
5283         Likewise.
5284         * modules/unictype/property-bidi-embedding-or-override (Depends-on,
5285         configure.ac): Likewise.
5286         * modules/unictype/property-bidi-eur-num-separator (Depends-on,
5287         configure.ac): Likewise.
5288         * modules/unictype/property-bidi-eur-num-terminator (Depends-on,
5289         configure.ac): Likewise.
5290         * modules/unictype/property-bidi-european-digit (Depends-on,
5291         configure.ac): Likewise.
5292         * modules/unictype/property-bidi-hebrew-right-to-left (Depends-on,
5293         configure.ac): Likewise.
5294         * modules/unictype/property-bidi-left-to-right (Depends-on,
5295         configure.ac): Likewise.
5296         * modules/unictype/property-bidi-non-spacing-mark (Depends-on,
5297         configure.ac): Likewise.
5298         * modules/unictype/property-bidi-other-neutral (Depends-on,
5299         configure.ac): Likewise.
5300         * modules/unictype/property-bidi-pdf (Depends-on, configure.ac):
5301         Likewise.
5302         * modules/unictype/property-bidi-segment-separator (Depends-on,
5303         configure.ac): Likewise.
5304         * modules/unictype/property-bidi-whitespace (Depends-on,
5305         configure.ac): Likewise.
5306         * modules/unictype/property-combining (Depends-on, configure.ac):
5307         Likewise.
5308         * modules/unictype/property-composite (Depends-on, configure.ac):
5309         Likewise.
5310         * modules/unictype/property-currency-symbol (Depends-on,
5311         configure.ac): Likewise.
5312         * modules/unictype/property-dash (Depends-on, configure.ac): Likewise.
5313         * modules/unictype/property-decimal-digit (Depends-on, configure.ac):
5314         Likewise.
5315         * modules/unictype/property-default-ignorable-code-point (Depends-on,
5316         configure.ac): Likewise.
5317         * modules/unictype/property-deprecated (Depends-on, configure.ac):
5318         Likewise.
5319         * modules/unictype/property-diacritic (Depends-on, configure.ac):
5320         Likewise.
5321         * modules/unictype/property-extender (Depends-on, configure.ac):
5322         Likewise.
5323         * modules/unictype/property-format-control (Depends-on, configure.ac):
5324         Likewise.
5325         * modules/unictype/property-grapheme-base (Depends-on, configure.ac):
5326         Likewise.
5327         * modules/unictype/property-grapheme-extend (Depends-on, configure.ac):
5328         Likewise.
5329         * modules/unictype/property-grapheme-link (Depends-on, configure.ac):
5330         Likewise.
5331         * modules/unictype/property-hex-digit (Depends-on, configure.ac):
5332         Likewise.
5333         * modules/unictype/property-hyphen (Depends-on, configure.ac):
5334         Likewise.
5335         * modules/unictype/property-id-continue (Depends-on, configure.ac):
5336         Likewise.
5337         * modules/unictype/property-id-start (Depends-on, configure.ac):
5338         Likewise.
5339         * modules/unictype/property-ideographic (Depends-on, configure.ac):
5340         Likewise.
5341         * modules/unictype/property-ids-binary-operator (Depends-on,
5342         configure.ac): Likewise.
5343         * modules/unictype/property-ids-trinary-operator (Depends-on,
5344         configure.ac): Likewise.
5345         * modules/unictype/property-ignorable-control (Depends-on,
5346         configure.ac): Likewise.
5347         * modules/unictype/property-iso-control (Depends-on, configure.ac):
5348         Likewise.
5349         * modules/unictype/property-join-control (Depends-on, configure.ac):
5350         Likewise.
5351         * modules/unictype/property-left-of-pair (Depends-on, configure.ac):
5352         Likewise.
5353         * modules/unictype/property-line-separator (Depends-on, configure.ac):
5354         Likewise.
5355         * modules/unictype/property-logical-order-exception (Depends-on,
5356         configure.ac): Likewise.
5357         * modules/unictype/property-lowercase (Depends-on, configure.ac):
5358         Likewise.
5359         * modules/unictype/property-math (Depends-on, configure.ac): Likewise.
5360         * modules/unictype/property-non-break (Depends-on, configure.ac):
5361         Likewise.
5362         * modules/unictype/property-not-a-character (Depends-on, configure.ac):
5363         Likewise.
5364         * modules/unictype/property-numeric (Depends-on, configure.ac):
5365         Likewise.
5366         * modules/unictype/property-other-alphabetic (Depends-on,
5367         configure.ac): Likewise.
5368         * modules/unictype/property-other-default-ignorable-code-point
5369         (Depends-on, configure.ac): Likewise.
5370         * modules/unictype/property-other-grapheme-extend (Depends-on,
5371         configure.ac): Likewise.
5372         * modules/unictype/property-other-id-continue (Depends-on,
5373         configure.ac): Likewise.
5374         * modules/unictype/property-other-id-start (Depends-on, configure.ac):
5375         Likewise.
5376         * modules/unictype/property-other-lowercase (Depends-on, configure.ac):
5377         Likewise.
5378         * modules/unictype/property-other-math (Depends-on, configure.ac):
5379         Likewise.
5380         * modules/unictype/property-other-uppercase (Depends-on, configure.ac):
5381         Likewise.
5382         * modules/unictype/property-paired-punctuation (Depends-on,
5383         configure.ac): Likewise.
5384         * modules/unictype/property-paragraph-separator (Depends-on,
5385         configure.ac): Likewise.
5386         * modules/unictype/property-pattern-syntax (Depends-on, configure.ac):
5387         Likewise.
5388         * modules/unictype/property-pattern-white-space (Depends-on,
5389         configure.ac): Likewise.
5390         * modules/unictype/property-private-use (Depends-on, configure.ac):
5391         Likewise.
5392         * modules/unictype/property-punctuation (Depends-on, configure.ac):
5393         Likewise.
5394         * modules/unictype/property-quotation-mark (Depends-on, configure.ac):
5395         Likewise.
5396         * modules/unictype/property-radical (Depends-on, configure.ac):
5397         Likewise.
5398         * modules/unictype/property-sentence-terminal (Depends-on,
5399         configure.ac): Likewise.
5400         * modules/unictype/property-soft-dotted (Depends-on, configure.ac):
5401         Likewise.
5402         * modules/unictype/property-space (Depends-on, configure.ac): Likewise.
5403         * modules/unictype/property-terminal-punctuation (Depends-on,
5404         configure.ac): Likewise.
5405         * modules/unictype/property-titlecase (Depends-on, configure.ac):
5406         Likewise.
5407         * modules/unictype/property-unassigned-code-value (Depends-on,
5408         configure.ac): Likewise.
5409         * modules/unictype/property-unified-ideograph (Depends-on,
5410         configure.ac): Likewise.
5411         * modules/unictype/property-uppercase (Depends-on, configure.ac):
5412         Likewise.
5413         * modules/unictype/property-variation-selector (Depends-on,
5414         configure.ac): Likewise.
5415         * modules/unictype/property-white-space (Depends-on, configure.ac):
5416         Likewise.
5417         * modules/unictype/property-xid-continue (Depends-on, configure.ac):
5418         Likewise.
5419         * modules/unictype/property-xid-start (Depends-on, configure.ac):
5420         Likewise.
5421         * modules/unictype/property-zero-width (Depends-on, configure.ac):
5422         Likewise.
5423         * modules/unictype/syntax-c-ident (Depends-on, configure.ac): Likewise.
5424         * modules/unictype/syntax-java-ident (Depends-on, configure.ac):
5425         Likewise.
5426
5427 2009-12-31  Bruno Haible  <bruno@clisp.org>
5428
5429         Remove unnecessary AC_C_INLINE invocation.
5430         * m4/popen.m4 (gl_PREREQ_POPEN): Don't invoke AC_C_INLINE. Not needed
5431         since 2009-08-21.
5432
5433 2009-12-31  Jim Meyering  <meyering@redhat.com>
5434
5435         maint.mk: don't require explicit gpg_key_ID in cfg.mk
5436         * top/maint.mk (gpg_key_ID): Derive key ID from signed release tag.
5437         With this change, we can all remove the gpg_key_ID = ... definition
5438         from our respective cfg.mk files.
5439
5440         maint.mk: create announcement template in ~/, not in /tmp
5441         * top/maint.mk (emit_upload_commands): Adjust.
5442         (release-prep): Emit into ~/announce-..., not /tmp/announce-...
5443         Remove temporary file, .ci-msg.
5444
5445 2009-12-31  Eric Blake  <ebb9@byu.net>
5446
5447         link-warning: always build headers with link warnings
5448         * modules/arpa_inet (Makefile.am): Always build replacement
5449         header.
5450         * modules/ctype (Makefile.am): Likewise.
5451         * modules/dirent (Makefile.am): Likewise.
5452         * modules/inttypes (Makefile.am): Likewise.
5453         * modules/langinfo (Makefile.am): Likewise.
5454         * modules/locale (Makefile.am): Likewise.
5455         * modules/spawn (Makefile.am): Likewise.
5456         * modules/sys_file (Makefile.am): Likewise.
5457         * modules/sys_ioctl (Makefile.am): Likewise.
5458         * modules/sys_select (Makefile.am): Likewise.
5459         * modules/sys_socket (Makefile.am): Likewise.
5460         * modules/sys_times (Makefile.am): Likewise.
5461         * modules/sys_utsname (Makefile.am): Likewise.
5462         * modules/sys_wait (Makefile.am): Likewise.
5463         * modules/wchar (Makefile.am): Likewise.
5464         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET)
5465         (gl_ARPA_INET_H_DEFAULTS): Drop unneeded variable.
5466         * m4/ctype.m4 (gl_CTYPE_H_DEFAULTS): Likewise.
5467         * m4/isblank.m4 (gl_FUNC_ISBLANK): Likewise.
5468         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H, gl_DIRENT_H_DEFAULTS):
5469         Likewise.
5470         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
5471         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
5472         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_H_DEFAULTS):
5473         Likewise.
5474         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H, gl_SPAWN_H_DEFAULTS):
5475         Likewise.
5476         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
5477         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H, gl_REPLACE_SYS_IOCTL_H)
5478         (gl_SYS_IOCTL_H_DEFAULTS): Likewise.
5479         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
5480         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
5481         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
5482         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
5483         * m4/wchar.m4 (gl_WCHAR_H, gl_REPLACE_WCHAR_H)
5484         (gl_WCHAR_H_DEFAULTS): Likewise.
5485
5486 2009-12-31  Eric Blake  <ebb9@byu.net>
5487
5488         signal, spawn: use link warnings
5489         * lib/signal.in.h (sigset_t): Make unconditional.
5490         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset)
5491         (sigpending, sigprocmask, sigaction): Add link warnings.
5492         * lib/spawn.in.h (posix_spawn, posix_spawnp, posix_spawnattr_init)
5493         (posix_spawnattr_destroy, posix_spawnattr_getsigdefault)
5494         (posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask)
5495         (posix_spawnattr_setsigmask, posix_spawnattr_getflags)
5496         (posix_spawnattr_setflags, posix_spawnattr_getpgroup)
5497         (posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy)
5498         (posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam)
5499         (posix_spawnattr_setschedparam, posix_spawn_file_actions_init)
5500         (posix_spawn_file_actions_destroy)
5501         (posix_spawn_file_actions_addopen)
5502         (posix_spawn_file_actions_addclose)
5503         (posix_spawn_file_actions_adddup2): Likewise.
5504         * m4/signal_h.m4 (gl_SIGNAL_H): Guarantee uid_t.
5505         * tests/test-signal.c (main): Enhance test.
5506
5507         spawn: improve wrapper support
5508         * m4/spawn_h.m4 (gl_SPAWN_H): Check for type existence.
5509         (gl_SPAWN_H_DEFAULTS): New defaults.
5510         * modules/spawn (Makefile.am): Substitute them.
5511         * lib/spawn.in.h: (posix_spawnattr_t, posix_spawn_file_actions_t):
5512         Only declare if missing or broken.
5513
5514         sys_times, sys_utsname: use include_next
5515         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Support wrapping an existing
5516         header.
5517         (gl_SYS_TIMES_H_DEFAULTS): Add another variable.
5518         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
5519         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
5520         * modules/sys_times (Depends-on): Add include_next.
5521         (Makefile.am): Substitute additional values.
5522         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
5523         * lib/sys_times.in.h (includes): Include native header, if
5524         available.
5525         * lib/sys_utsname.in.h (includes): Likewise.
5526         * tests/test-sys_times.c (main): Enhance test.
5527
5528         fdutimensat: revert prior patch
5529         * modules/fdutimensat (Depends-on): Re-add inline; it is needed by
5530         utimens.h.
5531         Reported by Bruno Haible.
5532
5533 2009-12-30  Eric Blake  <ebb9@byu.net>
5534
5535         sys_wait: drop link-warning dependency
5536         * modules/sys_wait (Depends-on, Makefile.am): Drop unneeded
5537         link-warning efforts.
5538         * lib/sys_wait.in.h: Likewise.
5539
5540         fdutimensat: remove bogus dependency
5541         * modules/fdutimensat (Depends-on): Drop inline.
5542
5543         unistd: fix typo
5544         * lib/unistd.in.h (linkat) [GNULIB_POSIXCHECK]: Fix typo.
5545
5546 2009-12-30  Bruno Haible  <bruno@clisp.org>
5547
5548         Fix compilation error with Solaris cc.
5549         * lib/unicase/u8-is-invariant.c: Include <stdbool.h>.
5550         * lib/unicase/u16-is-invariant.c: Likewise.
5551         * lib/unicase/u32-is-invariant.c: Likewise.
5552         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
5553
5554 2009-12-30  Bruno Haible  <bruno@clisp.org>
5555
5556         Fix test crash.
5557         * tests/test-localename.c (test_locale_name_thread): Skip unavailable
5558         locales.
5559         Reported by Simon Josefsson <simon@josefsson.org>.
5560
5561 2009-12-30  Bruno Haible  <bruno@clisp.org>
5562
5563         Fix compilation error on most platforms.
5564         * tests/test-localename.c (categories): Define only if HAVE_NEWLOCALE.
5565         Reported by Simon Josefsson <simon@josefsson.org>
5566         and Nelson H. F. Beebe <beebe@math.utah.edu>.
5567
5568 2009-12-30  Eric Blake  <ebb9@byu.net>
5569
5570         futimens, utimensat: work around ntfs-3g bug
5571         * lib/utimensat.c (rpl_utimensat): Drop attempts to cache whether
5572         a ctime bug is present, and expand workaround to cover ntfs-3g.
5573         * lib/utimens.c (fdutimens, lutimens): Likewise.
5574         (utimensat_ctime_really, detect_ctime_bug): Drop cache mechanism.
5575         (validate_timespec): Adjust return value.
5576         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Update comment.
5577         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
5578         Reported by ctrn3e8 <ctrn3e8@gmail.com>.
5579
5580 2009-12-29  Eric Blake  <ebb9@byu.net>
5581
5582         link-warning: make usage consistent
5583         * modules/ctype (Depends-on): Add link-warning.
5584         (Makefile.am): Update rules accordingly.
5585         * modules/langinfo (Depends-on, Makefile.am): Likewise.
5586         * modules/locale (Depends-on, Makefile.am): Likewise.
5587         * modules/sys_file (Makefile.am): Likewise.
5588         * modules/getopt-posix (Makefile.am): Delete unused link warning
5589         efforts.
5590         * lib/ctype.in.h (GL_LINK_WARNING): Ensure definition before use.
5591         * lib/langinfo.in.h (GL_LINK_WARNING): Likewise.
5592         * lib/locale.in.h (GL_LINK_WARNING): Likewise.
5593         * lib/sys_file.in.h (GL_LINK_WARNING): Likewise.
5594
5595         stdio: remove unused variables
5596         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Remove unused variables.
5597         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
5598         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
5599
5600         tests: test more substitute headers
5601         * modules/ctype-tests: New file.
5602         * modules/dirent-tests: Likewise.
5603         * modules/spawn-tests: Likewise.
5604         * modules/sys_file-tests: Likewise.
5605         * modules/sys_ioctl-tests: Likewise.
5606         * modules/sys_wait-tests: Likewise.
5607         * tests/test-ctype.c: Likewise.
5608         * tests/test-dirent.c: Likewise.
5609         * tests/test-spawn.c: Likewise.
5610         * tests/test-sys_file.c: Likewise.
5611         * tests/test-sys_ioctl.c: Likewise.
5612         * tests/test-sys_wait.c: Likewise.
5613         * m4/spawn_h.m4 (gl_SPAWN_H): Replace header if it is missing.
5614         * lib/sys_file.in.h (LOCK_SH, LOCK_EX, LOCK_UN, LOCK_NB): Provide
5615         whether or not flock is in use.
5616
5617         tests: remove License section from module
5618         * modules/arpa_inet-tests: Remove unneeded section.
5619         * modules/byteswap-tests: Likewise.
5620         * modules/ceilf-tests: Likewise.
5621         * modules/ceill-tests: Likewise.
5622         * modules/crypto/des-tests: Likewise.
5623         * modules/crypto/gc-arcfour-tests: Likewise.
5624         * modules/crypto/gc-arctwo-tests: Likewise.
5625         * modules/crypto/gc-des-tests: Likewise.
5626         * modules/crypto/gc-hmac-md5-tests: Likewise.
5627         * modules/crypto/gc-hmac-sha1-tests: Likewise.
5628         * modules/crypto/gc-md2-tests: Likewise.
5629         * modules/crypto/gc-md4-tests: Likewise.
5630         * modules/crypto/gc-md5-tests: Likewise.
5631         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
5632         * modules/crypto/gc-rijndael-tests: Likewise.
5633         * modules/crypto/gc-sha1-tests: Likewise.
5634         * modules/crypto/gc-tests: Likewise.
5635         * modules/crypto/md2-tests: Likewise.
5636         * modules/crypto/md4-tests: Likewise.
5637         * modules/fcntl-h-tests: Likewise.
5638         * modules/floorf-tests: Likewise.
5639         * modules/floorl-tests: Likewise.
5640         * modules/frexp-nolibm-tests: Likewise.
5641         * modules/frexp-tests: Likewise.
5642         * modules/frexpl-nolibm-tests: Likewise.
5643         * modules/frexpl-tests: Likewise.
5644         * modules/getaddrinfo-tests: Likewise.
5645         * modules/inttypes-tests: Likewise.
5646         * modules/isfinite-tests: Likewise.
5647         * modules/isinf-tests: Likewise.
5648         * modules/ldexpl-tests: Likewise.
5649         * modules/locale-tests: Likewise.
5650         * modules/math-tests: Likewise.
5651         * modules/netdb-tests: Likewise.
5652         * modules/netinet_in-tests: Likewise.
5653         * modules/printf-frexp-tests: Likewise.
5654         * modules/printf-frexpl-tests: Likewise.
5655         * modules/priv-set-tests: Likewise.
5656         * modules/random_r-tests: Likewise.
5657         * modules/round-tests: Likewise.
5658         * modules/roundf-tests: Likewise.
5659         * modules/roundl-tests: Likewise.
5660         * modules/search-tests: Likewise.
5661         * modules/select-tests: Likewise.
5662         * modules/signal-tests: Likewise.
5663         * modules/stdbool-tests: Likewise.
5664         * modules/stddef-tests: Likewise.
5665         * modules/stdint-tests: Likewise.
5666         * modules/stdio-tests: Likewise.
5667         * modules/stdlib-tests: Likewise.
5668         * modules/string-tests: Likewise.
5669         * modules/strings-tests: Likewise.
5670         * modules/sys_select-tests: Likewise.
5671         * modules/sys_socket-tests: Likewise.
5672         * modules/sys_stat-tests: Likewise.
5673         * modules/sys_time-tests: Likewise.
5674         * modules/sys_utsname-tests: Likewise.
5675         * modules/sysexits-tests: Likewise.
5676         * modules/time-tests: Likewise.
5677         * modules/trunc-tests: Likewise.
5678         * modules/truncf-tests: Likewise.
5679         * modules/truncl-tests: Likewise.
5680         * modules/tsearch-tests: Likewise.
5681         * modules/unistd-tests: Likewise.
5682         * modules/wchar-tests: Likewise.
5683         * modules/wctype-tests: Likewise.
5684
5685         tests: fix license on several tests
5686         * tests/test-des.c: Update to GPLv3+.
5687         * tests/test-flock.c: Likewise.
5688         * tests/test-fsync.c: Likewise.
5689         * tests/test-futimens.h: Likewise.
5690         * tests/test-gc-arcfour.c: Likewise.
5691         * tests/test-gc-arctwo.c: Likewise.
5692         * tests/test-gc-des.c: Likewise.
5693         * tests/test-gc-hmac-md5.c: Likewise.
5694         * tests/test-gc-hmac-sha1.c: Likewise.
5695         * tests/test-gc-md2.c: Likewise.
5696         * tests/test-gc-md4.c: Likewise.
5697         * tests/test-gc-md5.c: Likewise.
5698         * tests/test-gc-pbkdf2-sha1.c: Likewise.
5699         * tests/test-gc-rijndael.c: Likewise.
5700         * tests/test-gc-sha1.c: Likewise.
5701         * tests/test-gc.c: Likewise.
5702         * tests/test-getcwd.c: Likewise.
5703         * tests/test-link.c: Likewise.
5704         * tests/test-link.h: Likewise.
5705         * tests/test-lutimens.h: Likewise.
5706         * tests/test-md2.c: Likewise.
5707         * tests/test-md4.c: Likewise.
5708         * tests/test-mkdir.h: Likewise.
5709         * tests/test-rename.c: Likewise.
5710         * tests/test-rename.h: Likewise.
5711         * tests/test-safe-alloc.c: Likewise.
5712         * tests/test-utimens-common.h: Likewise.
5713         * tests/test-utimens.h: Likewise.
5714
5715         maint: sync license texts
5716         * config/srclist.txt: Add gpl-1.3.texi, lgpl-1.3.texi.
5717         * doc/gpl-3.0.texi: Revert copyright year update.
5718         * doc/lgpl-3.0.texi: Likewise.
5719
5720 2009-12-29  Jim Meyering  <meyering@redhat.com>
5721
5722         update nearly all FSF copyright year lists to include 2009
5723         The files named by the following are exempted:
5724             grep -v '^#' config/srclist.txt|grep -v '^$' | while read src dst; do
5725               test -f "$dst" && { echo "$dst"; continue; }
5726               test -d "$dst" || continue
5727               echo "$dst"/$(basename "$src")
5728             done > exempt
5729             git ls-files tests/unictype >> exempt
5730         In the remaining files, convert to all-interval notation if
5731         - there is already at least one year interval like 2000-2003
5732         - the file is maintained by me
5733         - the file is in lib/uni*/, where that style already prevails
5734         Otherwise, use update-copyright's default.
5735
5736 2009-12-29  Simon Josefsson  <simon@josefsson.org>
5737         and Eric Blake  <ebb9@byu.net>
5738
5739         tests: don't require debug system() to pass
5740         * tests/test-lstat.h (test_lstat_func): Move debug cleanup...
5741         * tests/test-rmdir.h (test_rmdir_func): Likewise.
5742         * tests/test-unlink.h (test_unlink_func): Likewise.
5743         * tests/test-fstatat.c (main): ...into callers.
5744         * tests/test-lstat.c (main): Likewise.
5745         * tests/test-rmdir.c (main): Likewise.
5746         * tests/test-unlink.c (main): Likewise.
5747         * tests/test-unlinkat.c (main): Likewise.
5748         * tests/test-areadlink-with-size.c (main): Don't require a
5749         debug-only system call to pass, aiding cross-testing to mingw.
5750         * tests/test-areadlink.c (main): Likewise.
5751         * tests/test-areadlinkat-with-size.c (main): Likewise.
5752         * tests/test-areadlinkat.c (main): Likewise.
5753         * tests/test-canonicalize-lgpl.c (main): Likewise.
5754         * tests/test-canonicalize.c (main): Likewise.
5755         * tests/test-chown.c (main): Likewise.
5756         * tests/test-fchownat.c (main): Likewise.
5757         * tests/test-lchown.c (main): Likewise.
5758         * tests/test-fdutimensat.c (main): Likewise.
5759         * tests/test-futimens.c (main): Likewise.
5760         * tests/test-link.c (main): Likewise.
5761         * tests/test-linkat.c (main): Likewise.
5762         * tests/test-mkdir.c (main): Likewise.
5763         * tests/test-mkdirat.c (main): Likewise.
5764         * tests/test-mkfifo.c (main): Likewise.
5765         * tests/test-mkfifoat.c (main): Likewise.
5766         * tests/test-mknod.c (main): Likewise.
5767         * tests/test-readlink.c (main): Likewise.
5768         * tests/test-remove.c (main): Likewise.
5769         * tests/test-rename.c (main): Likewise.
5770         * tests/test-renameat.c (main): Likewise.
5771         * tests/test-symlink.c (main): Likewise.
5772         * tests/test-symlinkat.c (main): Likewise.
5773         * tests/test-utimens.c (main): Likewise.
5774         * tests/test-utimensat.c (main): Likewise.
5775
5776 2009-12-29  Simon Josefsson  <simon@josefsson.org>
5777
5778         * modules/selinux-h (selinux/selinux.h, selinux/context.h): Depend
5779         on $(UNUSED_PARAMETER_H) to avoid build failure.
5780
5781 2009-12-28  Jim Meyering  <meyering@redhat.com>
5782
5783         update-copyright: you may specify a max. line length other than 72
5784         * build-aux/update-copyright: Honor $UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
5785
5786         maint: use consistent FSF copyright line syntax
5787         * lib/posixtm.c: Add missing comma in FSF copyright line.
5788         * lib/posixtm.h: Likewise.
5789         * lib/getugroups.c: Add missing ", Inc.".
5790
5791         pmccabe2html: emit consistent FSF copyright; remove trailing blanks
5792         * build-aux/pmccabe2html: Insert comma before "Inc." in emitted
5793         FSF copyright line.  Remove trailing blanks.
5794
5795 2009-12-28  Eric Blake  <ebb9@byu.net>
5796
5797         test-dup2: reduce dependencies
5798         * modules/cloexec (Configure.ac): Set witness.
5799         * modules/dup2-tests (Depends-on): Drop cloexec.
5800         * tests/test-dup2.c (main): Skip portion of test if cloexec module
5801         not present.
5802         Suggested by Bruno Haible.
5803
5804 2009-12-26  Bruno Haible  <bruno@clisp.org>
5805
5806         Remove an unneeded dependency.
5807         * modules/fseterr (Depends-on): Remove dup2.
5808
5809 2009-12-26  Eric Blake  <ebb9@byu.net>
5810
5811         tests: use macros.h in more places
5812         * tests/macros.h (ASSERT): Depend on ASSERT_STREAM.
5813         (ASSERT_STREAM): Provide default of stderr.
5814         * tests/test-dirent-safer.c: Include macros.h, using alternate
5815         stream for assertions.
5816         * tests/test-dup-safer.c: Likewise.
5817         * tests/test-freopen-safer.c: Likewise.
5818         * tests/test-getopt.c: Likewise.
5819         * tests/test-openat-safer.c: Likewise.
5820         * tests/test-pipe.c: Likewise.
5821         * tests/test-popen-safer.c: Likewise.
5822         * modules/dirent-safer-tests (Files): Include macros.h.
5823         * modules/unistd-safer-tests (Files): Likewise.
5824         * modules/freopen-safer-tests (Files): Likewise.
5825         * modules/getopt-posix-tests (Files): Likewise.
5826         * modules/openat-safer-tests (Files): Likewise.
5827         * modules/pipe-tests (Files): Likewise.
5828
5829 2009-12-26  Bruno Haible  <bruno@clisp.org>
5830
5831         javacomp: Portability fix.
5832         * m4/javacomp.m4 (gt_JAVACOMP): Fix creation of conftestver.class so
5833         that it also works on Solaris.
5834
5835 2009-12-26  Bruno Haible  <bruno@clisp.org>
5836
5837         localename: Fix storage allocation of gl_locale_name_thread's result.
5838         * lib/localename.c (SIZE_BITS, string_hash, struct hash_node,
5839         HASH_TABLE_SIZE, struniq_hash_table, struniq_lock, struniq): Define on
5840         all platforms that have 'uselocale'.
5841         (gl_locale_name_thread_unsafe): New function, extracted from
5842         gl_locale_name_thread.
5843         (gl_locale_name_thread): Call struniq on all platforms that have
5844         'uselocale'.
5845         * tests/test-localename.c (test_locale_name_thread): Check that the
5846         resulting strings are permanently allocated.
5847         * modules/localename-tests (Depends-on): Add strdup.
5848
5849 2009-12-26  Bruno Haible  <bruno@clisp.org>
5850
5851         * tests/test-localename.c (categories): Fill in the strings.
5852
5853 2009-12-26  Jim Meyering  <meyering@redhat.com>
5854
5855         isdir: complete the removal of m4/isdir.m4
5856         * modules/isdir (configure.ac): Remove reference to gl_ISDIR.
5857
5858         isdir: clean up, since at least grep still uses it
5859         * lib/isdir.c: Include "isdir.h".
5860         (S_ISDIR): Remove now-unneeded definition.
5861         * modules/isdir (Files): Add lib/isdir.h.
5862         * lib/isdir.h: New file, with declaration.
5863         * m4/isdir.m4: Remove file -- unneeded.
5864
5865 2009-12-25  Bruno Haible  <bruno@clisp.org>
5866
5867         selinux-h: Make generated .h files standalone.
5868         * lib/se-context.in.h: Arrange to include _GL_UNUSED_PARAMETER
5869         definition. Use _GL_UNUSED_PARAMETER instead of _GL_UNUSED.
5870         * lib/se-selinux.in.h: Likewise.
5871         * modules/selinux-h (Depends-on): Add unused-parameter.
5872         (Makefile.am): Insert definition of _GL_UNUSED_PARAMETER into
5873         selinux/selinux.h and selinux/context.h.
5874         Suggested by Eric Blake.
5875
5876 2009-12-25  Bruno Haible  <bruno@clisp.org>
5877
5878         Move gl_FCNTL_O_FLAGS to a separate .m4 file.
5879         * m4/fcntl-o.m4: New file, extracted from m4/fcntl_h.m4.
5880         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): Remove macro.
5881         * modules/fcntl-h (Files): Add m4/fcntl-o.m4.
5882         * modules/localcharset (Files): Likewise. Remove m4/fcntl_h.m4.
5883
5884 2009-12-24  Bruno Haible  <bruno@clisp.org>
5885
5886         openat: Fix warning.
5887         * lib/openat-proc.c: Include <unistd.h>.
5888
5889 2009-12-24  Bruno Haible  <bruno@clisp.org>
5890
5891         New module 'unused-parameter'.
5892         * build-aux/unused-parameter.h: New file, extracted from earlier
5893         gnulib-common.m4.
5894         * modules/unused-parameter: New file.
5895         * lib/unistr.h: Include unused-parameter.h.
5896         (u32_mbtouc_unsafe, u32_mbtouc): Use _GL_UNUSED_PARAMETER instead of
5897         _GL_UNUSED.
5898         * modules/unistr/base (Depends-on): Add unused-parameter.
5899
5900 2009-12-24  Bruno Haible  <bruno@clisp.org>
5901
5902         Add missing dependencies to 'extensions' module.
5903         * m4/extensions.m4: Add comment.
5904         * modules/accept4 (Depends-on): Add extensions.
5905         * modules/dup3 (Depends-on): Likewise.
5906         * modules/fcntl (Depends-on): Likewise.
5907         * modules/futimens (Depends-on): Likewise.
5908         * modules/mknod (Depends-on): Likewise.
5909         * modules/pipe2 (Depends-on): Likewise.
5910         * modules/stat-time (Depends-on): Likewise.
5911         * modules/strcasestr-simple (Depends-on): Likewise.
5912         * modules/strsignal (Depends-on): Likewise.
5913         * modules/utimensat (Depends-on): Likewise.
5914         * modules/localcharset (Depends-on): Likewise. Needed because of
5915         gl_FCNTL_O_FLAGS.
5916         * modules/wcrtomb (Depends-on): Likewise. Needed because of
5917         AC_TYPE_MBSTATE_T.
5918         * modules/wcsnrtombs (Depends-on): Likewise.
5919         * modules/wcsrtombs (Depends-on): Likewise.
5920
5921 2009-12-24  Bruno Haible  <bruno@clisp.org>
5922
5923         binary-io: Avoid gcc warning due to SET_BINARY.
5924         * lib/binary-io.h (SET_BINARY): Cast the result to void.
5925         Reported by Jim Meyering <jim@meyering.net>. Suggestion by Eric Blake.
5926
5927 2009-12-24  Bruno Haible  <bruno@clisp.org>
5928
5929         Avoid future namespace pollution on glibc systems.
5930         * lib/arpa_inet.in.h: Don't include <sys/socket.h> on glibc systems.
5931         * lib/sys_ioctl.in.h: Don't include <unistd.h> on glibc systems.
5932         * lib/sys_select.in.h: Don't include <sys/time.h> and <string.h> on
5933         glibc systems.
5934
5935 2009-12-24  Bruno Haible  <bruno@clisp.org>
5936
5937         Refactor common macros used in tests.
5938         * tests/macros.h: New file.
5939         * tests/test-areadlink.c: Include macros.h. Don't include <stdio.h>
5940         and/or <stdlib.h>, if appropriate.
5941         (ASSERT, SIZEOF): Remove macros.
5942         * tests/test-areadlink-with-size.c: Likewise.
5943         * tests/test-areadlinkat.c: Likewise.
5944         * tests/test-areadlinkat-with-size.c: Likewise.
5945         * tests/test-argmatch.c: Likewise.
5946         * tests/test-argv-iter.c: Likewise.
5947         * tests/test-array-mergesort.c: Likewise.
5948         * tests/test-array_list.c: Likewise.
5949         * tests/test-array_oset.c: Likewise.
5950         * tests/test-avltree_list.c: Likewise.
5951         * tests/test-avltree_oset.c: Likewise.
5952         * tests/test-avltreehash_list.c: Likewise.
5953         * tests/test-base64.c: Likewise.
5954         * tests/test-binary-io.c: Likewise.
5955         * tests/test-bitrotate.c: Likewise.
5956         * tests/test-btowc.c: Likewise.
5957         * tests/test-byteswap.c: Likewise.
5958         * tests/test-c-ctype.c: Likewise.
5959         * tests/test-c-stack.c: Likewise.
5960         * tests/test-c-strcasecmp.c: Likewise.
5961         * tests/test-c-strcasestr.c: Likewise.
5962         * tests/test-c-strncasecmp.c: Likewise.
5963         * tests/test-c-strstr.c: Likewise.
5964         * tests/test-canonicalize-lgpl.c: Likewise.
5965         * tests/test-canonicalize.c: Likewise.
5966         * tests/test-carray_list.c: Likewise.
5967         * tests/test-ceilf1.c: Likewise.
5968         * tests/test-ceilf2.c: Likewise.
5969         * tests/test-ceill.c: Likewise.
5970         * tests/test-chown.c: Likewise.
5971         * tests/test-cloexec.c: Likewise.
5972         * tests/test-copy-acl.c: Likewise.
5973         * tests/test-copy-file.c: Likewise.
5974         * tests/test-count-one-bits.c: Likewise.
5975         * tests/test-dprintf-posix.c: Likewise.
5976         * tests/test-dup2.c: Likewise.
5977         * tests/test-dup3.c: Likewise.
5978         * tests/test-duplocale.c: Likewise.
5979         * tests/test-fbufmode.c: Likewise.
5980         * tests/test-fchdir.c: Likewise.
5981         * tests/test-fchownat.c: Likewise.
5982         * tests/test-fcntl-safer.c: Likewise.
5983         * tests/test-fcntl.c: Likewise.
5984         * tests/test-fdopendir.c: Likewise.
5985         * tests/test-fdutimensat.c: Likewise.
5986         * tests/test-fflush2.c: Likewise.
5987         * tests/test-file-has-acl.c: Likewise.
5988         * tests/test-filevercmp.c: Likewise.
5989         * tests/test-flock.c: Likewise.
5990         * tests/test-floorf1.c: Likewise.
5991         * tests/test-floorf2.c: Likewise.
5992         * tests/test-floorl.c: Likewise.
5993         * tests/test-fnmatch.c: Likewise.
5994         * tests/test-fopen.h: Likewise.
5995         * tests/test-fpending.c: Likewise.
5996         * tests/test-fprintf-posix.c: Likewise.
5997         * tests/test-fpurge.c: Likewise.
5998         * tests/test-freadable.c: Likewise.
5999         * tests/test-freadahead.c: Likewise.
6000         * tests/test-freading.c: Likewise.
6001         * tests/test-freadptr.c: Likewise.
6002         * tests/test-freadptr2.c: Likewise.
6003         * tests/test-freadseek.c: Likewise.
6004         * tests/test-freopen.c: Likewise.
6005         * tests/test-frexp.c: Likewise.
6006         * tests/test-frexpl.c: Likewise.
6007         * tests/test-fseek.c: Likewise.
6008         * tests/test-fseeko.c: Likewise.
6009         * tests/test-fstatat.c: Likewise.
6010         * tests/test-fstrcmp.c: Likewise.
6011         * tests/test-fsync.c: Likewise.
6012         * tests/test-ftell.c: Likewise.
6013         * tests/test-ftello.c: Likewise.
6014         * tests/test-func.c: Likewise.
6015         * tests/test-futimens.c: Likewise.
6016         * tests/test-fwritable.c: Likewise.
6017         * tests/test-fwriting.c: Likewise.
6018         * tests/test-getcwd.c: Likewise.
6019         * tests/test-getdate.c: Likewise.
6020         * tests/test-getdelim.c: Likewise.
6021         * tests/test-getdtablesize.c: Likewise.
6022         * tests/test-getgroups.c: Likewise.
6023         * tests/test-getline.c: Likewise.
6024         * tests/test-getndelim2.c: Likewise.
6025         * tests/test-glob.c: Likewise.
6026         * tests/test-hash.c: Likewise.
6027         * tests/test-i-ring.c: Likewise.
6028         * tests/test-iconv-utf.c: Likewise.
6029         * tests/test-iconv.c: Likewise.
6030         * tests/test-idpriv-drop.c: Likewise.
6031         * tests/test-idpriv-droptemp.c: Likewise.
6032         * tests/test-inet_ntop.c: Likewise.
6033         * tests/test-inet_pton.c: Likewise.
6034         * tests/test-isblank.c: Likewise.
6035         * tests/test-isfinite.c: Likewise.
6036         * tests/test-isinf.c: Likewise.
6037         * tests/test-isnan.c: Likewise.
6038         * tests/test-isnand.h: Likewise.
6039         * tests/test-isnanf.h: Likewise.
6040         * tests/test-isnanl.h: Likewise.
6041         * tests/test-lchown.c: Likewise.
6042         * tests/test-ldexpl.c: Likewise.
6043         * tests/test-link.c: Likewise.
6044         * tests/test-linkat.c: Likewise.
6045         * tests/test-linked_list.c: Likewise.
6046         * tests/test-linkedhash_list.c: Likewise.
6047         * tests/test-localename.c: Likewise.
6048         * tests/test-lseek.c: Likewise.
6049         * tests/test-lstat.c: Likewise.
6050         * tests/test-mbmemcasecmp.c: Likewise.
6051         * tests/test-mbmemcasecoll.c: Likewise.
6052         * tests/test-mbrtowc.c: Likewise.
6053         * tests/test-mbscasecmp.c: Likewise.
6054         * tests/test-mbscasestr1.c: Likewise.
6055         * tests/test-mbscasestr2.c: Likewise.
6056         * tests/test-mbscasestr3.c: Likewise.
6057         * tests/test-mbscasestr4.c: Likewise.
6058         * tests/test-mbschr.c: Likewise.
6059         * tests/test-mbscspn.c: Likewise.
6060         * tests/test-mbsinit.c: Likewise.
6061         * tests/test-mbsncasecmp.c: Likewise.
6062         * tests/test-mbsnrtowcs.c: Likewise.
6063         * tests/test-mbspbrk.c: Likewise.
6064         * tests/test-mbspcasecmp.c: Likewise.
6065         * tests/test-mbsrchr.c: Likewise.
6066         * tests/test-mbsrtowcs.c: Likewise.
6067         * tests/test-mbsspn.c: Likewise.
6068         * tests/test-mbsstr1.c: Likewise.
6069         * tests/test-mbsstr2.c: Likewise.
6070         * tests/test-mbsstr3.c: Likewise.
6071         * tests/test-memchr.c: Likewise.
6072         * tests/test-memchr2.c: Likewise.
6073         * tests/test-memcmp.c: Likewise.
6074         * tests/test-memmem.c: Likewise.
6075         * tests/test-memrchr.c: Likewise.
6076         * tests/test-mkdir.c: Likewise.
6077         * tests/test-mkdirat.c: Likewise.
6078         * tests/test-mkfifo.c: Likewise.
6079         * tests/test-mkfifoat.c: Likewise.
6080         * tests/test-mknod.c: Likewise.
6081         * tests/test-nanosleep.c: Likewise.
6082         * tests/test-nl_langinfo.c: Likewise.
6083         * tests/test-obstack-printf.c: Likewise.
6084         * tests/test-open.c: Likewise.
6085         * tests/test-openat.c: Likewise.
6086         * tests/test-pipe-filter-gi1.c: Likewise.
6087         * tests/test-pipe-filter-gi2-main.c: Likewise.
6088         * tests/test-pipe-filter-ii1.c: Likewise.
6089         * tests/test-pipe-filter-ii2-main.c: Likewise.
6090         * tests/test-pipe2.c: Likewise.
6091         * tests/test-popen.h: Likewise.
6092         * tests/test-posixtm.c: Likewise.
6093         * tests/test-pread.c: Likewise.
6094         * tests/test-printf-frexp.c: Likewise.
6095         * tests/test-printf-frexpl.c: Likewise.
6096         * tests/test-printf-posix.c: Likewise.
6097         * tests/test-priv-set.c: Likewise.
6098         * tests/test-quotearg.c: Likewise.
6099         * tests/test-random_r.c: Likewise.
6100         * tests/test-rawmemchr.c: Likewise.
6101         * tests/test-rbtree_list.c: Likewise.
6102         * tests/test-rbtree_oset.c: Likewise.
6103         * tests/test-rbtreehash_list.c: Likewise.
6104         * tests/test-readlink.c: Likewise.
6105         * tests/test-remove.c: Likewise.
6106         * tests/test-rename.c: Likewise.
6107         * tests/test-renameat.c: Likewise.
6108         * tests/test-rmdir.c: Likewise.
6109         * tests/test-round1.c: Likewise.
6110         * tests/test-roundf1.c: Likewise.
6111         * tests/test-roundl.c: Likewise.
6112         * tests/test-safe-alloc.c: Likewise.
6113         * tests/test-sameacls.c: Likewise.
6114         * tests/test-set-mode-acl.c: Likewise.
6115         * tests/test-setenv.c: Likewise.
6116         * tests/test-sigaction.c: Likewise.
6117         * tests/test-signbit.c: Likewise.
6118         * tests/test-sleep.c: Likewise.
6119         * tests/test-snprintf-posix.c: Likewise.
6120         * tests/test-snprintf.c: Likewise.
6121         * tests/test-sprintf-posix.c: Likewise.
6122         * tests/test-stat-time.c: Likewise.
6123         * tests/test-stat.c: Likewise.
6124         * tests/test-strcasestr.c: Likewise.
6125         * tests/test-strchrnul.c: Likewise.
6126         * tests/test-strerror.c: Likewise.
6127         * tests/test-striconv.c: Likewise.
6128         * tests/test-striconveh.c: Likewise.
6129         * tests/test-striconveha.c: Likewise.
6130         * tests/test-strsignal.c: Likewise.
6131         * tests/test-strstr.c: Likewise.
6132         * tests/test-strtod.c: Likewise.
6133         * tests/test-strverscmp.c: Likewise.
6134         * tests/test-symlink.c: Likewise.
6135         * tests/test-symlinkat.c: Likewise.
6136         * tests/test-trunc1.c: Likewise.
6137         * tests/test-trunc2.c: Likewise.
6138         * tests/test-truncf1.c: Likewise.
6139         * tests/test-truncf2.c: Likewise.
6140         * tests/test-truncl.c: Likewise.
6141         * tests/test-uname.c: Likewise.
6142         * tests/test-unlink.c: Likewise.
6143         * tests/test-unlinkat.c: Likewise.
6144         * tests/test-unsetenv.c: Likewise.
6145         * tests/test-usleep.c: Likewise.
6146         * tests/test-utimens.c: Likewise.
6147         * tests/test-utimensat.c: Likewise.
6148         * tests/test-vasnprintf-posix.c: Likewise.
6149         * tests/test-vasnprintf-posix2.c: Likewise.
6150         * tests/test-vasnprintf.c: Likewise.
6151         * tests/test-vasprintf-posix.c: Likewise.
6152         * tests/test-vasprintf.c: Likewise.
6153         * tests/test-vdprintf-posix.c: Likewise.
6154         * tests/test-vfprintf-posix.c: Likewise.
6155         * tests/test-vprintf-posix.c: Likewise.
6156         * tests/test-vsnprintf-posix.c: Likewise.
6157         * tests/test-vsnprintf.c: Likewise.
6158         * tests/test-vsprintf-posix.c: Likewise.
6159         * tests/test-wcrtomb.c: Likewise.
6160         * tests/test-wcsnrtombs.c: Likewise.
6161         * tests/test-wcsrtombs.c: Likewise.
6162         * tests/test-wctype.c: Likewise.
6163         * tests/test-wcwidth.c: Likewise.
6164         * tests/test-xfprintf-posix.c: Likewise.
6165         * tests/test-xmemdup0.c: Likewise.
6166         * tests/test-xprintf-posix.c: Likewise.
6167         * tests/test-xvasprintf.c: Likewise.
6168         * tests/unicase/test-locale-language.c: Likewise.
6169         * tests/unicase/test-mapping-part1.h: Likewise.
6170         * tests/unicase/test-predicate-part1.h: Likewise.
6171         * tests/unicase/test-u8-casecmp.c: Likewise.
6172         * tests/unicase/test-u8-casecoll.c: Likewise.
6173         * tests/unicase/test-u8-casefold.c: Likewise.
6174         * tests/unicase/test-u8-is-cased.c: Likewise.
6175         * tests/unicase/test-u8-is-casefolded.c: Likewise.
6176         * tests/unicase/test-u8-is-lowercase.c: Likewise.
6177         * tests/unicase/test-u8-is-titlecase.c: Likewise.
6178         * tests/unicase/test-u8-is-uppercase.c: Likewise.
6179         * tests/unicase/test-u8-tolower.c: Likewise.
6180         * tests/unicase/test-u8-totitle.c: Likewise.
6181         * tests/unicase/test-u8-toupper.c: Likewise.
6182         * tests/unicase/test-u16-casecmp.c: Likewise.
6183         * tests/unicase/test-u16-casecoll.c: Likewise.
6184         * tests/unicase/test-u16-casefold.c: Likewise.
6185         * tests/unicase/test-u16-is-cased.c: Likewise.
6186         * tests/unicase/test-u16-is-casefolded.c: Likewise.
6187         * tests/unicase/test-u16-is-lowercase.c: Likewise.
6188         * tests/unicase/test-u16-is-titlecase.c: Likewise.
6189         * tests/unicase/test-u16-is-uppercase.c: Likewise.
6190         * tests/unicase/test-u16-tolower.c: Likewise.
6191         * tests/unicase/test-u16-totitle.c: Likewise.
6192         * tests/unicase/test-u16-toupper.c: Likewise.
6193         * tests/unicase/test-u32-casecmp.c: Likewise.
6194         * tests/unicase/test-u32-casecoll.c: Likewise.
6195         * tests/unicase/test-u32-casefold.c: Likewise.
6196         * tests/unicase/test-u32-is-cased.c: Likewise.
6197         * tests/unicase/test-u32-is-casefolded.c: Likewise.
6198         * tests/unicase/test-u32-is-lowercase.c: Likewise.
6199         * tests/unicase/test-u32-is-titlecase.c: Likewise.
6200         * tests/unicase/test-u32-is-uppercase.c: Likewise.
6201         * tests/unicase/test-u32-tolower.c: Likewise.
6202         * tests/unicase/test-u32-totitle.c: Likewise.
6203         * tests/unicase/test-u32-toupper.c: Likewise.
6204         * tests/unicase/test-ulc-casecmp.c: Likewise.
6205         * tests/unicase/test-ulc-casecoll.c: Likewise.
6206         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
6207         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
6208         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
6209         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
6210         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
6211         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
6212         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
6213         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
6214         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
6215         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
6216         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
6217         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
6218         * tests/unictype/test-bidi_byname.c: Likewise.
6219         * tests/unictype/test-bidi_name.c: Likewise.
6220         * tests/unictype/test-bidi_of.c: Likewise.
6221         * tests/unictype/test-bidi_test.c: Likewise.
6222         * tests/unictype/test-block_list.c: Likewise.
6223         * tests/unictype/test-block_of.c: Likewise.
6224         * tests/unictype/test-block_test.c: Likewise.
6225         * tests/unictype/test-categ_and.c: Likewise.
6226         * tests/unictype/test-categ_and_not.c: Likewise.
6227         * tests/unictype/test-categ_byname.c: Likewise.
6228         * tests/unictype/test-categ_name.c: Likewise.
6229         * tests/unictype/test-categ_none.c: Likewise.
6230         * tests/unictype/test-categ_of.c: Likewise.
6231         * tests/unictype/test-categ_or.c: Likewise.
6232         * tests/unictype/test-categ_test_withtable.c: Likewise.
6233         * tests/unictype/test-combining.c: Likewise.
6234         * tests/unictype/test-decdigit.c: Likewise.
6235         * tests/unictype/test-digit.c: Likewise.
6236         * tests/unictype/test-mirror.c: Likewise.
6237         * tests/unictype/test-numeric.c: Likewise.
6238         * tests/unictype/test-pr_byname.c: Likewise.
6239         * tests/unictype/test-pr_test.c: Likewise.
6240         * tests/unictype/test-predicate-part1.h: Likewise.
6241         * tests/unictype/test-scripts.c: Likewise.
6242         * tests/unictype/test-sy_c_ident.c: Likewise.
6243         * tests/unictype/test-sy_java_ident.c: Likewise.
6244         * tests/unilbrk/test-u8-possible-linebreaks.c: Likewise.
6245         * tests/unilbrk/test-u8-width-linebreaks.c: Likewise.
6246         * tests/unilbrk/test-u16-possible-linebreaks.c: Likewise.
6247         * tests/unilbrk/test-u16-width-linebreaks.c: Likewise.
6248         * tests/unilbrk/test-u32-possible-linebreaks.c: Likewise.
6249         * tests/unilbrk/test-u32-width-linebreaks.c: Likewise.
6250         * tests/unilbrk/test-ulc-possible-linebreaks.c: Likewise.
6251         * tests/unilbrk/test-ulc-width-linebreaks.c: Likewise.
6252         * tests/uninorm/test-canonical-decomposition.c: Likewise.
6253         * tests/uninorm/test-compat-decomposition.c: Likewise.
6254         * tests/uninorm/test-composition.c: Likewise.
6255         * tests/uninorm/test-decomposing-form.c: Likewise.
6256         * tests/uninorm/test-decomposition.c: Likewise.
6257         * tests/uninorm/test-u8-nfc.c: Likewise.
6258         * tests/uninorm/test-u8-nfd.c: Likewise.
6259         * tests/uninorm/test-u8-nfkc.c: Likewise.
6260         * tests/uninorm/test-u8-nfkd.c: Likewise.
6261         * tests/uninorm/test-u8-normcmp.c: Likewise.
6262         * tests/uninorm/test-u8-normcoll.c: Likewise.
6263         * tests/uninorm/test-u16-nfc.c: Likewise.
6264         * tests/uninorm/test-u16-nfd.c: Likewise.
6265         * tests/uninorm/test-u16-nfkc.c: Likewise.
6266         * tests/uninorm/test-u16-nfkd.c: Likewise.
6267         * tests/uninorm/test-u16-normcmp.c: Likewise.
6268         * tests/uninorm/test-u16-normcoll.c: Likewise.
6269         * tests/uninorm/test-u32-nfc.c: Likewise.
6270         * tests/uninorm/test-u32-nfd.c: Likewise.
6271         * tests/uninorm/test-u32-nfkc.c: Likewise.
6272         * tests/uninorm/test-u32-nfkd.c: Likewise.
6273         * tests/uninorm/test-u32-normalize-big.c: Likewise.
6274         * tests/uninorm/test-u32-normcmp.c: Likewise.
6275         * tests/uninorm/test-u32-normcoll.c: Likewise.
6276         * tests/uninorm/test-uninorm-filter-nfc.c: Likewise.
6277         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
6278         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
6279         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
6280         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
6281         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
6282         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
6283         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
6284         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
6285         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
6286         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
6287         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
6288         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
6289         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
6290         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
6291         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
6292         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
6293         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
6294         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
6295         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
6296         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
6297         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
6298         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
6299         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
6300         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
6301         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
6302         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
6303         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
6304         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
6305         * tests/uniwbrk/test-u8-wordbreaks.c: Likewise.
6306         * tests/uniwbrk/test-u16-wordbreaks.c: Likewise.
6307         * tests/uniwbrk/test-u32-wordbreaks.c: Likewise.
6308         * tests/uniwbrk/test-ulc-wordbreaks.c: Likewise.
6309         * tests/uniwidth/test-u8-strwidth.c: Likewise.
6310         * tests/uniwidth/test-u8-width.c: Likewise.
6311         * tests/uniwidth/test-u16-strwidth.c: Likewise.
6312         * tests/uniwidth/test-u16-width.c: Likewise.
6313         * tests/uniwidth/test-u32-strwidth.c: Likewise.
6314         * tests/uniwidth/test-u32-width.c: Likewise.
6315         * tests/uniwidth/test-uc_width.c: Likewise.
6316         * tests/uniwidth/test-uc_width2.c: Likewise.
6317         * modules/acl-tests (Files): Add tests/macros.h.
6318         * modules/areadlink-tests (Files): Likewise.
6319         * modules/areadlink-with-size-tests (Files): Likewise.
6320         * modules/areadlinkat-tests (Files): Likewise.
6321         * modules/areadlinkat-with-size-tests (Files): Likewise.
6322         * modules/argmatch-tests (Files): Likewise.
6323         * modules/argv-iter-tests (Files): Likewise.
6324         * modules/array-list-tests (Files): Likewise.
6325         * modules/array-mergesort-tests (Files): Likewise.
6326         * modules/array-oset-tests (Files): Likewise.
6327         * modules/avltree-list-tests (Files): Likewise.
6328         * modules/avltree-oset-tests (Files): Likewise.
6329         * modules/avltreehash-list-tests (Files): Likewise.
6330         * modules/base64-tests (Files): Likewise.
6331         * modules/binary-io-tests (Files): Likewise.
6332         * modules/bitrotate-tests (Files): Likewise.
6333         * modules/btowc-tests (Files): Likewise.
6334         * modules/byteswap-tests (Files): Likewise.
6335         * modules/c-ctype-tests (Files): Likewise.
6336         * modules/c-stack-tests (Files): Likewise.
6337         * modules/c-strcase-tests (Files): Likewise.
6338         * modules/c-strcasestr-tests (Files): Likewise.
6339         * modules/c-strstr-tests (Files): Likewise.
6340         * modules/canonicalize-lgpl-tests (Files): Likewise.
6341         * modules/canonicalize-tests (Files): Likewise.
6342         * modules/carray-list-tests (Files): Likewise.
6343         * modules/ceilf-tests (Files): Likewise.
6344         * modules/ceill-tests (Files): Likewise.
6345         * modules/chown-tests (Files): Likewise.
6346         * modules/cloexec-tests (Files): Likewise.
6347         * modules/copy-file-tests (Files): Likewise.
6348         * modules/count-one-bits-tests (Files): Likewise.
6349         * modules/dprintf-posix-tests (Files): Likewise.
6350         * modules/dup2-tests (Files): Likewise.
6351         * modules/dup3-tests (Files): Likewise.
6352         * modules/duplocale-tests (Files): Likewise.
6353         * modules/fbufmode-tests (Files): Likewise.
6354         * modules/fchdir-tests (Files): Likewise.
6355         * modules/fcntl-safer-tests (Files): Likewise.
6356         * modules/fcntl-tests (Files): Likewise.
6357         * modules/fdopendir-tests (Files): Likewise.
6358         * modules/fdutimensat-tests (Files): Likewise.
6359         * modules/fflush-tests (Files): Likewise.
6360         * modules/filevercmp-tests (Files): Likewise.
6361         * modules/flock-tests (Files): Likewise.
6362         * modules/floorf-tests (Files): Likewise.
6363         * modules/floorl-tests (Files): Likewise.
6364         * modules/fnmatch-tests (Files): Likewise.
6365         * modules/fopen-safer-tests (Files): Likewise.
6366         * modules/fopen-tests (Files): Likewise.
6367         * modules/fpending-tests (Files): Likewise.
6368         * modules/fprintf-posix-tests (Files): Likewise.
6369         * modules/fpurge-tests (Files): Likewise.
6370         * modules/freadable-tests (Files): Likewise.
6371         * modules/freadahead-tests (Files): Likewise.
6372         * modules/freading-tests (Files): Likewise.
6373         * modules/freadptr-tests (Files): Likewise.
6374         * modules/freadseek-tests (Files): Likewise.
6375         * modules/freopen-tests (Files): Likewise.
6376         * modules/frexp-nolibm-tests (Files): Likewise.
6377         * modules/frexp-tests (Files): Likewise.
6378         * modules/frexpl-nolibm-tests (Files): Likewise.
6379         * modules/frexpl-tests (Files): Likewise.
6380         * modules/fseek-tests (Files): Likewise.
6381         * modules/fseeko-tests (Files): Likewise.
6382         * modules/fstrcmp-tests (Files): Likewise.
6383         * modules/fsync-tests (Files): Likewise.
6384         * modules/ftell-tests (Files): Likewise.
6385         * modules/ftello-tests (Files): Likewise.
6386         * modules/func-tests (Files): Likewise.
6387         * modules/futimens-tests (Files): Likewise.
6388         * modules/fwritable-tests (Files): Likewise.
6389         * modules/fwriting-tests (Files): Likewise.
6390         * modules/getcwd-tests (Files): Likewise.
6391         * modules/getdate-tests (Files): Likewise.
6392         * modules/getdelim-tests (Files): Likewise.
6393         * modules/getdtablesize-tests (Files): Likewise.
6394         * modules/getgroups-tests (Files): Likewise.
6395         * modules/getline-tests (Files): Likewise.
6396         * modules/getndelim2-tests (Files): Likewise.
6397         * modules/glob-tests (Files): Likewise.
6398         * modules/hash-tests (Files): Likewise.
6399         * modules/i-ring-tests (Files): Likewise.
6400         * modules/iconv-tests (Files): Likewise.
6401         * modules/iconv_open-utf-tests (Files): Likewise.
6402         * modules/idpriv-drop-tests (Files): Likewise.
6403         * modules/idpriv-droptemp-tests (Files): Likewise.
6404         * modules/inet_ntop-tests (Files): Likewise.
6405         * modules/inet_pton-tests (Files): Likewise.
6406         * modules/isblank-tests (Files): Likewise.
6407         * modules/isfinite-tests (Files): Likewise.
6408         * modules/isinf-tests (Files): Likewise.
6409         * modules/isnan-tests (Files): Likewise.
6410         * modules/isnand-nolibm-tests (Files): Likewise.
6411         * modules/isnand-tests (Files): Likewise.
6412         * modules/isnanf-nolibm-tests (Files): Likewise.
6413         * modules/isnanf-tests (Files): Likewise.
6414         * modules/isnanl-nolibm-tests (Files): Likewise.
6415         * modules/isnanl-tests (Files): Likewise.
6416         * modules/lchown-tests (Files): Likewise.
6417         * modules/ldexpl-tests (Files): Likewise.
6418         * modules/link-tests (Files): Likewise.
6419         * modules/linkat-tests (Files): Likewise.
6420         * modules/linked-list-tests (Files): Likewise.
6421         * modules/linkedhash-list-tests (Files): Likewise.
6422         * modules/localename-tests (Files): Likewise.
6423         * modules/lseek-tests (Files): Likewise.
6424         * modules/lstat-tests (Files): Likewise.
6425         * modules/mbmemcasecmp-tests (Files): Likewise.
6426         * modules/mbmemcasecoll-tests (Files): Likewise.
6427         * modules/mbrtowc-tests (Files): Likewise.
6428         * modules/mbscasecmp-tests (Files): Likewise.
6429         * modules/mbscasestr-tests (Files): Likewise.
6430         * modules/mbschr-tests (Files): Likewise.
6431         * modules/mbscspn-tests (Files): Likewise.
6432         * modules/mbsinit-tests (Files): Likewise.
6433         * modules/mbsncasecmp-tests (Files): Likewise.
6434         * modules/mbsnrtowcs-tests (Files): Likewise.
6435         * modules/mbspbrk-tests (Files): Likewise.
6436         * modules/mbspcasecmp-tests (Files): Likewise.
6437         * modules/mbsrchr-tests (Files): Likewise.
6438         * modules/mbsrtowcs-tests (Files): Likewise.
6439         * modules/mbsspn-tests (Files): Likewise.
6440         * modules/mbsstr-tests (Files): Likewise.
6441         * modules/memchr-tests (Files): Likewise.
6442         * modules/memchr2-tests (Files): Likewise.
6443         * modules/memcmp-tests (Files): Likewise.
6444         * modules/memmem-tests (Files): Likewise.
6445         * modules/memrchr-tests (Files): Likewise.
6446         * modules/mkdir-tests (Files): Likewise.
6447         * modules/mkfifo-tests (Files): Likewise.
6448         * modules/mkfifoat-tests (Files): Likewise.
6449         * modules/mknod-tests (Files): Likewise.
6450         * modules/nanosleep-tests (Files): Likewise.
6451         * modules/nl_langinfo-tests (Files): Likewise.
6452         * modules/obstack-printf-tests (Files): Likewise.
6453         * modules/open-tests (Files): Likewise.
6454         * modules/openat-tests (Files): Likewise.
6455         * modules/pipe-filter-gi-tests (Files): Likewise.
6456         * modules/pipe-filter-ii-tests (Files): Likewise.
6457         * modules/pipe2-tests (Files): Likewise.
6458         * modules/popen-safer-tests (Files): Likewise.
6459         * modules/popen-tests (Files): Likewise.
6460         * modules/posixtm-tests (Files): Likewise.
6461         * modules/pread-tests (Files): Likewise.
6462         * modules/printf-frexp-tests (Files): Likewise.
6463         * modules/printf-frexpl-tests (Files): Likewise.
6464         * modules/printf-posix-tests (Files): Likewise.
6465         * modules/priv-set-tests (Files): Likewise.
6466         * modules/quotearg-tests (Files): Likewise.
6467         * modules/random_r-tests (Files): Likewise.
6468         * modules/rawmemchr-tests (Files): Likewise.
6469         * modules/rbtree-list-tests (Files): Likewise.
6470         * modules/rbtree-oset-tests (Files): Likewise.
6471         * modules/rbtreehash-list-tests (Files): Likewise.
6472         * modules/readlink-tests (Files): Likewise.
6473         * modules/remove-tests (Files): Likewise.
6474         * modules/rename-tests (Files): Likewise.
6475         * modules/renameat-tests (Files): Likewise.
6476         * modules/rmdir-tests (Files): Likewise.
6477         * modules/round-tests (Files): Likewise.
6478         * modules/roundf-tests (Files): Likewise.
6479         * modules/roundl-tests (Files): Likewise.
6480         * modules/safe-alloc-tests (Files): Likewise.
6481         * modules/setenv-tests (Files): Likewise.
6482         * modules/sigaction-tests (Files): Likewise.
6483         * modules/signbit-tests (Files): Likewise.
6484         * modules/sleep-tests (Files): Likewise.
6485         * modules/snprintf-posix-tests (Files): Likewise.
6486         * modules/snprintf-tests (Files): Likewise.
6487         * modules/sprintf-posix-tests (Files): Likewise.
6488         * modules/stat-tests (Files): Likewise.
6489         * modules/stat-time-tests (Files): Likewise.
6490         * modules/strcasestr-tests (Files): Likewise.
6491         * modules/strchrnul-tests (Files): Likewise.
6492         * modules/strerror-tests (Files): Likewise.
6493         * modules/striconv-tests (Files): Likewise.
6494         * modules/striconveh-tests (Files): Likewise.
6495         * modules/striconveha-tests (Files): Likewise.
6496         * modules/strsignal-tests (Files): Likewise.
6497         * modules/strstr-tests (Files): Likewise.
6498         * modules/strtod-tests (Files): Likewise.
6499         * modules/strverscmp-tests (Files): Likewise.
6500         * modules/symlink-tests (Files): Likewise.
6501         * modules/symlinkat-tests (Files): Likewise.
6502         * modules/trunc-tests (Files): Likewise.
6503         * modules/truncf-tests (Files): Likewise.
6504         * modules/truncl-tests (Files): Likewise.
6505         * modules/uname-tests (Files): Likewise.
6506         * modules/unicase/cased-tests (Files): Likewise.
6507         * modules/unicase/ignorable-tests (Files): Likewise.
6508         * modules/unicase/locale-language-tests (Files): Likewise.
6509         * modules/unicase/tolower-tests (Files): Likewise.
6510         * modules/unicase/totitle-tests (Files): Likewise.
6511         * modules/unicase/toupper-tests (Files): Likewise.
6512         * modules/unicase/u8-casecmp-tests (Files): Likewise.
6513         * modules/unicase/u8-casecoll-tests (Files): Likewise.
6514         * modules/unicase/u8-casefold-tests (Files): Likewise.
6515         * modules/unicase/u8-is-cased-tests (Files): Likewise.
6516         * modules/unicase/u8-is-casefolded-tests (Files): Likewise.
6517         * modules/unicase/u8-is-lowercase-tests (Files): Likewise.
6518         * modules/unicase/u8-is-titlecase-tests (Files): Likewise.
6519         * modules/unicase/u8-is-uppercase-tests (Files): Likewise.
6520         * modules/unicase/u8-tolower-tests (Files): Likewise.
6521         * modules/unicase/u8-totitle-tests (Files): Likewise.
6522         * modules/unicase/u8-toupper-tests (Files): Likewise.
6523         * modules/unicase/u16-casecmp-tests (Files): Likewise.
6524         * modules/unicase/u16-casecoll-tests (Files): Likewise.
6525         * modules/unicase/u16-casefold-tests (Files): Likewise.
6526         * modules/unicase/u16-is-cased-tests (Files): Likewise.
6527         * modules/unicase/u16-is-casefolded-tests (Files): Likewise.
6528         * modules/unicase/u16-is-lowercase-tests (Files): Likewise.
6529         * modules/unicase/u16-is-titlecase-tests (Files): Likewise.
6530         * modules/unicase/u16-is-uppercase-tests (Files): Likewise.
6531         * modules/unicase/u16-tolower-tests (Files): Likewise.
6532         * modules/unicase/u16-totitle-tests (Files): Likewise.
6533         * modules/unicase/u16-toupper-tests (Files): Likewise.
6534         * modules/unicase/u32-casecmp-tests (Files): Likewise.
6535         * modules/unicase/u32-casecoll-tests (Files): Likewise.
6536         * modules/unicase/u32-casefold-tests (Files): Likewise.
6537         * modules/unicase/u32-is-cased-tests (Files): Likewise.
6538         * modules/unicase/u32-is-casefolded-tests (Files): Likewise.
6539         * modules/unicase/u32-is-lowercase-tests (Files): Likewise.
6540         * modules/unicase/u32-is-titlecase-tests (Files): Likewise.
6541         * modules/unicase/u32-is-uppercase-tests (Files): Likewise.
6542         * modules/unicase/u32-tolower-tests (Files): Likewise.
6543         * modules/unicase/u32-totitle-tests (Files): Likewise.
6544         * modules/unicase/u32-toupper-tests (Files): Likewise.
6545         * modules/unicase/ulc-casecmp-tests (Files): Likewise.
6546         * modules/unicase/ulc-casecoll-tests (Files): Likewise.
6547         * modules/uniconv/u8-conv-from-enc-tests (Files): Likewise.
6548         * modules/uniconv/u8-conv-to-enc-tests (Files): Likewise.
6549         * modules/uniconv/u8-strconv-from-enc-tests (Files): Likewise.
6550         * modules/uniconv/u8-strconv-to-enc-tests (Files): Likewise.
6551         * modules/uniconv/u16-conv-from-enc-tests (Files): Likewise.
6552         * modules/uniconv/u16-conv-to-enc-tests (Files): Likewise.
6553         * modules/uniconv/u16-strconv-from-enc-tests (Files): Likewise.
6554         * modules/uniconv/u16-strconv-to-enc-tests (Files): Likewise.
6555         * modules/uniconv/u32-conv-from-enc-tests (Files): Likewise.
6556         * modules/uniconv/u32-conv-to-enc-tests (Files): Likewise.
6557         * modules/uniconv/u32-strconv-from-enc-tests (Files): Likewise.
6558         * modules/uniconv/u32-strconv-to-enc-tests (Files): Likewise.
6559         * modules/unictype/bidicategory-byname-tests (Files): Likewise.
6560         * modules/unictype/bidicategory-name-tests (Files): Likewise.
6561         * modules/unictype/bidicategory-of-tests (Files): Likewise.
6562         * modules/unictype/bidicategory-test-tests (Files): Likewise.
6563         * modules/unictype/block-list-tests (Files): Likewise.
6564         * modules/unictype/block-of-tests (Files): Likewise.
6565         * modules/unictype/block-test-tests (Files): Likewise.
6566         * modules/unictype/category-C-tests (Files): Likewise.
6567         * modules/unictype/category-Cc-tests (Files): Likewise.
6568         * modules/unictype/category-Cf-tests (Files): Likewise.
6569         * modules/unictype/category-Cn-tests (Files): Likewise.
6570         * modules/unictype/category-Co-tests (Files): Likewise.
6571         * modules/unictype/category-Cs-tests (Files): Likewise.
6572         * modules/unictype/category-L-tests (Files): Likewise.
6573         * modules/unictype/category-Ll-tests (Files): Likewise.
6574         * modules/unictype/category-Lm-tests (Files): Likewise.
6575         * modules/unictype/category-Lo-tests (Files): Likewise.
6576         * modules/unictype/category-Lt-tests (Files): Likewise.
6577         * modules/unictype/category-Lu-tests (Files): Likewise.
6578         * modules/unictype/category-M-tests (Files): Likewise.
6579         * modules/unictype/category-Mc-tests (Files): Likewise.
6580         * modules/unictype/category-Me-tests (Files): Likewise.
6581         * modules/unictype/category-Mn-tests (Files): Likewise.
6582         * modules/unictype/category-N-tests (Files): Likewise.
6583         * modules/unictype/category-Nd-tests (Files): Likewise.
6584         * modules/unictype/category-Nl-tests (Files): Likewise.
6585         * modules/unictype/category-No-tests (Files): Likewise.
6586         * modules/unictype/category-P-tests (Files): Likewise.
6587         * modules/unictype/category-Pc-tests (Files): Likewise.
6588         * modules/unictype/category-Pd-tests (Files): Likewise.
6589         * modules/unictype/category-Pe-tests (Files): Likewise.
6590         * modules/unictype/category-Pf-tests (Files): Likewise.
6591         * modules/unictype/category-Pi-tests (Files): Likewise.
6592         * modules/unictype/category-Po-tests (Files): Likewise.
6593         * modules/unictype/category-Ps-tests (Files): Likewise.
6594         * modules/unictype/category-S-tests (Files): Likewise.
6595         * modules/unictype/category-Sc-tests (Files): Likewise.
6596         * modules/unictype/category-Sk-tests (Files): Likewise.
6597         * modules/unictype/category-Sm-tests (Files): Likewise.
6598         * modules/unictype/category-So-tests (Files): Likewise.
6599         * modules/unictype/category-Z-tests (Files): Likewise.
6600         * modules/unictype/category-Zl-tests (Files): Likewise.
6601         * modules/unictype/category-Zp-tests (Files): Likewise.
6602         * modules/unictype/category-Zs-tests (Files): Likewise.
6603         * modules/unictype/category-and-not-tests (Files): Likewise.
6604         * modules/unictype/category-and-tests (Files): Likewise.
6605         * modules/unictype/category-byname-tests (Files): Likewise.
6606         * modules/unictype/category-name-tests (Files): Likewise.
6607         * modules/unictype/category-none-tests (Files): Likewise.
6608         * modules/unictype/category-of-tests (Files): Likewise.
6609         * modules/unictype/category-or-tests (Files): Likewise.
6610         * modules/unictype/category-test-withtable-tests (Files): Likewise.
6611         * modules/unictype/combining-class-tests (Files): Likewise.
6612         * modules/unictype/ctype-alnum-tests (Files): Likewise.
6613         * modules/unictype/ctype-alpha-tests (Files): Likewise.
6614         * modules/unictype/ctype-blank-tests (Files): Likewise.
6615         * modules/unictype/ctype-cntrl-tests (Files): Likewise.
6616         * modules/unictype/ctype-digit-tests (Files): Likewise.
6617         * modules/unictype/ctype-graph-tests (Files): Likewise.
6618         * modules/unictype/ctype-lower-tests (Files): Likewise.
6619         * modules/unictype/ctype-print-tests (Files): Likewise.
6620         * modules/unictype/ctype-punct-tests (Files): Likewise.
6621         * modules/unictype/ctype-space-tests (Files): Likewise.
6622         * modules/unictype/ctype-upper-tests (Files): Likewise.
6623         * modules/unictype/ctype-xdigit-tests (Files): Likewise.
6624         * modules/unictype/decimal-digit-tests (Files): Likewise.
6625         * modules/unictype/digit-tests (Files): Likewise.
6626         * modules/unictype/mirror-tests (Files): Likewise.
6627         * modules/unictype/numeric-tests (Files): Likewise.
6628         * modules/unictype/property-alphabetic-tests (Files): Likewise.
6629         * modules/unictype/property-ascii-hex-digit-tests (Files): Likewise.
6630         * modules/unictype/property-bidi-arabic-digit-tests (Files): Likewise.
6631         * modules/unictype/property-bidi-arabic-right-to-left-tests (Files):
6632         Likewise.
6633         * modules/unictype/property-bidi-block-separator-tests (Files):
6634         Likewise.
6635         * modules/unictype/property-bidi-boundary-neutral-tests (Files):
6636         Likewise.
6637         * modules/unictype/property-bidi-common-separator-tests (Files):
6638         Likewise.
6639         * modules/unictype/property-bidi-control-tests (Files): Likewise.
6640         * modules/unictype/property-bidi-embedding-or-override-tests (Files):
6641         Likewise.
6642         * modules/unictype/property-bidi-eur-num-separator-tests (Files):
6643         Likewise.
6644         * modules/unictype/property-bidi-eur-num-terminator-tests (Files):
6645         Likewise.
6646         * modules/unictype/property-bidi-european-digit-tests (Files): Likewise.
6647         * modules/unictype/property-bidi-hebrew-right-to-left-tests (Files):
6648         Likewise.
6649         * modules/unictype/property-bidi-left-to-right-tests (Files): Likewise.
6650         * modules/unictype/property-bidi-non-spacing-mark-tests (Files):
6651         Likewise.
6652         * modules/unictype/property-bidi-other-neutral-tests (Files): Likewise.
6653         * modules/unictype/property-bidi-pdf-tests (Files): Likewise.
6654         * modules/unictype/property-bidi-segment-separator-tests (Files):
6655         Likewise.
6656         * modules/unictype/property-bidi-whitespace-tests (Files): Likewise.
6657         * modules/unictype/property-byname-tests (Files): Likewise.
6658         * modules/unictype/property-combining-tests (Files): Likewise.
6659         * modules/unictype/property-composite-tests (Files): Likewise.
6660         * modules/unictype/property-currency-symbol-tests (Files): Likewise.
6661         * modules/unictype/property-dash-tests (Files): Likewise.
6662         * modules/unictype/property-decimal-digit-tests (Files): Likewise.
6663         * modules/unictype/property-default-ignorable-code-point-tests (Files):
6664         Likewise.
6665         * modules/unictype/property-deprecated-tests (Files): Likewise.
6666         * modules/unictype/property-diacritic-tests (Files): Likewise.
6667         * modules/unictype/property-extender-tests (Files): Likewise.
6668         * modules/unictype/property-format-control-tests (Files): Likewise.
6669         * modules/unictype/property-grapheme-base-tests (Files): Likewise.
6670         * modules/unictype/property-grapheme-extend-tests (Files): Likewise.
6671         * modules/unictype/property-grapheme-link-tests (Files): Likewise.
6672         * modules/unictype/property-hex-digit-tests (Files): Likewise.
6673         * modules/unictype/property-hyphen-tests (Files): Likewise.
6674         * modules/unictype/property-id-continue-tests (Files): Likewise.
6675         * modules/unictype/property-id-start-tests (Files): Likewise.
6676         * modules/unictype/property-ideographic-tests (Files): Likewise.
6677         * modules/unictype/property-ids-binary-operator-tests (Files): Likewise.
6678         * modules/unictype/property-ids-trinary-operator-tests (Files):
6679         Likewise.
6680         * modules/unictype/property-ignorable-control-tests (Files): Likewise.
6681         * modules/unictype/property-iso-control-tests (Files): Likewise.
6682         * modules/unictype/property-join-control-tests (Files): Likewise.
6683         * modules/unictype/property-left-of-pair-tests (Files): Likewise.
6684         * modules/unictype/property-line-separator-tests (Files): Likewise.
6685         * modules/unictype/property-logical-order-exception-tests (Files):
6686         Likewise.
6687         * modules/unictype/property-lowercase-tests (Files): Likewise.
6688         * modules/unictype/property-math-tests (Files): Likewise.
6689         * modules/unictype/property-non-break-tests (Files): Likewise.
6690         * modules/unictype/property-not-a-character-tests (Files): Likewise.
6691         * modules/unictype/property-numeric-tests (Files): Likewise.
6692         * modules/unictype/property-other-alphabetic-tests (Files): Likewise.
6693         * modules/unictype/property-other-default-ignorable-code-point-tests
6694         (Files): Likewise.
6695         * modules/unictype/property-other-grapheme-extend-tests (Files):
6696         Likewise.
6697         * modules/unictype/property-other-id-continue-tests (Files): Likewise.
6698         * modules/unictype/property-other-id-start-tests (Files): Likewise.
6699         * modules/unictype/property-other-lowercase-tests (Files): Likewise.
6700         * modules/unictype/property-other-math-tests (Files): Likewise.
6701         * modules/unictype/property-other-uppercase-tests (Files): Likewise.
6702         * modules/unictype/property-paired-punctuation-tests (Files): Likewise.
6703         * modules/unictype/property-paragraph-separator-tests (Files): Likewise.
6704         * modules/unictype/property-pattern-syntax-tests (Files): Likewise.
6705         * modules/unictype/property-pattern-white-space-tests (Files): Likewise.
6706         * modules/unictype/property-private-use-tests (Files): Likewise.
6707         * modules/unictype/property-punctuation-tests (Files): Likewise.
6708         * modules/unictype/property-quotation-mark-tests (Files): Likewise.
6709         * modules/unictype/property-radical-tests (Files): Likewise.
6710         * modules/unictype/property-sentence-terminal-tests (Files): Likewise.
6711         * modules/unictype/property-soft-dotted-tests (Files): Likewise.
6712         * modules/unictype/property-space-tests (Files): Likewise.
6713         * modules/unictype/property-terminal-punctuation-tests (Files):
6714         Likewise.
6715         * modules/unictype/property-test-tests (Files): Likewise.
6716         * modules/unictype/property-titlecase-tests (Files): Likewise.
6717         * modules/unictype/property-unassigned-code-value-tests (Files):
6718         Likewise.
6719         * modules/unictype/property-unified-ideograph-tests (Files): Likewise.
6720         * modules/unictype/property-uppercase-tests (Files): Likewise.
6721         * modules/unictype/property-variation-selector-tests (Files): Likewise.
6722         * modules/unictype/property-white-space-tests (Files): Likewise.
6723         * modules/unictype/property-xid-continue-tests (Files): Likewise.
6724         * modules/unictype/property-xid-start-tests (Files): Likewise.
6725         * modules/unictype/property-zero-width-tests (Files): Likewise.
6726         * modules/unictype/scripts-tests (Files): Likewise.
6727         * modules/unictype/syntax-c-ident-tests (Files): Likewise.
6728         * modules/unictype/syntax-c-whitespace-tests (Files): Likewise.
6729         * modules/unictype/syntax-java-ident-tests (Files): Likewise.
6730         * modules/unictype/syntax-java-whitespace-tests (Files): Likewise.
6731         * modules/unilbrk/u8-possible-linebreaks-tests (Files): Likewise.
6732         * modules/unilbrk/u8-width-linebreaks-tests (Files): Likewise.
6733         * modules/unilbrk/u16-possible-linebreaks-tests (Files): Likewise.
6734         * modules/unilbrk/u16-width-linebreaks-tests (Files): Likewise.
6735         * modules/unilbrk/u32-possible-linebreaks-tests (Files): Likewise.
6736         * modules/unilbrk/u32-width-linebreaks-tests (Files): Likewise.
6737         * modules/unilbrk/ulc-possible-linebreaks-tests (Files): Likewise.
6738         * modules/unilbrk/ulc-width-linebreaks-tests (Files): Likewise.
6739         * modules/uninorm/canonical-decomposition-tests (Files): Likewise.
6740         * modules/uninorm/compat-decomposition-tests (Files): Likewise.
6741         * modules/uninorm/composition-tests (Files): Likewise.
6742         * modules/uninorm/decomposing-form-tests (Files): Likewise.
6743         * modules/uninorm/decomposition-tests (Files): Likewise.
6744         * modules/uninorm/filter-tests (Files): Likewise.
6745         * modules/uninorm/nfc-tests (Files): Likewise.
6746         * modules/uninorm/nfd-tests (Files): Likewise.
6747         * modules/uninorm/nfkc-tests (Files): Likewise.
6748         * modules/uninorm/nfkd-tests (Files): Likewise.
6749         * modules/uninorm/u8-normcmp-tests (Files): Likewise.
6750         * modules/uninorm/u8-normcoll-tests (Files): Likewise.
6751         * modules/uninorm/u16-normcmp-tests (Files): Likewise.
6752         * modules/uninorm/u16-normcoll-tests (Files): Likewise.
6753         * modules/uninorm/u32-normcmp-tests (Files): Likewise.
6754         * modules/uninorm/u32-normcoll-tests (Files): Likewise.
6755         * modules/unistdio/u8-asnprintf-tests (Files): Likewise.
6756         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
6757         * modules/unistdio/u8-vasprintf-tests (Files): Likewise.
6758         * modules/unistdio/u8-vsnprintf-tests (Files): Likewise.
6759         * modules/unistdio/u8-vsprintf-tests (Files): Likewise.
6760         * modules/unistdio/u16-asnprintf-tests (Files): Likewise.
6761         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
6762         * modules/unistdio/u16-vasprintf-tests (Files): Likewise.
6763         * modules/unistdio/u16-vsnprintf-tests (Files): Likewise.
6764         * modules/unistdio/u16-vsprintf-tests (Files): Likewise.
6765         * modules/unistdio/u32-asnprintf-tests (Files): Likewise.
6766         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
6767         * modules/unistdio/u32-vasprintf-tests (Files): Likewise.
6768         * modules/unistdio/u32-vsnprintf-tests (Files): Likewise.
6769         * modules/unistdio/u32-vsprintf-tests (Files): Likewise.
6770         * modules/unistdio/ulc-asnprintf-tests (Files): Likewise.
6771         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
6772         * modules/unistdio/ulc-vasprintf-tests (Files): Likewise.
6773         * modules/unistdio/ulc-vsnprintf-tests (Files): Likewise.
6774         * modules/unistdio/ulc-vsprintf-tests (Files): Likewise.
6775         * modules/uniwbrk/u8-wordbreaks-tests (Files): Likewise.
6776         * modules/uniwbrk/u16-wordbreaks-tests (Files): Likewise.
6777         * modules/uniwbrk/u32-wordbreaks-tests (Files): Likewise.
6778         * modules/uniwbrk/ulc-wordbreaks-tests (Files): Likewise.
6779         * modules/uniwidth/u8-strwidth-tests (Files): Likewise.
6780         * modules/uniwidth/u8-width-tests (Files): Likewise.
6781         * modules/uniwidth/u16-strwidth-tests (Files): Likewise.
6782         * modules/uniwidth/u16-width-tests (Files): Likewise.
6783         * modules/uniwidth/u32-strwidth-tests (Files): Likewise.
6784         * modules/uniwidth/u32-width-tests (Files): Likewise.
6785         * modules/uniwidth/width-tests (Files): Likewise.
6786         * modules/unlink-tests (Files): Likewise.
6787         * modules/unsetenv-tests (Files): Likewise.
6788         * modules/usleep-tests (Files): Likewise.
6789         * modules/utimens-tests (Files): Likewise.
6790         * modules/utimensat-tests (Files): Likewise.
6791         * modules/vasnprintf-posix-tests (Files): Likewise.
6792         * modules/vasnprintf-tests (Files): Likewise.
6793         * modules/vasprintf-posix-tests (Files): Likewise.
6794         * modules/vasprintf-tests (Files): Likewise.
6795         * modules/vdprintf-posix-tests (Files): Likewise.
6796         * modules/vfprintf-posix-tests (Files): Likewise.
6797         * modules/vprintf-posix-tests (Files): Likewise.
6798         * modules/vsnprintf-posix-tests (Files): Likewise.
6799         * modules/vsnprintf-tests (Files): Likewise.
6800         * modules/vsprintf-posix-tests (Files): Likewise.
6801         * modules/wcrtomb-tests (Files): Likewise.
6802         * modules/wcsnrtombs-tests (Files): Likewise.
6803         * modules/wcsrtombs-tests (Files): Likewise.
6804         * modules/wctype-tests (Files): Likewise.
6805         * modules/wcwidth-tests (Files): Likewise.
6806         * modules/xmemdup0-tests (Files): Likewise.
6807         * modules/xprintf-posix-tests (Files): Likewise.
6808         * modules/xvasprintf-tests (Files): Likewise.
6809
6810 2009-12-24  Eric Blake  <ebb9@byu.net>
6811
6812         test-nanosleep: fix typo
6813         * tests/test-nanosleep.c (SIGNATURE_CHECK): Fix typo in previous
6814         patch.
6815         Reported by Bruno Haible.
6816
6817 2009-12-24  Bruno Haible  <bruno@clisp.org>
6818
6819         Reduce namespace pollution on glibc systems.
6820         * lib/inttypes.in.h: Don't include <stdint.h> on glibc systems.
6821         * lib/stdlib.in.h: Don't include <stdint.h>, <unistd.h> on glibc
6822         systems.
6823         * lib/unistd.in.h: Don't include <stdio.h>, <fcntl.h>, <stdlib.h>,
6824         <getopt.h> on glibc systems.
6825         * lib/fcntl.in.h: Don't include <sys/stat.h>, <unistd.h> on glibc
6826         systems.
6827         * lib/fcntl.c: Include <unistd.h> here instead.
6828
6829 2009-12-24  Bruno Haible  <bruno@clisp.org>
6830
6831         * lib/stdlib.in.h (includes): Fix typo in today's commit.
6832
6833 2009-12-24  Eric Blake  <ebb9@byu.net>
6834
6835         tests: add signature checks
6836         * tests/signature.h (SIGNATURE_CHECK): New file.
6837         * modules/atexit-tests (Files): Use it.
6838         * modules/btowc-tests (Files): Likewise.
6839         * modules/canonicalize-lgpl-tests (Files): Likewise.
6840         * modules/ceilf-tests (Files): Likewise.
6841         * modules/ceill-tests (Files): Likewise.
6842         * modules/chown-tests (Files): Likewise.
6843         * modules/dprintf-posix-tests (Files): Likewise.
6844         * modules/dup2-tests (Files): Likewise.
6845         * modules/dup3-tests (Files): Likewise.
6846         * modules/duplocale-tests (Files): Likewise.
6847         * modules/fchdir-tests (Files): Likewise.
6848         * modules/fcntl-tests (Files): Likewise.
6849         * modules/fdopendir-tests (Files): Likewise.
6850         * modules/fflush-tests (Files): Likewise.
6851         * modules/flock-tests (Files): Likewise.
6852         * modules/floorf-tests (Files): Likewise.
6853         * modules/floorl-tests (Files): Likewise.
6854         * modules/fnmatch-tests (Files): Likewise.
6855         * modules/fopen-tests (Files): Likewise.
6856         * modules/fprintf-posix-tests (Files): Likewise.
6857         * modules/freopen-tests (Files): Likewise.
6858         * modules/frexp-nolibm-tests (Files): Likewise.
6859         * modules/frexp-tests (Files): Likewise.
6860         * modules/frexpl-nolibm-tests (Files): Likewise.
6861         * modules/frexpl-tests (Files): Likewise.
6862         * modules/fseek-tests (Files): Likewise.
6863         * modules/fseeko-tests (Files): Likewise.
6864         * modules/fsync-tests (Files): Likewise.
6865         * modules/ftell-tests (Files): Likewise.
6866         * modules/ftello-tests (Files): Likewise.
6867         * modules/futimens-tests (Files): Likewise.
6868         * modules/getaddrinfo-tests (Files): Likewise.
6869         * modules/getcwd-tests (Files): Likewise.
6870         * modules/getdelim-tests (Files): Likewise.
6871         * modules/getdtablesize-tests (Files): Likewise.
6872         * modules/getgroups-tests (Files): Likewise.
6873         * modules/gethostname-tests (Files): Likewise.
6874         * modules/getline-tests (Files): Likewise.
6875         * modules/getopt-posix-tests (Files): Likewise.
6876         * modules/gettimeofday-tests (Files): Likewise.
6877         * modules/glob-tests (Files): Likewise.
6878         * modules/iconv-tests (Files): Likewise.
6879         * modules/inet_ntop-tests (Files): Likewise.
6880         * modules/inet_pton-tests (Files): Likewise.
6881         * modules/isblank-tests (Files): Likewise.
6882         * modules/lchown-tests (Files): Likewise.
6883         * modules/ldexpl-tests (Files): Likewise.
6884         * modules/link-tests (Files): Likewise.
6885         * modules/linkat-tests (Files): Likewise.
6886         * modules/lseek-tests (Files): Likewise.
6887         * modules/lstat-tests (Files): Likewise.
6888         * modules/mbrtowc-tests (Files): Likewise.
6889         * modules/mbsinit-tests (Files): Likewise.
6890         * modules/mbsnrtowcs-tests (Files): Likewise.
6891         * modules/mbsrtowcs-tests (Files): Likewise.
6892         * modules/memchr-tests (Files): Likewise.
6893         * modules/memcmp-tests (Files): Likewise.
6894         * modules/memmem-tests (Files): Likewise.
6895         * modules/memrchr-tests (Files): Likewise.
6896         * modules/mkdir-tests (Files): Likewise.
6897         * modules/mkfifo-tests (Files): Likewise.
6898         * modules/mkfifoat-tests (Files): Likewise.
6899         * modules/mknod-tests (Files): Likewise.
6900         * modules/nanosleep-tests (Files): Likewise.
6901         * modules/nl_langinfo-tests (Files): Likewise.
6902         * modules/obstack-printf-tests (Files): Likewise.
6903         * modules/open-tests (Files): Likewise.
6904         * modules/openat-tests (Files): Likewise.
6905         * modules/perror-tests (Files): Likewise.
6906         * modules/pipe2-tests (Files): Likewise.
6907         * modules/poll-tests (Files): Likewise.
6908         * modules/popen-tests (Files): Likewise.
6909         * modules/posix_spawn-tests (Files): Likewise.
6910         * modules/posix_spawnp-tests (Files): Likewise.
6911         * modules/pread-tests (Files): Likewise.
6912         * modules/printf-posix-tests (Files): Likewise.
6913         * modules/pty-tests (Files): Likewise.
6914         * modules/random_r-tests (Files): Likewise.
6915         * modules/rawmemchr-tests (Files): Likewise.
6916         * modules/readlink-tests (Files): Likewise.
6917         * modules/remove-tests (Files): Likewise.
6918         * modules/rename-tests (Files): Likewise.
6919         * modules/renameat-tests (Files): Likewise.
6920         * modules/rmdir-tests (Files): Likewise.
6921         * modules/round-tests (Files): Likewise.
6922         * modules/roundf-tests (Files): Likewise.
6923         * modules/roundl-tests (Files): Likewise.
6924         * modules/select-tests (Files): Likewise.
6925         * modules/setenv-tests (Files): Likewise.
6926         * modules/sigaction-tests (Files): Likewise.
6927         * modules/sleep-tests (Files): Likewise.
6928         * modules/snprintf-posix-tests (Files): Likewise.
6929         * modules/snprintf-tests (Files): Likewise.
6930         * modules/sprintf-posix-tests (Files): Likewise.
6931         * modules/stat-tests (Files): Likewise.
6932         * modules/strcasestr-tests (Files): Likewise.
6933         * modules/strchrnul-tests (Files): Likewise.
6934         * modules/strerror-tests (Files): Likewise.
6935         * modules/strsignal-tests (Files): Likewise.
6936         * modules/strstr-tests (Files): Likewise.
6937         * modules/strtod-tests (Files): Likewise.
6938         * modules/strverscmp-tests (Files): Likewise.
6939         * modules/symlink-tests (Files): Likewise.
6940         * modules/symlinkat-tests (Files): Likewise.
6941         * modules/times-tests (Files): Likewise.
6942         * modules/trunc-tests (Files): Likewise.
6943         * modules/truncf-tests (Files): Likewise.
6944         * modules/truncl-tests (Files): Likewise.
6945         * modules/tsearch-tests (Files): Likewise.
6946         * modules/uname-tests (Files): Likewise.
6947         * modules/unlink-tests (Files): Likewise.
6948         * modules/unsetenv-tests (Files): Likewise.
6949         * modules/usleep-tests (Files): Likewise.
6950         * modules/utimensat-tests (Files): Likewise.
6951         * modules/vasprintf-tests (Files): Likewise.
6952         * modules/vdprintf-posix-tests (Files): Likewise.
6953         * modules/vfprintf-posix-tests (Files): Likewise.
6954         * modules/vprintf-posix-tests (Files): Likewise.
6955         * modules/vsnprintf-posix-tests (Files): Likewise.
6956         * modules/vsnprintf-tests (Files): Likewise.
6957         * modules/vsprintf-posix-tests (Files): Likewise.
6958         * modules/wcrtomb-tests (Files): Likewise.
6959         * modules/wcsnrtombs-tests (Files): Likewise.
6960         * modules/wcsrtombs-tests (Files): Likewise.
6961         * modules/wcwidth-tests (Files): Likewise.
6962         * tests/test-isfinite.c (isfinite): Ensure macro declaration.
6963         * tests/test-isinf.c (isinf): Likewise.
6964         * tests/test-isnan.c (isnan): Likewise.
6965         * tests/test-signbit.c (signbit): Likewise.
6966         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Ensure
6967         declaration, either as macro or with correct signature.
6968         (select): Ensure function under test is declared with correct
6969         signature in correct header.
6970         * tests/test-atexit.c (atexit): Likewise.
6971         * tests/test-btowc.c (btowc): Likewise.
6972         * tests/test-canonicalize-lgpl.c (realpath)
6973         (canonicalize_file_name): Likewise.
6974         * tests/test-ceilf1.c (ceilf): Likewise.
6975         * tests/test-ceill.c (ceill): Likewise.
6976         * tests/test-chown.c (chown): Likewise.
6977         * tests/test-dprintf-posix.c (dprintf): Likewise.
6978         * tests/test-dup2.c (dup2): Likewise.
6979         * tests/test-dup3.c (dup3): Likewise.
6980         * tests/test-duplocale.c (duplocale): Likewise.
6981         * tests/test-fchdir.c (fchdir): Likewise.
6982         * tests/test-fchownat.c (fchownat): Likewise.
6983         * tests/test-fcntl.c (fcntl): Likewise.
6984         * tests/test-fdopendir.c (fdopendir): Likewise.
6985         * tests/test-fflush.c (fflush): Likewise.
6986         * tests/test-flock.c (flock): Likewise.
6987         * tests/test-floorf1.c (floorf): Likewise.
6988         * tests/test-floorl.c (floorl): Likewise.
6989         * tests/test-fnmatch.c (fnmatch): Likewise.
6990         * tests/test-fopen.c (fopen): Likewise.
6991         * tests/test-fprintf-posix.c (fprintf): Likewise.
6992         * tests/test-freopen.c (freopen): Likewise.
6993         * tests/test-frexp.c (frexp): Likewise.
6994         * tests/test-frexpl.c (frexpl): Likewise.
6995         * tests/test-fseek.c (fseek): Likewise.
6996         * tests/test-fseeko.c (fseeko): Likewise.
6997         * tests/test-fstatat.c (fstatat): Likewise.
6998         * tests/test-fsync.c (fsync): Likewise.
6999         * tests/test-ftell.c (ftell): Likewise.
7000         * tests/test-ftello.c (ftello): Likewise.
7001         * tests/test-futimens.c (futimens): Likewise.
7002         * tests/test-getaddrinfo.c (getaddrinfo, freeaddrinfo)
7003         (gai_strerror): Likewise.
7004         * tests/test-getcwd.c (getcwd): Likewise.
7005         * tests/test-getdelim.c (getdelim): Likewise.
7006         * tests/test-getdtablesize.c (getdtablesize): Likewise.
7007         * tests/test-getgroups.c (getgroups): Likewise.
7008         * tests/test-gethostname.c (gethostname): Likewise.
7009         * tests/test-getline.c (getline): Likewise.
7010         * tests/test-getopt.c (getopt, getopt_long, getopt_long_only):
7011         Likewise.
7012         * tests/test-gettimeofday.c (gettimeofday): Likewise.
7013         * tests/test-glob.c (glob, globfree): Likewise.
7014         * tests/test-iconv.c (iconv, iconv_open, iconv_close): Likewise.
7015         * tests/test-inet_ntop.c (inet_ntop): Likewise.
7016         * tests/test-inet_pton.c (inet_pton): Likewise.
7017         * tests/test-isblank.c (isblank): Likewise.
7018         * tests/test-lchown.c (lchown): Likewise.
7019         * tests/test-ldexpl.c (ldexpl): Likewise.
7020         * tests/test-link.c (link): Likewise.
7021         * tests/test-linkat.c (linkat): Likewise.
7022         * tests/test-lseek.c (lseek): Likewise.
7023         * tests/test-lstat.c (lstat): Likewise.
7024         * tests/test-mbrtowc.c (mbrtowc): Likewise.
7025         * tests/test-mbsinit.c (mbsinit): Likewise.
7026         * tests/test-mbsnrtowcs.c (mbsnrtowcs): Likewise.
7027         * tests/test-mbsrtowcs.c (mbsrtowcs): Likewise.
7028         * tests/test-memchr.c (memchr): Likewise.
7029         * tests/test-memcmp.c (memcmp): Likewise.
7030         * tests/test-memmem.c (memmem): Likewise.
7031         * tests/test-memrchr.c (memrchr): Likewise.
7032         * tests/test-mkdir.c (mkdir): Likewise.
7033         * tests/test-mkdirat.c (mkdirat): Likewise.
7034         * tests/test-mkfifo.c (mkfifo): Likewise.
7035         * tests/test-mkfifoat.c (mkfifoat, mknodat): Likewise.
7036         * tests/test-mknod.c (mknod): Likewise.
7037         * tests/test-nanosleep.c (nanosleep): Likewise.
7038         * tests/test-nl_langinfo.c (nl_langinfo): Likewise.
7039         * tests/test-obstack-printf.c (obstack_printf, obstack_vprintf):
7040         Likewise.
7041         * tests/test-open.c (open): Likewise.
7042         * tests/test-openat.c (openat): Likewise.
7043         * tests/test-perror.c (perror): Likewise.
7044         * tests/test-pipe2.c (pipe2): Likewise.
7045         * tests/test-poll.c (poll): Likewise.
7046         * tests/test-popen.c (popen, pclose): Likewise.
7047         * tests/test-posix_spawn1.c (posix_spawnp, posix_spawnattr_init)
7048         (posix_spawnattr_destroy, posix_spawnattr_setsigmask)
7049         (posix_spawnattr_setflags, posix_spawn_file_actions_init)
7050         (posix_spawn_file_actions_destroy)
7051         (posix_spawn_file_actions_addclose)
7052         (posix_spawn_file_actions_addopen)
7053         (posix_spawn_file_actions_adddup2): Likewise.
7054         * tests/test-posix_spawn3.c (posix_spawn): Likewise.
7055         * tests/test-pread.c (pread): Likewise.
7056         * tests/test-printf-posix.c (printf): Likewise.
7057         * tests/test-pty.c (openpty, forkpty): Likewise.
7058         * tests/test-random_r.c (srandom_r, initstate_r, setstate_r)
7059         (random_r): Likewise.
7060         * tests/test-rawmemchr.c (rawmemchr): Likewise.
7061         * tests/test-readlink.c (readlink): Likewise.
7062         * tests/test-remove.c (remove): Likewise.
7063         * tests/test-rename.c (rename): Likewise.
7064         * tests/test-renameat.c (renameat): Likewise.
7065         * tests/test-rmdir.c (rmdir): Likewise.
7066         * tests/test-round1.c (round): Likewise.
7067         * tests/test-roundf1.c (roundf): Likewise.
7068         * tests/test-roundl.c (roundl): Likewise.
7069         * tests/test-setenv.c (setenv): Likewise.
7070         * tests/test-sigaction.c (sigaction): Likewise.
7071         * tests/test-sleep.c (sleep): Likewise.
7072         * tests/test-snprintf.c (snprintf): Likewise.
7073         * tests/test-sprintf-posix.c (sprintf): Likewise.
7074         * tests/test-stat.c (stat): Likewise.
7075         * tests/test-stpncpy.c (stpncpy): Likewise.
7076         * tests/test-strcasestr.c (strcasestr): Likewise.
7077         * tests/test-strchrnul.c (strchrnul): Likewise.
7078         * tests/test-strerror.c (strerror): Likewise.
7079         * tests/test-strsignal.c (strsignal): Likewise.
7080         * tests/test-strstr.c (strstr): Likewise.
7081         * tests/test-strtod.c (strtod): Likewise.
7082         * tests/test-strverscmp.c (strverscmp): Likewise.
7083         * tests/test-symlink.c (symlink): Likewise.
7084         * tests/test-symlinkat.c (symlinkat, readlinkat): Likewise.
7085         * tests/test-times.c (times): Likewise.
7086         * tests/test-trunc1.c (trunc): Likewise.
7087         * tests/test-truncf1.c (truncf): Likewise.
7088         * tests/test-truncl.c (truncl): Likewise.
7089         * tests/test-tsearch.c (tdelete, tfind, tsearch, twalk):
7090         Likewise.
7091         * tests/test-uname.c (uname): Likewise.
7092         * tests/test-unlink.c (unlink): Likewise.
7093         * tests/test-unlinkat.c (unlinkat): Likewise.
7094         * tests/test-unsetenv.c (unsetenv): Likewise.
7095         * tests/test-usleep.c (usleep): Likewise.
7096         * tests/test-utimensat.c (utimensat): Likewise.
7097         * tests/test-vasprintf.c (asprintf, vasprintf): Likewise.
7098         * tests/test-vdprintf-posix.c (vdprintf): Likewise.
7099         * tests/test-vfprintf-posix.c (vfprintf): Likewise.
7100         * tests/test-vprintf-posix.c (vprintf): Likewise.
7101         * tests/test-vsnprintf.c (vsnprintf): Likewise.
7102         * tests/test-vsprintf-posix.c (vsprintf): Likewise.
7103         * tests/test-wcrtomb.c (wcrtomb): Likewise.
7104         * tests/test-wcsnrtombs.c (wcsnrtombs): Likewise.
7105         * tests/test-wcsrtombs.c (wcsrtombs): Likewise.
7106         * tests/test-wcwidth.c (wcwidth): Likewise.
7107
7108         build: pull in conditional headers during GNULIB_POSIXCHECK
7109         * lib/stdio.in.h (includes): Using GNULIB_POSIXCHECK also requires
7110         definitions from any conditionally-included headers.
7111         * lib/stdlib.in.h (includes): Likewise.
7112         * lib/unistd.in.h (includes): Likewise.
7113
7114 2009-12-24  Bruno Haible  <bruno@clisp.org>
7115
7116         * tests/test-argv-iter.c: Include header file being tested immediately
7117         after config.h.
7118         * tests/test-base64.c: Likewise.
7119         * tests/test-flock.c: Likewise.
7120         * tests/test-fsync.c: Likewise.
7121         * tests/test-getdate.c: Likewise.
7122         * tests/test-getndelim2.c: Likewise.
7123         * tests/test-isfinite.c: Likewise.
7124         * tests/test-isinf.c: Likewise.
7125         * tests/test-strerror.c: Likewise.
7126         * tests/test-strsignal.c: Likewise.
7127
7128 2009-12-23  Eric Blake  <ebb9@byu.net>
7129
7130         unistd: work around cygwin bug
7131         * lib/unistd.in.h (includes): Pick up headers needed for cygwin.
7132         * doc/posix-functions/unlinkat.texi (unlinkat): Document the bug.
7133         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
7134
7135 2009-12-23  Bruno Haible  <bruno@clisp.org>
7136
7137         localename: More tests.
7138         * tests/test-localename.c (SIZEOF): New macro.
7139         (categories): New variable.
7140         (test_locale_name, test_locale_name_posix, test_locale_name_environ,
7141         test_locale_name_default): Add test w.r.t. thread locale.
7142         (test_locale_name_thread): New function.
7143         (main): Invoke it.
7144
7145         localename: Make aware of thread locale.
7146         * lib/localename.h (gl_locale_name_thread): New declaration.
7147         (gl_locale_name, gl_locale_name_posix, gl_locale_name_default): Clarify
7148         behaviour with respect to thread locale.
7149         * lib/localename.c: Include <limits.h>, <stddef.h>, <xlocale.h>,
7150         <langinfo.h>, glthread/lock.h.
7151         (SIZE_BITS): New macro.
7152         (string_hash): New function.
7153         (struct hash_node): New type.
7154         (HASH_TABLE_SIZE): New macro.
7155         (struniq_hash_table, struniq_lock): New variables.
7156         (struniq): New function.
7157         (gl_locale_name_thread): New function.
7158         (gl_locale_name): Invoke it.
7159         * m4/localename.m4 (gl_LOCALENAME): Test for uselocale function.
7160         * modules/localename (Depends-on): Add lock.
7161         Reported by Mike Gran <spk121@yahoo.com>.
7162
7163 2009-12-23  Eric Blake  <ebb9@byu.net>
7164
7165         va-args: new module
7166         * modules/va-args: New file.
7167         * m4/va-args.m4 (gl_VA_ARGS): Likewise.
7168         * MODULES.html.sh (Core language properties): Mention it.
7169
7170         gnulib-common: prefer _GL_UNUSED over _UNUSED_PARAMETER_
7171         * m4/gnulib-common.m4 (gl_COMMON): Create a more-appropriately
7172         named alias for __attribute__((__unused__)).
7173         * lib/chown.c: Update client.
7174         * lib/fchmodat.c: Likewise.
7175         * lib/fts.c: Likewise.
7176         * lib/getdate.y: Likewise.
7177         * lib/getgroups.c: Likewise.
7178         * lib/getopt.c: Likewise.
7179         * lib/getugroups.c: Likewise.
7180         * lib/mkdir.c: Likewise.
7181         * lib/mkfifo.c: Likewise.
7182         * lib/mkfifoat.c: Likewise.
7183         * lib/mknod.c: Likewise.
7184         * lib/mknodat.c: Likewise.
7185         * lib/readlink.c: Likewise.
7186         * lib/se-context.in.h: Likewise.
7187         * lib/se-selinux.in.h: Likewise.
7188         * lib/sockets.c: Likewise.
7189         * lib/symlink.c: Likewise.
7190         * lib/symlinkat.c: Likewise.
7191         * lib/unicodeio.c: Likewise.
7192         * lib/unistr.h: Likewise.
7193         * tests/test-areadlink.c: Likewise.
7194         * tests/test-areadlinkat.c: Likewise.
7195         * tests/test-filenamecat.c: Likewise.
7196         * tests/test-fseeko.c: Likewise.
7197         * tests/test-ftello.c: Likewise.
7198         * tests/test-getdate.c: Likewise.
7199         * tests/test-getgroups.c: Likewise.
7200         * tests/test-gethostname.c: Likewise.
7201         * tests/test-quotearg.c: Likewise.
7202         * tests/test-version-etc.c: Likewise.
7203         * tests/test-xalloc-die.c: Likewise.
7204         * tests/test-xfprintf-posix.c: Likewise.
7205         * tests/test-xprintf-posix.c: Likewise.
7206         * tests/test-xvasprintf.c: Likewise.
7207
7208         tests: avoid compiler warnings
7209         * tests/test-fcntl.c (main): Delete unused parameters.
7210         * tests/test-freopen-safer.c (main): Likewise.
7211         * tests/test-xalloc-die.c (main): Mark unused parameters.
7212         * tests/test-fseeko.c (main): Likewise.
7213         * tests/test-ftello.c (main): Likewise.
7214         * tests/test-nanosleep.c (main): Avoid declaration warning.
7215         * tests/test-sleep.c (main): Likewise.
7216         * tests/test-unsetenv.c (main): Silence warning about string
7217         literal.
7218         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
7219
7220 2009-12-23  Bruno Haible  <bruno@clisp.org>
7221
7222         * tests/test-localename.c (test_locale_name): New function, extracted
7223         from main. Also test mixed situations.
7224         (test_locale_name_posix, test_locale_name_environ,
7225         test_locale_name_default): New functions.
7226         (main): Invoke them all.
7227         * modules/localename-tests (configure.ac): Test for newlocale.
7228
7229 2009-12-23  Bruno Haible  <bruno@clisp.org>
7230
7231         unistd: Ensure getcwd gets declared before being overridden.
7232         * lib/unistd.in.h: Conditionally include <io.h>.
7233
7234 2009-12-22  Bruno Haible  <bruno@clisp.org>
7235
7236         wchar: Diagnose broken combination of glibc and gcc versions and flags.
7237         * m4/wchar.m4 (gl_WCHAR_H_INLINE_OK): New macro.
7238         (gl_WCHAR_H): Invoke it.
7239         * m4/btowc.m4 (gl_FUNC_BTOWC): Require it.
7240         * doc/posix-headers/wchar.texi: Mention the interoperability problem.
7241         Reported by Karl Berry <karl@freefriends.org>.
7242
7243 2009-12-22  Eric Blake  <ebb9@byu.net>
7244
7245         math, unistd: avoid redundant includes
7246         * lib/math.in.h (isnan): No need to re-include <math.h>.
7247         * lib/unistd.in.h (getcwd): Likewise, for <stdlib.h>.
7248
7249         getsubopt: work around cygwin bug
7250         * lib/stdlib.in.h (includes): Move unistd inclusion sooner, to
7251         avoid conflicting with system getsubopt.
7252         * doc/posix-functions/getsubopt.texi (getsubopt): Document the
7253         bug.
7254
7255         getopt: synchronize from glibc
7256         * lib/getopt.c (_getopt_initialize, _getopt_internal_r): Swap
7257         parameter order.  Adjust all callers.
7258         (_getopt_internal_r, main): Adjust quoting in error messages.
7259         Drop considerations for outdated POSIX 1003.2 error message.
7260         * lib/getopt1.c (_getopt_long_r, _getopt_long_only_r): Adjust
7261         callers.
7262         * lib/getopt_int.h (_getopt_internal_r): Adjust prototype.
7263
7264         test-getopt: test stderr behavior
7265         * modules/getopt-posix-tests (Depends-on): Add dup2.
7266         * tests/test-getopt.c (ASSERT): Avoid stderr.
7267         (main): Move stderr to a temporary file.
7268         * tests/test-getopt.h (getopt_loop): No longer manipulate opterr.
7269         Instead, add parameter to inform caller if output occurred.
7270         (test_getopt): Adjust all existing tests to expect silence, and
7271         add new tests of leading ":".
7272         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
7273         glibc shortcomings with leading "-:" or "+:" in optstring.
7274         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
7275         Likewise.
7276         * doc/posix-functions/getopt.texi (getopt): Likewise.
7277
7278         test-getopt: enhance test
7279         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require that getopt_long
7280         supports optind=0.
7281         * tests/test-getopt.c (OPTIND_MIN): Move...
7282         * tests/test-getopt.h (OPTIND_MIN): ...here.
7283         * tests/test-getopt_long.h (test_getopt_long): Add more coverage.
7284         Require that optind=0 works, since modern BSD supports it in
7285         addition to optreset, and since coreutils expects it.
7286         (test_getopt_long_only): New test.
7287         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
7288         glibc shortcomings with 'W;', and enforcement of optind=0.
7289         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
7290         Likewise.
7291
7292 2009-12-21  Bruno Haible  <bruno@clisp.org>
7293
7294         localename: Improvements for MacOS X and Cygwin.
7295         * lib/localename.h (gl_locale_name_environ): New declaration.
7296         * lib/localename.c (gl_locale_name_environ): New function, extracted from
7297         gl_locale_name_posix. Ignore dummy LANG values on MacOS X and Cygwin.
7298         (gl_locale_name_posix): Invoke it.
7299         (gl_locale_name_default): Add comments. Use Windows native API also on
7300         Cygwin.
7301
7302 2009-12-21  Bruno Haible  <bruno@clisp.org>
7303
7304         Update list of Win32 locale ids.
7305         * lib/localename.c (LANG_ROMANSH): Renamed from LANG_RHAETO_ROMANCE.
7306         (LANG_SAMI): Renamed from LANG_SAAMI.
7307         (LANG_BASHKIR, LANG_LUXEMBOURGISH, LANG_GREENLANDIC,
7308         LANG_MAPUDUNGUN, LANG_MOHAWK, LANG_BRETON, LANG_OCCITAN, LANG_CORSICAN,
7309         LANG_ALSATIAN, LANG_YAKUT, LANG_KICHE, LANG_KINYARWANDA, LANG_WOLOF,
7310         LANG_DARI, LANG_SCOTTISH_GAELIC): New macros.
7311         (SUBLANG_AFRIKAANS_SOUTH_AFRICA, SUBLANG_ALBANIAN_ALBANIA,
7312         SUBLANG_ALSATIAN_FRANCE, SUBLANG_AMHARIC_ETHIOPIA,
7313         SUBLANG_ARMENIAN_ARMENIA, SUBLANG_ASSAMESE_INDIA,
7314         SUBLANG_BASHKIR_RUSSIA, SUBLANG_BASQUE_BASQUE,
7315         SUBLANG_BELARUSIAN_BELARUS, SUBLANG_BRETON_FRANCE,
7316         SUBLANG_BULGARIAN_BULGARIA, SUBLANG_CAMBODIAN_CAMBODIA,
7317         SUBLANG_CATALAN_SPAIN, SUBLANG_CORSICAN_FRANCE,
7318         SUBLANG_CZECH_CZECH_REPUBLIC, SUBLANG_DANISH_DENMARK,
7319         SUBLANG_DARI_AFGHANISTAN, SUBLANG_DIVEHI_MALDIVES,
7320         SUBLANG_DUTCH_SURINAM, SUBLANG_ESTONIAN_ESTONIA,
7321         SUBLANG_FAEROESE_FAROE_ISLANDS, SUBLANG_FARSI_IRAN,
7322         SUBLANG_FINNISH_FINLAND, SUBLANG_FRISIAN_NETHERLANDS,
7323         SUBLANG_GALICIAN_SPAIN, SUBLANG_GEORGIAN_GEORGIA,
7324         SUBLANG_GREEK_GREECE, SUBLANG_GREENLANDIC_GREENLAND,
7325         SUBLANG_GUJARATI_INDIA, SUBLANG_HAUSA_NIGERIA_LATIN,
7326         SUBLANG_HEBREW_ISRAEL, SUBLANG_HINDI_INDIA, SUBLANG_HUNGARIAN_HUNGARY,
7327         SUBLANG_ICELANDIC_ICELAND, SUBLANG_IGBO_NIGERIA,
7328         SUBLANG_INDONESIAN_INDONESIA, SUBLANG_INUKTITUT_CANADA,
7329         SUBLANG_INUKTITUT_CANADA_LATIN, SUBLANG_IRISH_IRELAND,
7330         SUBLANG_JAPANESE_JAPAN, SUBLANG_KANNADA_INDIA,
7331         SUBLANG_KAZAK_KAZAKHSTAN, SUBLANG_KICHE_GUATEMALA,
7332         SUBLANG_KINYARWANDA_RWANDA, SUBLANG_KONKANI_INDIA,
7333         SUBLANG_KYRGYZ_KYRGYZSTAN, SUBLANG_LAO_LAOS, SUBLANG_LATVIAN_LATVIA,
7334         SUBLANG_LITHUANIAN_LITHUANIA, SUBLANG_LOWER_SORBIAN_GERMANY,
7335         SUBLANG_LUXEMBOURGISH_LUXEMBOURG, SUBLANG_MACEDONIAN_MACEDONIA,
7336         SUBLANG_MALAYALAM_INDIA, SUBLANG_MALTESE_MALTA,
7337         SUBLANG_MAORI_NEW_ZEALAND, SUBLANG_MAPUDUNGUN_CHILE,
7338         SUBLANG_MARATHI_INDIA, SUBLANG_MOHAWK_CANADA, SUBLANG_NEPALI_NEPAL,
7339         SUBLANG_OCCITAN_FRANCE, SUBLANG_ORIYA_INDIA,
7340         SUBLANG_PASHTO_AFGHANISTAN, SUBLANG_POLISH_POLAND,
7341         SUBLANG_ROMANSH_SWITZERLAND, SUBLANG_SAMI_NORTHERN_NORWAY,
7342         SUBLANG_SAMI_NORTHERN_SWEDEN, SUBLANG_SAMI_NORTHERN_FINLAND,
7343         SUBLANG_SAMI_LULE_NORWAY, SUBLANG_SAMI_LULE_SWEDEN,
7344         SUBLANG_SAMI_SOUTHERN_NORWAY, SUBLANG_SAMI_SOUTHERN_SWEDEN,
7345         SUBLANG_SAMI_SKOLT_FINLAND, SUBLANG_SAMI_INARI_FINLAND,
7346         SUBLANG_SANSKRIT_INDIA, SUBLANG_SINHALESE_SRI_LANKA,
7347         SUBLANG_SLOVAK_SLOVAKIA, SUBLANG_SLOVENIAN_SLOVENIA,
7348         SUBLANG_SOTHO_SOUTH_AFRICA, SUBLANG_SWAHILI_KENYA,
7349         SUBLANG_SWEDISH_SWEDEN, SUBLANG_SYRIAC_SYRIA,
7350         SUBLANG_TAGALOG_PHILIPPINES, SUBLANG_TAJIK_TAJIKISTAN,
7351         SUBLANG_TAMIL_INDIA, SUBLANG_TATAR_RUSSIA, SUBLANG_TELUGU_INDIA,
7352         SUBLANG_THAI_THAILAND, SUBLANG_TSWANA_SOUTH_AFRICA,
7353         SUBLANG_TURKISH_TURKEY, SUBLANG_TURKMEN_TURKMENISTAN,
7354         SUBLANG_UKRAINIAN_UKRAINE, SUBLANG_UPPER_SORBIAN_GERMANY,
7355         SUBLANG_VIETNAMESE_VIETNAM, SUBLANG_WELSH_UNITED_KINGDOM,
7356         SUBLANG_WOLOF_SENEGAL, SUBLANG_XHOSA_SOUTH_AFRICA,
7357         SUBLANG_YAKUT_RUSSIA, SUBLANG_YI_PRC, SUBLANG_YORUBA_NIGERIA,
7358         SUBLANG_ZULU_SOUTH_AFRICA): New macros.
7359         (gl_locale_name_from_win32_LANGID): Handle also the territory neutral
7360         locale ids. Add support for Alsatian, Bashkir, Breton, Corsican, Dari,
7361         Greenlandic, K'iche', Kinyarwanda, Luxembourgish, Mapudungun, Mohawk,
7362         Occitan, Scottish Gaelic, Wolof, Yakut. Change language code for Yi.
7363         Add more languages and countries for Sami, Sorbian. Add more countries
7364         for Serbian, Dutch. Add more scripts for Inuktitut. Be more precise
7365         for Pashto. Change country for Syriac, Tswana.
7366
7367 2009-12-21  Eric Blake  <ebb9@byu.net>
7368
7369         test-utimens: avoid spurious failure
7370         * tests/test-chown.h (nap): Factor...
7371         * tests/nap.h: ...into new file.
7372         * tests/test-lchown.h (nap): Avoid duplication.
7373         * tests/test-utimens-common.h (nap): Use shared implementation,
7374         necessary on file systems with 1-second resolution.
7375         * modules/chown-tests (Files): Include new file.
7376         * modules/fdutimensat-tests (Files): Likewise.
7377         * modules/futimens-tests (Files): Likewise.
7378         * modules/lchown-tests (Files): Likewise.
7379         * modules/openat-tests (Files): Likewise.
7380         * modules/utimens-tests (Files): Likewise.
7381         * modules/utimensat-tests (Files): Likewise.
7382
7383 2009-12-19  Eric Blake  <ebb9@byu.net>
7384
7385         futimens, utimensat: work around Linux bug
7386         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect ctime bug.
7387         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
7388         * lib/utimensat.c (rpl_utimensat): Work around it.
7389         * lib/futimens.c (rpl_futimens): Adjust comment.
7390
7391         utimens: work around Linux ctime bug
7392         * lib/utimens.c (detect_ctime_bug): New helper function.
7393         (update_timespec): Differentiate between workaround needed for
7394         this bug vs. what is needed for systems that lack utimensat.
7395         (fdutimens, lutimens): Work around bug.
7396
7397         utimens: check for ctime update
7398         * tests/test-utimens-common.h (check_ctime): Define.
7399         * tests/test-utimens.h (test_utimens): Expose the Linux bug.
7400         * tests/test-futimens.h (test_futimens): Likewise.
7401         * tests/test-lutimens.h (test_lutimens): Likewise.
7402         * doc/posix-functions/futimens.texi (futimens): Document the bug.
7403         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
7404
7405 2009-12-19  Bruno Haible  <bruno@clisp.org>
7406
7407         dprintf-posix: Check against memory leak fixed on 2009-12-15.
7408         * tests/test-dprintf-posix2.sh: New file.
7409         * tests/test-dprintf-posix2.c: New file.
7410         * modules/dprintf-posix-tests (Files): Add them.
7411         (configure.ac): Check for getrlimit and setrlimit.
7412         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
7413
7414 2009-12-19  Bruno Haible  <bruno@clisp.org>
7415
7416         fprintf-posix: Check against memory leak fixed on 2009-12-15.
7417         * tests/test-fprintf-posix3.sh: New file.
7418         * tests/test-fprintf-posix3.c: New file.
7419         * modules/fprintf-posix-tests (Files): Add them.
7420         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
7421
7422 2009-12-19  Eric Blake  <ebb9@byu.net>
7423
7424         dirfd: fix prototype
7425         * lib/dirent.in.h (dirfd): Argument is not const, per POSIX.
7426         * lib/dirfd.c (dirfd): Likewise.
7427
7428         canonicalize: reduce memory usage
7429         * lib/canonicalize.c (canonicalize_filename_mode): Trim the
7430         allocation to size.
7431         Reported by Solar Designer <solar@openwall.com>.
7432
7433 2009-12-19  Bruno Haible  <bruno@clisp.org>
7434
7435         New module attribute 'Applicability'.
7436         * modules/TEMPLATE-EXTENDED: New field 'Applicability'.
7437         * gnulib-tool: New option --extract-applicability.
7438         (func_usage): Document it.
7439         (sed_extract_prog): Recognize it.
7440         (func_get_applicability): New function.
7441         (func_import): Generalize handling of 'link-warning' module.
7442         * modules/link-warning (Applicability): New section.
7443         * modules/arg-nonnull (Applicability): New section.
7444         Repoted by Simon Josefsson <simon@josefsson.org>.
7445
7446 2009-12-19  Bruno Haible  <bruno@clisp.org>
7447
7448         fflush: tweak
7449         * lib/fflush.c (update_fpos_cache): Don't use fpos_t on Cygwin.
7450         * lib/fseeko.c (rpl_fseeko): Likewise.
7451
7452 2009-12-16  José E. Marchesi  <jemarch@gnu.org>  (tiny change)
7453
7454         * lib/gl_list.h: Fix typo in comment.
7455
7456 2009-12-16  Eric Blake  <ebb9@byu.net>
7457
7458         fcntl: use to simplify other modules
7459         * modules/cloexec (Depends-on): Add fcntl.
7460         * modules/fchdir (Depends-on): Likewise.
7461         * modules/fd-safer-flag (Depends-on): Likewise.
7462         * modules/unistd-safer (Depends-on): Likewise.
7463         * modules/dup3 (configure.ac): Set module indicator.
7464         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Replace fcntl if fchdir is
7465         missing.
7466         * lib/fchdir.c (_gl_register_dup): Fix comment.
7467         * lib/cloexec.c (dup_cloexec): Simplify, by relying on fcntl.
7468         * lib/dup-safer.c (dup_safer): Likewise.
7469         * lib/dup-safer-flag.c (dup_safer_flag): Likewise.
7470         * lib/dup3.c (dup3): Likewise.
7471         * tests/test-fchdir.c (main): Enhance test.
7472         Fixes a dup_cloexec bug reported by Ondřej Vašík.
7473
7474         fcntl: port portions of fcntl to mingw
7475         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also build fcntl.c on mingw.
7476         * lib/fcntl.c (fcntl) <F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD>: Provide
7477         replacement for mingw.
7478         * modules/fcntl (Description): Update.
7479         (Depends-on): Add dup2.
7480         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness.
7481         * modules/fcntl-h (Makefile.am): Substitute it.
7482         * lib/fcntl.in.h (fcntl): Update declaration.
7483         (F_DUPFD, F_GETFD): New macros, when needed.
7484         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
7485         * doc/posix-functions/fcntl.texi (fcntl): Likewise.
7486         * tests/test-fcntl.c (check_flags, main): Enhance test for items
7487         we now guarantee.
7488
7489         fcntl: work around cygwin bug in F_DUPFD
7490         * m4/fcntl.m4 (gl_REPLACE_FCNTL): New macro.
7491         (gl_FUNC_FCNTL): Use it.  Test for F_DUPFD bug.
7492         * lib/fcntl.c (rpl_fcntl) <F_DUPFD>: Work around it.
7493         <F_DUPFD_CLOEXEC>: Reduce calls to _gl_register_dup.
7494         * doc/posix-functions/fcntl.texi (fcntl): Document it.
7495
7496         fcntl: support F_DUPFD_CLOEXEC on systems with fcntl
7497         * modules/fcntl (Files): List new files.
7498         (configure.ac): Run a test.
7499         * m4/fcntl.m4 (gl_FUNC_FCNTL): New file.
7500         * lib/fcntl.c (rpl_fcntl): Likewise.
7501         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness defaults.
7502         (gl_FCNTL_H): Always replace fcntl.h.
7503         * modules/fcntl-h (Makefile.am): Substitute witnesses.
7504         * lib/fcntl.in.h (fcntl): Declare replacement.
7505         (F_DUPFD_CLOEXEC, GNULIB_defined_F_DUPFD_CLOEXEC): New macro when
7506         needed, plus a witness.
7507         * doc/posix-functions/fcntl.texi (fcntl): Document this.
7508         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
7509         * tests/test-fcntl.c: New file.
7510         * modules/fcntl-tests: Likewise.
7511
7512         binary-io: avoid potential compilation warning
7513         * lib/binary-io.h [__DJGPP__]: Avoid null preprocessor
7514         directives.
7515
7516         fflush: avoid compilation error on NetBSD
7517         * lib/fflush.c (update_fpos_cache): Use a union to safely convert
7518         between off_t and fpos_t, since the latter is sometimes a struct.
7519         * lib/fseeko.c (rpl_fseeko): Likewise.
7520         Reported by Alexander Nasonov <alnsn@yandex.ru>.
7521
7522 2009-12-15  Eric Blake  <ebb9@byu.net>
7523
7524         fcntl-h, stdio, sys_ioctl: fix declarations
7525         * lib/stdio.in.h (dprintf): Use of link warning on a variadic
7526         function must not take arguments.
7527         * lib/sys_ioctl.in.h (ioctl): Likewise.
7528         * lib/fcntl.in.h (openat): Likewise.  Declare extern.
7529         (open): Add a link warning.
7530
7531 2009-12-15  Jim Meyering  <meyering@redhat.com>
7532
7533         areadlink, areadlink-with-size: relax license to LGPLv2+
7534         * modules/areadlink (License): Relax to LGPLv2+.
7535         * modules/areadlink-with-size (License): Likewise.
7536
7537 2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
7538             Bruno Haible  <bruno@clisp.org>
7539
7540         *printf: Fix memory leak.
7541         * lib/fprintf.c (fprintf): Free memory allocated by vasnprintf.
7542         * lib/vfprintf.c (vfprintf): Likewise.
7543         * lib/dprintf.c (dprintf): Likewise.
7544         * lib/vdprintf.c (vdprintf): Likewise.
7545
7546 2009-12-14  Eric Blake  <ebb9@byu.net>
7547
7548         accept4: adjust module dependencies
7549         * modules/accept4 (Depends-on): Use fcntl-h, not fcntl.
7550
7551         utimens: one more try at avoiding compiler warning
7552         * lib/utimens.c (lutimens): Lower scope of result.
7553
7554 2009-12-13  Bruno Haible  <bruno@clisp.org>
7555
7556         Move the malloc checking from module 'list' to new module 'xlist'.
7557         * modules/xlist: New file.
7558         * lib/gl_xlist.h: New file.
7559         * lib/gl_xlist.c: New file.
7560         * lib/gl_list.h (gl_list_create_empty, gl_list_create,
7561         gl_list_node_set_value, gl_list_set_at, gl_list_add_first,
7562         gl_list_add_last, gl_list_add_before, gl_list_add_after,
7563         gl_list_nx_add_at, gl_sortedlist_add): Disable declarations.
7564         (gl_list_nx_create_empty, gl_list_nx_create, gl_list_node_nx_set_value,
7565         gl_list_nx_set_at, gl_list_nx_add_first, gl_list_nx_add_last,
7566         gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at,
7567         gl_sortedlist_nx_add): New declarations.
7568         (struct gl_list_implementation): Rename and change methods accordingly.
7569         (gl_list_nx_create_empty): Renamed from gl_list_create_empty.
7570         (gl_list_nx_create): Renamed from gl_list_create.
7571         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
7572         (gl_list_nx_set_at): Renamed from gl_list_set_at.
7573         (gl_list_nx_add_first): Renamed from gl_list_add_first.
7574         (gl_list_nx_add_last): Renamed from gl_list_add_last.
7575         (gl_list_nx_add_before): Renamed from gl_list_add_before.
7576         (gl_list_nx_add_after): Renamed from gl_list_add_after.
7577         (gl_list_nx_add_at): Renamed from gl_list_add_at.
7578         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
7579         * lib/gl_list.c (gl_list_nx_create_empty): Renamed from
7580         gl_list_create_empty.
7581         (gl_list_nx_create): Renamed from gl_list_create.
7582         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
7583         (gl_list_nx_set_at): Renamed from gl_list_set_at.
7584         (gl_list_nx_add_first): Renamed from gl_list_add_first.
7585         (gl_list_nx_add_last): Renamed from gl_list_add_last.
7586         (gl_list_nx_add_before): Renamed from gl_list_add_before.
7587         (gl_list_nx_add_after): Renamed from gl_list_add_after.
7588         (gl_list_nx_add_at): Renamed from gl_list_add_at.
7589         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
7590         * lib/gl_array_list.c: Don't include xalloc.h.
7591         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Return
7592         NULL upon out-of-memory.
7593         (gl_array_nx_create): Renamed from gl_array_create. Return NULL upon
7594         out-of-memory.
7595         (gl_array_node_nx_set_value): Renamed from gl_array_node_set_value.
7596         Change return type to 'int'.
7597         (gl_array_nx_set_at): Renamed from gl_array_set_at.
7598         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
7599         (gl_array_nx_add_first): Renamed from gl_array_add_first. Return NULL
7600         upon out-of-memory.
7601         (gl_array_nx_add_last): Renamed from gl_array_add_last. Return NULL
7602         upon out-of-memory.
7603         (gl_array_nx_add_before): Renamed from gl_array_add_before. Return NULL
7604         upon out-of-memory.
7605         (gl_array_nx_add_after): Renamed from gl_array_add_after. Return NULL
7606         upon out-of-memory.
7607         (gl_array_nx_add_at): Renamed from gl_array_add_at. Return NULL upon
7608         out-of-memory.
7609         (gl_array_sortedlist_nx_add): Renamed from gl_array_sortedlist_add.
7610         Update.
7611         (gl_array_list_implementation): Update.
7612         * lib/gl_carray_list.c: Don't include xalloc.h.
7613         (gl_carray_nx_create_empty): Renamed from gl_carray_create_empty.
7614         Return NULL upon out-of-memory.
7615         (gl_carray_nx_create): Renamed from gl_carray_create. Return NULL upon
7616         out-of-memory.
7617         (gl_carray_node_nx_set_value): Renamed from gl_carray_node_set_value.
7618         Change return type to 'int'.
7619         (gl_carray_nx_set_at): Renamed from gl_carray_set_at.
7620         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
7621         (gl_carray_nx_add_first): Renamed from gl_carray_add_first. Return NULL
7622         upon out-of-memory.
7623         (gl_carray_nx_add_last): Renamed from gl_carray_add_last. Return NULL
7624         upon out-of-memory.
7625         (gl_carray_nx_add_at): Renamed from gl_carray_add_at. Return NULL upon
7626         out-of-memory.
7627         (gl_carray_nx_add_before): Renamed from gl_carray_add_before. Update.
7628         (gl_carray_nx_add_after): Renamed from gl_carray_add_after. Update.
7629         (gl_carray_sortedlist_nx_add): Renamed from gl_carray_sortedlist_add.
7630         Update.
7631         (gl_carray_list_implementation): Update.
7632         * lib/gl_anyhash_list2.h (hash_resize): Do nothing upon out-of-memory.
7633         * lib/gl_anylinked_list2.h (gl_linked_nx_create_empty): Renamed from
7634         gl_linked_create_empty. Return NULL upon out-of-memory.
7635         (gl_linked_nx_create): Renamed from gl_linked_create. Return NULL upon
7636         out-of-memory.
7637         (gl_linked_node_nx_set_value): Renamed from gl_linked_node_set_value.
7638         Change return type to 'int'. Return -1 upon out-of-memory.
7639         (gl_linked_nx_set_at): Renamed from gl_linked_set_at. Return NULL upon
7640         out-of-memory.
7641         (gl_linked_nx_add_first): Renamed from gl_linked_add_first. Return NULL
7642         upon out-of-memory.
7643         (gl_linked_nx_add_last): Renamed from gl_linked_add_last. Return NULL
7644         upon out-of-memory.
7645         (gl_linked_nx_add_before): Renamed from gl_linked_add_before. Return
7646         NULL upon out-of-memory.
7647         (gl_linked_nx_add_after): Renamed from gl_linked_add_after. Return NULL
7648         upon out-of-memory.
7649         (gl_linked_nx_add_at): Renamed from gl_linked_add_at. Return NULL upon
7650         out-of-memory.
7651         (gl_linked_sortedlist_nx_add): Renamed from gl_linked_sortedlist_add.
7652         Update.
7653         * lib/gl_linked_list.c: Don't include xalloc.h.
7654         (gl_linked_list_implementation): Update.
7655         * lib/gl_linkedhash_list.c: Don't include xalloc.h.
7656         (add_to_bucket): Change return type to 'int'.
7657         (gl_linkedhash_list_implementation): Update.
7658         * lib/gl_anytree_list1.h (free_subtree): New function.
7659         * lib/gl_anytree_list2.h (gl_tree_nx_create_empty): Renamed from
7660         gl_tree_create_empty. Return NULL upon out-of-memory.
7661         (gl_tree_node_nx_set_value): Renamed from gl_tree_node_set_value.
7662         Change return type to 'int'. Return -1 upon out-of-memory.
7663         (gl_tree_nx_set_at): Renamed from gl_tree_set_at. Return NULL upon
7664         out-of-memory.
7665         (gl_tree_nx_add_at): Renamed from gl_tree_add_at. Update.
7666         (gl_tree_remove_node): New function, moved here from
7667         lib/gl_anyavltree_list2.h and lib/gl_anyrbtree_list2.h.
7668         (gl_tree_sortedlist_nx_add): Renamed from gl_tree_sortedlist_add.
7669         Update.
7670         * lib/gl_anyavltree_list2.h (create_subtree_with_contents): Use
7671         malloc, not xmalloc. Return NULL upon out-of-memory.
7672         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
7673         out-of-memory.
7674         (gl_tree_remove_node_from_tree): New function, extracted from
7675         gl_tree_remove_node.
7676         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
7677         upon out-of-memory.
7678         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
7679         out-of-memory.
7680         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
7681         upon out-of-memory.
7682         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
7683         upon out-of-memory.
7684         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
7685         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents): Use malloc,
7686         not xmalloc. Return NULL upon out-of-memory.
7687         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
7688         out-of-memory.
7689         (gl_tree_remove_node_from_tree): New function, extracted from
7690         gl_tree_remove_node.
7691         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
7692         upon out-of-memory.
7693         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
7694         out-of-memory.
7695         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
7696         upon out-of-memory.
7697         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
7698         upon out-of-memory.
7699         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
7700         * lib/gl_avltree_list.c: Don't include xalloc.h. Include
7701         gl_anytree_list1.h before gl_anyavltree_list2.h.
7702         (gl_avltree_list_implementation): Update.
7703         * lib/gl_rbtree_list.c: Don't include xalloc.h. Include
7704         gl_anytree_list1.h before gl_anyavltree_list2.h.
7705         (gl_rbtree_list_implementation): Update.
7706         * lib/gl_anytreehash_list1.h (add_to_bucket, add_nodes_to_buckets):
7707         Change return type to 'int'. Return -1 upon out-of-memory. Use
7708         __builtin_expect.
7709         * lib/gl_avltreehash_list.c: Don't include xalloc.h.
7710         (gl_avltreehash_list_implementation): Update.
7711         * lib/gl_rbtreehash_list.c: Don't include xalloc.h.
7712         (gl_rbtreehash_list_implementation): Update.
7713         * modules/array-list (Depends-on): Remove xalloc.
7714         * modules/carray-list (Depends-on): Likewise.
7715         * modules/linked-list (Depends-on): Likewise.
7716         * modules/linkedhash-list (Depends-on): Likewise.
7717         * modules/avltree-list (Depends-on): Likewise.
7718         * modules/rbtree-list (Depends-on): Likewise.
7719         * modules/avltreehash-list (Depends-on): Likewise.
7720         * modules/rbtreehash-list (Depends-on): Likewise.
7721
7722         * modules/xsublist: New file.
7723         * lib/gl_xsublist.h: New file.
7724         * lib/gl_xsublist.c: New file.
7725         * lib/gl_sublist.h (gl_sublist_create): Disable declaration.
7726         (gl_sublist_nx_create): New declaration.
7727         * lib/gl_sublist.c: Don't include xalloc.h.
7728         (gl_sublist_nx_create_empty): Renamed from gl_sublist_create_empty.
7729         (gl_sublist_nx_create_fill): Renamed from gl_sublist_create_fill.
7730         (gl_sublist_node_nx_set_value): Renamed from gl_sublist_node_set_value.
7731         Change return type to 'int'. Return -1 upon out-of-memory.
7732         (gl_sublist_nx_set_at): Renamed from gl_sublist_set_at. Return NULL
7733         upon out-of-memory.
7734         (gl_sublist_nx_add_first): Renamed from gl_sublist_add_first. Return
7735         NULL upon out-of-memory.
7736         (gl_sublist_nx_add_last): Renamed from gl_sublist_add_last. Return NULL
7737         upon out-of-memory.
7738         (gl_sublist_nx_add_before): Renamed from gl_sublist_add_before. Return
7739         NULL upon out-of-memory.
7740         (gl_sublist_nx_add_after): Renamed from gl_sublist_add_after. Return
7741         NULL upon out-of-memory.
7742         (gl_sublist_nx_add_at): Renamed from gl_sublist_add_at. Return NULL
7743         upon out-of-memory.
7744         (gl_sublist_sortedlist_nx_add): Renamed from gl_sublist_sortedlist_add.
7745         (gl_sublist_list_implementation): Update.
7746         (gl_sublist_nx_create): Renamed from gl_sublist_create. Return NULL
7747         upon out-of-memory.
7748         * modules/sublist (Depends-on): Remove xalloc.
7749
7750         * tests/test-array_list.c: Use gl_list_nx_* functions where possible.
7751         * tests/test-carray_list.c: Likewise.
7752         * tests/test-linked_list.c: Likewise.
7753         * tests/test-linkedhash_list.c: Likewise.
7754         * tests/test-avltree_list.c: Likewise.
7755         * tests/test-rbtree_list.c: Likewise.
7756         * tests/test-avltreehash_list.c: Likewise.
7757         * tests/test-rbtreehash_list.c: Likewise.
7758         * modules/array-list-tests (Makefile.am): Don't link with @LIBINTL@.
7759         * modules/carray-list-tests (Makefile.am): Likewise.
7760         * modules/linked-list-tests (Makefile.am): Likewise.
7761         * modules/linkedhash-list-tests (Makefile.am): Likewise.
7762         * modules/avltree-list-tests (Makefile.am): Likewise.
7763         * modules/rbtree-list-tests (Makefile.am): Likewise.
7764         * modules/avltreehash-list-tests (Makefile.am): Likewise.
7765         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
7766
7767         * NEWS: Mention the changes.
7768
7769         * lib/clean-temp.c: Include gl_xlist.h.
7770         * modules/clean-temp (Depends-on): Add xlist.
7771
7772         * lib/git-merge-changelog.c: Include gl_xlist.h instead of gl_list.h.
7773         * modules/git-merge-changelog (Depends-on): Add xlist. Remove list.
7774
7775         * tests/test-array_oset.c: Include gl_xlist.h.
7776         * modules/array-oset-tests (Depends-on): Add xlist.
7777
7778         Reported by José E. Marchesi <jemarch@gnu.org>.
7779
7780 2009-12-13  Bruno Haible  <bruno@clisp.org>
7781
7782         Move the malloc checking from module 'oset' to new module 'xoset'.
7783         * modules/xoset: New file.
7784         * lib/gl_xoset.h: New file.
7785         * lib/gl_xoset.c: New file.
7786         * lib/gl_oset.h (gl_oset_create_empty, gl_oset_add): Disable
7787         declarations.
7788         (gl_oset_nx_create_empty, gl_oset_nx_add): New declarations.
7789         (struct gl_oset_implementation): Rename and change methods accordingly.
7790         (gl_oset_nx_create_empty): Renamed from gl_oset_create_empty.
7791         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
7792         'int'. Mark as __warn_unused_result__.
7793         * lib/gl_oset.c (gl_oset_nx_create_empty): Renamed from
7794         gl_oset_create_empty.
7795         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
7796         'int'.
7797         * lib/gl_array_oset.c: Don't include xalloc.h.
7798         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Use
7799         malloc, not xmalloc.
7800         (grow): Change return type to 'int'. Don't call xalloc_die.
7801         (gl_array_nx_add_at): Renamed from gl_array_add_at. Change return type
7802         to 'int'.
7803         (gl_array_nx_add): Renamed from gl_array_add. Change return type to
7804         'int'.
7805         (gl_array_oset_implementation): Update.
7806         * lib/gl_anytree_oset.h (gl_tree_nx_create_empty): Renamed from
7807         gl_tree_create_empty.
7808         (gl_tree_nx_add): Renamed from gl_tree_add. Change return type to
7809         'int'.
7810         * lib/gl_avltree_oset.c: Don't include xalloc.h.
7811         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
7812         xmalloc.
7813         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
7814         not xmalloc.
7815         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
7816         xmalloc.
7817         (gl_avltree_oset_implementation): Update.
7818         * lib/gl_rbtree_oset.c: Don't include xalloc.h.
7819         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
7820         xmalloc.
7821         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
7822         not xmalloc.
7823         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
7824         xmalloc.
7825         (gl_rbtree_oset_implementation): Update.
7826         * modules/array-oset (Depends-on): Remove xalloc.
7827         * modules/avltree-oset (Depends-on): Likewise.
7828         * modules/rbtree-oset (Depends-on): Likewise.
7829         * tests/test-array_oset.c: Use gl_oset_nx_* functions where possible.
7830         * tests/test-avltree_oset.c: Likewise.
7831         * tests/test-rbtree_oset.c: Likewise.
7832         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
7833         * modules/avltree-oset-tests (Makefile.am): Don't link with @LIBINTL@.
7834         * modules/rbtree-oset-tests (Makefile.am): Likewise.
7835         * NEWS: Mention the change.
7836
7837 2009-12-05  Alfred M. Szmidt  <ams@gnu.org>
7838
7839         maint.mk: allow a project to override release-prep commands
7840         * top/maint.mk (alpha, beta, stable): Move release-preparatory
7841         commands into a new rule.
7842         (release-prep): New rule.
7843         (release-prep-hook): New overridable variable.
7844
7845 2009-12-13  Bruno Haible  <bruno@clisp.org>
7846
7847         * lib/localcharset.c (locale_charset): Fix comment about use of GetACP.
7848
7849 2009-12-13  Jim Meyering  <meyering@redhat.com>
7850
7851         maint.mk (null_AM_MAKEFLAGS, built_programs): remove unused definitions
7852         * top/maint.mk (null_AM_MAKEFLAGS, built_programs): Remove definitions.
7853
7854 2009-12-12  Bruno Haible  <bruno@clisp.org>
7855
7856         duplocale: Tweak.
7857         * lib/duplocale.c (rpl_duplocale): Mark categories array as 'const'.
7858
7859 2009-12-12  Karl Berry  <karl@gnu.org>
7860
7861         * config/srclist.txt (strtoll.c): tab changes, no more sync.
7862
7863 2009-12-12  Bruno Haible  <bruno@clisp.org>
7864
7865         * m4/po.m4: Undo incorrect untabification.
7866
7867 2009-12-12  Bruno Haible  <bruno@clisp.org>
7868
7869         c-strtod, c-strtold: Use multithread-safe implementation on MacOS X.
7870         * modules/c-strtod (Depends-on): Add locale.
7871         * modules/c-strtold (Depends-on): Likewise.
7872
7873 2009-12-12  Bruno Haible  <bruno@clisp.org>
7874
7875         * lib/localcharset.c (locale_charset): Add comment about use of GetACP.
7876
7877 2009-12-11  Eric Blake  <ebb9@byu.net>
7878
7879         setenv: relax requirement in light of POSIX ruling
7880         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test handling of "" but
7881         not NULL.
7882         * tests/test-setenv.c (main): Relax test.
7883         * tests/test-unsetenv.c (main): Likewise.
7884         * doc/posix-functions/setenv.texi (setenv): Document this.
7885         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
7886
7887 2009-12-11  Bruno Haible  <bruno@clisp.org>
7888
7889         New module 'fd-safer-flag'.
7890         * lib/dup-safer-flag.c: New file, extracted from lib/dup-safer.c.
7891         * lib/dup-safer.c (dup_safer_flag): Remove function.
7892         * lib/fd-safer-flag.c: New file, extracted from lib/fd-safer.c.
7893         * lib/fd-safer.c (fd_safer_flag): Remove function.
7894         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): Update condition.
7895         * modules/cloexec (configure.ac): Drop indicator macro.
7896         * modules/fd-safer-flag: New file.
7897         * modules/pipe2-safer (Depends-on): Add fd-safer-flag. Remove cloexec.
7898         * modules/stdlib-safer (Depends-on): Add fd-safer-flag.
7899         * modules/unistd-safer-tests (Depends-on): Add fd-safer-flag.
7900
7901 2009-12-11  Bruno Haible  <bruno@clisp.org>
7902
7903         Tests for module 'nl_langinfo'.
7904         * modules/nl_langinfo-tests: New file.
7905         * tests/test-nl_langinfo.sh: New file.
7906         * tests/test-nl_langinfo.c: New file.
7907
7908         New module 'nl_langinfo'.
7909         * lib/nl_langinfo.c: New file.
7910         * m4/nl_langinfo.m4: New file.
7911         * modules/nl_langinfo: New file.
7912         * doc/posix-functions/nl_langinfo.texi: Mention the new module.
7913
7914 2009-12-11  Bruno Haible  <bruno@clisp.org>
7915
7916         Tests for module 'langinfo'.
7917         * modules/langinfo-tests: New file.
7918         * tests/test-langinfo.c: New file.
7919
7920         New module 'langinfo'.
7921         * lib/langinfo.in.h: New file.
7922         * m4/langinfo_h.m4: New file.
7923         * modules/langinfo: New file.
7924         * doc/posix-headers/langinfo.texi: Mention the new module.
7925
7926 2009-12-11  Bruno Haible  <bruno@clisp.org>
7927
7928         * lib/config.charset: Untabify.
7929
7930 2009-12-11  Bruno Haible  <bruno@clisp.org>
7931
7932         * modules/unistd-safer (configure.ac): Drop indicator macro.
7933
7934 2009-12-11  Bruno Haible  <bruno@clisp.org>
7935
7936         Move pipe2-safer code to its own file.
7937         * lib/pipe2-safer.c: New file, extracted from lib/pipe-safer.c.
7938         * lib/pipe-safer.c (pipe2_safer): Remove function.
7939         * modules/pipe2-safer (Files): Add lib/pipe2-safer.c.
7940         (Makefile.am): Add it to lib_SOURCES.
7941
7942 2009-12-10  Bruno Haible  <bruno@clisp.org>
7943
7944         * lib/recvfrom.c (rpl_recvfrom): Allow the from argument to be NULL.
7945
7946 2009-12-10  Bruno Haible  <bruno@clisp.org>
7947
7948         Declare which arguments expect non-NULL values, for GCC and clang.
7949         * build-aux/arg-nonnull.h: New file.
7950         * modules/arg-nonnull: New file.
7951         * lib/arpa_inet.in.h (_GL_ARG_NONNULL): New placeholder.
7952         (inet_ntop, inet_pton): Use it.
7953         * lib/dirent.in.h (_GL_ARG_NONNULL): New placeholder.
7954         (closedir, dirfd, opendir, scandir, alphasort): Use it.
7955         * lib/fcntl.in.h (_GL_ARG_NONNULL): New placeholder.
7956         (open, openat): Use it.
7957         * lib/fnmatch.in.h (_GL_ARG_NONNULL): New placeholder.
7958         (fnmatch): Use it.
7959         * lib/getopt.in.h (_GL_ARG_NONNULL): New placeholder.
7960         (getopt, getopt_long, getopt_long_only): Use it.
7961         * lib/glob.in.h (_GL_ARG_NONNULL): New placeholder.
7962         * lib/glob-libc.h (glob, globfree, glob64, globfree64, glob_pattern_p):
7963         Use it.
7964         * lib/iconv.in.h (_GL_ARG_NONNULL): New placeholder.
7965         (iconv_open): Use it.
7966         * lib/inttypes.in.h (_GL_ARG_NONNULL): New placeholder.
7967         (strtoimax, strtoumax): Use it.
7968         * lib/locale.in.h (_GL_ARG_NONNULL): New placeholder.
7969         (duplocale): Use it.
7970         * lib/math.in.h (_GL_ARG_NONNULL): New placeholder.
7971         (frexp, frexpl): Use it.
7972         * lib/netdb.in.h (_GL_ARG_NONNULL): New placeholder.
7973         (getaddrinfo, freeaddrinfo, getnameinfo): Use it.
7974         * lib/search.in.h (_GL_ARG_NONNULL): New placeholder.
7975         (tsearch, tfind, tdelete, twalk): Use it.
7976         * lib/signal.in.h (_GL_ARG_NONNULL): New placeholder.
7977         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
7978         sigpending): Use it.
7979         * lib/spawn.in.h (_GL_ARG_NONNULL): New placeholder.
7980         (posix_spawn, posix_spawnp, posix_spawnattr_init,
7981         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
7982         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
7983         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
7984         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
7985         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
7986         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
7987         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
7988         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
7989         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
7990         Use it.
7991         * lib/stdio.in.h (_GL_ARG_NONNULL): New placeholder.
7992         (dprintf, fclose, fopen, fprintf, fpurge, fputc, fputs, freopen,
7993         rpl_fseek, fseeko, rpl_ftell, ftello, fwrite, getdelim, getline,
7994         obstack_printf, obstack_vprintf, popen, printf, putc, puts, remove,
7995         rename, renameat, snprintf, sprintf, asprintf, vasprintf, vdprintf,
7996         vfprintf, vprintf, vsnprintf, vsprintf): Use it.
7997         * lib/stdlib.in.h (_GL_ARG_NONNULL): New placeholder.
7998         (atoll, canonicalize_file_name, getloadavg, getsubopt, mkdtemp,
7999         mkostemp, mkostemps, mkstemp, mkstemps, putenv, srandom_r, initstate_r,
8000         setstate_r, random_r, realpath, rpmatch, setenv, strtod, strtoll,
8001         strtoull, unsetenv): Use it.
8002         * lib/string.in.h (_GL_ARG_NONNULL): New placeholder.
8003         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
8004         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
8005         strcasestr, strtok_r, mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
8006         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
8007         mbsspn, mbssep, mbstok_r, strverscmp): Use it.
8008         * lib/strings.in.h (_GL_ARG_NONNULL): New placeholder.
8009         (strcasecmp, strncasecmp): Use it.
8010         * lib/sys_socket.in.h (_GL_ARG_NONNULL): New placeholder.
8011         (rpl_connect, rpl_bind, rpl_getpeername, rpl_getsockname,
8012         rpl_getsockopt, rpl_recv, rpl_send, rpl_recvfrom, rpl_sendto,
8013         rpl_setsockopt): Use it.
8014         * lib/sys_stat.in.h (_GL_ARG_NONNULL): New placeholder.
8015         (fchmodat, fstat, fstatat, lchmod, rpl_lstat, mkdir, mkdirat, mkfifo,
8016         mkfifoat, mknod, mknodat, stat, utimensat): Use it.
8017         * lib/sys_time.in.h (_GL_ARG_NONNULL): New placeholder.
8018         (gettimeofday): Use it.
8019         * lib/sys_times.in.h (_GL_ARG_NONNULL): New placeholder.
8020         (times): Use it.
8021         * lib/sys_utsname.in.h (_GL_ARG_NONNULL): New placeholder.
8022         (uname): Use it.
8023         * lib/time.in.h (_GL_ARG_NONNULL): New placeholder.
8024         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): Use it.
8025         * lib/unistd.in.h (_GL_ARG_NONNULL): New placeholder.
8026         (chown, euidaccess, faccessat, _gl_register_fd, fchownat,
8027         getdomainname, gethostname, getlogin_r, lchown, link, linkat, pipe2,
8028         pread, readlink, readlinkat, rmdir, symlink, symlinkat, unlink,
8029         unlinkat, write): Use it.
8030         * lib/wchar.in.h (_GL_ARG_NONNULL): New placeholder.
8031         (mbsrtowcs, mbsnrtowcs, wcsrtombs, wcsnrtombs): Use it.
8032         * lib/argv-iter.h: Include arg-nonnull.h.
8033         (_ATTRIBUTE_NONNULL_): Remove macro.
8034         (argv_iter_init_argv, argv_iter_init_stream, argv_iter,
8035         argv_iter_n_args, argv_iter_free): Use _GL_ARG_NONNULL.
8036         * lib/canonicalize-lgpl.c (_GL_ARG_NONNULL): Define, to defeat gcc
8037         optimization.
8038         * lib/getaddrinfo.c (_GL_ARG_NONNULL): Likewise.
8039         * lib/getdelim.c (_GL_ARG_NONNULL): Likewise.
8040         * lib/glob.c (_GL_ARG_NONNULL): Likewise.
8041         * lib/random_r.c (_GL_ARG_NONNULL): Likewise.
8042         * lib/setenv.c (_GL_ARG_NONNULL): Likewise.
8043         * lib/strtod.c (_GL_ARG_NONNULL): Likewise.
8044         * lib/tsearch.c (_GL_ARG_NONNULL): Likewise.
8045         * lib/unsetenv.c (_GL_ARG_NONNULL): Likewise.
8046         * modules/arpa_inet (Depends-on): Add arg-nonnull.
8047         (Makefile.am): Insert arg-nonnull.h into arpa/inet.h.
8048         * modules/dirent (Depends-on): Add arg-nonnull.
8049         (Makefile.am): Insert arg-nonnull.h into dirent.h.
8050         * modules/fcntl-h (Depends-on): Add arg-nonnull.
8051         (Makefile.am): Insert arg-nonnull.h into fcntl.h.
8052         * modules/fnmatch (Depends-on): Add arg-nonnull.
8053         (Makefile.am): Insert arg-nonnull.h into fnmatch.h.
8054         * modules/getopt-posix (Depends-on): Add arg-nonnull.
8055         (Makefile.am): Insert arg-nonnull.h into getopt.h.
8056         * modules/glob (Depends-on): Add arg-nonnull.
8057         (Makefile.am): Insert arg-nonnull.h into glob.h.
8058         * modules/iconv_open (Depends-on): Add arg-nonnull.
8059         (Makefile.am): Insert arg-nonnull.h into iconv.h.
8060         * modules/inttypes (Depends-on): Add arg-nonnull.
8061         (Makefile.am): Insert arg-nonnull.h into inttypes.h.
8062         * modules/locale (Depends-on): Add arg-nonnull.
8063         (Makefile.am): Insert arg-nonnull.h into locale.h.
8064         * modules/math (Depends-on): Add arg-nonnull.
8065         (Makefile.am): Insert arg-nonnull.h into math.h.
8066         * modules/netdb (Depends-on): Add arg-nonnull.
8067         (Makefile.am): Insert arg-nonnull.h into netdb.h.
8068         * modules/search (Depends-on): Add arg-nonnull.
8069         (Makefile.am): Insert arg-nonnull.h into search.h.
8070         * modules/signal (Depends-on): Add arg-nonnull.
8071         (Makefile.am): Insert arg-nonnull.h into signal.h.
8072         * modules/spawn (Depends-on): Add arg-nonnull.
8073         (Makefile.am): Insert arg-nonnull.h into spawn.h.
8074         * modules/stdio (Depends-on): Add arg-nonnull.
8075         (Makefile.am): Insert arg-nonnull.h into stdio.h.
8076         * modules/stdlib (Depends-on): Add arg-nonnull.
8077         (Makefile.am): Insert arg-nonnull.h into stdlib.h.
8078         * modules/string (Depends-on): Add arg-nonnull.
8079         (Makefile.am): Insert arg-nonnull.h into string.h.
8080         * modules/strings (Depends-on): Add arg-nonnull.
8081         (Makefile.am): Insert arg-nonnull.h into strings.h.
8082         * modules/sys_socket (Depends-on): Add arg-nonnull.
8083         (Makefile.am): Insert arg-nonnull.h into sys/socket.h.
8084         * modules/sys_stat (Depends-on): Add arg-nonnull.
8085         (Makefile.am): Insert arg-nonnull.h into sys/stat.h.
8086         * modules/sys_time (Depends-on): Add arg-nonnull.
8087         (Makefile.am): Insert arg-nonnull.h into sys/time.h.
8088         * modules/sys_times (Depends-on): Add arg-nonnull.
8089         (Makefile.am): Insert arg-nonnull.h into sys/times.h.
8090         * modules/sys_utsname (Depends-on): Add arg-nonnull.
8091         (Makefile.am): Insert arg-nonnull.h into sys/utsname.h.
8092         * modules/time (Depends-on): Add arg-nonnull.
8093         (Makefile.am): Insert arg-nonnull.h into time.h.
8094         * modules/unistd (Depends-on): Add arg-nonnull.
8095         (Makefile.am): Insert arg-nonnull.h into unistd.h.
8096         * modules/wchar (Depends-on): Add arg-nonnull.
8097         (Makefile.am): Insert arg-nonnull.h into wchar.h.
8098         * modules/argv-iter (Depends-on): Add arg-nonnull.
8099         * tests/test-canonicalize.c (null_ptr): New function.
8100         (main): Use it.
8101         * tests/test-canonicalize-lgpl.c (null_ptr): New function.
8102         (main): Use it.
8103         * tests/test-memmem.c (null_ptr): New function.
8104         (main): Use it.
8105         Reported by Jim Meyering.
8106
8107 2009-12-10  Bruno Haible  <bruno@clisp.org>
8108
8109         Use spaces for indentation, not tabs.
8110         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
8111         * m4/*.m4: Untabify.
8112         * build-aux/*.h: Untabify.
8113         * tests/**/*.[hc]: Untabify.
8114         * README: New section "Indent with spaces, not TABs", based on
8115         coreutils/HACKING and comments by Pádraig Brady and Paolo Bonzini.
8116         * NEWS: Mention the change.
8117
8118 2009-12-10  Bruno Haible  <bruno@clisp.org>
8119
8120         pty test: Fix link error.
8121         * modules/pty-tests (Makefile.am): Add the default LDADD value to
8122         test_pty_LDADD.
8123
8124 2009-12-07  Simon Josefsson  <simon@josefsson.org>
8125
8126         * modules/pty: New file.
8127         * modules/pty-tests: New file.
8128         * m4/pty.m4: New file.
8129         * tests/test-pty.c: New file.
8130         * doc/glibc-headers/pty.texi: Modified.
8131         * doc/glibc-functions/forkpty.texi: Modified.
8132         * doc/glibc-functions/openpty.texi: Modified.
8133
8134 2009-12-10  Bruno Haible  <bruno@clisp.org>
8135
8136         Avoid syntax error in C++ mode.
8137         * lib/stdio.in.h (rename): Don't use parameter name 'new'.
8138
8139 2009-12-10  Bruno Haible  <bruno@clisp.org>
8140
8141         Use sed with option -e.
8142         * gnulib-tool (func_version, func_emit_copyright_notice,
8143         func_emit_initmacro_end, func_import, func_create_testdir): Pass
8144         option -e to sed.
8145         * modules/link-warning (Makefile.am): Likewise.
8146
8147 2009-12-10  Jim Meyering  <meyering@redhat.com>
8148
8149         mgetgroups: do not write bytes beyond end of malloc'd buffer
8150         * lib/mgetgroups.c: Fix an off-by-one error.  When we have no
8151         username, we call getgroups with a one-element-shorter buffer,
8152         but still told it the length was original, max_n_groups.
8153
8154 2009-12-09  Eric Blake  <ebb9@byu.net>
8155
8156         cloexec: relax license
8157         * modules/cloexec (Maintainer): Add myself.
8158         (License): Use LGPL, not GPL.
8159
8160         link-warning: optimize generation
8161         * modules/link-warning (Makefile.am): Reduce process usage.
8162
8163 2009-12-09  Bruno Haible  <bruno@clisp.org>
8164
8165         * doc/posix-functions/unsetenv.texi: Mention Solaris 10 bug for which a
8166         workaround was added on 2009-11-17.
8167
8168 2009-12-09  Jim Meyering  <meyering@redhat.com>
8169             Bruno Haible  <bruno@clisp.org>
8170
8171         link-warning: Allow extra lines at the top of build-aux/link-warning.h.
8172         * modules/link-warning (Makefile.am): Make the comment-removing sed
8173         command more robust in the face of bootstrap-prepended comment lines.
8174
8175 2009-12-09  Bruno Haible  <bruno@clisp.org>
8176
8177         * lib/mgetgroups.c (mgetgroups): Don't remove duplicates if there is at
8178         most one group.
8179
8180 2009-12-09  Simon Josefsson <simon@josefsson.org>
8181             Bruno Haible  <bruno@clisp.org>
8182
8183         * build-aux/link-warning.h: Add copyright notice.
8184         * modules/link-warning (Makefile.am): Generate link-warning.h from
8185         build-aux/link-warning.h. Update LINK_WARNING_H accordingly.
8186         * NEWS: Mention change in link-warning module.
8187         * modules/arpa_inet (Makefile.am): Add dependency to arpa/inet.h.
8188         * modules/dirent (Makefile.am): Add dependency to dirent.h.
8189         * modules/fcntl-h (Makefile.am): Add dependency to fcntl.h.
8190         * modules/getopt-posix (Makefile.am): Add dependency to getopt.h.
8191         * modules/inttypes (Makefile.am): Add dependency to inttypes.h.
8192         * modules/math (Makefile.am): Add dependency to math.h.
8193         * modules/search (Makefile.am): Add dependency to search.h.
8194         * modules/signal (Makefile.am): Add dependency to signal.h.
8195         * modules/spawn (Makefile.am): Add dependency to spawn.h.
8196         * modules/stdio (Makefile.am): Add dependency to stdio.h.
8197         * modules/stdlib (Makefile.am): Add dependency to stdlib.h.
8198         * modules/string (Makefile.am): Add dependency to string.h.
8199         * modules/strings (Makefile.am): Add dependency to strings.h.
8200         * modules/sys_ioctl (Makefile.am): Add dependency to sys/ioctl.h.
8201         * modules/sys_select (Makefile.am): Add dependency to sys/select.h.
8202         * modules/sys_socket (Makefile.am): Add dependency to sys/socket.h.
8203         * modules/sys_stat (Makefile.am): Add dependency to sys/stat.h.
8204         * modules/sys_times (Makefile.am): Add dependency to sys/times.h.
8205         * modules/sys_utsname (Makefile.am): Add dependency to sys/utsname.h.
8206         * modules/sys_wait (Makefile.am): Add dependency to sys/wait.h.
8207         * modules/unistd (Makefile.am): Add dependency to unistd.h.
8208         * modules/wchar (Makefile.am): Add dependency to wchar.h.
8209
8210 2009-12-09  Bruno Haible  <bruno@clisp.org>
8211
8212         fchdir: Optimize away rpl_fstat when possible.
8213         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set REPLACE_FSTAT only together with
8214         REPLACE_OPEN_DIRECTORY.
8215         * lib/fchdir.c (rpl_fstat): Define only when REPLACE_OPEN_DIRECTORY.
8216
8217 2009-12-09  Bruno Haible  <bruno@clisp.org>
8218
8219         * lib/fchdir.c: Update comment.
8220
8221 2009-12-09  Bruno Haible  <bruno@clisp.org>
8222
8223         * lib/cloexec.c (set_cloexec_flag): Clarify intent of dup2 call.
8224
8225 2009-12-08  Eric Blake  <ebb9@byu.net>
8226
8227         fchdir: avoid memory leak on re-registration.
8228         * lib/fchdir.c (ensure_dirs_slot): Avoid memory leak.
8229
8230 2009-12-08  Jim Meyering  <meyering@redhat.com>
8231
8232         init.sh: avoid Solaris 10 /bin/sh portability problem
8233         Solaris 10's /bin/sh does not pass '.' arguments 2.. to the
8234         sourced script:
8235           $ printf 'echo "$@"\n' > f; /bin/sh -c '. ./f bar'
8236           $ printf 'echo "$@"\n' > f; /bin/bash -c '. ./f bar'
8237           bar
8238         tests/init.sh relied on that, accepting a --set-path=DIR argument,
8239         and two tests used that idiom.
8240         * tests/init.sh: Update suggested usage comments.
8241         (path_prepend_): New function, to be used in place
8242         of the --src-path=DIR option.
8243         (setup_): Move PATH-prepending code into path_prepend_.
8244         * tests/test-pread.sh: Adapt to new usage.
8245         * tests/test-xalloc-die.sh: Likewise.
8246
8247 2009-12-08  Simon Josefsson  <simon@josefsson.org>
8248
8249         * doc/gnulib.texi (Glibc pty.h): Add.
8250         * doc/glibc-functions/forkpty.texi: Add.
8251         * doc/glibc-functions/openpty.texi: Add.
8252         Suggested by Bruno Haible.
8253
8254 2009-12-08  Eric Blake  <ebb9@byu.net>
8255
8256         fchdir: fix logic bugs
8257         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Fix logic bug.
8258         * tests/test-fchdir.c (main): Enhance test.
8259         * lib/fchdir.c (rpl_fstat): Always provide if fchdir replacement
8260         is in use.
8261
8262         dup2: fix logic bugs
8263         * lib/dup2.c (dup2): Fix logic bugs.  Use HAVE_DUP2 rather than
8264         REPLACE_DUP2 to decide when rpl_dup2 is needed.
8265         * m4/dup2.m4 (gl_REPLACE_DUP2): Only define REPLACE_DUP2 when dup2
8266         exists.
8267         (gl_FUNC_DUP2): Drop unneeded AC_DEFINE.
8268
8269 2009-12-07  Eric Blake  <ebb9@byu.net>
8270
8271         unlink: fix m4 detection
8272         * m4/unlink.m4 (gl_FUNC_UNLINK): Include correct header.
8273
8274         unistd-safer: add unit test
8275         * modules/unistd-safer-tests: New file.
8276         * tests/test-dup-safer.c: Likewise.
8277         * tests/test-cloexec.c (setmode): Avoid compiler warning.
8278         * tests/test-dup2.c (setmode): Likewise.
8279         * lib/cloexec.c (dup_cloexec): Fix mingw compile error.
8280
8281         cloexec: preserve text vs. binary across dup_cloexec
8282         * lib/cloexec.c (dup_cloexec) [W32]: Query and use translation
8283         mode.
8284         * modules/dup2-tests (Depends-on): Add binary-io.
8285         * modules/cloexec-tests (Depends-on): Likewise.
8286         * tests/test-dup2.c (setmode, is_mode): New helpers.
8287         (main): Add tests that translation mode is preserved.
8288         * tests/test-cloexec.c (setmode, is_mode, main): Likewise.
8289         Reported by Bruno Haible.
8290
8291         mgetgroups: reduce duplicate listings
8292         * lib/mgetgroups.c (mgetgroups): Reduce duplicates from the
8293         resulting array.
8294         * tests/test-chown.h (test_chown): Simplify client.
8295         * tests/test-lchown.h (test_lchown): Likewise.
8296
8297 2009-12-06  Bruno Haible  <bruno@clisp.org>
8298
8299         * lib/cloexec.c (dup_cloexec): Fix handling of _gl_register_dup return
8300         value.
8301
8302 2009-12-06  Bruno Haible  <bruno@clisp.org>
8303
8304         * lib/progname.c: Include stdio.h, stdlib.h.
8305         (set_program_name): Reject a NULL argument.
8306
8307 2009-12-05  Eric Blake  <ebb9@byu.net>
8308
8309         pipe2-safer: new module
8310         * modules/pipe2-safer: New file.
8311         * lib/unistd-safer.h (pipe2_safer): New prototype.
8312         * lib/unistd--.h (pipe2): New wrapper.
8313         * lib/pipe-safer.c (pipe2_safer): New function.
8314         * modules/pipe (Depends-on): Add pipe2-safer.
8315         * lib/pipe.c (create_pipe) [WIN32]: Let pipe2_safer do the work.
8316
8317         stdlib-safer: preserve cloexec flag for mkostemp[s]
8318         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer): Use new
8319         fd_safer_flag.
8320
8321         unistd-safer: allow preservation of cloexec status via flag
8322         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): New
8323         prototypes.
8324         * lib/dup-safer.c (dup_safer_flag): New function.
8325         * lib/fd-safer.c (fd_safer_flag): Likewise.
8326         * modules/cloexec (configure.ac): Set witness.
8327
8328         test-dup2: enhance test
8329         * modules/dup2-tests (Depends-on): Add cloexec.
8330         * tests/test-dup2.c (main): Enhance test.
8331
8332         cloexec: add dup_cloexec
8333         * lib/cloexec.h (dup_cloexec): New prototype.  Add copyright
8334         header and comments.
8335         * lib/cloexec.c (set_cloexec_flag): Add comments.
8336         (dup_cloexec): New function, with mingw implementation borrowed
8337         from...
8338         * lib/w32spawn.h (dup_noinherit): ...here.
8339         * modules/execute (Depends-on): Add cloexec.
8340         * modules/pipe (Depends-on): Likewise.
8341         * modules/cloexec (Depends-on): Add dup2.
8342         * modules/cloexec-tests (Files): New file.
8343         * tests/test-cloexec.c: Likewise.
8344
8345         test-xalloc-die: fix test for mingw
8346         * modules/xalloc-die-tests (Files): Add tests/init.sh.
8347         * tests/test-xalloc-die.sh: Rewrite to use init.sh.  Strip
8348         directory and .exe suffix off argv[0] output.
8349
8350         test-fseeko: fix test for mingw
8351         * tests/test-fseeko.c (fseek): Redefine GL_LINK_WARNING, rather
8352         than undefining fseek, so test will pass on mingw.
8353
8354 2009-12-05  Bruno Haible  <bruno@clisp.org>
8355
8356         * lib/progname.h (set_program_name): Clarify specification.
8357         * lib/progname.c (set_program_name): Likewise.
8358         Reported by Jim Meyering.
8359
8360 2009-12-05  Jim Meyering  <meyering@redhat.com>
8361
8362         maint.mk: backslash-escape parens in default regexp
8363         * top/maint.mk (news-check-regexp): Now that we're using grep -E,
8364         backslash-escape the literal parentheses.
8365
8366         maint.mk: news-date-check: use grep -E
8367         * top/maint.mk (today): Define a Make variable, not a...
8368         (news-date-check): ...shell variable.
8369         (news-date-regexp): Use the Make variable.
8370         Use grep's -E option.  Change the failing diagnostic to mention
8371         the variable, $(news-date-regexp).
8372
8373 2009-12-04  Alfred M. Szmidt  <ams@gnu.org>
8374
8375         maintainer-makefile: allow customization of NEWS entry format
8376         * top/maint.mk (news-date-regexp): New overridable variable.
8377         (news-date-check): Use it.
8378
8379 2009-12-04  Eric Blake  <ebb9@byu.net>
8380
8381         mgetgroups: add xgetgroups, and avoid ENOSYS failures
8382         * lib/mgetgroups.h (xgetgroups): New prototype.
8383         * lib/mgetgroups.c (xgetgroups): New wrapper.
8384         (mgetgroups): Handle ENOSYS.
8385         * modules/mgetgroups (Depends-on): Add realloc.
8386         Reported by Scott Harrison <scott.gnu.2009@scottrix.co.uk>.
8387
8388         mgetgroups: avoid argument promotion issues with -1
8389         * lib/mgetgroups.c (mgetgroups): A cast is required when checking
8390         for invalid gid_t.
8391         * tests/test-chown.h (getegid, test_chown): Likewise.
8392         * tests/test-lchown.h (getegid, test_lchown): Likewise.
8393
8394 2009-12-03  Paolo Bonzini  <bonzini@gnu.org>
8395
8396         exclude: Fix header file problems.
8397         * lib/exclude.h: Add multiple inclusion guards and include stdbool.h.
8398
8399 2009-12-01  Jim Meyering  <meyering@redhat.com>
8400
8401         fts: fts_open: do not let an empty string cause immediate failure
8402         This is required in support of GNU rm, for which the command
8403         "rm A '' B" must process and remove both A and B, in spite of
8404         the empty string argument.
8405         * lib/fts.c (fts_open): Do not let the presence of an empty string
8406         cause fts_open to fail immediately.  Most fts-using tools must be
8407         able to process all arguments, in order, and can be expected to
8408         diagnose such arguments themselves.
8409
8410 2009-11-30  Eric Blake  <ebb9@byu.net>
8411
8412         utimens: fix compilation error
8413         * lib/utimens.c (lutimens) [!HAVE_UTIMENSAT && HAVE_LUTIMES]:
8414         Declare variable at right scope.
8415
8416 2009-11-29  Jim Meyering  <meyering@redhat.com>
8417
8418         bootstrap: handle perl-5.11's changed --version output
8419         * build-aux/bootstrap (get_version): Handle perl separately,
8420         since perl-5.11's --version output is different.
8421
8422 2009-11-28  Jim Meyering  <meyering@redhat.com>
8423
8424         userspec: depend on the inttostr module, too
8425         * modules/userspec (Depends-on): Add inttostr.
8426
8427         userspec: disallow an ID that maps to (uid_t)-1 or (gid_t)-1
8428         * lib/userspec.c (parse_with_separator): Do not accept a user ID
8429         number of MAXUID when it evaluates to (uid_t) -1.
8430         Likewise for group ID.  Reported by Matt McCutchen in
8431         <http://savannah.gnu.org/bugs/?28113>
8432
8433         userspec: reformat to use spaces, not TABs
8434         * lib/userspec.c: Expand TABs to spaces.
8435         Add Emacs' "indent-tabs-mode: nil" hint.
8436
8437 2009-11-27  Eric Blake  <ebb9@byu.net>
8438
8439         getopt-gnu: flush out another BSD bug
8440         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Test for the bug.
8441         * tests/test-getopt.c (main): Check POSIXLY_CORRECT first, to
8442         flush out BSD bug.
8443         * tests/test-getopt.h (test_getopt): End lists with NULL.
8444         * tests/test-getopt_long.h (test_getopt_long): Likewise.
8445         (test_getopt_long_posix): Enhance test.
8446         * modules/getopt-posix-tests (Depends-on): Add stdbool.
8447         * doc/glibc-functions/getopt_long.texi (getopt_long): Mention
8448         getopt-gnu.
8449         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
8450         Likewise.
8451
8452 2009-11-27  Simon Josefsson  <simon@josefsson.org>
8453
8454         * modules/idpriv-droptemp-tests (Notice): Fix text.
8455
8456 2009-11-27  Jim Meyering  <meyering@redhat.com>
8457
8458         test-xalloc-die: avoid spurious failure due to libtool argv difference
8459         In a libtool-enabled project, this test would fail due to a difference
8460         in the emitted program name, e.g.,
8461         -test-xalloc-die: memory exhausted
8462         +/tmp/.../tests/.libs/lt-test-xalloc-die: memory exhausted
8463         Use program to avoid that.
8464         * modules/xalloc-die-tests (Depends-on): Add progname.
8465         * tests/test-xalloc-die.c: Include progname.h".
8466         (program_name): Remove decl.
8467         (main): Call set_program_name.
8468         * tests/test-xalloc-die.sh (compare): Remove unnecessary ${EXE}.
8469
8470 2009-11-26  Richard Jones  <rjones@redhat.com>
8471
8472         w32sock: leave win32 error in place.
8473         * lib/w32sock.h (set_winsock_errno): Do not call WSASetLastError.
8474
8475 2009-11-26  Eric Blake  <ebb9@byu.net>
8476
8477         init.sh: suggest to use skip_ and fail_ functions in comments
8478         * tests/init.sh: Add a sentence.
8479
8480 2009-11-25  Bruno Haible  <bruno@clisp.org>
8481
8482         init.sh: add documentation in comments
8483         * tests/init.sh: Add some developer and user documentation.
8484
8485 2009-11-26  Jim Meyering  <meyering@redhat.com>
8486
8487         init.sh: accommodate even those who specify bogus srcdir manually
8488         * tests/init.sh: Normally, srcdir is guaranteed by automake and
8489         configure-time tests to be sanitized, so that there is no need to
8490         use "$srcdir" in Makefile rules and shell scripts.  Using $srcdir
8491         (with no double quotes) suffices.  However, since tests may be
8492         invoked manually, and since you may explicitly set srcdir to the
8493         name of a directory containing spaces, do quote its uses here.
8494         * tests/test-pread.sh: Likewise.
8495         Suggested by Bruno Haible.
8496
8497         test-pread.sh: avoid diagnostics for those who ignore SIGPIPE
8498         * tests/test-pread.sh: Write no data into the pipe, because
8499         test-pread actually reads none.  This avoids a diagnostic,
8500         "bash: echo: write error: Broken pipe", that arises in the unusual
8501         event something is ignoring SIGPIPE, and might be interpreted
8502         as some sort of failure.  Reported by Bruno Haible.
8503
8504 2009-11-25  Jim Meyering  <meyering@redhat.com>
8505
8506         test-pread: cover failure with ESPIPE and EINVAL
8507         * tests/test-pread.c (main): Test for failure, too.
8508         * tests/test-pread.sh: Invoke with stdin on a pipe.
8509         Suggested by Eric Blake.
8510
8511         pread: improvement and fix
8512         * modules/pread (Depends-on): Depend on lseek, for portability to
8513         e.g., mingw.  Suggested by Eric Blake.
8514         * lib/pread.c (__libc_read): Define.  Reported by Richard W.M. Jones.
8515
8516         unistd.in.h: correct declaration of pread
8517         * lib/unistd.in.h: Correct type of "buf" parameter: void*, not char*
8518         Reported by Richard W.M. Jones.
8519
8520         test-pread.sh: distribute the test script
8521         * modules/pread-tests (Files): Include test-pread.sh.
8522
8523         test-pread.sh: clean up
8524         * tests/test-pread.sh: Don't refer to $builddir. Just use equivalent ".".
8525         * modules/pread-tests (TESTS_ENVIRONMENT): Don't export builddir.
8526         That is unnecessary, since it's always ".".
8527         Suggestion from Eric Blake.
8528
8529         test-pread.sh: make executable
8530         * tests/test-pread.sh: Set executable bit.
8531         Reported by Eric Blake.
8532
8533         correct typo in test-pread.sh
8534         * tests/test-pread.sh: Add #! line.
8535
8536         test pread
8537         * tests/test-pread.c: New file.
8538         * tests/test-pread.sh: Likewise.
8539         * modules/pread-tests: Likewise.
8540
8541         pread: new module
8542         * modules/pread: New file.
8543         * lib/unistd.in.h (pread): Define/declare.
8544         * lib/pread.c (pread): New file.
8545         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define defaults.
8546         * modules/unistd (Makefile.am): Substitute witnesses.
8547         * doc/posix-functions/pread.texi (pread): Update.
8548         * MODULES.html.sh: Add pread.
8549
8550 2009-11-25  Jim Meyering  <meyering@redhat.com>
8551
8552         tests/init.sh: new file to be used via most *.sh tests
8553         * tests/init.sh: New file.
8554
8555 2009-11-25  Eric Blake  <ebb9@byu.net>
8556
8557         utimens: work around older Linux failure with symlinks
8558         * lib/utimens.c (lutimensat_works_really): New variable.
8559         (fdutimens, lutimens): Use it to manage kernels that support
8560         nanosecond times on files, but not on symlinks.
8561         Reported by Ondřej Vašík.
8562
8563         utimes: fix configure grammar
8564         * m4/utimes.m4 (gl_FUNC_UTIMES): Delete spurious word.
8565
8566 2009-11-25  Paolo Bonzini  <bonzini@gnu.org>
8567
8568         regex: Fix fastmap for multibyte character ranges.
8569         * lib/regcomp.c (re_compute_fastmap_iter): Add all multibyte lead
8570         characters when a multibyte character range is included.
8571
8572 2009-11-22  Andy Wingo  <wingo@pobox.com>
8573
8574         version-etc: work also with AM_INIT_AUTOMAKE's no-define option
8575         * lib/version-etc.c [!defined PACKAGE]: Define to PACKAGE_TARNAME.
8576
8577 2009-11-24  Bruno Haible  <bruno@clisp.org>
8578
8579         doc: Most *_l functions exist in MacOS X 10.5.
8580         * doc/posix-functions/duplocale.texi: Update platforms list.
8581         * doc/posix-functions/freelocale.texi: Likewise.
8582         * doc/posix-functions/newlocale.texi: Likewise.
8583         * doc/posix-functions/uselocale.texi: Likewise.
8584         * doc/posix-functions/isalnum_l.texi: Likewise.
8585         * doc/posix-functions/isalpha_l.texi: Likewise.
8586         * doc/posix-functions/isblank_l.texi: Likewise.
8587         * doc/posix-functions/iscntrl_l.texi: Likewise.
8588         * doc/posix-functions/isdigit_l.texi: Likewise.
8589         * doc/posix-functions/isgraph_l.texi: Likewise.
8590         * doc/posix-functions/islower_l.texi: Likewise.
8591         * doc/posix-functions/isprint_l.texi: Likewise.
8592         * doc/posix-functions/ispunct_l.texi: Likewise.
8593         * doc/posix-functions/isspace_l.texi: Likewise.
8594         * doc/posix-functions/isupper_l.texi: Likewise.
8595         * doc/posix-functions/iswalnum_l.texi: Likewise.
8596         * doc/posix-functions/iswalpha_l.texi: Likewise.
8597         * doc/posix-functions/iswblank_l.texi: Likewise.
8598         * doc/posix-functions/iswcntrl_l.texi: Likewise.
8599         * doc/posix-functions/iswctype_l.texi: Likewise.
8600         * doc/posix-functions/iswdigit_l.texi: Likewise.
8601         * doc/posix-functions/iswgraph_l.texi: Likewise.
8602         * doc/posix-functions/iswlower_l.texi: Likewise.
8603         * doc/posix-functions/iswprint_l.texi: Likewise.
8604         * doc/posix-functions/iswpunct_l.texi: Likewise.
8605         * doc/posix-functions/iswspace_l.texi: Likewise.
8606         * doc/posix-functions/iswupper_l.texi: Likewise.
8607         * doc/posix-functions/iswxdigit_l.texi: Likewise.
8608         * doc/posix-functions/isxdigit_l.texi: Likewise.
8609         * doc/posix-functions/nl_langinfo_l.texi: Likewise.
8610         * doc/posix-functions/strcasecmp_l.texi: Likewise.
8611         * doc/posix-functions/strcoll_l.texi: Likewise.
8612         * doc/posix-functions/strfmon_l.texi: Likewise.
8613         * doc/posix-functions/strftime_l.texi: Likewise.
8614         * doc/posix-functions/strncasecmp_l.texi: Likewise.
8615         * doc/posix-functions/strxfrm_l.texi: Likewise.
8616         * doc/posix-functions/tolower_l.texi: Likewise.
8617         * doc/posix-functions/toupper_l.texi: Likewise.
8618         * doc/posix-functions/towctrans_l.texi: Likewise.
8619         * doc/posix-functions/towlower_l.texi: Likewise.
8620         * doc/posix-functions/towupper_l.texi: Likewise.
8621         * doc/posix-functions/wcscoll_l.texi: Likewise.
8622         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
8623         * doc/posix-functions/wctrans_l.texi: Likewise.
8624         * doc/posix-functions/wctype_l.texi: Likewise.
8625         * doc/glibc-functions/strptime_l.texi: Likewise.
8626         * doc/glibc-functions/strtod_l.texi: Likewise.
8627         * doc/glibc-functions/strtof_l.texi: Likewise.
8628         * doc/glibc-functions/strtol_l.texi: Likewise.
8629         * doc/glibc-functions/strtold_l.texi: Likewise.
8630         * doc/glibc-functions/strtoll_l.texi: Likewise.
8631         * doc/glibc-functions/strtoul_l.texi: Likewise.
8632         * doc/glibc-functions/strtoull_l.texi: Likewise.
8633         * doc/glibc-functions/wcsftime_l.texi: Likewise.
8634         * doc/glibc-functions/wcstod_l.texi: Likewise.
8635         * doc/glibc-functions/wcstof_l.texi: Likewise.
8636         * doc/glibc-functions/wcstol_l.texi: Likewise.
8637         * doc/glibc-functions/wcstold_l.texi: Likewise.
8638         * doc/glibc-functions/wcstoll_l.texi: Likewise.
8639         * doc/glibc-functions/wcstoul_l.texi: Likewise.
8640         * doc/glibc-functions/wcstoull_l.texi: Likewise.
8641
8642 2009-11-24  Bruno Haible  <bruno@clisp.org>
8643
8644         duplocale: Fix logic bug.
8645         * lib/duplocale.c: Don't include <langinfo.h>.
8646         (_NL_LOCALE_NAME): Remove macro.
8647         (rpl_duplocale): Use setlocale instead of nl_langinfo.
8648         * tests/test-duplocale.c (main): Also test duplocale after uselocale.
8649
8650 2009-11-23  Jim Meyering  <meyering@redhat.com>
8651
8652         test-update-copyright: don't hard-code /usr/bin/perl
8653         * tests/test-update-copyright.sh (YEAR): Use date +%Y, rather than
8654         perl to print the current year.  Gilles Espinasse reported that
8655         the replaced use of perl was hard-coded as /usr/bin/perl.
8656
8657 2009-11-23  Bruno Haible  <bruno@clisp.org>
8658
8659         duplocale: Add support for glibc 2.3.x.
8660         * lib/duplocale.c (rpl_duplocale): Add fallback code for glibc 2.3.x.
8661
8662 2009-11-22  Bruno Haible  <bruno@clisp.org>
8663
8664         vasnprintf: Tiny optimization.
8665         * lib/vasnprintf.c (decimal_point_char): Choose the fast path also on
8666         MacOS X.
8667
8668 2009-11-22  Bruno Haible  <bruno@clisp.org>
8669
8670         Tests for module 'duplocale'.
8671         * modules/duplocale-tests: New file.
8672         * tests/test-duplocale.c: New file.
8673
8674         New module 'duplocale'.
8675         * m4/duplocale.m4: New file.
8676         * lib/locale.in.h (duplocale): New declaration.
8677         * lib/duplocale.c: New file.
8678         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_MODULE_INDICATOR,
8679         gl_LOCALE_H_DEFAULTS): New macros.
8680         (gl_LOCALE_H): Require gl_LOCALE_H_DEFAULTS. Invoke
8681         gl_CHECK_NEXT_HEADERS unconditionally. Invoke gl_REPLACE_LOCALE_H.
8682         * modules/locale (Makefile.am): Substitute also GNULIB_DUPLOCALE,
8683         REPLACE_DUPLOCALE.
8684         * modules/duplocale: New file.
8685         * doc/posix-functions/duplocale.texi: Mention the glibc bug.
8686
8687 2009-11-22  Bruno Haible  <bruno@clisp.org>
8688
8689         * modules/locale-tests (configure.ac): Test for newlocale function.
8690         * tests/test-locale.c: When the system has extended locale functions,
8691         verify that <locale.h> defines locale_t and LC_GLOBAL_LOCALE.
8692
8693         locale: Make locale_t available when possible.
8694         * lib/locale.in.h: Include <xlocale.h> when it exists.
8695         * m4/locale_h.m4 (gl_LOCALE_H): Check for <xlocale.h> and arrange to
8696         replace <locale.h> if it does not define locale_t but <xlocale.h> does.
8697         * modules/locale (Depends-on): Add extensions.
8698         (Makefile.am): Also substitute HAVE_XLOCALE_H.
8699         * doc/posix-headers/locale.texi: Document the problem with locale_t.
8700
8701 2009-11-22  Bruno Haible  <bruno@clisp.org>
8702
8703         Add comments.
8704         * m4/dirent_h.m4 (gl_DIRENT_H): Add comment about gl_CHECK_NEXT_HEADERS
8705         invocation.
8706         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
8707         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
8708         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
8709
8710 2009-11-22  Bruno Haible  <bruno@clisp.org>
8711
8712         error: account for the possibility of freopen (stdout).
8713         * lib/error.c: Include <unistd.h>.
8714         (flush_stdout): New function, extracted from error and error_at_line.
8715         Determine stdout's fd dynamically.
8716         (error, error_at_line): Invoke flush_stdout.
8717         * m4/error.m4 (gl_PREREQ_ERROR): Require AC_C_INLINE.
8718         * modules/error (Depends-on): Add unistd.
8719
8720 2009-11-22  Bruno Haible  <bruno@clisp.org>
8721
8722         diffseq: Add comment.
8723         * lib/diffseq.h (IF_LINT): Add comment about pitfall.
8724
8725 2009-11-22  Jim Meyering  <meyering@redhat.com>
8726
8727         c-stack: avoid defining an unused static function
8728         * lib/c-stack.c (find_stack_direction): Do not define this function
8729         when it will not be used.
8730
8731         diffseq: avoid spurious gcc warnings
8732         * lib/diffseq.h (IF_LINT2): Define.
8733         (compareseq): Use it to initialize two members of "part".
8734         This avoids two used-uninitialized warnings.
8735
8736 2009-11-21  Jim Meyering  <meyering@redhat.com>
8737
8738         c-stack: avoid "ignoring return value of `write'" warning
8739         * lib/c-stack.c: Include "ignore-value.h".
8740         (die): Explicitly ignore each write return value.
8741         * modules/c-stack (Depends-on): Add ignore-value.
8742
8743 2009-11-21  Bruno Haible  <bruno@clisp.org>
8744
8745         diffseq: reduce scope of variable 'best'.
8746         * lib/diffseq.h (diag) [USE_HEURISTIC]: Reduce scope of 'best'
8747         variable, earlier used for two different purposes.
8748
8749 2009-11-21  Jim Meyering  <meyering@redhat.com>
8750
8751         diffseq: remove useless assignment to "best"
8752         * lib/diffseq.h (diag) [USE_HEURISTIC]: Remove useless "best = 0"
8753         assignment.  At that point "best" is already guaranteed to be zero.
8754
8755 2009-11-20  Eric Blake  <ebb9@byu.net>
8756
8757         build: mention ftp redirector in release announcements
8758         * top/maint.mk (gnu_rel_host, url_dir_list): Provide defaults for
8759         values that used to come from cfg.mk; mention FTP redirect URL.
8760         * build-aux/announce-gen: Mention the mirror list.
8761         Suggested by Karl Berry.
8762
8763         nanosleep: improve port to mingw
8764         * lib/nanosleep.c (rpl_nanosleep): Reject invalid arguments.
8765         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Incorporate LIBSOCKET into
8766         LIB_NANOSLEEP, but only when needed.
8767         * modules/select (Link): Document LIBSOCKET.
8768         * m4/select.m4 (gl_FUNC_SELECT): Ensure LIBSOCKET is defined early
8769         enough.
8770
8771         nanosleep: work around cygwin bug
8772         * lib/nanosleep.c (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]:
8773         Fix logic bug when nanosleep fails.  Work around cygwin 1.5.x
8774         bug.
8775         (getnow): Delete, not needed.
8776         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): No longer require
8777         LIB_CLOCK_GETTIME.
8778         * modules/nanosleep (Depends-on): Add intprops and verify.  Drop
8779         clock-time, gettime.
8780         * doc/posix-functions/nanosleep.texi (nanosleep): Document the
8781         bug.
8782         * modules/nanosleep-tests: New test.
8783         * tests/test-nanosleep.c: New file.
8784
8785         sleep: work around cygwin bug
8786         * lib/sleep.c (rpl_sleep): Work around the bug.
8787         * m4/sleep.m4 (gl_FUNC_SLEEP): Detect the bug.
8788         (gl_PREREQ_SLEEP): Delete unused macro.
8789         * modules/sleep (Depends-on): Add verify.
8790         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
8791         * modules/unistd (Makefile.am): Substitute witness.
8792         * lib/unistd.in.h (sleep): Update prototype.
8793         * doc/posix-functions/sleep.texi (sleep): Document the bug.
8794         * tests/test-sleep.c (main) [HAVE_DECL_ALARM]: Test it.
8795         * modules/sleep-tests (Depends-on): Check for alarm.
8796
8797 2009-11-20  Jim Meyering  <meyering@redhat.com>
8798
8799         maint.mk: improve sc_prohibit_magic_number_exit
8800         * top/maint.mk (sc_prohibit_magic_number_exit): Tighten regexp
8801         so it does not match uses like System.exit(1).
8802         Add comments showing how to correct all offenders.
8803
8804 2009-11-19  Eric Blake  <ebb9@byu.net>
8805
8806         xalloc-die-tests: add missing library
8807         * modules/xalloc-die-tests (Makefile.am): Add LDADD line.
8808
8809         test-xvasprintf: silence compiler warnings
8810         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Mask
8811         empty string from gcc.
8812
8813 2009-11-19  Jim Meyering  <meyering@redhat.com>
8814
8815         xfreopen: new module, from coreutils
8816         * modules/xfreopen: New module.
8817         * lib/xfreopen.c: New file.
8818         * lib/xfreopen.h: New file.
8819         * MODULES.html.sh (File stream based Input/Output"): Add it.
8820
8821 2009-11-19  Eric Blake  <ebb9@byu.net>
8822
8823         manywarnings: depend on warnings
8824         * modules/manywarnings (Depends-on): Add warnings.
8825
8826         build: avoid compiler warnings
8827         * lib/select.c (rpl_select): Delete unused variable.
8828         * lib/setsockopt.c (rpl_setsockopt): Avoid incompatible pointer.
8829
8830 2009-11-18  Eric Blake  <ebb9@byu.net>
8831
8832         tests: avoid false negative with --with-packager
8833         * tests/test-version-etc.sh: Discard packager information.
8834         * tests/test-argp-version-etc-1.sh: Likewise.
8835         Reported by Mike Frysinger.
8836
8837         utimens: fix regression on Solaris
8838         * m4/utimens.m4 (gl_UTIMENS): Check for BSD bug.
8839         * lib/utimens.c (fdutimens): Revert 2009-11-08 change; Solaris 10
8840         can only change fd timestamps via futimesat.  Instead, use an
8841         additional witness macro to avoid BSD bug.
8842         Reported by Jim Meyering.
8843
8844 2009-11-17  Eric Blake  <ebb9@byu.net>
8845
8846         usleep: use it to simplify tests
8847         * modules/stat-time-tests (Depends-on): Add usleep.
8848         (configure.ac): Drop usleep check.
8849         * modules/chown-tests (Depends-on, configure.ac): Likewise.
8850         * modules/lchown-tests (Depends-on, configure.ac): Likewise.
8851         * modules/fdutimensat-tests (Depends-on, configure.ac): Likewise.
8852         * modules/futimens-tests (Depends-on, configure.ac): Likewise.
8853         * modules/openat-tests (Depends-on, configure.ac): Likewise.
8854         * modules/utimens-tests (Depends-on, configure.ac): Likewise.
8855         * modules/utimensat-tests (Depends-on, configure.ac): Likewise.
8856         * modules/pipe-filter-gi-tests (Depends-on, configure.ac):
8857         Likewise.
8858         * tests/test-chown.h (nap): Rely on nicer usleep semantics.
8859         * tests/test-lchown.h (nap): Likewise.
8860         * tests/test-pipe-filter-gi2-main.c (small_nap): Likewise.
8861         * tests/test-stat-time.c (nap): Likewise.
8862         * tests/test-utimens-common.h (nap): Update comments.
8863
8864         usleep: new module
8865         * modules/usleep: New file.
8866         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
8867         * lib/usleep.c (usleep): Likewise.
8868         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
8869         * modules/unistd (Makefile.am): Substitute witnesses.
8870         * lib/unistd.in.h (usleep): Add declaration.
8871         * doc/pastposix-functions/usleep.texi (usleep): Document this.
8872         * MODULES.html.sh (Date and time): Likewise.
8873         * modules/usleep-tests (Depends-on): New test.
8874         * tests/test-usleep.c: New file.
8875
8876         chown: work around OpenBSD bug
8877         * lib/chown.c (rpl_chown): Work around the bug.
8878         * lib/lchown.c (rpl_lchown): Attempt to do likewise.
8879         * m4/chown.m4 (gl_FUNC_CHOWN): Test for ctime bug.
8880         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for lchmod.
8881         * modules/chown (Depends-on): Add stdbool.
8882         * modules/lchown (Depends-on): Likewise.
8883         * doc/posix-functions/chown.texi (chown): Document the bug.
8884         * doc/posix-functions/lchown.texi (lchown): Likewise.
8885         * tests/test-lchown.h (test_chown): Relax test.
8886
8887         mkstemp: avoid conflict with C++ keyword template
8888         * lib/mkdtemp.c (mkdtemp): Change spelling of template.
8889         * lib/mkostemp.c (mkostemp): Likewise.
8890         * lib/mkostemps.c (mkostemps): Likewise.
8891         * lib/mkstemp.c (mkstemp): Likewise.
8892         * lib/mkstemps.c (mkstemps): Likewise.
8893
8894         xalloc-die-tests: optimize
8895         * tests/test-xalloc-die.sh: Reduce number of processes.
8896
8897 2009-11-17  Simon Josefsson  <simon@josefsson.org>
8898
8899         * gnulib-tool: Support LGPLv3+ licenses in module files.  Tiny
8900         patch from ludo@gnu.org (Ludovic Courtès).
8901
8902 2009-11-17  Jim Meyering  <meyering@redhat.com>
8903
8904         version-etc: use proper license string
8905         * modules/version-etc (License): Use LGPL, not LGPLv3+.
8906         * modules/version-etc-fsf: Likewise.
8907
8908 2009-11-17  Simon Josefsson  <simon@josefsson.org>
8909
8910         * tests/test-xalloc-die.sh: Add license.  Check that nothing is
8911         printed to stdout.  Deal with EOL differences.
8912
8913 2009-11-17  Eric Blake  <ebb9@byu.net>
8914
8915         unsetenv: work around Solaris bug
8916         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for bug.
8917         * lib/unsetenv.c (rpl_unsetenv): Work around it.
8918         Reported by Jim Meyering.
8919
8920         vasnprintf: avoid compiler warnings
8921         * lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local
8922         variables.
8923         * lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch.
8924
8925 2009-11-17  Simon Josefsson  <simon@josefsson.org>
8926
8927         * modules/xalloc-die-tests (Makefile.am): Drop XFAIL_TESTS
8928         settings since xalloc-die is no longer the self test,
8929         xalloc-die.sh is.
8930
8931 2009-11-17  Jim Meyering  <meyering@redhat.com>
8932
8933         test-xalloc-die.sh: make the code agree with the commit log
8934         * tests/test-xalloc-die.sh: Put "." at the front of $PATH, not
8935         at the end, just in case you happen to have a test-xalloc-die
8936         program in some other PATH directory.
8937
8938         test-xalloc-die.sh: fix a portability bug
8939         * tests/test-xalloc-die.sh: Do not invoke via ./test-xalloc-die.
8940         Instead, set PATH to start with "." and invoke via "test-xalloc-die".
8941         Otherwise, argv[0] (as often seen in diagnostics) would be too
8942         system-dependent, sometimes with, and sometimes without the leading "./".
8943
8944         version-etc-fsf: relax license to LGPLv3+
8945         * modules/version-etc-fsf (License): Relax license.
8946
8947 2009-11-16  Eric Blake  <ebb9@byu.net>
8948
8949         xalloc-die-tests: avoid printing null pointer
8950         * modules/xalloc-die-tests (Files, Makefile.am): Wrap execution in
8951         shell script.
8952         * tests/test-xalloc-die.c (program_name): Declare.
8953         * tests/test-xalloc-die.sh (tmpfiles): New file.
8954
8955         setenv, unsetenv: work around various bugs
8956         * lib/setenv.c (setenv) [!HAVE_SETENV]: Resync from glibc.
8957         (setenv) [HAVE_SETENV]: Work around bugs.
8958         * lib/unsetenv.c (unsetenv) [HAVE_UNSETENV]: Work around bugs.
8959         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE, gl_FUNC_UNSETENV): Check
8960         for bugs.
8961         (gl_FUNC_SETENV): Write in terms of gl_FUNC_SETENV_SEPARATE.
8962         * m4/environ.m4 (gl_ENVIRON): Avoid expand-before-require.
8963         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Update defaults.
8964         * modules/stdlib (Makefile.am): Update substitutions.
8965         * lib/stdlib.in.h (setenv, unsetenv): Update prototypes.
8966         * doc/posix-functions/setenv.texi (setenv): Document the bugs.
8967         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
8968         * modules/setenv-tests: New test.
8969         * modules/unsetenv-tests: Likewise.
8970         * tests/test-setenv.c: New file.
8971         * tests/test-unsetenv.c: Likewise.
8972
8973 2009-11-16  Jim Meyering  <meyering@redhat.com>
8974
8975         version-etc: relax license to LGPLv3+
8976         * modules/version-etc (License): Relax license.
8977
8978         better AC_REQUIRE expanded-before-required-warning avoidance
8979         * m4/chown.m4 (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Define
8980         with AC_DEFUN_ONCE, rather than AC_DEFUN, to avoid AC_REQUIRE warnings.
8981         Suggested by Eric Blake.  This change also reverts commit 1b712ba8,
8982         which is no longer needed.
8983
8984 2009-11-16  Eric Blake  <ebb9@byu.net>
8985
8986         test-freading: clean up temporary file
8987         * tests/test-freading.c (main): Remove file on success, and use
8988         ASSERT more liberally.
8989         Reported by Jim Meyering.
8990
8991 2009-11-16  Jim Meyering  <meyering@redhat.com>
8992
8993         avoid new AC_REQUIRE expanded-before-required warnings
8994         * modules/chown (configure.ac): Require gl_FUNC_CHOWN, rather than
8995         merely using it.
8996         * modules/euidaccess (configure.ac): Likewise for gl_FUNC_EUIDACCESS.
8997         * modules/faccessat (configure.ac): Likewise for gl_FUNC_FACCESSAT.
8998
8999 2009-11-15  Simon Josefsson  <simon@josefsson.org>
9000
9001         * tests/test-xalloc-die.c: New file.
9002         * modules/xalloc-die-tests: New file.
9003         * gnulib-tool (func_emit_tests_Makefile_am): Also initialize
9004         XFAIL_TESTS so it can be appended by modules.
9005
9006 2009-11-15  Simon Josefsson  <simon@josefsson.org>
9007
9008         * lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898.  Reported
9009         by Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>.
9010
9011 2009-11-14  Eric Blake  <ebb9@byu.net>
9012
9013         fnmatch: avoid compiler warning
9014         * lib/fnmatch_loop.c (NEW_PATTERN): Coerce addition to unsigned,
9015         to silence compiler warning about mismatch signedness in ?:.
9016         Reported by Robert Millan.
9017
9018         intprops: add double-inclusion guard
9019         * lib/intprops.h: Allow idempotent includes.
9020         Suggested by Bruce Korb.
9021
9022         openat: detect Solaris fchownat bug
9023         * lib/fchownat.c (rpl_fchownat): Work around Solaris bug.  Avoid
9024         penalizing glibc chownat when only lchownat is broken.
9025         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Replace fchownat if there are
9026         trailing slash bugs.
9027         * doc/posix-functions/fchownat.texi (fchownat): Document the bug.
9028         * modules/openat-tests (Files): Include more files.
9029         (Depends-on): Add mgetgroups, sleep, stat-time.
9030         (configure.ac): Add additional checks.
9031         (Makefile.am): Build new test.
9032         * tests/test-fchownat.c: New file.
9033
9034         lchown: detect Solaris and FreeBSD bug
9035         * lib/lchown.c (rpl_lchown): Work around bug.
9036         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for trailing slash bugs.
9037         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
9038         * modules/unistd (Makefile.am): Populate it.
9039         * lib/unistd.in.h (lchown): Update declaration.
9040         * doc/posix-functions/lchown.texi (lchown): Document the bug.
9041         * modules/lchown-tests: New file.
9042         * tests/test-lchown.h (test_lchown): Likewise.
9043         * tests/test-lchown.c (main): Likewise.
9044
9045         chown: detect Solaris and FreeBSD bug
9046         * lib/chown.c (rpl_chown): Work around bug.
9047         * m4/chown.m4 (gl_FUNC_CHOWN): Check for trailing slash bugs.
9048         (gl_PREREQ_CHOWN): Delete.
9049         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
9050         * modules/unistd (Makefile.am): Populate it.
9051         * lib/unistd.in.h (chown): Update declaration.
9052         * lib/lchown.c (chown): Update client.
9053         * modules/lchown (Depends-on): Add lstat.
9054         * doc/posix-functions/chown.texi (chown): Document the bug.
9055         * doc/posix-functions/getgroups.texi (getgroups): Document
9056         getgroups pitfall.
9057         * modules/chown-tests: New file.
9058         * tests/test-chown.h (test_chown): Likewise.
9059         * tests/test-chown.c (main): Likewise.
9060
9061 2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>  (tiny change)
9062
9063         gnulib-tool: correctly detect absence of m4 directories
9064         * gnulib-tool: Avoid extra newline on data passed to wc -l.
9065
9066 2009-11-14  Jim Meyering  <meyering@redhat.com>
9067
9068         maint.mk: Prohibit inclusion of "xalloc.h" without use.
9069         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
9070
9071 2009-11-14  John W. Eaton  <jwe@gnu.org>
9072
9073         strftime.h: wrap funtion declaration in extern "C" block
9074         * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration.
9075
9076 2009-11-13  Eric Blake  <ebb9@byu.net>
9077
9078         getgroups: avoid compiler warning
9079         * lib/getgroups.c (rpl_getgroups): Delete shadowed variable.
9080
9081         getgroups: work around FreeBSD bug
9082         * lib/getgroups.c (rpl_getgroups): Work around the bug.
9083         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Detect the bug.
9084         * doc/posix-functions/getgroups.texi (getgroups): Document it.
9085         * tests/test-getgroups.c (main): Fix buffer overrun.
9086
9087         getgroups: avoid compilation failure
9088         * lib/getgroups.c (includes): Include <stdint.h> for SIZE_MAX.
9089         * modules/getgroups (Depends-on): Add stdint.
9090
9091 2009-11-13  Jim Meyering  <meyering@redhat.com>
9092
9093         test-getgroups: avoid compilation failure
9094         * tests/test-getgroups.c: Include <stdint.h> for use of SIZE_MAX.
9095
9096 2009-11-13  Eric Blake  <ebb9@byu.net>
9097
9098         mgetgroups: new module, taken from coreutils
9099         * modules/mgetgroups: New file.
9100         * lib/mgetgroups.h: Likewise.
9101         * lib/mgetgroups.c (mgetgroups): Likewise.
9102         * m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise.
9103         * MODULES.html.sh (Users and groups): Mention it.
9104
9105         getgroups: don't expose GETGROUPS_T to user
9106         * lib/getgroups.c (rpl_getgroups): Change signature.  Copy array
9107         an element at a time if GETGROUPS_T is wrong size.
9108         * lib/getugroups.h (getugroups): Change signature.
9109         * lib/unistd.in.h (getgroups): Likewise.
9110         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if
9111         signature needs fixing.
9112         * m4/getugroups.m4 (gl_GETUGROUPS): No longer need
9113         AC_TYPE_GETGROUPS.
9114         * modules/group-member (Depends-on): Add getgroups.
9115         * lib/group-member.c (group_info, get_group_info): Use gid_t.
9116         (group_member): Rely on getgroups replacement.
9117         * lib/getugroups.c (getugroups): Use gid_t.
9118         * tests/test-getgroups.c (main): Likewise.
9119         * NEWS: Mention the signature change.
9120         * doc/posix-functions/getgroups.texi (getgroups): Mention the
9121         problem with signature.
9122         * doc/glibc-functions/setgroups.texi (setgroups): Mention that
9123         GETGROUPS_T is still useful for setgroups.
9124
9125         getgroups, getugroups: provide stubs for mingw
9126         * lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw.
9127         * lib/getugroups.c (getugroups): Likewise.
9128         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing
9129         function.  Modernize replacement scheme.
9130         (gl_PREREQ_GETGROUPS): Delete.
9131         * m4/getugroups.m4 (gl_GETUGROUPS): Check for <grp.h>.
9132         * modules/getgroups (configure.ac): Declare witness.
9133         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
9134         * modules/unistd (Depends-on): Substitute witness.
9135         * lib/unistd.in.h (getgroups): Declare replacement.
9136
9137         getgroups: avoid calling exit
9138         * modules/getgroups (Depends-on): Add malloc-posix and unistd,
9139         drop xalloc.
9140         * modules/getgroups-tests (Depends-on, Makefile.am): Drop unneeded
9141         dependencies.
9142         * lib/getgroups.c (rpl_getgroups): Fail with ENOMEM rather than
9143         exiting, in the rare case of malloc failure.
9144
9145         getgroups: fix logic error
9146         * lib/getgroups.c (rpl_getgroups): Don't fail if current process
9147         has more than 20 groups.
9148         * modules/getgroups-tests: New test.
9149         * tests/test-getgroups.c: New file.
9150
9151 2009-11-13  Simon Josefsson  <simon@josefsson.org>
9152
9153         * tests/test-base64.c: Improve.
9154
9155 2009-11-13  Simon Josefsson  <simon@josefsson.org>
9156
9157         * tests/test-xvasprintf.c: Fix memory leak, suggested by Eric
9158         Blake <ebb9@byu.net>.
9159
9160 2009-11-13  Simon Josefsson  <simon@josefsson.org>
9161
9162         * tests/test-xvasprintf.c: Add %s%s related checks.
9163
9164 2009-11-12  Eric Blake  <ebb9@byu.net>
9165
9166         version-etc: match standards.texi style
9167         * lib/version-etc.c (emit_bug_reporting_address): Drop periods,
9168         and use <> only for URLs.
9169
9170 2009-11-10  Kamil Dudka  <kdudka@redhat.com>
9171
9172         fts: do not fail on a submount during traversal
9173         * lib/fts.c (fts_build): Read the stat info again after opening
9174         a directory if the FTS_TIGHT_CYCLE_CHECK flag is set.
9175         Original report at http://bugzilla.redhat.com/501848.
9176
9177 2009-11-12  Jim Meyering  <meyering@redhat.com>
9178
9179         bootstrap: sync from coreutils
9180         * build-aux/bootstrap (bootstrap_epilogue): New function.
9181         Use git_modules_config in one more place.  This make bootstrap's
9182         --gnulib-srcdir option more useful for testing.
9183
9184         bootstrap: generalize autoheader check
9185         * build-aux/bootstrap: Look for AC_CONFIG_HEADER as well as
9186         AC_CONFIG_HEADERS.
9187
9188 2009-11-11  Eric Blake  <ebb9@byu.net>
9189
9190         mkfifoat: use new modules for Solaris and BSD bugs
9191         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Simplify.
9192         * lib/mkfifoat.c (mknodat): Split...
9193         * lib/mknodat.c (mknodat): ...into new file.
9194         * modules/mkfifoat (Files): Ship new file.
9195         (Depends-on): Add mkfifo, mknod.
9196         * modules/mkfifoat-tests (Files): Reuse mkfifo tests.
9197         (Depends-on): Add symlink.
9198         * tests/test-mkfifoat.c (main): Enhance test.  Drop portions now
9199         redundant with test_mkfifo.h.
9200         (do_mkfifoat, do_mknodat): New helpers.
9201
9202         mknod: new module
9203         * modules/mknod: New file.
9204         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
9205         * lib/mknod.c (mknod): Likewise.
9206         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
9207         defaults.
9208         * modules/sys_stat (Makefile.am): Substitute them.
9209         * lib/sys_stat.in.h (mknod): Declare replacement.
9210         * MODULES.html.sh (Support for systems lacking POSIX:2008):
9211         Document it.
9212         * doc/posix-functions/mknod.texi (mknod): Likewise.
9213         * modules/mknod-tests: New test.
9214         * tests/test-mknod.c: Likewise.
9215
9216         mkfifo: new module
9217         * modules/mkfifo: New file.
9218         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
9219         * lib/mkfifo.c (mkfifo): Likewise.
9220         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
9221         defaults.
9222         * modules/sys_stat (Makefile.am): Substitute them.
9223         * lib/sys_stat.in.h (mkfifo): Declare replacement.
9224         * MODULES.html.sh (Support for systems lacking POSIX:2008):
9225         Document it.
9226         * doc/posix-functions/mkfifo.texi (mkfifo): Likewise.
9227         * modules/mkfifo-tests: New test.
9228         * tests/test-mkfifo.h (test_mkfifo): New file, borrowed in part
9229         from test-mkfifoat.c.
9230         * tests/test-mkfifo.c: New file.
9231
9232         readlink: detect FreeBSD bug
9233         * m4/readlink.m4 (gl_FUNC_READLINK): Also detect FreeBSD bug with
9234         slash on symlink.
9235         * doc/posix-functions/readlink.texi (readlink): Document the bug.
9236         * tests/test-readlink.h (test_readlink): Enhance test.
9237
9238         symlink: detect FreeBSD bug
9239         * m4/symlink.m4 (gl_FUNC_SYMLINK): Also detect FreeBSD bug with
9240         slash on symlink.
9241         * doc/posix-functions/symlink.texi (symlink): Document the bug.
9242         * tests/test-symlink.h (test_symlink): Enhance test.
9243
9244 2009-11-10  Eric Blake  <ebb9@byu.net>
9245
9246         link: detect FreeBSD bug
9247         * m4/link.m4 (gl_FUNC_LINK): Also detect FreeBSD bug with slash on
9248         symlink.
9249         * doc/posix-functions/link.texi (link): Document the bug.
9250         * tests/test-link.h (test_link): Enhance test.
9251         * tests/test-linkat.c (main): Update caller.
9252
9253         unlink, remove: detect FreeBSD bug
9254         * m4/unlink.m4 (gl_FUNC_UNLINK): Also detect FreeBSD bug with
9255         slash on symlink.
9256         * doc/posix-functions/unlink.texi (unlink): Document the bug.
9257         * doc/posix-functions/remove.texi (remove): Likewise.
9258         * tests/test-unlink.h (test_unlink): Enhance test.
9259         * tests/test-remove.c (main): Likewise.
9260
9261 2009-11-09  Eric Blake  <ebb9@byu.net>
9262
9263         rename: detect FreeBSD bug
9264         * m4/rename.m4 (gl_FUNC_RENAME): Also detect FreeBSD bug with
9265         slash on symlink.
9266         * modules/renameat-tests (Depends-on): Add filenamecat.
9267         * tests/test-rename.h (test_rename): Allow one more errno.
9268         * tests/test-renameat.c (main): Likewise.
9269         * doc/posix-functions/rename.texi (rename): Document the bug.
9270
9271         open: detect FreeBSD bug
9272         * m4/open.m4 (gl_FUNC_OPEN): Also detect FreeBSD bug with slash on
9273         symlink.
9274         * doc/posix-functions/open.texi (open): Document the bug.
9275         * doc/posix-functions/utimes.texi (utimes): Likewise.
9276         * tests/test-open.h (test_open): Add parameters, and test symlink
9277         handling.
9278         * tests/test-open.c (main): Adjust caller.
9279         * tests/test-fcntl-safer.c (main): Likewise.
9280         * modules/open-tests (Depends-on): Add stdbool, symlink.
9281         * modules/fcntl-safer-tests (Depends-on): Likewise.
9282         * tests/test-openat.c (main): Add test-open tests.
9283
9284         stat: detect FreeBSD bug
9285         * m4/stat.m4 (gl_FUNC_STAT): Also detect FreeBSD bug with slash on
9286         symlink.
9287         * doc/posix-functions/stat.texi (stat): Document the bug.
9288         * tests/test-stat.h (test_stat_func): Add argument.
9289         * tests/test-stat.c (main): Adjust caller.
9290         * tests/test-fstatat.c (main): Likewise.
9291         * modules/stat-tests (Depends-on): Add stdbool, symlink.
9292         Reported by Jim Meyering.
9293
9294 2009-11-09  James Youngman  <jay@gnu.org>
9295
9296         strftime.c: include ignore-value.h only when FPRINTFTIME is defined
9297         * lib/strftime.c: Correct placement of #include "ignore-value.h".
9298
9299 2009-11-08  Jim Meyering  <meyering@redhat.com>
9300
9301         utimens: remove invalid futimesat call
9302         * lib/utimens.c (fdutimens): Remove invalid futimesat call.
9303         It used the file descriptor of the target file as the DIR_FD
9304         parameter and NULL as the file name.  That caused failure with
9305         errno == EFAULT on FreeBSD-8.0-rc2
9306
9307 2009-11-07  Eric Blake  <ebb9@byu.net>
9308
9309         fflush, freadseek: use fseeko, not fseek
9310         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
9311         (clear_ungetc_buffer): Avoid potential problems on large files.
9312         * lib/freadseek.c (freadseek): Likewise.
9313         * modules/freadseek (Depends-on): Add fseeko.
9314         * modules/fseek (configure.ac): Set a witness.
9315         * tests/test-fflush.c (main): Use fseeko.
9316         * tests/test-fpurge.c (fseek): Disable link warning.
9317         * tests/test-freadable.c (fseek): Likewise.
9318         * tests/test-freading.c (fseek): Likewise.
9319         * tests/test-fseeko.c (fseek): Likewise.
9320         * tests/test-ftell.c (fseek): Likewise.
9321         * tests/test-ftello.c (fseek): Likewise.
9322         * tests/test-fwritable.c (fseek): Likewise.
9323         * tests/test-fwriting.c (fseek): Likewise.
9324
9325 2009-11-06  Simon Josefsson  <simon@josefsson.org>
9326
9327         * modules/memchr (Depends-on): Drop getpagesize dependency.
9328
9329 2009-11-06  Simon Josefsson  <simon@josefsson.org>
9330
9331         * build-aux/pmccabe2html: Disable execute bit.  Suggested by
9332         Reported by Ludovic Courtès.
9333         * build-aux/pmccabe2html: Improve example usage.
9334         * build-aux/pmccabe2html: Drop #! header.  Doc fix.
9335
9336 2009-11-06  Jim Meyering  <meyering@redhat.com>
9337
9338         do-release-commit-and-tag: New module.
9339         Automate the release-commit and tag process.
9340         * build-aux/do-release-commit-and-tag: New script, from coreutils.
9341         * modules/do-release-commit-and-tag: New file.
9342         * MODULES.html.sh (Support for maintaining and releasing): Add it.
9343
9344 2009-11-06  Simon Josefsson  <simon@josefsson.org>
9345
9346         * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB)
9347         because test-select.c uses inet_pton.
9348
9349 2009-11-06  Simon Josefsson  <simon@josefsson.org>
9350
9351         * m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to
9352         GETADDRINFO_LIB.  Bump serial number.
9353         * modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again.
9354         Suggested by Eric Blake <ebb9@byu.net>.
9355
9356 2009-11-05  Eric Blake  <ebb9@byu.net>
9357
9358         strtod: detect darwin bug
9359         * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(".
9360         Reported by Leo Davis.
9361
9362         freopen-safer: new module
9363         * modules/freopen-safer: New module.
9364         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro.
9365         * lib/freopen-safer.c (freopen_safer): New file.
9366         * lib/stdio-safer.h (freopen_safer): New declaration.
9367         * lib/stdio--.h (freopen): New override.
9368         * MODULES.html.sh (File stream based Input/Output): Mention it.
9369         * doc/posix-functions/freopen.texi (freopen): Mention pitfalls and
9370         freopen-safer module.
9371         * doc/posix-functions/stderr.texi (stderr): Likewise.
9372         * doc/posix-functions/stdin.texi (stdin): Likewise.
9373         * doc/posix-functions/stdout.texi (stdout): Likewise.
9374         * modules/freopen-safer-tests: New test.
9375         * tests/test-reopen-safer.c: New file.
9376
9377 2009-11-05  Jim Meyering  <meyering@redhat.com>
9378
9379         maint.mk: Prohibit inclusion of "close-stream.h" without use.
9380         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
9381
9382 2009-11-05  Simon Josefsson  <simon@josefsson.org>
9383
9384         * modules/pmccabe2html (configure.ac): Check for pmccabe tool.
9385
9386 2009-11-05  Simon Josefsson  <simon@josefsson.org>
9387
9388         * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB).
9389
9390 2009-11-05  Simon Josefsson  <simon@josefsson.org>
9391
9392         Fix link error.
9393         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
9394         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
9395
9396 2009-11-05  Simon Josefsson  <simon@josefsson.org>
9397
9398         * tests/test-func.c: Also test value of __func__.
9399
9400 2009-11-05  Simon Josefsson  <simon@josefsson.org>
9401
9402         * tests/test-sys_socket.c: Use smaller constant value, sa_family_t
9403         may be an 8-bit type.  Reported by Bruno Haible <bruno@clisp.org>.
9404
9405 2009-11-05  Bruno Haible  <bruno@clisp.org>
9406
9407         Fix link error.
9408         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
9409         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
9410         Reported by Brad Hards <bradh@frogmouth.net> via Simon Josefsson.
9411
9412 2009-11-05  Bruno Haible  <bruno@clisp.org>
9413
9414         Tests for module 'inet_pton'.
9415         * modules/inet_pton-tests: New file.
9416         * tests/test-inet_pton.c: New file.
9417
9418 2009-11-05  Bruno Haible  <bruno@clisp.org>
9419
9420         Tests for module 'inet_ntop'.
9421         * modules/inet_ntop-tests: New file.
9422         * tests/test-inet_ntop.c: New file.
9423
9424 2009-11-04  Eric Blake  <ebb9@byu.net>
9425
9426         stdlib-safer: wrap all mkstemp variants
9427         * modules/mkostemp (configure.ac): Set witness.
9428         * modules/mkostemps (configure.ac): Likewise.
9429         * modules/mkstemps (configure.ac): Likewise.
9430         * lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer)
9431         (mkstemps_safer): Wrap more functions.
9432         * lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the
9433         wrapping.
9434         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer)
9435         (mkstemps_safer): Implement the wrappers.
9436
9437         mkstemps, mkostemps: new modules
9438         * modules/mkostemps: New module.
9439         * modules/mkstemps: Likewise.
9440         * lib/mkostemps.c (mkostemps): New file.
9441         * lib/mkstemps.c (mkstemps): Likewise.
9442         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise.
9443         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise.
9444         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses.
9445         * modules/stdlib (Makefile.am): Substitute them.
9446         * lib/stdlib.in.h (mkostemps, mkstemps): Declare them.
9447         * doc/glibc-functions/mkstemps.texi (mkstemps): New file.
9448         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
9449         * doc/gnulib.texi (Glibc stdlib.h): Include them.
9450         * MODULES.html.sh (File system functions): Mention them.
9451
9452         tempname: resync from glibc
9453         * lib/tempname.c (__gen_tempname): Add suffixlen argument.  Use
9454         same values for __GT_FILE as glibc.  Abort even when assertions
9455         are disabled.
9456         * lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and
9457         match its value otherwise.  Allow idempotent inclusion.
9458         * lib/mkdtemp.c (mkdtemp): Adjust caller.
9459         * lib/mkostemp.c (mkostemp): Likewise.
9460         * lib/mkstemp.c (mkstemp): Likewise.
9461         * lib/tmpfile.c (tmpfile): Likewise.
9462         * NEWS: Document this.
9463
9464         utimens: fix use of futimens on older Linux
9465         * lib/utimens.c (fdutimens): Use updated, rather than original,
9466         timespec to avoid bug in older Linux kernel.
9467         Reported by Simon Josefsson.
9468
9469 2009-11-04  Bruno Haible  <bruno@clisp.org>
9470
9471         Make num_processors more flexible and consistent.
9472         * lib/nproc.h (enum nproc_query): New type.
9473         (num_processors): Add a 'query' argument.
9474         * lib/nproc.c: Include <stdlib.h>, <sched.h>, c-ctype.h.
9475         (num_processors): Add a 'query' argument. Test the value of the
9476         OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD,
9477         mingw, count the number of CPUs available for the current process.
9478         * m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS.
9479         Check for sched_getaffinity and sched_getaffinity_np.
9480         * modules/nproc (Depends-on): Add c-ctype, extensions.
9481         * NEWS: Mention the change.
9482
9483 2009-11-03  Bruno Haible  <bruno@clisp.org>
9484
9485         * NEWS: Document the new library dependencies of inet_ntop, inet_pton.
9486
9487 2009-11-03  Jim Meyering  <meyering@redhat.com>
9488
9489         test-getaddrinfo: avoid compilation failure on FreeBSD 7.2
9490         * tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only
9491         if it is defined.
9492
9493 2009-11-02  Eric Blake  <ebb9@byu.net>
9494
9495         mktime, timegm: share common declaration
9496         * lib/mktime-internal.h: New file.
9497         * lib/mktime.c: Use it rather than open-coding a declaration.
9498         * lib/timegm.c: Likewise.
9499         * modules/mktime (Files): Ship it.
9500         * modules/timegm (Files): Likewise.
9501         Suggested by Bruno Haible.
9502
9503         test-update-copyright: update test to match script changes
9504         * tests/test-update-copyright.sh: Avoid hard-coding perl
9505         location.  Don't update *.bak created by earlier runs.
9506
9507 2009-11-02  Paul Eggert  <eggert@cs.ucla.edu>
9508             Simon Josefsson  <simon@josefsson.org>
9509             Bruno Haible  <bruno@clisp.org>
9510
9511         Fix link error on Solaris 8.
9512         * m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton
9513         also in libnsl. Define also INET_PTON_LIB.
9514         * modules/inet_pton (Link): New section.
9515
9516 2009-11-02  Simon Josefsson  <simon@josefsson.org>
9517             Bruno Haible  <bruno@clisp.org>
9518
9519         * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB.
9520         * modules/inet_ntop (Link): New section.
9521         Reported by Boyan Kasarov <bkasarov@gmail.com>.
9522
9523 2009-11-02  Eric Blake  <ebb9@byu.net>
9524
9525         maint: avoid compiler warnings in m4 macros
9526         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable.
9527         * m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header.
9528
9529 2009-11-02  Simon Josefsson  <simon@josefsson.org>
9530
9531         * m4/pmccabe2html.m4: Remove file.
9532         * modules/pmccabe2html: Drop pmccabe2html.m4.  Don't call m4
9533         function.  Change maintainer.
9534         * build-aux/pmccabe2html: Use /bin/sh with magic instead of
9535         hard-coding path to awk.  Tiny patch from ludo@gnu.org (Ludovic
9536         Courtès).
9537
9538 2009-10-31  Eric Blake  <ebb9@byu.net>
9539
9540         fseeko: fix m4 regression
9541         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro.  Fixes
9542         regression from 2009-10-27.
9543         Reported by Ralf Wildenhues.
9544
9545 2009-10-31  Jim Meyering  <meyering@redhat.com>
9546
9547         inttostr: aesthetics and improved (compile-time) safety
9548         Define inttype_is_signed rather than inttype_is_unsigned,
9549         since the sole use is via "#if inttype_is_signed".
9550         * lib/imaxtostr.c (inttype_is_signed): Define this, rather than
9551         inttype_is_unsigned.
9552         * lib/offtostr.c (inttype_is_signed): Likewise.
9553         * lib/uinttostr.c (inttype_is_signed): Likewise.
9554         * lib/umaxtostr.c (inttype_is_signed): Likewise.
9555         * lib/inttostr.c (inttostr): Use verify to cross-check the
9556         inttype_is_signed value and the signedness of the actual type.
9557         * modules/inttostr (Depends-on): Add verify.
9558
9559 2009-10-30  Eric Blake  <ebb9@byu.net>
9560
9561         build: avoid compiler warnings
9562         * lib/fchmodat.c (lchmod): Mark unused variables.
9563         * lib/getopt.c (_getopt_initialize): Likewise.
9564         * lib/mktime.c (__mktime_internal): Provide prototype.
9565         * lib/inttostr.c (inttostr): Avoid compiler warning even with
9566         older gcc that do not understand #pragma GCC diagnostic.
9567         * lib/uinttostr.c (inttype_is_unsigned): Define.
9568         * lib/umaxtostr.c (inttype_is_unsigned): Likewise.
9569
9570 2009-10-30  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
9571
9572         stat: fix compilation on AIX
9573         * lib/sys_stat.in.h (stat): Work with fact that large files on AIX
9574         only see struct stat64.
9575
9576 2009-10-30  Eric Blake  <ebb9@byu.net>
9577
9578         exclude: make more robust
9579         * lib/exclude.c (excluded_file_name): Abort on unexpected value,
9580         rather than masking a coding bug.
9581         Suggested by Bruno Haible.
9582
9583 2009-10-30  Jim Meyering  <meyering@redhat.com>
9584
9585         perl scripts: remove #!/usr/bin/perl in favor of more portable...
9586         Rather than putting #!/usr/bin/perl on the first line,
9587         start with a variant of what's recommended by "man perlrun" that
9588         invokes the first "perl" program from your shell's search path.
9589         * build-aux/gitlog-to-changelog: Replace #!... as above.
9590         Add a "Local Variables" perl mode setting.
9591         Prompted by a patch from Ludovic Courtès.
9592         Improved by Eric Blake.
9593         * build-aux/useless-if-before-free: Likewise.
9594         * build-aux/announce-gen: Likewise.
9595         * build-aux/update-copyright: Likewise.
9596
9597 2009-10-29  Eric Blake  <ebb9@byu.net>
9598
9599         filenamecat-lgpl: adjust clients
9600         * modules/linkat (Depends-on): Use filenamecat-lgpl, not
9601         filenamecat.
9602         * modules/renameat (Depends-on): Likewise.
9603
9604         filenamecat: split into filenamecat-lgpl
9605         * modules/filenamecat-lgpl: New module.
9606         * modules/filenamecat (Files): Move library-safe files into
9607         filenamecat-lgpl.
9608         (Depends-on): Add filenamecat-lgpl.
9609         (configure.ac): Declare witness.
9610         * lib/filenamecat.h (file_name_concat): Only declare when using
9611         GPL module.
9612         * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat):
9613         Move...
9614         * lib/filenamecat-lgpl.c: ...into new file.
9615         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro.
9616         (gl_FILE_NAME_CONCAT): Use it.
9617         * MODULES.html.sh (File system functions): Mention new module.
9618
9619         argp: avoid memory leak
9620         * modules/argp (Depends-on): Use dirname-lgpl, not dirname.
9621         * lib/argp-namefrob.h (__argp_base_name): Use last_component, not
9622         base_name, since the latter malloc()s and can call exit().
9623         Leak introduced 2006-07-03.
9624
9625         dirname-lgpl: adjust clients that don't need full dirname
9626         * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname.
9627         * modules/filenamecat (Depends-on): Likewise.
9628         * modules/linkat (Depends-on): Likewise.
9629         * modules/mkancesdirs (Depends-on): Likewise.
9630         * modules/mkdir (Depends-on): Likewise.
9631         * modules/openat (Depends-on): Likewise.
9632         * modules/savewd (Depends-on): Likewise.
9633         * modules/rename (Depends-on): Likewise.
9634         (License): Relax license.
9635         * modules/mkdir-tests (Depends-on): Drop progname.
9636         (Makefile.am): Delete unneeded LDADD.
9637         * modules/rename-tests (Depends-on, Makefile.am): Likewise.
9638
9639         dirname: split into dirname-lgpl
9640         * modules/dirname-lgpl: New module.
9641         * modules/dirname (Files): Move library-safe files into
9642         dirname-lgpl.
9643         (Depends-on): Add dirname-lgpl.
9644         (configure.ac): Declare witness.
9645         * modules/double-slash-root (License): Relax license.
9646         * lib/dirname.h (base_name, dir_name): Only declare when using GPL
9647         module.
9648         * lib/dirname.c (dir_len, mdir_name): Move...
9649         * lib/dirname-lgpl.c: ...into new file.
9650         * lib/basename.c (last_component, base_len): Move...
9651         * lib/basename-lgpl.c: ...into new file.
9652         * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro.
9653         (gl_DIRNAME): Use it.
9654         * MODULES.html.sh (Enhancements for POSIX:2008 functions):
9655         Mention new module.
9656         * modules/dirname-tests (Depends-on): Add progname.
9657         * tests/test-dirname.c (program_name): Delete.
9658
9659         mkdir: make safe for libraries
9660         * modules/mkdir (Depends-on): Drop xalloc.
9661         * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
9662         exit.
9663
9664         tests: avoid some compiler warnings
9665         * tests/test-getaddrinfo.c (simple): Mark static, and allow string
9666         literals.
9667         * tests/test-memchr.c (main): Avoid type mismatch.
9668         * tests/test-arpa_inet.c (main): Avoid unused parameters.
9669         * tests/test-base64.c (main): Likewise.
9670         * tests/test-getdelim.c (main): Likewise.
9671         * tests/test-gethostname.c (main): Likewise.
9672         * tests/test-getline.c (main): Likewise.
9673         * tests/test-netinet_in.c (main): Likewise.
9674         * tests/test-select.c (open_server_socket, main): Likewise.
9675         * tests/test-select-stdin.c (main): Likewise.
9676         * tests/test-sockets.c (main): Likewise.
9677         * tests/test-strsignal.c (main): Likewise.
9678         * tests/test-sys_select.c (main): Likewise.
9679         * tests/test-sys_socket.c (main): Likewise.
9680         * tests/test-u64.c (main): Likewise.
9681         * tests/test-xfprintf-posix.c (main): Likewise.
9682         * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise.
9683
9684         sockets: avoid compiler warning
9685         * lib/sockets.c (gl_sockets_startup): Mark unused parameter.
9686
9687         maint: detect usage(1) and other suspicious exits
9688         * top/maint.mk (sc_prohibit_magic_number_exit): New rule.
9689
9690 2009-10-29  Jim Meyering  <meyering@redhat.com>
9691
9692         timespec: long-to-int truncation could make timespec_cmp malfunction
9693         * lib/timespec.h (timespec_cmp): Do not interpret a difference of
9694         a multiple of 2^32 nanoseconds as no difference.
9695
9696 2009-10-28  Jim Meyering  <meyering@redhat.com>
9697
9698         fprintftime: wrap macro code argument in "do {...} while(0)"
9699         * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the
9700         cpy macro must be a statement that can be followed by a semicolon.
9701         Now that the else clause contains a comment and is hence longer
9702         than one line, I require curly braces.  That in turn requires
9703         that we wrap this code block in the standard do...while(0).
9704
9705         fprintftime: remove stray semicolon from previous change
9706         * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon.
9707
9708         fprintftime: avoid a warning about ignored fwrite return value
9709         * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
9710         (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
9711         that is unsafe.
9712         * modules/fprintftime (Depends-on): Add ignore-value.
9713
9714         exclude: avoid an unwarranted warning
9715         * lib/exclude.c (excluded_file_name): Initialize "rc" before switch.
9716
9717 2009-10-27  Eric Blake  <ebb9@byu.net>
9718
9719         fseek: avoid compilation failure when fflush is replaced
9720         * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
9721         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
9722         module is in use.
9723         * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
9724         module is not in use; since REPLACE_FSEEK worked otherwise.
9725         (GNULIB_FTELLO): Likewise for ftell.
9726         Reported by Ian Beckwith and others.
9727
9728 2009-10-27  Bruno Haible  <bruno@clisp.org>
9729
9730         * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration.
9731         Reported by Jim Meyering.
9732
9733 2009-10-27  Jim Meyering  <jim@meyering.net>
9734             Bruno Haible  <bruno@clisp.org>
9735
9736         Avoid warning despite dropping the return value of fwrite.
9737         * lib/unicodeio.c: Include ignore-value.h.
9738         (fwrite_success_callback): Explicitly ignore fwrite's return value.
9739         * modules/unicodeio (Depends-on): Add ignore-value.
9740
9741 2009-10-26  Eric Blake  <ebb9@byu.net>
9742
9743         areadlinkat: fix fallback path
9744         * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between
9745         pointer and zero.
9746
9747 2009-10-22  Pádraig Brady  <P@draigBrady.com>
9748
9749         Use a better IO block size for modern systems
9750         * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer.
9751         * lib/md2.c: Likewise.
9752         * lib/md4.c: Likewise.
9753         * lib/md5.c: Likewise.
9754         * lib/sha1.c: Likewise.
9755         * lib/sha256.c: Likewise.
9756         * lib/sha512.c: Likewise.
9757
9758 2009-10-22  Eric Blake  <ebb9@byu.net>
9759
9760         tests: avoid several compiler warnings
9761         * tests/test-getcwd.c (main): Avoid buffer underflow.
9762         * tests/test-getdate.c (main): String literals are not safe with
9763         putenv, so use setenv.  Declare unused argument.
9764         * modules/getdate-tests (Depends-on): Add setenv.
9765         * tests/test-argv-iter.c (main): Declare unused argument.  Avoid
9766         problems with string literals in char *.
9767         * tests/test-hash.c (main): Avoid shadowing declaration.
9768         (insert_new): Treat string literals as char const *.
9769         * tests/test-getopt.h (test_getopt): Likewise.
9770         (getopt_loop): Alter types to minimize casting elsewhere.
9771         * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop)
9772         (test_getopt_long_posix): Likewise.
9773         (do_getopt_long): Add wrapper to minimize casting.
9774         * tests/test-atexit.c (clear_temp_file): Use void.
9775         * tests/test-areadlink-with-size.c (main): Declare unused
9776         arguments.
9777         * tests/test-areadlink.c (main): Likewise.
9778         * tests/test-areadlinkat-with-size.c (main): Likewise.
9779         * tests/test-areadlinkat.c (main): Likewise.
9780         * tests/test-canonicalize-lgpl.c (main): Likewise.
9781         * tests/test-canonicalize.c (main): Likewise.
9782         * tests/test-dirent-safer.c (main): Likewise.
9783         * tests/test-dirname.c (main): Likewise.
9784         * tests/test-dup2.c (main): Likewise.
9785         * tests/test-fchdir.c (main): Likewise.
9786         * tests/test-fcntl-h.c (main): Likewise.
9787         * tests/test-fcntl-safer.c (main): Likewise.
9788         * tests/test-fdopendir.c (main): Likewise.
9789         * tests/test-fdutimensat.c (main): Likewise.
9790         * tests/test-fflush.c (main): Likewise.
9791         * tests/test-filenamecat.c (main): Likewise.
9792         * tests/test-filevercmp.c (main): Likewise.
9793         * tests/test-fopen-safer.c (main): Likewise.
9794         * tests/test-fopen.c (main): Likewise.
9795         * tests/test-fpending.c (main): Likewise.
9796         * tests/test-fpurge.c (main): Likewise.
9797         * tests/test-freading.c (main): Likewise.
9798         * tests/test-fstatat.c (main): Likewise.
9799         * tests/test-fsync.c (main): Likewise.
9800         * tests/test-futimens.c (main): Likewise.
9801         * tests/test-getndelim2.c (main): Likewise.
9802         * tests/test-gettimeofday.c (main): Likewise.
9803         * tests/test-getopt.c (main): Likewise.
9804         * tests/test-i-ring.c (main): Likewise.
9805         * tests/test-inttypes.c (main): Likewise.
9806         * tests/test-link.c (main): Likewise.
9807         * tests/test-lstat.c (main): Likewise.
9808         * tests/test-math.c (main): Likewise.
9809         * tests/test-md5.c (main): Likewise.
9810         * tests/test-memchr2.c (main): Likewise.
9811         * tests/test-memrchr.c (main): Likewise.
9812         * tests/test-mkdir.c (main): Likewise.
9813         * tests/test-mkdirat.c (main): Likewise.
9814         * tests/test-mkfifoat.c (main): Likewise.
9815         * tests/test-open.c (main): Likewise.
9816         * tests/test-openat-safer.c (main): Likewise.
9817         * tests/test-openat.c (main): Likewise.
9818         * tests/test-quotearg.c (main): Likewise.
9819         * tests/test-rawmemchr.c (main): Likewise.
9820         * tests/test-readlink.c (main): Likewise.
9821         * tests/test-remove.c (main): Likewise.
9822         * tests/test-rename.c (main): Likewise.
9823         * tests/test-renameat.c (main): Likewise.
9824         * tests/test-rmdir.c (main): Likewise.
9825         * tests/test-sha1.c (main): Likewise.
9826         * tests/test-signal.c (main): Likewise.
9827         * tests/test-sigaction.c (main): Likewise.
9828         * tests/test-stat.c (main): Likewise.
9829         * tests/test-stat-time.c (main): Likewise.
9830         * tests/test-stddef.c (main): Likewise.
9831         * tests/test-stdint.c (main): Likewise.
9832         * tests/test-stdio.c (main): Likewise.
9833         * tests/test-stdlib.c (main): Likewise.
9834         * tests/test-strchrnul.c (main): Likewise.
9835         * tests/test-strerror.c (main): Likewise.
9836         * tests/test-string.c (main): Likewise.
9837         * tests/test-strtod.c (main): Likewise.
9838         * tests/test-strverscmp.c (main): Likewise.
9839         * tests/test-symlink.c (main): Likewise.
9840         * tests/test-symlinkat.c (main): Likewise.
9841         * tests/test-sys_stat.c (main): Likewise.
9842         * tests/test-sys_time.c (main): Likewise.
9843         * tests/test-time.c (main): Likewise.
9844         * tests/test-unistd.c (main): Likewise.
9845         * tests/test-unlink.c (main): Likewise.
9846         * tests/test-unlinkat.c (main): Likewise.
9847         * tests/test-utimens.c (main): Likewise.
9848         * tests/test-utimensat.c (main): Likewise.
9849         * tests/test-version-etc.c (main): Likewise.
9850         * tests/test-wchar.c (main): Likewise.
9851         * tests/test-wctype.c (main): Likewise.
9852         * tests/test-xprintf-posix.c (main): Likewise.
9853         * tests/test-posixtm.c (main): Likewise.
9854         (STREQ): Delete unused macro.
9855         * tests/test-linkat.c (main): Declare unused arguments.  Avoid
9856         shadowed variables.
9857         * tests/test-memchr.c (main): Likewise.
9858
9859 2009-10-21  Eric Blake  <ebb9@byu.net>
9860
9861         areadlinkat: avoid failure on older glibc
9862         * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL,
9863         rather than mis-comparing 0 against FUNC_RESULT of char*.
9864
9865 2009-10-21  Bruno Haible  <bruno@clisp.org>
9866
9867         * modules/stpncpy (License): Relicense under LGPLv2+.
9868         Reported by David Lutterkort <lutter@redhat.com>.
9869
9870 2009-10-20  Eric Blake  <ebb9@byu.net>
9871
9872         utimensat: work around Solaris 9 bug
9873         * lib/utimens.c (fdutimens, lutimens): Force a stat if platform
9874         has trailing slash bugs.
9875         * tests/test-lutimens.h (test_lutimens): Enhance test.
9876         * tests/test-utimens.h (test_utimens): Likewise.
9877         * doc/posix-functions/utime.texi (utime): Enhance documentation.
9878         * doc/posix-functions/utimes.texi (utimes): Likewise.
9879         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
9880         * doc/glibc-functions/futimesat.texi (futimesat): Likewise.
9881         * doc/glibc-functions/lutimes.texi (lutimes): Likewise.
9882         * doc/posix-functions/futimens.texi (futimens): Likewise.
9883
9884         fdutimensat: new module
9885         * modules/fdutimensat: New file.
9886         * lib/fdutimensat.c (fdutimensat): Likewise.
9887         * lib/utimens.h (fdutimensat, lutimensat): Declare new functions.
9888         * MODULES.html.sh (File system functions): Mention module.
9889         * modules/fdutimensat-tests: New test.
9890         * tests/test-fdutimensat.c: Likewise.
9891
9892         doc: regenerate INSTALL
9893         * doc/INSTALL: Reflect recent autoconf update.
9894         * doc/INSTALL.ISO: Likewise.
9895         * doc/INSTALL.UTF-8: Likewise.
9896
9897 2009-10-20  Pádraig Brady  <P@draigBrady.com>
9898
9899         acl: warn if ACL support is not detected
9900         * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found.
9901
9902 2009-10-19  Giuseppe Scrivano  <gscrivano@gnu.org>
9903
9904         * lib/nproc.h: Add extern "C" block for C++.
9905
9906 2009-10-18  Reuben Thomas  <rrt@sc3d.org>
9907             Bruno Haible  <bruno@clisp.org>
9908
9909         * doc/posix-functions/isascii.texi: Document the 2 alternative APIs.
9910         * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs.
9911         * doc/posix-functions/isalpha.texi: Likewise.
9912         * doc/posix-functions/isblank.texi: Likewise.
9913         * doc/posix-functions/iscntrl.texi: Likewise.
9914         * doc/posix-functions/isdigit.texi: Likewise.
9915         * doc/posix-functions/isgraph.texi: Likewise.
9916         * doc/posix-functions/islower.texi: Likewise.
9917         * doc/posix-functions/isprint.texi: Likewise.
9918         * doc/posix-functions/ispunct.texi: Likewise.
9919         * doc/posix-functions/isspace.texi: Likewise.
9920         * doc/posix-functions/isupper.texi: Likewise.
9921         * doc/posix-functions/isxdigit.texi: Likewise.
9922
9923 2009-10-18  Bruno Haible  <bruno@clisp.org>
9924
9925         Tests for module 'isblank'.
9926         * modules/isblank-tests: New file.
9927         * tests/test-isblank.c: New file.
9928
9929         New module 'isblank'.
9930         * lib/isblank.c: New file.
9931         * m4/isblank.m4: New file.
9932         * modules/isblank: New file.
9933         * doc/posix-functions/isblank.texi: Mention the new module.
9934
9935 2009-10-18  Bruno Haible  <bruno@clisp.org>
9936
9937         New module 'ctype'.
9938         * lib/ctype.in.h: New file.
9939         * m4/ctype.m4: New file.
9940         * modules/ctype: New file.
9941         * doc/posix-headers/ctype.texi: Mention the new module.
9942
9943 2009-10-18  Jim Meyering  <meyering@redhat.com>
9944
9945         m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization
9946         Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted
9947         right after its initialization, rather than farther down.
9948         Keeping these in close proximity makes it easier to ensure
9949         that each such variable is initialized.  E.g.,
9950
9951             LIB_CLOCK_GETTIME=
9952             AC_SUBST([LIB_CLOCK_GETTIME])
9953
9954         This change also increments these serial numbers.
9955         * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use.
9956         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
9957         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
9958
9959 2009-10-18  Bruno Haible  <bruno@clisp.org>
9960
9961         Don't let environment variables perturb build.
9962         * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here...
9963         (gl_PREREQ_GETHRXTIME): ... not here.
9964
9965 2009-10-18  Bruno Haible  <bruno@clisp.org>
9966
9967         Avoid symlink attack in localcharset module.
9968         * lib/localcharset.c: Include <fcntl.h>, <unistd.h>.
9969         (O_NOFOLLOW): Define fallback.
9970         (get_charset_aliases): Don't open the file if it is a symbolic link.
9971         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from
9972         gl_FCNTL_H.
9973         (gl_FCNTL_H): Require it.
9974         * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise.
9975         * modules/localcharset (Files): Add m4/fcntl_h.m4.
9976         Reported by Fergal Glynn <fglynn@veracode.com>.
9977
9978 2009-10-18  Bruno Haible  <bruno@clisp.org>
9979
9980         Implement nproc for mingw.
9981         * lib/nproc.c: Include <windows.h>
9982         (num_processors): On native Windows platforms, try GetSystemInfo.
9983
9984 2009-10-18  Bruno Haible  <bruno@clisp.org>
9985
9986         Implement nproc for IRIX.
9987         * lib/nproc.c: Include <sys/sysmp.h>.
9988         (num_processors): On IRIX systems, try sysmp.
9989         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp.
9990
9991 2009-10-18  Bruno Haible  <bruno@clisp.org>
9992
9993         Implement nproc for HP-UX.
9994         * lib/nproc.c: Include <sys/pstat.h>
9995         (num_processors): On HP-UX systems, try pstat_getdynamic.
9996         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and
9997         pstat_getdynamic.
9998
9999 2009-10-18  Giuseppe Scrivano  <gscrivano@gnu.org>
10000             Bruno Haible  <bruno@clisp.org>
10001
10002         Implement nproc for NetBSD, OpenBSD.
10003         * lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>.
10004         (ARRAY_SIZE): New macro.
10005         (num_processors): On BSD systems, try sysctl of HW_NCPU.
10006         * m4/nproc.m4: New file.
10007         * modules/nproc (Files): Add m4/nproc.m4.
10008         (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation.
10009         (Makefile.am): Instead, augment lib_SOURCES.
10010
10011 2009-10-18  Bruno Haible  <bruno@clisp.org>
10012
10013         Fix recognition of sys/sysctl.h on OpenBSD 4.0.
10014         * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include
10015         sys/param.h.
10016
10017 2009-10-16  Eric Blake  <ebb9@byu.net>
10018
10019         utimensat: new module
10020         * modules/utimensat: New file.
10021         * lib/utimensat.c (utimensat): Likewise.
10022         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
10023         * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat,
10024         so we can work around Linux bugs.
10025         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
10026         * modules/sys_stat (Makefile.am): Substitute them.
10027         * lib/sys_stat.in.h (utimensat): Declare it.
10028         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
10029         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
10030         * modules/utimensat-tests: New test.
10031         * tests/test-utimensat.c: Likewise.
10032
10033         utimens: let lutimens work on non-symlinks
10034         * lib/utimens.c (lutimens): Fall back to utimens rather than
10035         failing with ENOSYS, when file is not a symlink.
10036         (utimens): Reduce redirection.
10037         * tests/test-lutimens.h (test_lutimens): Update test to cover
10038         non-symlinks.
10039         * tests/test-utimens.h (test_utimens): Update test to cover
10040         symlinks.
10041         * tests/test-utimens.c (main): Update caller.
10042
10043         utimens: cache whether utimensat syscall works
10044         * lib/utimens.c (utimensat_works_really): New cache variable.
10045         (fdutimens, lutimens): Use it to avoid failing syscall.
10046
10047         test-stat-time, test-utimens: improve portability
10048         * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for
10049         ext4 on alpha, and for cygwin.
10050         * tests/test-utimens-common.h: New file.
10051         (nap): Factor delays into single function.
10052         * tests/test-lutimens.h (test_lutimens): Use new header.
10053         * tests/test-futimens.h (test_futimens): Likewise.
10054         * tests/test-utimens.h (test_utimens): Likewise.  Also, force NFS
10055         timestamps to occur from same machine, as was done previously for
10056         test_utimens.
10057         * modules/utimens-tests (Files): Ship new file.
10058         * modules/futimens-tests (Files): Likewise.
10059         Reported in part by Jim Meyering.
10060
10061         sys_stat: sort replacement declarations
10062         * lib/sys_stat.in.h: Sort declarations.
10063         * lib/futimens.c (futimens): Fix typo.
10064
10065 2009-10-15  Jim Meyering  <meyering@redhat.com>
10066
10067         don't let environment settings perturb build
10068         Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
10069         could cause a configure-time and/or build-time malfunction.
10070         Typically, a configure-time function-in-library test is performed
10071         via code like this:
10072
10073           LIB_VAR=
10074           AC_SUBST([LIB_VAR])
10075           prefix_saved_LIBS=$LIBS
10076             AC_SEARCH_LIBS([FUNC], [LIB_NAME],
10077                        [test "$ac_cv_search_FUNC" = "none required" ||
10078                         LIB_VAR=$ac_cv_search_FUNC])
10079           LIBS=$prefix_saved_LIBS
10080
10081         However, in each of the files affected by this change, the LIB_VAR=
10082         initialization was omitted.  Thus, when set in the environment, its
10083         value would propagate into generated Makefiles when FUNC is not found
10084         in LIB_NAME.
10085         * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
10086         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
10087         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
10088
10089 2009-10-14  Eric Blake  <ebb9@byu.net>
10090
10091         fchdir: avoid infinite recursion in mingw
10092         * lib/fchdir.c (rpl_fstat): Call system fstat, rather than
10093         recursing.
10094
10095         test-stat-time: port to mingw
10096         * tests/test-stat-time.c (force_unlink): Return a value.
10097         (test_ctime) [W32]: Fix compilation error.
10098         (nap): Don't call usleep with too large an argument.  Use
10099         force_unlink.
10100         * doc/pastposix-functions/usleep.texi (usleep): Document the
10101         portability issue.
10102
10103 2009-10-13  Jim Meyering  <meyering@redhat.com>
10104
10105         use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/*
10106         * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS.
10107         * modules/pipe-filter-ii: Likewise.
10108         * modules/sys_socket-tests: Likewise.
10109         * modules/tsearch-tests: Likewise.
10110         * Makefile (sc_prefer_ac_check_funcs_once): New rule.
10111         (check): Depend on it.
10112
10113 2009-10-12  Eric Blake  <ebb9@byu.net>
10114
10115         utimens-tests: port to NFS file systems
10116         * tests/test-utimens.h (test_utimens): Refactor utimecmp
10117         comparisons to avoid spurious failures from timestamp drift
10118         between NFS machines.
10119
10120 2009-10-12  Eric Blake  <ebb9@byu.net>
10121
10122         stat-time-tests: minor cleanups
10123         * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE.
10124         * tests/test-stat-time.c (nap): Separate assignment from call.
10125         Suggested by Paolo Bonzini and Bruno Haible.
10126
10127         sys_stat: guarantee struct timespec
10128         * lib/sys_stat.in.h (includes): Always include <time.h>
10129         * modules/sys_stat (Depends-on): Add time.
10130         * tests/test-sys_stat.c: Guarantee struct timespec, as well as
10131         mode_t permission values.
10132         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to
10133         get at subsecond timestamps.
10134
10135 2009-10-10  Eric Blake  <ebb9@byu.net>
10136
10137         futimens: new module
10138         * modules/futimens: New file.
10139         * lib/futimens.c (futimens): Likewise.
10140         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
10141         * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so
10142         we can work around Linux bugs.
10143         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
10144         * modules/sys_stat (Makefile.am): Substitute them.
10145         * lib/sys_stat.in.h (futimens): Declare it.
10146         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
10147         * doc/posix-functions/futimens.texi (futimens): Likewise.
10148         * modules/futimens-tests: New test.
10149         * tests/test-futimens.c: Likewise.
10150
10151         utimens: introduce fdutimens
10152         * lib/utimens.h (fdutimens): New prototype.
10153         * lib/utimens.c (gl_futimens): Move guts...
10154         (fdutimens): ...to new interface.
10155         * tests/test-utimens.c (do_fdutimens): Use it.
10156
10157         utimens: add UTIME_NOW and UTIME_OMIT support
10158         * lib/utimens.c (validate_timespec, update_timespec): New helper
10159         functions.
10160         (gl_futimens, lutimens): Use them.
10161         * modules/utimens (Depends-on): Add gettime, lstat, stat-time,
10162         stdbool, sys_stat.
10163         (Link): Mention resulting library dependency.
10164         * modules/utimecmp (Link): Likewise.
10165         * modules/utimens-tests (Depends-on): Drop stat-time, stdbool.
10166         (Makefile.am): Pick up library dependency.
10167         * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a
10168         definition.
10169         * tests/test-sys_stat.c: Test the definitions.
10170         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this.
10171         * NEWS: Document library dependency.
10172
10173         utimecmp: support symlink timestamps
10174         * lib/utimecmp.c (utimecmp): Use new interface.  Skip effort of
10175         hashing when possible.  Use pathconf when available.
10176         (SYSCALL_RESOLUTION): Recognize tighter resolution.
10177         * modules/utimecmp (Depends-on): Add lstat.
10178
10179         utimens: add lutimens interface
10180         * lib/utimens.c (lutimens): New function.
10181         * m4/utimens.m4 (gl_UTIMENS): Check for lutimes.
10182         * lib/utimens.h (lutimens): Declare new interface.
10183         * tests/test-utimens.c (main): Enhance test.
10184         * tests/test-lutimens.h (test_lutimens): New file.
10185         * modules/utimens-tests (Files): Distribute it.
10186         (Depends-on): Add symlink.
10187         (configure.ac): Check for usleep.
10188
10189         utimens: validate futimens usage
10190         * lib/utimens.c (gl_futimens): Require valid fd up front, using
10191         fewer syscalls on failure later on.  Avoid compiler warning on
10192         mingw.
10193         * modules/utimens (Depends-on): Add dup2.
10194
10195         utimens: add test
10196         * modules/utimens-tests: New test.
10197         * tests/test-utimens.h: New file.
10198         * tests/test-futimens.h: Likewise.
10199         * tests/test-utimens.c: Likewise.
10200
10201         doc: mention timestamp portability issues
10202         * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
10203         instead.
10204         * doc/posix-functions/utime.texi (utime): Likewise.
10205         * doc/posix-functions/utimes.texi (utimes): Likewise.
10206         * doc/glibc-functions/futimes.texi (futimes): Refer to futimens
10207         instead.
10208         * doc/posix-functions/futimens.texi (futimens): Mention utimens
10209         module.
10210         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
10211         Mention weakness with symlink timestamps.
10212         * doc/glibc-functions/futimesat.texi (futimesat): New file; refer
10213         to utimensat/futimens instead.
10214         * doc/gnulib.texi (Glibc sys/time.h): Include new file.
10215
10216         test-dup2: enhance test
10217         * tests/test-dup2.c (main): Also check AT_FDCWD.
10218
10219         test-stat-time: avoid more spurious failures
10220         * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
10221         xfs; and avoid race if the two timestamps cross quantization edge.
10222
10223         relocatable: prefer 'file system' over 'filesystem'
10224         * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
10225         (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
10226         * doc/relocatable-maint.texi (Supporting Relocation): Likewise.
10227         * doc/relocatable.texi (Enabling Relocatability): Likewise.
10228         * lib/relocatable.c (compute_curr_prefix): Likewise.
10229
10230 2009-10-10  Jim Meyering  <meyering@redhat.com>
10231
10232         stat-time-tests: check for the usleep function
10233         * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP.
10234
10235 2009-10-10  Bruno Haible  <bruno@clisp.org>
10236
10237         * modules/xnanosleep: Put the Link section after the Include section.
10238
10239 2009-10-09  Eric Blake  <ebb9@byu.net>
10240
10241         dup2: work around FreeBSD 6.1 bug
10242         * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug.
10243         * doc/posix-functions/dup2.texi (dup2): Document it.
10244         Reported by Nelson H. F. Beebe and Jim Meyering.
10245
10246         test-stat-time: port to buggy NFS clients
10247         * tests/test-stat-time.c (main) [W32]: Reduce ifdefs.
10248         (test_ctime): Also skip test if mtime and ctime are skewed.
10249
10250         maint: prefer 'file system' over 'filesystem'
10251         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
10252         * doc/posix-functions/lstat.texi (lstat): Likewise.
10253         * lib/file-has-acl.c (file_has_acl): Likewise.
10254         * lib/fwriteerror.c [TEST]: Likewise.
10255         * tests/test-areadlink.h (test_areadlink): Likewise.
10256         * tests/test-areadlinkat-with-size.c (main): Likewise.
10257         * tests/test-areadlinkat.c (main): Likewise.
10258         * tests/test-canonicalize-lgpl.c (main): Likewise.
10259         * tests/test-canonicalize.c (main): Likewise.
10260         * tests/test-fstatat.c (main): Likewise.
10261         * tests/test-linkat.c (main): Likewise.
10262         * tests/test-lstat.h (test_lstat_func): Likewise.
10263         * tests/test-mkdir.h (test_mkdir): Likewise.
10264         * tests/test-readlink.h (test_readlink): Likewise.
10265         * tests/test-remove.c (main): Likewise.
10266         * tests/test-rename.h (test_rename): Likewise.
10267         * tests/test-renameat.c (main): Likewise.
10268         * tests/test-rmdir.h (test_rmdir_func): Likewise.
10269         * tests/test-symlink.h (test_symlink): Likewise.
10270         * tests/test-symlinkat.c (main): Likewise.
10271         * tests/test-unlink.h (test_unlink_func): Likewise.
10272         * tests/test-unlinkat.c (main): Likewise.
10273
10274         maint: make realtime library usage explicit
10275         * modules/gethrxtime (Link): Mention LIB_GETHRXTIME.
10276         * modules/gettime (Link): Mention LIB_CLOCK_GETTIME.
10277         * modules/settime (Link): Likewise.
10278         * modules/xnanosleep (Link): Mention LIB_NANOSLEEP.
10279
10280         test-stat-time: speed up execution
10281         * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
10282         warning on mingw.
10283         (nap): New helper function.
10284         (prepare_test): Use it to reduce sleep time.
10285         (test_mtime, test_ctime, test_birthtime): Allow for subsecond
10286         execution.
10287         * modules/stat-time-tests (configure.ac): Check for usleep.
10288
10289 2009-10-09  Jim Meyering  <meyering@redhat.com>
10290
10291         selinux-h: always use getfilecon wrappers
10292         * lib/getfilecon.c: New file.
10293         * lib/se-selinux.in.h: Use a better inclusion guard symbol name.
10294         [HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
10295         [!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
10296         (fgetfilecon): Provide a stub.
10297         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
10298         AC_SUBST SELINUX_SELINUX_H, since now we're generating that
10299         file unconditionally.
10300         When <selinux/selinux.h> is found, arrange to use wrappers.
10301         * modules/selinux-h (Files): Add getfilecon.c.
10302         (Makefile.am): Substitute include-next-related bits
10303         into the now-always-generated selinux/selinux.h file.
10304         * doc/glibc-functions/lgetfilecon.texi: New file.
10305         * doc/glibc-functions/fgetfilecon.texi: New file.
10306         * doc/glibc-functions/getfilecon.texi: New file.
10307         * doc/glibc-functions/getfilecon-desc.texi: New file.
10308         * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
10309         which to pull in the new files.
10310         * MODULES.html.sh (Misc): Add selinux-h.
10311
10312 2009-10-08  Jim Meyering  <meyering@redhat.com>
10313
10314         unistd: fix comment typo
10315         * lib/unistd.in.h (euidaccess): Fix a comment typo.
10316
10317 2009-10-08  Eric Blake  <ebb9@byu.net>
10318
10319         areadlink: use SIZE_MAX consistently
10320         * modules/areadlink (Depends-on): Add stdint.
10321         * modules/areadlink-with-size (Depends-on): Likewise.
10322         * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
10323         gives NULL; drop sys/types, since unistd gives size_t; and add
10324         stdint for SIZE_MAX.
10325         (SIZE_MAX): Rely on headers.
10326         * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
10327         and add stdint.
10328         * lib/areadlink.c (includes): Drop sys/types, and add stdint.
10329         (SIZE_MAX): Likewise.
10330         (INITIAL_BUF_SIZE): Turn into enum.
10331         * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.
10332
10333 2009-10-08  Jim Meyering  <meyering@redhat.com>
10334
10335         areadlinkat: avoid compilation failure
10336         * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
10337         Fix typo in comment.
10338
10339 2009-10-07  Eric Blake  <ebb9@byu.net>
10340
10341         areadlinkat-with-size: new module
10342         * modules/areadlinkat-with-size: New module.
10343         * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
10344         * lib/areadlink.h (areadlinkat): Declare it.
10345         * MODULES.html.sh (File system functions): Mention it.
10346         * modules/areadlinkat-with-size-tests: New test.
10347         * tests/test-areadlinkat-with-size.c: New file.
10348
10349         xreadlinkat: new module
10350         * modules/xreadlinkat: New module.
10351         * lib/xreadlinkat.c (xreadlinkat): New file.
10352         * lib/xreadlink.h (xreadlinkat): Declare it.
10353         * MODULES.html.sh (File system functions): Mention it.
10354
10355         areadlinkat: new module
10356         * lib/at-func.c (FUNC_FAIL): New define.
10357         (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
10358         * modules/areadlinkat: New module.
10359         * lib/linkat.c (areadlinkat): Move...
10360         * lib/areadlinkat.c (areadlinkat): ...to new file.
10361         * lib/areadlink.h (areadlinkat): Declare it.
10362         * modules/linkat (Depends-on): Add areadlinkat.
10363         * MODULES.html.sh (File system functions): Mention it.
10364         * modules/areadlinkat-tests: New test.
10365         * tests/test-areadlinkat.c: New file.
10366
10367         areadlink, areadlink-with-size: add tests
10368         * modules/areadlink-tests: New test.
10369         * modules/areadlink-with-size-tests: Likewise.
10370         * tests/test-areadlink.h: New file.
10371         * tests/test-areadlink.c: Likewise.
10372         * tests/test-areadlink-with-size.c: Likewise.
10373
10374         maint: minor cleanups
10375         * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
10376         _UNUSED_PARAMETER_ instead.
10377         * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
10378         * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
10379         * modules/linkat-tests (Files): Distribute test-link.h.
10380
10381         openat, utimens: whitespace cleanup
10382         * lib/openat.c: Prefer space throughout, rather than mix of 8
10383         spaces vs. tabs.
10384         * lib/at-func.c: Likewise.
10385         * lib/utimens.c: Likewise.
10386
10387         openat: avoid using wrong fd
10388         * lib/openat.c (openat_permissive): Reject user's fd if saving the
10389         working directory chooses same fd.
10390         * lib/at-func.c (AT_FUNC_NAME): Likewise.
10391
10392         mkdir, mkdirat: fix cygwin 1.5.x bug
10393         * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
10394         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
10395         * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
10396         bug.
10397         (gl_PREREQ_MKDIR): Delete unused macro.
10398         * modules/mkdir (Files): Track file rename.
10399         (configure.ac): Update macro name.
10400         * modules/openat (Depends-on): Add mkdir.
10401         * doc/posix-functions/mkdir.texi (mkdir): Document the bug.
10402
10403         mkdir, mkdirat: add tests
10404         * modules/mkdir-tests: New test.
10405         * tests/test-mkdir.h: New file.
10406         * tests/test-mkdir.c: Likewise.
10407         * tests/test-mkdirat.c: Likewise.
10408         * modules/openat-tests (Files): Add new files.
10409         (Makefile.am): Run new test.
10410
10411 2009-10-06  Eric Blake  <ebb9@byu.net>
10412
10413         doc: tweak *at function documentation
10414         * doc/posix-functions/faccessat.texi (faccessat): Mention
10415         known issue with replacement.
10416         * doc/posix-functions/fchdir.texi (fchdir): Likewise.
10417         * doc/posix-functions/linkat.texi (linkat): Likewise.
10418         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
10419         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
10420         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
10421         * doc/posix-functions/renameat.texi (renameat): Likewise.
10422         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
10423
10424         openat: fix GNU/Hurd bug in unlinkat
10425         * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
10426         broken.
10427         * doc/posix-functions/unlink.texi (unlink): Document this.
10428         * doc/posix-functions/unlinkat.texi (unlinkat): Likewise.
10429
10430         fdopendir: fix GNU/Hurd bug
10431         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
10432         allowing non-directory fds.
10433         * lib/fdopendir.c (rpl_fdopendir): Work around it.
10434         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
10435         * modules/dirent (Makefile.am): Substitute it.
10436         * lib/dirent.in.h (fdopendir): Declare replacement.
10437         * doc/posix-functions/fdopendir.texi (fdopendir): Document this.
10438         * tests/test-fdopendir.c (main): Test something other than
10439         /dev/null, since on Hurd that behaves like a directory.
10440
10441         test-symlink: port to GNU/Hurd
10442         * tests/test-symlink.h (test_symlink): Relax expected errno.
10443
10444         doc: tweak more cygwin information
10445         * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
10446         now compatible with glibc.
10447         * doc/posix-functions/getopt.texi (getopt): Likewise.
10448
10449         getopt-gnu: add another test
10450         * tests/test-getopt_long.h (test_getopt_long_posix): New test, to
10451         guarantee behavior relied on by m4.
10452         * tests/test-getopt.c (main): Use it.
10453         * modules/getopt-posix-tests (Depends-on): Add setenv.
10454         See http://lists.gnu.org/archive/html/bug-m4/2006-09/msg00028.html.
10455
10456         getopt: fix compilation on darwin
10457         * lib/getopt.in.h (includes): Leave breadcrumbs during system
10458         include.
10459         * lib/unistd.in.h (getopt): Use them to avoid recursive include.
10460         Reported by Ludovic Courtès.
10461
10462 2009-10-06  Bruno Haible  <bruno@clisp.org>
10463
10464         * modules/size_max (Description): Discourage its use.
10465         Reported by Simon Josefsson.
10466
10467 2009-10-06  Jim Meyering  <meyering@redhat.com>
10468
10469         linkat: avoid compilation failure
10470         * lib/linkat.c: Include <stdint.h> for use of SIZE_MAX.
10471
10472 2009-10-05  Eric Blake  <ebb9@byu.net>
10473
10474         linkat: support Linux 2.6.17
10475         * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
10476         linkat on Linux, but allow cache variable override.
10477         * lib/linkat.c (rpl_linkat): Define override.
10478         * modules/linkat (Depends-on): Add symlinkat.
10479         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
10480         * modules/unistd (Makefile.am): Substitute it.
10481         * lib/unistd.in.h (linkat): Declare replacement.
10482         Reported by Pádraig Brady.
10483
10484         quotearg: port test to systems with C.UTF-8 locale
10485         * tests/test-quotearg.c (struct result_strings): Add another
10486         member, differentiating between C.ASCII and C.UTF-8 handling.
10487         (compare_strings): Add parameter.
10488         (main): Adjust all callers.
10489
10490         getopt: avoid clash with FreeBSD _getopt_internal
10491         * lib/getopt.in.h (_getopt_internal): Override the name.
10492         * lib/getopt_int.h (includes): Pick up any overrides.
10493         Reported by Reuben Thomas.
10494
10495         hash: allow C89 compilation
10496         * lib/hash.c (check_tuning): Move declaration before statement.
10497         Reported by Reuben Thomas.
10498
10499 2009-10-05  Karl Berry  <karl@gnu.org>
10500
10501         * doc/gnulib.texi: @include execvpe.texi, missing for several days.
10502
10503 2009-10-04  Paolo Bonzini  <bonzini@gnu.org>
10504             Bruno Haible  <bruno@clisp.org>
10505
10506         * lib/uname.c (uname): Use a table-driven algorithm to compute
10507         Windows NT versions.
10508
10509 2009-10-04  Bruno Haible  <bruno@clisp.org>
10510
10511         * lib/progname.c (set_program_name): Also remove the "lt-" prefix from
10512         program_invocation_short_name.
10513         * modules/progname (configure.ac): Test for presence of
10514         program_invocation_short_name.
10515         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
10516
10517 2009-10-04  Bruno Haible  <bruno@clisp.org>
10518
10519         * lib/progname.c (set_program_name): Fix comment.
10520         Reported by Jim Meyering.
10521
10522 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
10523             Bruno Haible  <bruno@clisp.org>
10524
10525         * lib/uname.c: Include <string.h>.
10526         (uname): Do only one call to GetVersionEx in the common case.
10527
10528 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
10529             Bruno Haible  <bruno@clisp.org>
10530
10531         * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64,
10532         PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks.
10533         (uname): Add support for Windows CE and various non-x86 CPU types.
10534
10535 2009-10-03  Bruno Haible  <bruno@clisp.org>
10536
10537         * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O
10538         invocation to tests/configure.ac.
10539         Reported by Ian Beckwith <ianb@erislabs.net>.
10540
10541 2009-10-02  Eric Blake  <ebb9@byu.net>
10542
10543         fchdir: avoid compiler warning
10544         * lib/fchdir.c (canonicalize_file_name)
10545         [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw.
10546
10547         test-open: support mingw errno values
10548         * tests/test-open.h (test_open): Relax test.
10549         * tests/test-fopen.h (test_fopen): Likewise.
10550         * tests/test-openat-safer.c (main): Likewise.
10551
10552         open: fix opening directory on mingw
10553         * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo.
10554
10555         test-open: on GNU/Hurd, /dev/null is a directory
10556         * tests/test-fopen.h (main): Rename...
10557         (test_fopen): ...to this.  Use a guaranteed non-directory when
10558         confirming open behavior on trailing slash.
10559         * tests/test-openat-safer.c (main): Likewise.
10560         * tests/test-open.h (main): Likewise....
10561         (test_open): ...to this.
10562         * tests/test-fopen.c (main): Adjust caller.
10563         * tests/test-fopen-safer.c (main): Likewise.
10564         * tests/test-open.c (main): Likewise.
10565         * tests/test-fcntl-safer.c (main): Likewise.
10566         Reported by Samuel Thibault.
10567
10568         rename, fchdir: don't ignore chdir failure
10569         * lib/fchdir.c (get_name): Abort on unexpected chdir failure.
10570         * lib/rename.c (rpl_rename) [W32]: Likewise.
10571         (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing
10572         an empty destination directory if source cannot be renamed,
10573         although there is still possibility for failure.
10574         * doc/posix-functions/rename.texi (rename): Document the race.
10575         Reported by Jim Meyering.
10576
10577         maint: cleanup whitespace in recent commits
10578         * lib/rename.c (rpl_rename): Remove tabs.
10579         * tests/test-link.h (test_link): Likewise.
10580         * lib/fchdir.c (get_name): Likewise.
10581         Reported by Jim Meyering.
10582
10583 2009-10-02  Ben Pfaff  <blp@gnu.org>
10584
10585         relocatable-prog-wrapper: Add missing dependency on
10586         double-slash-root.
10587         * modules/relocatable-prog-wrapper: Add dependency.
10588         Reported by Ian Beckwith <ianb@erislabs.net>.
10589
10590 2009-10-02  Eric Blake  <ebb9@byu.net>
10591
10592         renameat: fix Solaris bugs
10593         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename
10594         needed fixing.
10595         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness.
10596         * modules/stdio (Makefile.am): Substitute it.
10597         * lib/stdio.in.h (renameat): Declare replacement.
10598         * lib/renameat.c (rpl_renameat): Implement fix.
10599
10600         renameat: new module
10601         * modules/renameat: New file.
10602         * lib/renameat.c (renameat): Likewise.
10603         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise.
10604         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
10605         * modules/stdio (Makefile.am): Substitute them.
10606         * lib/stdio.in.h (renameat): Declare it.
10607         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
10608         * doc/posix-functions/renameat.texi (renameat): Likewise.
10609         * modules/renameat-tests: New test.
10610         * tests/test-renameat.c: Likewise.
10611
10612         rename: fix mingw bugs
10613         * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and
10614         directory overwrite bugs.
10615
10616         rename: fix another cygwin 1.5 bug
10617         * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two
10618         checks.
10619         * lib/rename.c (rpl_rename): Don't penalize NetBSD with
10620         unnecessary cygwin workarounds.  Also work around bug with moving
10621         full directory onto an empty one.
10622         * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir.
10623
10624         rename-dest-slash: merge into rename module
10625         * modules/rename-dest-slash (Status): Mark obsolete.
10626         (Depends-on): Add rename.
10627         (Files): Let rename do it all.
10628         * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs,
10629         subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH...
10630         * m4/rename-dest-slash.m4: ...so this file can be deleted.
10631         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete.
10632         * lib/rename.c (rpl_rename): Update comments.
10633
10634         rename: fix cygwin 1.5.x bugs
10635         * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs.
10636         * lib/rename.c (rpl_rename): Work around them.
10637         * modules/rename (Depends-on): Add same-inode.
10638
10639         rename: fix Solaris 10 bug
10640         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
10641         * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this
10642         was the only bug.
10643
10644         rename: fix Solaris 9 bug
10645         * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash
10646         on non-directory.  Avoid calling exit.
10647         * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool,
10648         strdup.
10649         * modules/rename-tests (Depends-on): Drop lstat.
10650         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
10651         (gl_PREREQ_RENAME): Delete unused macro.
10652
10653         rename-dest-slash: fix NetBSD bug
10654         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard
10655         links.
10656         * modules/rename-dest-slash (Depends-on): Add same-inode.
10657
10658         rename-tests: new test, exposes several platform bugs
10659         * modules/rename-tests: New file.
10660         * tests/test-rename.h: Likewise.
10661         * tests/test-rename.c: Likewise.
10662         * doc/posix-functions/rename.texi (rename): Improve documentation,
10663         including bugs that will eventually be fixed in gnulib.
10664
10665 2009-10-02  Paolo Bonzini  <bonzini@gnu.org>
10666
10667         * lib/uname.c: Include <stdlib.h>
10668         (uname): Assume version info is available.
10669
10670 2009-10-02  Jim Meyering  <meyering@redhat.com>
10671
10672         gnu-web-doc-update: correct --help output
10673         * build-aux/gnu-web-doc-update: Make --help output relevant.
10674
10675         gnu-web-doc-update: add standard options
10676         * build-aux/gnu-web-doc-update: Add --help, --version, etc.
10677
10678         gnu-web-doc-update: New module.
10679         Use this script to automatically update the on-line web documentation
10680         for your GNU project at http://www.gnu.org/software/$pkg/manual/
10681         * modules/gnu-web-doc-update: New file, from coreutils.
10682         * build-aux/gnu-web-doc-update: New script.
10683
10684 2009-10-01  Paolo Bonzini  <bonzini@gnu.org>
10685
10686         link: LoadLibrary is not needed.
10687         * lib/link.c: Use GetModuleHandle.
10688
10689 2009-10-01  Eric Blake  <ebb9@byu.net>
10690
10691         getopt: bump serial number
10692         * m4/getopt.m4: Increment serial number, to account for 2009-09-24
10693         change.
10694
10695         tests: tighten link, rmdir, and remove tests
10696         * tests/test-link.h (includes): No need to use <config.h> here.
10697         Clean up if directory hard link was created, otherwise test for
10698         trailing '.'.
10699         * tests/test-linkat.c (main): Simplify.
10700         * tests/test-remove.c (main): Enhance test for trailing '.'.
10701         * tests/test-rmdir.h (test_rmdir_func): Likewise.
10702
10703 2009-10-01  Jim Meyering  <meyering@redhat.com>
10704
10705         maint.mk: requiring "make major" was annoying, for a "minor" release.
10706         What is intended is "stable", to contrast with alpha and beta,
10707         so require "make stable", not "make major".
10708         * build-aux/announce-gen (%valid_release_types): s/major/stable/.
10709         (get_tool_versions): Likewise.
10710         * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/
10711
10712 2009-09-30  Ben Pfaff  <blp@gnu.org>
10713
10714         Fix broken build of replacement for Windows tmpfile().
10715         * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide
10716         flags argument added along with the 'mkostemp' module.
10717
10718 2009-09-28  Bruno Haible  <bruno@clisp.org>
10719
10720         Avoid identifier clash with POSIX function 'remove' defined as a macro.
10721         * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
10722         to 'remove_elt'.
10723         (gl_list_remove): Update.
10724         * lib/gl_list.c (gl_list_remove): Update.
10725         * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
10726         to 'remove_elt'.
10727         (gl_oset_remove): Update.
10728         * lib/gl_list.c (gl_oset_remove): Update.
10729         Reported by Eric Blake.
10730
10731 2009-09-28  Eric Blake  <ebb9@byu.net>
10732
10733         doc: mention yet more cygwin 1.7 status
10734         * doc/posix-functions/fexecve.texi (fexecve): Now implemented in
10735         cygwin.
10736         * doc/glibc-functions/execvpe.texi (execvpe): New file.
10737         * doc/gnulib.texi (Glibc unistd.h): Mention it.
10738
10739         argp: fix test failure
10740         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
10741         that are not upper-case.  Pass correct range to tolower.
10742
10743 2009-09-27  Jim Meyering  <meyering@redhat.com>
10744
10745         test-yesno: work around sparc-dash here-document infelicity
10746         Without this change, the literal \177 byte in a here document
10747         would make dash 0.5.5.1-3 access uninitialized memory.
10748         * tests/test-yesno.sh: Don't put the \177 byte in the here document.
10749         Instead, use a marker, "@", and filter through tr to create the desired
10750         contents.  Reported as <http://bugs.debian.org/548493> by Kurt Roeckx.
10751
10752 2009-09-27  Bruno Haible  <bruno@clisp.org>
10753
10754         Disable untested support for new flavours of ACLs on AIX.
10755         * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in
10756         progress.
10757         * lib/set-mode-acl.c (qset_acl): Likewise.
10758
10759 2008-12-07  Bruno Haible  <bruno@clisp.org>
10760
10761         Add support for new flavours of ACLs on AIX. (Untested.)
10762         * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function.
10763         (file_has_acl): Add support for newer AIX.
10764         * lib/set-mode-acl.c (qset_acl): Likewise.
10765         * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by
10766         Rainer Tammer <tammer@tammer.net>.
10767
10768 2009-09-26  Eric Blake  <ebb9@byu.net>
10769
10770         argp: fix compilation of getopt
10771         * lib/getopt.in.h (includes): Use different guard than glibc.
10772         Reported by Sergey Poznyakoff.
10773
10774         doc: mention more cygwin 1.7 status
10775         * doc/posix-functions/access.texi (access): Mention cygwin 1.5
10776         bug.
10777         * doc/posix-functions/execl.texi (execl): Likewise.
10778         * doc/posix-functions/execle.texi (execle): Likewise.
10779         * doc/posix-functions/execlp.texi (execlp): Likewise.
10780         * doc/posix-functions/execv.texi (execv): Likewise.
10781         * doc/posix-functions/execve.texi (execve): Likewise.
10782         * doc/posix-functions/execvp.texi (execvp): Likewise.
10783         * doc/glibc-functions/canonicalize_file_name.texi
10784         (canonicalize_file_name): Cygwin 1.7 now provides this.
10785         * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
10786         * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
10787         on AT_SYMLINK_NOFOLLOW.
10788
10789 2009-09-24  Eric Blake  <ebb9@byu.net>
10790
10791         test-linkat: make test more robust
10792         * tests/test-linkat.c (main): Avoid collision with EEXIST.
10793
10794         getopt: fix inclusion guards for cygwin
10795         * modules/getopt-posix (Depends-on): Add include-next.
10796         (Makefile.am): Substitute more items in replacement header.
10797         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native
10798         <getopt.h>.
10799         * lib/getopt.in.h (includes): Use split inclusion guard, and
10800         prefer <getopt.h> over include <unistd.h> when one is present.
10801         (option): Also override name of 'struct option'.
10802
10803         same-inode: revert prior change; it is not yet ready
10804         * NEWS: Undo mention of this change.
10805         * lib/same-inode.h (same-inode.h): Undo tri-state change.
10806         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
10807         * lib/cycle-check.c (cycle_check): Likewise.
10808         * lib/same.c (same_name): Likewise.
10809         * lib/at-func2.c (at_func2): Likewise.
10810
10811 2009-09-23  Eric Blake  <ebb9@byu.net>
10812
10813         linkat: new module
10814         * modules/linkat: New file.
10815         * lib/at-func2.c (at_func2): Likewise.
10816         * lib/linkat.c (linkat): Likewise.
10817         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
10818         * lib/openat-priv.h (at_func2): Add declaration.
10819         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
10820         * modules/unistd (Makefile.am): Substitute them.
10821         * lib/unistd.in.h (linkat): Declare it.
10822         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
10823         * doc/posix-functions/linkat.texi (linkat): Likewise.
10824         * doc/posix-functions/link.texi (link): Tweak wording.
10825         * tests/test-link.c (main): Move guts...
10826         * tests/test-link.h (test_link): ...into new file.
10827         * modules/linkat-tests: New test.
10828         * tests/test-linkat.c: Likewise.
10829         * modules/link-tests (Files): Ship new file.
10830         (Depends-on): Add stdbool.
10831
10832         dirname: add library-safe mdir_name
10833         * lib/dirname.h (mdir_name): New prototype.
10834         * lib/dirname.c (dir_name): Move guts...
10835         (mdir_name): ...to new function that avoids xalloc_die.
10836
10837         fchdir: another mingw fix
10838         * modules/fchdir (Depends-on): Drop canonicalize-lgpl.
10839         * lib/fchdir.c (get_name): New helper method; skips canonicalize
10840         on mingw (where it has not yet been ported), and make it optional
10841         elsewhere.
10842         (_gl_register_fd): Use it.
10843
10844         same-inode: make SAME_INODE tri-state, to port to mingw
10845         * NEWS: Mention this change.
10846         * lib/same-inode.h (same-inode.h): Recognize mingw limitation of
10847         st_ino always being 0.
10848         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
10849         * lib/cycle-check.c (cycle_check): Likewise.
10850         * lib/same.c (same_name): Likewise.
10851
10852         lstat: avoid mingw compilation error
10853         * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to
10854         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing
10855         lstat ourselves.
10856         * lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override
10857         was adequate.
10858         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle
10859         the checks for lstat.
10860         (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT.
10861
10862         link: fix test failure on Solaris 9
10863         * lib/link.c (rpl_link): Don't assume link will catch bogus
10864         trailing slash on source.
10865
10866         test-symlinkat: enhance test
10867         * tests/test-readlink.c (main): Move guts...
10868         * tests/test-readlink.h (test_readlink): ...into new file.
10869         * tests/test-symlink.c (main): Move guts...
10870         * tests/test-symlink.h (test_symlink): ...into new file.
10871         * tests/test-symlinkat.c (main): Use new files for further
10872         coverage.
10873         (do_symlink, do_readlink): New helper functions.
10874         * modules/symlink-tests (Files): Ship new file.
10875         (Depends-on): Add stdbool.
10876         * modules/readlink-tests (Files): Ship new file.
10877         (Depends-on): Add stdbool.
10878         * modules/symlinkat-tests (Files): Use new files.
10879
10880 2009-09-23  Eric Blake  <ebb9@byu.net>
10881
10882         readlink: document portability issue with symlink length
10883         * doc/posix-functions/lstat.texi (lstat): Mention that some file
10884         systems have bogus st_size on symlinks, and mention the
10885         areadlink-with-size module.
10886         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
10887         * doc/posix-functions/readlink.texi (readlink): Mention the
10888         areadlink module, and ERANGE failure.
10889         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
10890         * tests/test-readlink.c (main): Relax test for AIX, HP-UX.
10891
10892         readlink: fix Solaris 9 bug with trailing slash
10893         * lib/readlink.c (rpl_readlink): Work around trailing slash bug.
10894         * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug.
10895         * doc/posix-functions/readlink.texi (readlink): Document this.
10896         * modules/readlink-tests: New test.
10897         * tests/test-readlink.c: Likewise.
10898
10899         readlink: fix cygwin 1.5.x bug with return type
10900         * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
10901         * lib/unistd.in.h (readlink): Use ssize_t.
10902         * lib/readlink.c (readlink): Likewise.
10903         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
10904         * modules/unistd (Makefile.am): Substitute it.
10905         * lib/unistd.in.h (readlink): Declare replacement.
10906         * doc/posix-functions/readlink.texi (readlink): Document this.
10907
10908         symlink: use throughout gnulib
10909         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
10910         * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
10911         symlink is not used.
10912         * modules/symlinkat (Depends-on): Add symlink.
10913         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
10914         * modules/canonicalize-tests (Depends-on): Likewise.
10915         * modules/lstat-tests (Depends-on): Likewise.
10916         * modules/openat-tests (Depends-on): Likewise.
10917         * modules/remove-tests (Depends-on): Likewise.
10918         * modules/rmdir-tests (Depends-on): Likewise.
10919         * modules/unlink-tests (Depends-on): Likewise.
10920         * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
10921         * tests/test-canonicalize.c (symlink): Likewise.
10922         * tests/test-fstatat.c (symlink): Likewise.
10923         * tests/test-lstat.c (symlink): Likewise.
10924         * tests/test-remove.c (symlink): Likewise.
10925         * tests/test-rmdir.c (symlink): Likewise.
10926         * tests/test-unlink.c (symlink): Likewise.
10927         * tests/test-unlinkat.c (symlink): Likewise.
10928
10929         symlink: new module, for Solaris 9 bug
10930         * modules/symlink: New file.
10931         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
10932         * lib/symlink.c: Likewise.
10933         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
10934         * modules/unistd (Makefile.am): Substitute them.
10935         * lib/unistd.in.h (symlink): Declare replacement.
10936         * MODULES.html.sh (File system functions): Mention it.
10937         * doc/posix-functions/symlink.texi (symlink): Likewise.
10938         * modules/symlink-tests: New test.
10939         * tests/test-symlink.c: Likewise.
10940
10941 2009-09-23  Bruno Haible  <bruno@clisp.org>
10942
10943         * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
10944         when needed.
10945         Test case: gnulib-tool --import --with-tests atexit inttypes.
10946         Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.
10947
10948 2009-09-23  Bruno Haible  <bruno@clisp.org>
10949
10950         * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
10951         subcommand, not in a subshell.
10952
10953 2009-09-22  Eric Blake  <ebb9@byu.net>
10954
10955         unistd: sort replacement declarations
10956         * lib/unistd.in.h: Sort declarations.
10957
10958         open, openat: minor optimization
10959         * lib/open.c (open): If open succeeded, len is non-zero.
10960         * lib/openat.c (rpl_openat): Likewise.
10961
10962         link-follow: ensure correct result
10963         * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
10964         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
10965         distinguish between possible failures.
10966
10967 2009-09-21  Eric Blake  <ebb9@byu.net>
10968
10969         fts: avoid compiler warning
10970         * lib/fts.c (dirent_inode_sort_may_be_useful)
10971         (leaf_optimization_applies) [!__linux__]: Mark unused parameters.
10972
10973 2009-09-19  Bruno Haible  <bruno@clisp.org>
10974
10975         * lib/progreloc.c (canonicalize_file_name): New declaration.
10976
10977 2009-09-19  Eric Blake  <ebb9@byu.net>
10978
10979         link: fix quoting
10980         * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.
10981
10982         openat: fix openat bugs on Solaris 9
10983         * lib/openat.c (rpl_openat): Work around Solaris 9 bug.
10984         * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
10985         * modules/openat (Depends-on): Add open.
10986         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
10987         * modules/fcntl-h (Makefile.am): Substitute it.
10988         * lib/fcntl.in.h (openat): Declare replacement.
10989         * doc/posix-functions/openat.texi (openat): Document this.
10990
10991         openat: move fstatat and unlinkat into correct files
10992         * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
10993         compiled.
10994         * lib/openat.c (fstatat, unlinkat): Move...
10995         * lib/fstatat.c (fstatat): ...into correct files.
10996         * lib/unlinkat.c (unlinkat): Likewise.
10997
10998         openat: fix unlinkat bugs on Solaris 9
10999         * lib/unlinkat.c (unlinkat): New file.
11000         * modules/openat (Depends-on): Add unlink.
11001         (Files): Distribute it.
11002         * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
11003         trailing slash behavior is broken.
11004         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
11005         * modules/unistd (Makefile.am): Substitute it.
11006         * lib/unistd.in.h (unlinkat): Declare replacement.
11007         * doc/posix-functions/unlinkat.texi (unlinkat): Document this.
11008
11009         openat: fix fstatat bugs on Solaris 9
11010         * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
11011         stat.
11012         * doc/posix-functions/fstatat.texi (fstatat): Document this.
11013
11014         test-unlinkat: enhance test, to expose Solaris 9 bug
11015         * tests/test-unlink.c (main): Factor guts...
11016         * tests/test-unlink.h (test_rmdir_func): ...into new file.
11017         * tests/test-rmdir.h (test_rmdir_func): Add parameter.
11018         * tests/test-rmdir.c (main): Adjust caller.
11019         * tests/test-unlinkat.c (main): Likewise.  Add unlink tests.
11020         (unlinker): New helper function.
11021         (rmdirat): Enhance check.
11022         * modules/rmdir-tests (Depends-on): Add stdbool.
11023         * modules/unlink-tests (Depends-on): Likewise.
11024         (Files): Add test-unlink.h.
11025         * modules/openat-tests (Files): Likewise.
11026         (Depends-on): Add unlinkdir.
11027
11028         test-fstatat: new test, to expose Solaris 9 bugs
11029         * tests/test-stat.c (main): Factor guts...
11030         * tests/test-stat.h (test_stat_func): ...into new file.
11031         * tests/test-lstat.c (main): Factor guts...
11032         * tests/test-lstat.h (test_lstat_func): ...into new file.
11033         * tests/test-fstatat.c: New file.
11034         * modules/stat-tests (Files): Add test-stat.h.
11035         * modules/lstat-tests (Files): Add test-lstat.h.
11036         (Depends-on): Add stdbool.
11037         * modules/openat-tests (Depends-on): Add pathmax.
11038         (Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
11039         (Makefile.am): Run new test.
11040
11041         remove: new module, for mingw and Solaris 9 bugs
11042         * modules/remove: New file.
11043         * lib/remove.c: Likewise.
11044         * m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
11045         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
11046         * modules/stdio (Makefile.am): Use them.
11047         * lib/stdio.in.h (remove): Declare replacement.
11048         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
11049         * doc/posix-functions/remove.texi (remove): Likewise.
11050         * modules/remove-tests: New test.
11051         * tests/test-remove.c: Likewise.
11052
11053         unlink: new module, for Solaris 9 bug
11054         * modules/unlink: New file.
11055         * lib/unlink.c: Likewise.
11056         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
11057         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
11058         * modules/unistd (Makefile.am): Use them.
11059         * lib/unistd.in.h (stat): Declare replacement.
11060         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
11061         * doc/posix-functions/unlink.texi (unlink): Likewise.
11062         * modules/unlink-tests: New test.
11063         * tests/test-unlink.c: Likewise.
11064
11065         lstat: fix Solaris 9 bug
11066         * lib/lstat.c (lstat): Also check for trailing slash on
11067         non-symlink, non-directories.  Use stat module to simplify logic.
11068         * doc/posix-functions/lstat.texi (lstat): Document it.
11069         * modules/lstat-tests (Depends-on): Add errno, same-inode.
11070         (configure.ac): Check for symlink.
11071         * tests/test-lstat.c (main): Add more tests.
11072
11073         stat: add as dependency to other modules
11074         * modules/chown (Depends-on): Add stat.
11075         * modules/euidaccess (Depends-on): Likewise.
11076         * modules/fchdir (Depends-on): Likewise.
11077         * modules/isdir (Depends-on): Likewise.
11078         * modules/link (Depends-on): Likewise.
11079         * modules/lstat (Depends-on): Likewise.
11080         * modules/mkdir-p (Depends-on): Likewise.
11081         * modules/modechange (Depends-on): Likewise.
11082         * modules/open (Depends-on): Likewise.
11083         * modules/readlink (Depends-on): Likewise.
11084         * modules/same (Depends-on): Likewise.
11085
11086         stat: fix Solaris 9 bug
11087         * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
11088         slash.
11089         * lib/stat.c (rpl_stat): Work around it.
11090         * doc/posix-functions/stat.texi (stat): Update documentation.
11091
11092         stat: new module, for mingw bug
11093         * modules/stat: New file.
11094         * lib/stat.c: Likewise.
11095         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
11096         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
11097         * modules/sys_stat (Makefile.am): Use them.
11098         * lib/sys_stat.in.h (stat): Declare replacement.
11099         * lib/openat.c (fstatat): Deal with lstat and stat being function
11100         macros.
11101         * modules/openat (Depends-on): Add inline.
11102         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
11103         * doc/posix-functions/stat.texi (stat): Likewise.
11104         * modules/stat-tests: New test.
11105         * tests/test-stat.c: Likewise.
11106
11107 2009-09-19  Jim Meyering  <meyering@redhat.com>
11108
11109         syntax-check: detect unnecessary inclusion of canonicalize.h
11110         * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.
11111
11112 2009-09-19  Eric Blake  <ebb9@byu.net>
11113
11114         canonicalize-lgpl: adjust clients to use correct header
11115         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
11116         (gl_CANONICALIZE_LGPL): Use correct shell quoting.
11117         * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h.
11118         * lib/fchdir.c (includes): Use <stdlib.h>, not "canonicalize.h".
11119         * lib/progreloc.c (includes): Likewise.
11120
11121 2009-09-19  Jim Meyering  <meyering@redhat.com>
11122
11123         test-posixtm.c: correct a comment
11124         * tests/test-posixtm.c: Correct first-line comment.
11125         Spotted by Eric Blake.
11126
11127 2009-09-16  Jim Meyering  <meyering@redhat.com>
11128
11129         posixtm-tests: make T const-correct; add a test case
11130         * tests/test-posixtm.c (T): Declare const.
11131         Add a test for -(2^31+1).
11132         Remove useless can-succeed-only-in-2002 test.
11133
11134         posixtm-tests: adjust the sole failing test
11135         * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that
11136         expected output matches what mktime now produces.  Cross-checked via
11137         erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}})
11138
11139         posixtm: move #ifdef'd tests into a new module
11140         * lib/posixtm.c (posixtime): Remove #ifdef'd tests.  Move to...
11141         * tests/test-posixtm.c: ... this new file.
11142         * modules/posixtm-tests: New module.
11143
11144 2009-09-19  Eric Blake  <ebb9@byu.net>
11145
11146         openat: simplify use of at-func.c
11147         * lib/at-func.c (includes): Include prerequisites here, to
11148         simplify requirements on client files.
11149         * lib/openat-priv.h: Add double-inclusion guard.
11150         * lib/faccessat.c (includes): Simplify.
11151         * lib/fchmodat.c (includes): Likewise.
11152         * lib/fchownat.c (includes): Likewise.
11153         * lib/mkdirat.c (includes): Likewise.
11154         * lib/mkfifoat.c (includes): Likewise.
11155         * lib/symlinkat.c (includes): Likewise.
11156
11157         openat: allow return of fd 0
11158         * modules/chdir-long (Depends-on): Relax openat-safer to openat.
11159         * modules/save-cwd (Depends-on): Replace fcntl-safer with
11160         unistd-safer.
11161         * lib/chdir-long.c (includes): Replace "fcntl--.h" with
11162         <fcntl.h>; this module does not leak fds.
11163         * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat
11164         must be allowed to return 0, leaving openat_safer to add the
11165         safety.
11166         (openat_permissive): Avoid writing to just-opened fd 2 if
11167         restoring the current directory fails.
11168         * lib/openat-die.c (openat_restore_fail): Add comment.
11169         * lib/save-cwd.c (includes): Make "fcntl--.h" conditional.
11170         (save_cwd): Guarantee safe fd, but without use of open_safer.
11171         * tests/test-openat.c: New test.
11172         * modules/openat-tests (Files, Makefile.am): Distribute and build
11173         new file.
11174
11175         relocatable-prog-wrapper: fix build
11176         * modules/relocatable-prog-wrapper (Files): Update name of
11177         canonicalize m4 file, broken on 2009-09-17.
11178         Reported by emad hajjar <aleppos@hotmail.com>.
11179
11180 2009-09-19  Bruno Haible  <bruno@clisp.org>
11181
11182         * lib/safe-alloc.h: Use the standard header with GPL copyright.
11183         * lib/safe-alloc.c: Likewise.
11184         Reported by Ian Beckwith <ianb@erislabs.net>.
11185
11186 2009-09-18  Bruno Haible  <bruno@clisp.org>
11187
11188         * gnulib-tool: Add advice to "cannot find configure.ac" error message.
11189         Reported by <erobles@sensacd.com.mx>.
11190
11191 2009-09-17  Eric Blake  <ebb9@byu.net>
11192
11193         canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash
11194         * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing
11195         slashes when checking if last component is missing.
11196         * tests/test-canonicalize.c (main): Test this.
11197
11198         canonicalize, canonicalize-lgpl: honor // if distinct from /
11199         * modules/canonicalize (Files): Add double-slash-root.m4.
11200         * modules/canonicalize-lgpl (Files): Likewise.
11201         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
11202         (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency.
11203         * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide
11204         fallback definition.
11205         (canonicalize_filename_mode): Use it to protect //.
11206         * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT)
11207         (__realpath): Likewise.
11208         * tests/test-canonicalize.c (main): Test this.
11209         * tests/test-canonicalize-lgpl.c (main): Likewise.
11210         * modules/canonicalize-tests (Depends-on): Add same-inode.
11211         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
11212
11213         canonicalize-lgpl: fix glibc bug with trailing slash
11214         * m4/canonicalize-lgpl.m4: Move contents...
11215         * m4/canonicalize.m4: ...here.
11216         (gl_CANONICALIZE_LGPL): Factor realpath check...
11217         (gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
11218         glibc 2.3.5 bug, fixed 2005-04-27.
11219         (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
11220         (gl_PREREQ_CANONICALIZE_LGPL): Inline...
11221         (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
11222         * modules/canonicalize-lgpl (Files): Manage file rename.
11223         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
11224         * modules/stdlib (Makefile.am): Substitute witness.
11225         * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
11226         is needed.
11227         * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
11228         replacement is required.
11229         * lib/canonicalize.c (canonicalize_file_name): Likewise.
11230         * doc/glibc-functions/canonicalize_file_name.texi
11231         (canonicalize_file_name): Document this.
11232         * doc/posix-functions/realpath.texi (realpath): Likewise.
11233
11234         canonicalize-lgpl: reject non-directory with trailing slash
11235         * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc.
11236         * tests/test-canonicalize-lgpl.c (main): Enhance test.  This
11237         catches failures in glibc 2.3.5.
11238         * tests/test-canonicalize.c (main): Likewise.
11239
11240         canonicalize-lgpl: use native realpath if it works
11241         * lib/canonicalize-lgpl.c (realpath): Guard with
11242         FUNC_REALPATH_WORKS.
11243         * lib/stdlib.in.h (realpath): Make declaration optional based on
11244         HAVE_REALPATH.
11245         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
11246         native realpath works.
11247         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
11248         * modules/stdlib (Makefile.am): Substitute witness.
11249
11250         canonicalize, canonicalize-lgpl: use <stdlib.h>
11251         * modules/canonicalize-lgpl (Files): Drop canonicalize.h.
11252         (Include): Mention <stdlib.h>.
11253         (configure.ac): Mention functions we provide.
11254         * modules/canonicalize (configure.ac): Likewise.
11255         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
11256         realpath if canonicalize_file_name is missing.
11257         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
11258         * modules/stdlib (Makefile.am): Substitute witnesses.
11259         * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
11260         * lib/canonicalize-lgpl.c (includes): Adjust accordingly.
11261         * lib/canonicalize.h (canonicalize_file_name): Drop declaration.
11262         * NEWS: Document this.
11263         * doc/glibc-functions/canonicalize_file_name.texi
11264         (canonicalize_file_name): Likewise.
11265         * doc/posix-functions/realpath.texi (realpath): Likewise.
11266         * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.
11267
11268         test-canonicalize: consolidate into single C program
11269         * tests/test-canonicalize.sh: Delete; move setup into...
11270         * tests/test-canonicalize.c (main): ...the program, making it
11271         easier to run in debugger.  Add some tests.
11272         * modules/canonicalize-tests (Files): Remove unused file.
11273         (Depends-on): Add progname.
11274         (configure.ac, Makefile.am): Simplify.
11275
11276         test-canonicalize-lgpl: consolidate into single C program
11277         * tests/test-canonicalize-lgpl.sh: Delete; move setup into...
11278         * tests/test-canonicalize-lgpl.c (main): ...the program, making it
11279         easier to run in debugger.  Add some tests.
11280         * modules/canonicalize-lgpl-tests (Files): Remove unused file.
11281         (configure.ac, Makefile.am): Simplify.
11282
11283         canonicalize: avoid resolvepath
11284         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete
11285         unnecessary checks.
11286         * lib/canonicalize.c (includes): Simplify.
11287         (canonicalize_file_name): Drop resolvepath implementation.
11288         * modules/canonicalize (Depends-on): Drop filenamecat.
11289
11290         canonicalize: don't lose errno
11291         * lib/canonicalize.c (canonicalize_filename_mode): Protect errno
11292         over calls to free.
11293
11294         canonicalize: simplify errno handling
11295         * lib/canonicalize.c (__set_errno): Delete macro, and use direct
11296         assignment.
11297
11298         canonicalize, canonicalize-lgpl: update module dependencies
11299         * modules/canonicalize (Depends-on): Add extensions, lstat,
11300         pathmax, stdlib.
11301         (Files): Drop pathmax.h.
11302         (configure.ac): Adjust macro name.
11303         * modules/canonicalize-lgpl (Depends-on): Add errno, extensions,
11304         lstat, stdlib, sys_stat.
11305         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename...
11306         (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require
11307         extensions.
11308         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL)
11309         (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions.
11310         (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h.
11311         * lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h>
11312         declaration, if available.
11313         * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition;
11314         we can rely on the readlink module.
11315         (MAXSYMLINKS): Also consult SYMLOOP_MAX.
11316         (includes): Use <unistd.h> unconditionally.
11317
11318 2009-09-17  Eric Blake  <ebb9@byu.net>
11319
11320         maint: make Include sections of modules consistent
11321         * modules/alloca: Use only header name; no need to list #include.
11322         * modules/alloca-opt: Likewise.
11323         * modules/arpa_inet: Likewise.
11324         * modules/canon-host: Likewise.
11325         * modules/configmake: Likewise.
11326         * modules/dirent: Likewise.
11327         * modules/eealloc: Likewise.
11328         * modules/environ: Likewise.
11329         * modules/fchdir: Likewise.
11330         * modules/fcntl: Likewise.
11331         * modules/fcntl-h: Likewise.
11332         * modules/gethrxtime: Likewise.
11333         * modules/gettime: Likewise.
11334         * modules/ignore-value: Likewise.
11335         * modules/inet_ntop: Likewise.
11336         * modules/inet_pton: Likewise.
11337         * modules/inttypes: Likewise.
11338         * modules/isnand-nolibm: Likewise.
11339         * modules/isnanf-nolibm: Likewise.
11340         * modules/mbchar: Likewise.
11341         * modules/mbfile: Likewise.
11342         * modules/mbiter: Likewise.
11343         * modules/mbuiter: Likewise.
11344         * modules/netdb: Likewise.
11345         * modules/netinet_in: Likewise.
11346         * modules/nproc: Likewise.
11347         * modules/pagealign_alloc: Likewise.
11348         * modules/poll: Likewise.
11349         * modules/printf-frexp: Likewise.
11350         * modules/pthread: Likewise.
11351         * modules/putenv: Likewise.
11352         * modules/random_r: Likewise.
11353         * modules/relocatable-prog: Likewise.
11354         * modules/search: Likewise.
11355         * modules/select: Likewise.
11356         * modules/selinux-h: Likewise.
11357         * modules/settime: Likewise.
11358         * modules/signal: Likewise.
11359         * modules/size_max: Likewise.
11360         * modules/socklen: Likewise.
11361         * modules/ssize_t: Likewise.
11362         * modules/stdarg: Likewise.
11363         * modules/stdbool: Likewise.
11364         * modules/stddef: Likewise.
11365         * modules/stdint: Likewise.
11366         * modules/stdio: Likewise.
11367         * modules/stdlib: Likewise.
11368         * modules/string: Likewise.
11369         * modules/strings: Likewise.
11370         * modules/sys_file: Likewise.
11371         * modules/sys_ioctl: Likewise.
11372         * modules/sys_select: Likewise.
11373         * modules/sys_socket: Likewise.
11374         * modules/sys_stat: Likewise.
11375         * modules/sys_time: Likewise.
11376         * modules/sys_times: Likewise.
11377         * modules/sys_utsname: Likewise.
11378         * modules/sys_wait: Likewise.
11379         * modules/sysexits: Likewise.
11380         * modules/time: Likewise.
11381         * modules/times: Likewise.
11382         * modules/tmpfile: Likewise.
11383         * modules/trim: Likewise.
11384         * modules/unistd: Likewise.
11385         * modules/wchar: Likewise.
11386         * modules/wctype: Likewise.
11387
11388 2009-09-17  Bruno Haible  <bruno@clisp.org>
11389
11390         Make getdate.y compile on QNX and NetBSD 5 / i386.
11391         * m4/getdate.m4 (gl_GETDATE): Conditionally define
11392         TIME_T_FITS_IN_LONG_INT.
11393         * lib/getdate.y (long_time_t): New type.
11394         (relative_time): Change type of 'seconds' field to long_time_t.
11395         (get_date): Update types of local variables. Check against overflow
11396         during conversion from long_time_t to time_t.
11397         Reported by Matt Kraai <kraai@ftbfs.org>
11398         and Hasso Tepper <hasso@netbsd.org>.
11399
11400 2009-09-17  Bruno Haible  <bruno@clisp.org>
11401
11402         * modules/COPYING: Update copyright years.
11403         * modules/README: Likeiwse.
11404         * doc/gnulib-intro.texi (Copyright): Use a wildcard year.
11405         Reported by Ian Beckwith <ianb@erislabs.net>.
11406
11407 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
11408
11409         * users.txt: Update references for gnuit package.
11410
11411 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
11412
11413         * m4/getdelim.m4: Fix typo in copyright line.
11414
11415 2009-09-17  Bruno Haible  <bruno@clisp.org>
11416
11417         * lib/atoll.c: Use the standard header with GPL copyright.
11418         * lib/argz.in.h: Likewise.
11419         * lib/glob.c: Likewise.
11420         * lib/glob-libc.h: Likewise.
11421         * lib/random_r.c: Likewise.
11422         * lib/siglist.h: Likewise.
11423         * lib/strsignal.c: Likewise.
11424         Reported by Ian Beckwith <ianb@erislabs.net>.
11425
11426 2009-09-17  Eric Blake  <ebb9@byu.net>
11427
11428         rmdir: ensure correct dependency order
11429         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults.
11430
11431 2009-09-17  Bruno Haible  <bruno@clisp.org>
11432
11433         Disable assertion that fails on NetBSD 5 / i386.
11434         * lib/mktime.c (ydhms_diff): Disable assertion about time_t size.
11435         Reported by Sam Steingold <sds@gnu.org>
11436         and Hasso Tepper <hasso@netbsd.org>.
11437
11438 2009-09-16  Eric Blake  <ebb9@byu.net>
11439
11440         unlinkdir: port to mingw
11441         * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms
11442         on which no one can unlink a directory.
11443
11444         stdlib: sort witness names
11445         * modules/stdlib (Makefile.am): Sort replacements.
11446         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
11447         * lib/stdlib.in.h: Likewise.
11448
11449         parse-duration-tests: avoid link failure
11450         * modules/parse-duration-tests (test_parse_duration_LDADD): Add
11451         LIBINTL.
11452         Reported by Tom G. Christensen.
11453
11454         openat-tests: ensure unlinkat behaves like rmdir
11455         * tests/test-rmdir.c (main): Factor guts...
11456         * tests/test-rmdir.h (test_rmdir_func): ...into new file.
11457         * modules/rmdir-tests (Files): Ship new file.
11458         * modules/openat-tests: New test.
11459         * tests/test-unlinkat.c: Likewise.
11460
11461         rmdir-errno: mark obsolete, it is unsafe for cross-compilation
11462         * modules/rmdir-errno (Status, Notice): Now obsolete.
11463
11464         rmdir: work around cygwin 1.5.x and mingw bugs
11465         * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
11466         * lib/rmdir.c (rmdir): Work around it.
11467         * modules/rmdir (Status, Notice): No longer obsolete.
11468         (Files): Add dos.m4.
11469         (Depends-on): Add unistd.
11470         (configure.ac): Set witnesses.
11471         (License): Relax to LGPLv2+.
11472         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
11473         * modules/unistd (Makefile.am): Substitute witnesses.
11474         * lib/unistd.in.h (rmdir): Declare replacement.
11475         * doc/posix-functions/rmdir.texi (rmdir): Document this.
11476         * modules/rmdir-tests: New tests.
11477         * tests/test-rmdir.c: Likewise.
11478
11479 2009-09-15  Eric Blake  <ebb9@byu.net>
11480
11481         fchdir: improve use of replacement functions
11482         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
11483         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
11484         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
11485         REPLACE_CLOSEDIR.
11486         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
11487         * modules/sys_stat (Makefile.am): Substitute correct witness.
11488         * modules/dirent (Makefile.am): Likewise.
11489         * modules/unistd (Makefile.am): Likewise.
11490         * lib/dirent.in.h (opendir, closedir): Use better witnesses.
11491         * lib/unistd.in.h (dup): Likewise.
11492         * lib/sys_stat.in.h (fstat): Likewise.
11493
11494         maint: ignore gnulib-tool temp files
11495         * .gitignore: Ignore files created during gnulib-tool --test.
11496
11497 2009-09-13  Jim Meyering  <meyering@redhat.com>
11498
11499         posixtm: don't reject a time that specify "60" as the number of seconds
11500         * lib/posixtm.c (posixtime): The code to reject invalid dates
11501         would also reject a time specified with the .60 suffix.
11502         But POSIX allows that, in order to accommodate leap seconds.
11503         So don't reject it.
11504         (main): Adjust tests accordingly.
11505         * modules/posixtm (Depends-on): Add stpcpy.
11506
11507 2009-09-11  Jim Meyering  <meyering@redhat.com>
11508
11509         announce-gen: include [$release_type] in emitted Subject:
11510         * build-aux/announce-gen (get_tool_versions): Include [$release_type],
11511         e.g., [stable] in the emitted Subject: line.
11512
11513 2009-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11514
11515         Remove obsolete macros from several modules.
11516         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace
11517         obsolete Autoconf macros with their modern counterparts.
11518         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise.
11519         * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise.
11520         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
11521         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
11522         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise.
11523         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
11524         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
11525         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
11526         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
11527         * m4/readline.m4 (gl_FUNC_READLINE): Likewise.
11528         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
11529         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
11530         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
11531         * m4/sockets.m4 (gl_SOCKETS): Likewise.
11532         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise.
11533         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise.
11534         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
11535         * m4/time_r.m4 (gl_TIME_R): Likewise.
11536         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
11537         * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise.
11538         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
11539
11540         Fix copyright header in build-aux scripts.
11541         * build-aux/git-version-gen: Fix copyright header to match GPLv3
11542         recommendation.
11543         * build-aux/ncftpput-ftp: Likewise.
11544         * build-aux/update-copyright: Likewise.
11545
11546 2009-09-09  Eric Blake  <ebb9@byu.net>
11547
11548         test-link: allow Linux choice of errno
11549         * tests/test-link.c (main): Relax test for alternate error.
11550
11551         strndup: fix improper m4 caching
11552         * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects
11553         inside AC_CACHE_CHECK.  Use REPLACE_STRNDUP, not HAVE_STRNDUP.
11554         (gl_PREREQ_STRNDUP): Delete.
11555         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default.
11556         * modules/string (Makefile.am): Substitute it.
11557         * lib/string.in.h (strndup): Modernize prototype.
11558
11559         getcwd: port to mingw
11560         * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very
11561         different from the POSIX assumptions made throughout the getcwd
11562         module; fortunately, the mingw getcwd does not need replacement.
11563         (gl_FUNC_GETCWD_NULL): Skip test on mingw.
11564         * modules/getcwd-tests: New test.
11565         * tests/test-getcwd.c: Likewise.
11566
11567         link: fix platform bugs
11568         * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
11569         * lib/link.c (link): Work around them.  Fix related mingw bug.
11570         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
11571         * modules/unistd (Makefile.am): Substitute it.
11572         * lib/unistd.in.h (link): Declare replacement.
11573         * doc/posix-functions/link.texi (link): Document this.
11574         * modules/link (Depends-on): Add strdup-posix, sys_stat.
11575
11576         test-link: consolidate into single C program, test more cases
11577         * tests/test-link.sh: Delete.
11578         * tests/test-link.c: Test more error conditions.  Exposes bugs on
11579         at least Cygwin and Solaris.
11580         * modules/link-tests (Files): Remove unused file.
11581         (Depends-on): Add errno, sys_stat.
11582         (Makefile.am): Simplify.
11583
11584 2009-09-08  Bruno Haible  <bruno@clisp.org>
11585
11586         Work around towlower, towupper bug on mingw.
11587         * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements.
11588         * m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> also on mingw.
11589         * doc/posix-functions/towlower.texi: Mention the mingw bug.
11590         * doc/posix-functions/towupper.texi: Likewise.
11591         Reported by Eric Blake.
11592
11593 2009-09-08  Jim Meyering  <meyering@redhat.com>
11594
11595         build: don't try to run autoheader if we don't use it
11596         * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS
11597         is not used in configure.ac.
11598
11599 2009-09-08  Eric Blake  <ebb9@byu.net>
11600
11601         euidaccess: fix compilation error
11602         * lib/euidaccess.c (includes): Add <fcntl.h>, for AT_EACCESS.
11603
11604         rawmemchr: relax license
11605         * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is
11606         okay.
11607         Reported by Jim Meyering.
11608
11609         mkfifoat: new module
11610         * modules/mkfifoat: New file.
11611         * lib/mkfifoat.c: Likewise.
11612         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise.
11613         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
11614         * modules/sys_stat (Makefile.am): Use them.
11615         * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them.
11616         * MODULES.html.sh (File system functions): Mention module.
11617         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
11618         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
11619         * modules/mkfifoat-tests: New test.
11620         * tests/test-mkfifoat.c: Likewise.
11621
11622         strchrnul: relax license
11623         * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is
11624         okay.
11625         Reported by Jim Meyering.
11626
11627 2009-09-08  Eric Blake  <ebb9@byu.net>
11628
11629         fstatat: fix compilation on Solaris
11630         * lib/fstatat.c (includes): Add fcntl.h.
11631         Reported by Pádraig Brady.
11632
11633 2009-09-07  Eric Blake  <ebb9@byu.net>
11634
11635         rename: modernize replacement
11636         * modules/rename (Depends-on): Add stdio.
11637         (configure.ac): Declare witness.
11638         * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let
11639         stdio take care of replacement.
11640         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
11641         * modules/stdio (Makefile.am): Substitute them.
11642         * lib/stdio.in.h (rename): Declare replacement.
11643         * lib/rename.c (includes): Allow cross-compilation to non-windows
11644         machines.
11645         * doc/posix-functions/rename.texi (rename): Improve
11646         documentation.
11647
11648         stdio: sort witness names
11649         * modules/stdio (Makefile.am): Sort replacements.
11650         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
11651         * lib/stdio.in.h: Likewise.
11652
11653         getcwd: minor cleanups
11654         * lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
11655         (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.
11656
11657         openat: provide more convenience names
11658         * modules/faccessat (configure.ac): Add C witness.
11659         * lib/unistd.in.h (readlinkat): Fix typo.
11660         * lib/openat.h (statat, lstatat, accessat, euidaccessat): New
11661         convenience wrappers.
11662         * top/maint.mk (sc_prohibit_openat_without_use): Allow these
11663         wrappers in syntax checks.
11664
11665 2009-09-06  Eric Blake  <ebb9@byu.net>
11666
11667         doc: fix comments in recent patches
11668         * lib/faccessat.c: Mention correct function.
11669         * lib/fchmodat.c: Likewise.
11670         * lib/fchownat.c: Likewise.
11671         * lib/symlinkat.c: Likewise.
11672         * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_*
11673         constants.
11674
11675         faccessat, symlinkat: continue cleanup of previous patch
11676         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
11677         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
11678         * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
11679         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
11680         * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
11681         * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
11682         set.
11683
11684 2009-09-06  Bruno Haible  <bruno@clisp.org>
11685
11686         * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set.
11687         (fstatat): Declare if GNULIB_FSTATAT is set.
11688         (mkdirat): Declare if GNULIB_MKDIRAT is set.
11689         * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set.
11690         (unlinkat): Declare if GNULIB_UNLINKAT is set.
11691         * modules/fcntl-h (Files): Remove m4/openat.m4.
11692         * modules/sys_stat (Files): Remove m4/openat.m4.
11693         (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT,
11694         GNULIB_MKDIRAT instead of GNULIB_OPENAT.
11695         * modules/unistd (Files): Remove m4/openat.m4.
11696         (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of
11697         GNULIB_OPENAT.
11698         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT,
11699         HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS.
11700         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
11701         GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT,
11702         HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require
11703         gl_OPENAT_DEFAULTS.
11704         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT,
11705         GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here.
11706         Don't require gl_OPENAT_DEFAULTS.
11707         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS,
11708         gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT,
11709         GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT.
11710         (gl_OPENAT_DEFAULTS): Remove macro.
11711
11712 2009-09-06  Bruno Haible  <bruno@clisp.org>
11713
11714         * modules/openat (configure.ac): Remove unneeded witness.
11715
11716 2009-09-06  Bruno Haible  <bruno@clisp.org>
11717
11718         Set errno to ENOSYS when a function is entirely unsupported.
11719         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of
11720         EOPNOTSUPP.
11721         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
11722         * modules/chown (Depends-on): Remove errno.
11723
11724 2009-09-06  Bruno Haible  <bruno@clisp.org>
11725
11726         * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms.
11727
11728 2009-09-06  Bruno Haible  <bruno@clisp.org>
11729
11730         * lib/sys_stat.in.h: Fix preprocessor command indentation.
11731
11732 2009-09-06  Ben Pfaff  <blp@gnu.org>
11733             Bruno Haible  <bruno@clisp.org>
11734
11735         Work around a glibc bug in strtok_r.
11736         * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set.
11737         Undefine if UNDEFINE_STRTOK_R is set.
11738         * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine.
11739         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
11740         REPLACE_STRTOK_R and UNDEFINE_STRTOK_R.
11741         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug.
11742         * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R,
11743         UNDEFINE_STRTOK_R.
11744         * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug.
11745
11746 2009-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>
11747
11748         exclude: minor fix
11749         * lib/exclude.c: Include wctype.h
11750
11751 2009-09-06  Akim Demaille  <demaille@gostai.com>
11752
11753         bootstrap: improve error message
11754         * build-aux/bootstrap (find_tool): Upon failure, report the list
11755         of candidates.
11756         Honor the initial value of the envvar.
11757
11758 2009-09-05  Eric Blake  <ebb9@byu.net>
11759
11760         symlinkat: new module
11761         * modules/symlinkat: New file.
11762         * lib/symlinkat.c: Likewise.
11763         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
11764         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
11765         * modules/unistd (Makefile.am): Use them.
11766         * lib/unistd.in.h (symlinkat, readlinkat): Declare them.
11767         (faccessat) [GNULIB_POSIXCHECK]: Fix typo.
11768         * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
11769         * MODULES.html.sh (File system functions): Mention module.
11770         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
11771         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
11772         * modules/symlinkat-tests: New test.
11773         * tests/test-symlinkat.c: Likewise.
11774
11775         test-openat-safer: add more checks
11776         * tests/test-openat-safer.c (main): Check more code paths.
11777
11778 2009-09-05  Jim Meyering  <meyering@redhat.com>
11779
11780         syntax-check: detect unnecessary inclusion of openat.h
11781         * top/maint.mk (sc_prohibit_openat_without_use): New rule.
11782
11783 2009-09-05  Bruno Haible  <bruno@clisp.org>
11784
11785         Support towlower, towupper.
11786         * doc/posix-functions/towlower.texi: Mention module wctype.
11787         * doc/posix-functions/towupper.texi: Likewise.
11788         * lib/wctype.in.h (towlower, towupper): New functions.
11789         * tests/test-wctype.c: Include stdio.h, stdlib.h.
11790         (ASSERT): New macro.
11791         (e): New variable.
11792         (main): Test also towlower, towupper. Test WEOF argument.
11793         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
11794
11795 2009-09-05  Bruno Haible  <bruno@clisp.org>
11796
11797         Fix conversion behaviour when the input is invalid.
11798         * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question
11799         mark occurring in first pass of indirect conversion.
11800         * tests/test-striconveh.c (main): Test conversion of invalid ASCII
11801         input.
11802         Found by clang's static analyzer.
11803
11804 2009-09-05  Bruno Haible  <bruno@clisp.org>
11805
11806         * tests/test-striconveh.c (main): Test indirect conversion on platforms
11807         where direct conversion is possible.
11808
11809 2009-09-04  Eric Blake  <ebb9@byu.net>
11810
11811         openat: fail with ENOENT on empty name
11812         * lib/openat-proc.c (openat_proc_name): Special-case the empty
11813         buffer.
11814
11815         link-follow: fix logic bug in prior patch
11816         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that
11817         reversed sense of yes and no in prior patch.  Avoid confusing
11818         compilation failure with desired semantics.
11819
11820         link-follow: accomodate mingw and cross-compilation
11821         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
11822         (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
11823         cross-compilation results to -1, to make linkat easier to
11824         implement when cross-compiling.  Trivially support mingw.
11825         * modules/link-follow (configure.ac): Call new name.
11826         * NEWS: Mention this.
11827
11828 2009-09-03  Eric Blake  <ebb9@byu.net>
11829
11830         faccessat: compile replacement
11831         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when
11832         needed.
11833
11834         fts: fix compilation error
11835         * lib/fts.c (includes): Re-add "openat.h", for
11836         openat_needs_fchdir.
11837
11838         faccessat: new module
11839         * modules/faccessat: New file.
11840         * lib/faccessat.c: Likewise.
11841         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
11842         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
11843         * modules/unistd (Makefile.am): Use it.
11844         * lib/unistd.in.h (faccessat): Declare it.
11845         (F_OK, X_OK, W_OK, R_OK): Provide definitions.
11846         * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
11847         * MODULES.html.sh (File system functions): Mention it.
11848         * doc/posix-functions/faccessat.texi (faccessat): Likewise.
11849         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
11850
11851         euidaccess: prefer POSIX over non-standard implementation
11852         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat.
11853         * lib/euidaccess.c (euidaccess): Use it if available.
11854
11855         openat: make template easier to use
11856         * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and
11857         AT_FUNC_F2 to be undefined.
11858         (VALIDATE_FLAG): New macro; use it to reject bad flags.
11859         (AT_FUNC_USE_F1_COND): Change sense to just flag bit.
11860         * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust.
11861         * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise.
11862         * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]:
11863         Likewise.
11864         * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete.
11865         * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND)
11866         [getfileconat, lgetfileconat, setfileconat, lsetfileconat]:
11867         Likewise.
11868
11869         openat: declare in POSIX headers
11870         * NEWS: Mention this.
11871         * modules/openat (configure.ac): Declare witnesses.
11872         (Depends-on): Add fcntl-h, sys_stat, unistd.
11873         (Include): Mention correct headers.
11874         * modules/fcntl-h (Depends-on): Add link-warning.
11875         (Files): Add openat.m4.
11876         (Makefile.am): Substitute witnesses.
11877         * modules/sys_stat (Files, Makefile.am): Likewise.
11878         * modules/unistd (Files, Makefile.am): Likewise.
11879         * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
11880         (gl_OPENAT_DEFAULTS): New macro.
11881         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
11882         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
11883         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
11884         (SYS_STAT_H): Remove unused variable.
11885         * doc/posix-headers/fcntl.texi (fcntl.h): Update content.
11886         * lib/fcntl--.h (includes): Remove unneeded header.
11887         * lib/openat-safer.c (includes): Likewise.
11888         * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
11889         (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
11890         appropriate headers.
11891         (__OPENAT_PREFIX): Delete.
11892         * lib/fcntl.in.h (openat): Provide declaration.
11893         (AT_FDCWD): Fix Solaris bug.
11894         (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
11895         * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
11896         * lib/fchmodat.c (includes):  Adjust to find declaration.
11897         * lib/fchownat.c (includes): Likewise.
11898         * lib/mkdirat.c (includes): Likewise.
11899         * lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
11900         still visible.
11901
11902 2009-09-02  Eric Blake  <ebb9@byu.net>
11903
11904         errno: use consistently
11905         * lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition.
11906         * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise.
11907         * lib/canonicalize.c (ELOOP): Likewise.
11908         * lib/inet_ntop.c (EAFNOSUPPORT): Likewise.
11909         * lib/inet_pton.c (EAFNOSUPPORT): Likewise.
11910         * lib/lchown.c (EOPNOTSUPP): Likewise.
11911         * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise.
11912         * lib/savewd.c (ESTALE): Likewise.
11913         * lib/settime.c (ENOSYS): Likewise.
11914         * lib/utimens.c (ENOSYS): Likewise.
11915         * lib/xgethostname.c (ENAMETOOLONG): Likewise.
11916         * lib/chdir-safer.c (ELOOP): Likewise.
11917         (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness.
11918         * modules/c-stack (Depends-on): Add errno.
11919         * modules/canonicalize (Depends-on): Likewise.
11920         * modules/chdir-safer (Depends-on): Likewise.
11921         * modules/fdopendir (Depends-on): Likewise.
11922         * modules/inet_ntop (Depends-on): Likewise.
11923         * modules/inet_pton (Depends-on): Likewise.
11924         * modules/lchown (Depends-on): Likewise.
11925         * modules/openat (Depends-on): Likewise.
11926         * modules/savewd (Depends-on): Likewise.
11927         * modules/settime (Depends-on): Likewise.
11928         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink.
11929
11930         fts: avoid leaking fds
11931         * modules/fts (Depends-on): Add cloexec.
11932         * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec
11933         flag.
11934
11935         fts: make directory fds more robust
11936         * lib/fts.c (O_DIRECTORY): Let <fcntl.h> take care of this.
11937         (opendirat): Specify O_DIRECTORY, and add fallbacks for safety.
11938
11939         backupfile, chdir-long, fts, savedir: make safer
11940         * lib/backupfile.c (includes): Use "dirent--.h", since
11941         numbered_backup can write to stderr during readdir.
11942         * lib/savedir.c (includes): Likewise.
11943         * lib/chdir-long.c (includes): Use "fcntl--.h", since openat
11944         emulation can write to stderr on failure.
11945         * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat.
11946         * lib/getcwd.c: Document why opendir_safer is unused.
11947         * lib/glob.c: Likewise.
11948         * lib/scandir.c: Likewise.
11949         * lib/openat-proc.c: Likewise, for open_safer.
11950         * modules/backupfile (Depends-on): Add dirent-safer.
11951         * modules/savedir (Depends-on): Likewise.
11952         * modules/fts (Depends-on): Add dirent-safer and openat-safer.
11953         * modules/chdir-long (Depends-on): Add openat-safer.
11954
11955         openat-safer: new module
11956         * modules/openat-safer: New file.
11957         * lib/openat-safer.c: Likewise.
11958         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro.
11959         * lib/fcntl-safer.h (openat_safer): Declare.
11960         * lib/fcntl--.h (openat): Override.
11961         * MODULES.html.sh (File descriptor based I/O): Mention it.
11962         * lib/openat.h: Add double-inclusion guards.
11963         * lib/openat.c (includes): Only include "fcntl-safer.h", not
11964         "fcntl--.h", so we can implement openat.
11965         * modules/openat-safer-tests: New test.
11966         * tests/test-openat-safer.c: New file.
11967
11968         dirent-safer: new module
11969         * modules/dirent-safer: New file.
11970         * lib/dirent--.h: Likewise.
11971         * lib/dirent-safer.h: Likewise.
11972         * lib/opendir-safer.c: Likewise.
11973         * m4/dirent-safer.m4: Likewise.
11974         * MODULES.html.sh (Enhancements for POSIX:2008): Mention it.
11975         * modules/dirent-safer-tests: New test.
11976         * tests/test-dirent-safer.c: New file.
11977         * lib/fdopendir.c (includes): Ensure fdopendir is also safe.
11978
11979         fdopendir: optimize on mingw
11980         * lib/unistd.in.h (_gl_directory_name): New prototype.
11981         * lib/fchdir.c (_gl_directory_name): Implement it.
11982         (fchdir): Use it to simplify implementation.
11983         * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
11984         fchdir, when available, to avoid calling [f]chdir().
11985
11986         fdopendir: split into its own module
11987         * lib/openat.c (fdopendir): Move...
11988         * lib/fdopendir.c: ...into new file.
11989         * modules/fdopendir: New module.
11990         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file.
11991         * modules/openat (Depends-on): Add fdopendir.
11992         * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for
11993         fdopendir here.
11994         * modules/savedir (Depends-on): Only need fdopendir, not full
11995         openat.
11996         * lib/savedir.c (include): Use <dirent.h>, not "openat.h".
11997         * lib/openat.h (fdopendir): Drop prototype.
11998         * lib/dirent.in.h (fdopendir): Provide prototype.
11999         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements.
12000         * modules/dirent (Makefile.am): Substitute them.
12001         * MODULES.html.sh (File system functions): Mention it.
12002         * doc/posix-functions/fdopendir.texi (fdopendir): Likewise.
12003         * modules/fdopendir-tests: New file.
12004         * tests/test-fdopendir.c: Likewise.
12005
12006         fchdir: use more consistent macro convention
12007         * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
12008         * lib/sys_stat.in.h (rpl_fstat): Declare via make-time
12009         REPLACE_FCHDIR, rather than relying on config.h macros.
12010         * lib/unistd.in.h (fchdir): Move all fchdir internal declarations
12011         inside a single make-time REPLACE_FCHDIR block, rather than using
12012         the config.h FCHDIR_REPLACEMENT.
12013         * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
12014         AC_SUBST'd, also AC_DEFINE it.  Don't define FCHDIR_REPLACEMENT.
12015         Manage fstat replacement.
12016         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
12017         REPLACE_FCHDIR.
12018         * modules/sys_stat (Files): Add m4/unistd_h.m4.
12019         (Makefile.am): Substitute REPLACE_FCHDIR.
12020         * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
12021         FCHDIR_REPLACEMENT.
12022         * lib/dup-safer.c (dup_safer): Likewise.
12023         * lib/dup2.c (rpl_dup2): Likewise.
12024         * lib/dup3.c (rpl_dup3): Likewise.
12025         * lib/open.c (rpl_open): Likewise.
12026
12027         fchdir: simplify error handling, and support dup3
12028         * modules/fchdir (Depends-on): Use strdup-posix, not strdup.  Add
12029         stdbool, malloc-posix, realloc-posix.
12030         * lib/fchdir.c (struct dir_info_t): Delete saved_errno.
12031         (ensure_dirs_slot): Return false on allocation failure.
12032         (rpl_dup2): Delete.
12033         (_gl_register_dup): New function.
12034         (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
12035         (_gl_register_fd): Close fd on allocation failure.
12036         * lib/fcntl.in.h (_gl_register_fd): Update signature.
12037         * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
12038         prototype.
12039         (rpl_dup2_fchdir): Delete prototype.
12040         * lib/open.c (open): Update caller.
12041         * lib/dup2.c (dup2): Track fchdir metadata.
12042         * lib/dup3.c (dup3): Likewise.
12043         * m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
12044         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.
12045
12046 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12047
12048         * gnulib-tool (func_create_testdir, func_create_megatestdir): Use
12049         AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and
12050         don't pass arguments to AC_OUTPUT.
12051
12052 2009-09-02  Bruno Haible  <bruno@clisp.org>
12053
12054         * modules/mkdtemp (License): Relicense under LGPLv2+.
12055         Reported by Paolo Bonzini.
12056
12057 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12058
12059         Replace uses of obsolete autoconf macros in Jim's modules.
12060         The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and
12061         AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use
12062         can evoke a warning from autoconf when run with -Wobsolete
12063         enabled.  They were declared obsolete for good reasons (see
12064         the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual,
12065         recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we
12066         should not continue using the deprecated macros.
12067         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace
12068         obsolete Autoconf macros with modern counterparts.
12069         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
12070         * m4/dos.m4 (gl_AC_DOS): Likewise.
12071         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
12072         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
12073         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
12074         * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise.
12075         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
12076         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
12077         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise.
12078         * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise.
12079         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
12080         Likewise.
12081         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
12082         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
12083         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise.
12084         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise.
12085         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
12086         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
12087
12088 2009-09-01  Eric Blake  <ebb9@byu.net>
12089
12090         fchdir: fix off-by-one bug in previous patch
12091         * lib/fchdir.c (rpl_fstat): Use correct bounds.
12092         (_gl_unregister_fd): Delete useless if.
12093
12094 2009-09-01  Daniel P. Berrange  <berrange@redhat.com>
12095
12096         maint.mk: sort the list of syntax-check rules
12097         * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's
12098         easier to get a sense of progress when the rules are run sequentially
12099         and take a long time.
12100
12101 2009-09-01  Simon Josefsson  <simon@josefsson.org>
12102
12103         * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@.
12104         * modules/netinet_in: Likewise.
12105         * modules/sys_file: Likewise.
12106         * modules/sys_ioctl: Likewise.
12107         * modules/sys_select: Likewise.
12108         * modules/sys_socket: Likewise.
12109         * modules/sys_stat: Likewise.
12110         * modules/sys_time: Likewise.
12111         * modules/sys_times: Likewise.
12112         * modules/sys_utsname: Likewise.
12113         * modules/sys_wait: Likewise.
12114
12115 2009-09-01  Jim Meyering  <meyering@redhat.com>
12116
12117         fts: help ensure that return values are not ignored
12118         * lib/fts_.h (__GNUC_PREREQ): Define.
12119         (__attribute_warn_unused_result__): Define.
12120         (fts_children, fts_close, fts_open, fts_read): Declare with
12121         __attribute_warn_unused_result__.
12122
12123         fts: fts_close now fails also when closing a dir file descriptor fails
12124         * lib/fts.c (fts_close): Detect close failure, not just fchdir failure,
12125         and propagate to caller, along with errno.
12126
12127         announce-gen: correct formatting in --help output
12128         * build-aux/announce-gen (usage): Move the one-line description in
12129         --help output "up", to where it belongs, just after Usage:.
12130
12131 2009-08-31  Eric Blake  <ebb9@byu.net>
12132
12133         fchdir: port to mingw
12134         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug.
12135         * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be
12136         opened, then use a substitute.
12137         * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare
12138         replacement.
12139         * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it.
12140         (_gl_register_fd): No need to check stat if open already filters
12141         all directories.
12142         (fchdir): Fix error condition to match POSIX.
12143         * modules/fchdir (Depends-on): Add sys_stat.
12144         * doc/posix-functions/open.texi (open): Document the limitation.
12145         * modules/fchdir-tests: New file.
12146         * tests/test-fchdir.c: Likewise.
12147
12148         canonicalize: allow cross-testing from cygwin to mingw
12149         * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK.
12150         (Makefile.am): Pass it through TESTS_ENVIRONMENT.
12151         * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am):
12152         Likewise.
12153         * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but
12154         target does not support symlinks.
12155         * tests/test-canonicalize-lgpl.sh: Likewise.
12156
12157         chown: avoid compilation warning on mingw
12158         * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown.
12159         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on
12160         mingw.
12161         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
12162         * modules/chown (Depends-on): Add errno.
12163
12164 2009-08-31  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
12165
12166         * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo'
12167         command.
12168
12169 2009-08-31  Jim Meyering  <meyering@redhat.com>
12170
12171         canonicalize: remove useless initialization
12172         * lib/canonicalize.c (canonicalize_filename_mode): Remove useless
12173         initialization of local, "end".
12174
12175 2009-08-30  Bruno Haible  <bruno@clisp.org>
12176
12177         Fix an unnecessary error on Solaris 10 on NFSv3 file systems.
12178         * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like
12179         ENOSYS.
12180
12181 2009-08-30  Bruno Haible  <bruno@clisp.org>
12182
12183         * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over
12184         /usr/xpg4/bin/tr when it exists.
12185         * tests/test-pipe-filter-gi1.sh: Likewise.
12186
12187 2009-08-30  Bruno Haible  <bruno@clisp.org>
12188
12189         Work around deficient /usr/bin/id program on Solaris.
12190         * tests/test-file-has-acl.sh (ID): New variable.
12191         * tests/test-set-mode-acl.sh (ID): Likewise.
12192         * tests/test-copy-acl.sh (ID): Likewise.
12193         * tests/test-copy-file.sh (ID): Likewise.
12194
12195 2009-08-30  Bruno Haible  <bruno@clisp.org>
12196
12197         New module 'xstriconveh'.
12198         * lib/xstriconveh.h: New file.
12199         * lib/xstriconveh.c: New file.
12200         * modules/xstriconveh: New file.
12201
12202 2009-08-30  Bruno Haible  <bruno@clisp.org>
12203
12204         Make it easier to use mem_cd_iconveh.
12205         * lib/striconveh.h (iconveh_t): New type.
12206         (iconveh_open, iconveh_close): New declarations.
12207         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
12208         with a single 'const iconveh_t *' argument.
12209         * lib/striconveh.c (iconveh_open, iconveh_close): New functions.
12210         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
12211         with a single 'const iconveh_t *' argument.
12212         (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
12213         * tests/test-striconveh.c (main): Update.
12214         * NEWS: Mention the change.
12215
12216 2009-08-30  Bruno Haible  <bruno@clisp.org>
12217
12218         * doc/posix-functions/iconv_open.texi: Mention indirect conversion
12219         problem.
12220
12221 2009-08-30  Bruno Haible  <bruno@clisp.org>
12222
12223         Work around iconv_open problem on Solaris.
12224         * lib/iconv_open-solaris.gperf: New file.
12225         * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro.
12226         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
12227         * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
12228         (Makefile.am): Add rule for iconv_open-solaris.h. Augment
12229         BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
12230         * doc/posix-functions/iconv_open.texi: Mention the Solaris problem.
12231
12232 2009-08-29  Jim Meyering  <meyering@redhat.com>
12233
12234         maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
12235         * top/maint.mk (cvs-check): Remove target; it was just an alias
12236         to the better-named vc-diff-check.
12237         (maintainer-distcheck): Remove rule.  It was used only from
12238         the (alpha/beta/major) target, and all of its commands but one
12239         were coreutils-specific.
12240         (vc-dist): Remove rule.
12241         (alpha beta major): Run "$(MAKE) distcheck" explicitly.
12242         Run vc-diff-check, not vc-dist.
12243         Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".
12244
12245 2009-08-27  Bruno Haible  <bruno@clisp.org>
12246
12247         * tests/test-bitrotate.c (main): Remove test that uses a shift count
12248         of 0.
12249
12250 2009-08-27  Bruno Haible  <bruno@clisp.org>
12251
12252         * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
12253         compilers.
12254         * doc/func.texi: Document the SunPRO C bug.
12255
12256 2009-08-27  Bruno Haible  <bruno@clisp.org>
12257
12258         Fix link error on Solaris.
12259         * tests/test-parse-duration.c (xstrdup): Remove function.
12260
12261 2009-08-26  Pádraig Brady  <P@draigbrady.com>
12262
12263         ignore-value: handle pointer types, too
12264         * lib/ignore-value.h (__attribute__): Remove definition.
12265         (ignore_value): Remove use of "__attribute__ ((unused))" in favor
12266         of a more concise and more-often effective "(void) i" statement.
12267         (ignore_ptr): New function to suppress warnings from functions that
12268         return pointers, and to make it explicit that one function doesn't
12269         handle all cases.
12270
12271 2009-08-25  Bruno Haible  <bruno@clisp.org>
12272
12273         dup2: work around a Linux bug.
12274         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
12275         * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
12276         * doc/posix-functions/dup2.texi: Mention the Linux bug.
12277         Reported by Simon Josefsson.
12278
12279 2009-08-25  Jim Meyering  <meyering@redhat.com>
12280
12281         libguestfs uses gnulib
12282         * users.txt: Add libguestfs.
12283
12284 2009-08-24  Eric Blake  <ebb9@byu.net>
12285
12286         dup2, pipe2: fix some recent test failures on cygwin 1.5.x
12287         * lib/pipe2.c (includes): Add binary-io.h.
12288         * lib/dup2.c (rpl_dup2): Correct buggy errno value.
12289
12290 2009-08-24  Bruno Haible  <bruno@clisp.org>
12291
12292         Tolerate declared but missing accept4 syscall.
12293         * lib/accept4.c (accept4): Invoke original accept4 function first, if
12294         available.
12295         * lib/sys_socket.in.h (accept4): If the function is already present,
12296         override it.
12297         * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
12298         * modules/accept4 (Makefile.am): Compile accept4.c always.
12299         Reported by Paolo Bonzini and Eric Blake.
12300
12301 2009-08-23  Bruno Haible  <bruno@clisp.org>
12302
12303         New module 'accept4'.
12304         * lib/sys_socket.in.h (accept4): New declaration.
12305         * lib/accept4.c: New file.
12306         * m4/accept4.m4: New file.
12307         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
12308         GNULIB_ACCEPT4, HAVE_ACCEPT4.
12309         * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
12310         HAVE_ACCEPT4.
12311         * modules/accept4: New file.
12312         * doc/glibc-functions/accept4.texi: Mention the new module.
12313
12314 2009-08-24  Jim Meyering  <meyering@redhat.com>
12315
12316         progname: also set global program_invocation_name, when possible
12317         Before this change, a libtool-enabled program that calls glibc's
12318         error function would report the program name as
12319         "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
12320         * modules/progname (configure.ac): Check for a declaration of
12321         program_invocation_name.
12322         * lib/progname.c:  Include <errno.h>.
12323         (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
12324         Set program_invocation_name.
12325
12326 2009-08-23  Bruno Haible  <bruno@clisp.org>
12327
12328         * lib/dup3.c: Include <string.h>.
12329
12330 2009-08-23  Bruno Haible  <bruno@clisp.org>
12331
12332         * lib/dup3.c (dup3): Test only once whether the system actually exists.
12333         * lib/pipe2.c (pipe2): Likewise.
12334         Suggested by Eric Blake.
12335
12336 2009-08-23  Bruno Haible  <bruno@clisp.org>
12337
12338         Tolerate declared but missing dup3 syscall.
12339         * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
12340         * lib/unistd.in.h (dup3): If the function is already present,
12341         override it.
12342         * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
12343         * modules/dup3 (Makefile.am): Compile dup3.c always.
12344         Reported by Paolo Bonzini.
12345
12346 2009-08-23  Bruno Haible  <bruno@clisp.org>
12347
12348         Tolerate declared but missing pipe2 syscall.
12349         * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
12350         available.
12351         * lib/unistd.in.h (pipe2): If the function is already present,
12352         override it.
12353         * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
12354         * modules/pipe2 (Makefile.am): Compile pipe2.c always.
12355         Reported by Paolo Bonzini.
12356
12357 2009-08-23  Bruno Haible  <bruno@clisp.org>
12358
12359         * lib/pipe2.c (pipe2): Move #ifs inside function.
12360
12361 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
12362
12363         quotearg: document limitations of quote_these_too
12364         * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
12365         those limitations are created.
12366         * lib/quotearg.h (set_char_quoting): Document that digits and
12367         letters that are special after backslash are not permitted.
12368         (quotearg_char): Cross-reference set_char_quoting documentation.
12369
12370 2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
12371
12372         quotearg: implement custom_quoting_style
12373         * lib/quotearg.c: (struct quoting_options): Add left_quote and
12374         right_quote fields.
12375         (set_custom_quoting): New public function.
12376         (quotearg_buffer_restyled): Add left_quote and right_quote
12377         arguments, handle them very much like locale quoting, and update
12378         all uses.
12379         (quotearg_n_custom): New public function.
12380         (quotearg_n_custom_mem): New public function.
12381         (quotearg_custom): New public function.
12382         (quotearg_custom_mem): New public function.
12383         * lib/quotearg.h: Prototype and document new public functions.
12384         (enum quoting_style): For escape_quoting_style and
12385         clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
12386         ignored even though they're otherwise like c_quoting_style.
12387         Add custom_quoting_style member and document with comparison to
12388         clocale_quoting_style.
12389         * tests/test-quotearg.c (custom_quotes): New array.
12390         (custom_results): New array.
12391         (main): Extend to test custom quoting.
12392
12393 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
12394
12395         quotearg: fix right quote escaping when it's in quote_these_too
12396         * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
12397         quote, be sure to prepend only one backslash.
12398         * tests/test-quotearg.c (use_quote_double_quotes): New function.
12399         (main): Test it.
12400
12401 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
12402
12403         quotearg-tests: test escaping of embedded locale quotes
12404         * tests/test-quotearg.c (struct result_strings): Add member for
12405         new input.
12406         (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
12407         (inputs): Add new input.
12408         (results_g): Add expected results.
12409         (flag_results): Likewise.
12410         (locale_results): Likewise.
12411         (compare_strings): Check those.
12412
12413 2009-08-23  Bruno Haible  <bruno@clisp.org>
12414
12415         Tests for module 'dup3'.
12416         * modules/dup3-tests: New file.
12417         * tests/test-dup3.c: New file.
12418
12419         New module 'dup3'.
12420         * lib/unistd.in.h (dup3): New declaration.
12421         * lib/dup3.c: New file.
12422         * m4/dup3.m4: New file.
12423         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
12424         HAVE_DUP3.
12425         * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
12426         * modules/dup3: New file.
12427         * doc/glibc-functions/dup3.texi: Mention the new module.
12428
12429 2009-08-23  Bruno Haible  <bruno@clisp.org>
12430
12431         Tweak the dup2 test.
12432         * tests/test-dup2.c (main): Create the test file empty. Verify that an
12433         out-of-range fd yields EBADF. Verify that after writing to /dev/null,
12434         the test file is still empty. Fix argument order of lseek.
12435
12436 2009-08-23  Bruno Haible  <bruno@clisp.org>
12437
12438         Avoid test link errors when the modules getopt-gnu, gettext are used.
12439         * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
12440         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
12441
12442 2009-08-23  Bruno Haible  <bruno@clisp.org>
12443
12444         Fix getdtablesize() on mingw.
12445         * lib/getdtablesize.c (getdtablesize): Implement differently.
12446         * lib/unistd.in.h (getdtablesize): Improve comment.
12447
12448 2009-08-23  Bruno Haible  <bruno@clisp.org>
12449
12450         New module 'mkostemp'.
12451         Based on Ulrich Drepper's 2007-08-10 change in glibc.
12452         * lib/stdlib.in.h (mksotemp): New declaration.
12453         * lib/mkostemp.c: New file, from glibc with modifications.
12454         * lib/tempname.h (GT_FILE): Remove outdated comment.
12455         (gen_tempname): Add flags argument.
12456         * lib/tempname.c (__GT_BIGFILE): Remove macro.
12457         (__GT_FILE): Map to 1.
12458         (small_open, large_open): Remove macros.
12459         (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
12460         * lib/mkstemp.c (mkstemp): Update.
12461         * lib/mkdtemp.c (mkdtemp): Likewise.
12462         * m4/mkostemp.m4: New file.
12463         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
12464         HAVE_MKOSTEMP.
12465         * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
12466         HAVE_MKOSTEMP.
12467         * modules/mkostemp: New file, based on modules/mkstemp.
12468         * doc/glibc-functions/mkostemp.texi: Mention the new module.
12469         * NEWS: Mention the change.
12470
12471 2009-08-23  Bruno Haible  <bruno@clisp.org>
12472
12473         * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
12474         Reported by Eric Blake.
12475
12476 2009-08-23  Bruno Haible  <bruno@clisp.org>
12477
12478         * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
12479         Reported by Eric Blake.
12480
12481 2009-08-23  Bruno Haible  <bruno@clisp.org>
12482
12483         * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
12484         * modules/pipe2 (Depends-on): Likewise.
12485
12486 2009-08-23  Eric Blake  <ebb9@byu.net>
12487
12488         fcntl-h: add O_TTY_INIT support
12489         * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
12490         * tests/test-fcntl-h.c (o): Test it.
12491         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
12492
12493         fcntl-h: rename from fcntl, in preparation for fcntl(2)
12494         * modules/fcntl: Move <fcntl.h> header replacement...
12495         * modules/fcntl-h: ...to new name, so as not to collide with
12496         like-named function.
12497         * tests/test-fcntl.c: Rename...
12498         * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
12499         * modules/fcntl-tests: Rename...
12500         * modules/fcntl-h-tests: ...to this.  Update test file name.
12501         * modules/chdir-long (Depends-on): Update clients.
12502         * modules/chdir-safer (Depends-on): Likewise.
12503         * modules/fcntl-safer (Depends-on): Likewise.
12504         * modules/fts (Depends-on): Likewise.
12505         * modules/mkancesdirs (Depends-on): Likewise.
12506         * modules/mkdir-p (Depends-on): Likewise.
12507         * modules/open (Depends-on): Likewise.
12508         * modules/savewd (Depends-on): Likewise.
12509         * MODULES.html.sh (systems lacking POSIX:2008): Update name.
12510         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
12511
12512 2009-08-22  Bruno Haible  <bruno@clisp.org>
12513
12514         * modules/binary-io (License): Relicense under LGPL.
12515         * modules/pipe2 (License): Likewise.
12516
12517 2009-08-22  Bruno Haible  <bruno@clisp.org>
12518
12519         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
12520         return value.
12521         * lib/pipe-filter-gi.c (filter_init): Likewise.
12522         Reported by Eric Blake.
12523
12524 2009-08-22  Bruno Haible  <bruno@clisp.org>
12525
12526         * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
12527         * modules/pipe (Depends-on): Add pipe2.
12528
12529 2009-08-22  Bruno Haible  <bruno@clisp.org>
12530
12531         Tests for module 'pipe2'.
12532         * modules/pipe2-tests: New file.
12533         * tests/test-pipe2.c: New file.
12534
12535         New module 'pipe2'.
12536         * lib/unistd.in.h (pipe2): New declaration.
12537         * lib/pipe2.c: New file.
12538         * m4/pipe2.m4: New file.
12539         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
12540         HAVE_PIPE2.
12541         * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
12542         * modules/pipe2: New file.
12543         * doc/glibc-functions/pipe2.texi: Mention the new module.
12544
12545 2009-08-22  Bruno Haible  <bruno@clisp.org>
12546
12547         Reference some new glibc functions.
12548         * doc/glibc-functions/accept4.texi: New file.
12549         * doc/glibc-functions/dup3.texi: New file.
12550         * doc/glibc-functions/mkostemp.texi: New file.
12551         * doc/glibc-functions/pipe2.texi: New file.
12552         * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
12553         (Glibc sys/socket.h): Refer to accept4.
12554         (Glibc unistd.h): Refer to dup3, pipe2.
12555         Reported by Eric Blake.
12556
12557 2009-08-22  Jim Meyering  <meyering@redhat.com>
12558             Bruno Haible  <bruno@clisp.org>
12559
12560         annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
12561         This makes it so packages using automake-1.11's silent-rules option
12562         can print e.g., a single "GEN    configmake.h" line, rather than
12563         the 30+ statements that perform the job.  If you want to see the
12564         actual commands, you can still run "make V=1".
12565         * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
12566         so that make output is abbreviated when those variables are defined
12567         appropriately.
12568         * modules/argz: Likewise.
12569         * modules/arpa_inet: Likewise.
12570         * modules/byteswap: Likewise.
12571         * modules/configmake: Likewise.
12572         * modules/dirent: Likewise.
12573         * modules/errno: Likewise.
12574         * modules/fcntl: Likewise.
12575         * modules/float: Likewise.
12576         * modules/fnmatch: Likewise.
12577         * modules/getopt-posix: Likewise.
12578         * modules/glob: Likewise.
12579         * modules/iconv_open: Likewise.
12580         * modules/inttypes: Likewise.
12581         * modules/localcharset: Likewise.
12582         * modules/locale: Likewise.
12583         * modules/math: Likewise.
12584         * modules/netdb: Likewise.
12585         * modules/netinet_in: Likewise.
12586         * modules/poll: Likewise.
12587         * modules/posix_spawnp-tests: Likewise.
12588         * modules/sched: Likewise.
12589         * modules/search: Likewise.
12590         * modules/selinux-h: Likewise.
12591         * modules/signal: Likewise.
12592         * modules/spawn: Likewise.
12593         * modules/stdarg: Likewise.
12594         * modules/stdbool: Likewise.
12595         * modules/stddef: Likewise.
12596         * modules/stdint: Likewise.
12597         * modules/stdio: Likewise.
12598         * modules/stdlib: Likewise.
12599         * modules/string: Likewise.
12600         * modules/strings: Likewise.
12601         * modules/sys_file: Likewise.
12602         * modules/sys_ioctl: Likewise.
12603         * modules/sys_select: Likewise.
12604         * modules/sys_socket: Likewise.
12605         * modules/sys_stat: Likewise.
12606         * modules/sys_time: Likewise.
12607         * modules/sys_times: Likewise.
12608         * modules/sys_utsname: Likewise.
12609         * modules/sys_wait: Likewise.
12610         * modules/sysexits: Likewise.
12611         * modules/time: Likewise.
12612         * modules/unistd: Likewise.
12613         * modules/wchar: Likewise.
12614         * modules/wctype: Likewise.
12615
12616 2009-08-22  Jim Meyering  <meyering@redhat.com>
12617
12618         announce-gen: detect write failure
12619         * build-aux/announce-gen: Add Coda at end.
12620         Remove equivalent-but-more-verbose block at top.
12621
12622 2009-08-19  Akim Demaille  <demaille@gostai.com>
12623
12624         bootstrap: --help to stdout.
12625         * bootstrap (usage): Don't send --help to stderr.
12626         Use a here doc instead of a long string.
12627
12628 2009-08-21  Eric Blake  <ebb9@byu.net>
12629
12630         test-popen-safer: split from test-popen
12631         * tests/test-popen.c (main): Move...
12632         * tests/test-popen.h: ...into new file.
12633         * tests/test-popen-safer2.c: New file.
12634         * modules/popen-tests (Files): Add test-popen.h.
12635         * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
12636         Suggested by Bruno Haible.
12637
12638         test-fcntl-safer: split from test-open
12639         * tests/test-open.c (main): Move...
12640         * tests/test-open.h: ...into new file.
12641         * tests/test-fcntl-safer.c: New file.
12642         * modules/open-tests (Files): Add test-open.h.
12643         * modules/fcntl-safer-tests: New file.
12644         Suggested by Bruno Haible.
12645
12646         test-fopen-safer: split from test-fopen
12647         * tests/test-fopen.c (main): Move...
12648         * tests/test-fopen.h: ...into new file.
12649         * tests/test-fopen-safer.c: New file.
12650         * modules/fopen-tests (Files): Add test-fopen.h.
12651         * modules/fopen-safer-tests: New file.
12652         Suggested by Bruno Haible.
12653
12654 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
12655
12656         popen-safer: test O_CLOEXEC at run-time.
12657         * lib/popen-safer.c: Test O_CLOEXEC at run-time.
12658
12659 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
12660
12661         fcntl: move more flags to the header
12662         * lib/cloexec.c: Do not define FD_CLOEXEC here.
12663         * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
12664         * lib/fcntl.in.h: Do both things here.
12665
12666 2009-08-21  Jim Meyering  <meyering@redhat.com>
12667
12668         consistently remove $@-t before redirecting to it
12669         * modules/argz: Remove $@-t and $@ before redirecting to the former.
12670         * modules/alloca-opt: Likewise.
12671         * modules/byteswap: Likewise.
12672         * modules/fnmatch: Likewise.
12673         * modules/getopt-posix: Likewise.
12674         * modules/glob: Likewise.
12675         * modules/poll: Likewise.
12676         * modules/posix_spawnp-tests: Likewise.
12677         * modules/sys_socket: Likewise.
12678         * modules/sysexits: Likewise.
12679
12680 2009-08-21  Eric Blake  <ebb9@byu.net>
12681
12682         popen: simplify access to original popen
12683         * lib/popen.c (rpl_popen): No need to worry about popen being a
12684         macro.
12685         Reported by Bruno Haible.
12686
12687 2009-08-20  Eric Blake  <ebb9@byu.net>
12688
12689         build: avoid some compiler warnings
12690         * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
12691         * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
12692         type.
12693         (new_exclude_segment, excluded_file_pattern_p)
12694         (excluded_file_name_p): Reduce scope.
12695         * lib/vasnprintf.c (decimal_point_char): Avoid warning on
12696         old-style declaration.
12697
12698 2009-08-20  Simon Josefsson  <simon@josefsson.org>
12699
12700         * tests/test-exclude1.sh: Handle Windows EOL.
12701         * tests/test-exclude2.sh: Likewise.
12702         * tests/test-exclude3.sh: Likewise.
12703         * tests/test-exclude4.sh: Likewise.
12704         * tests/test-exclude5.sh: Likewise.
12705         * tests/test-exclude6.sh: Likewise.
12706         * tests/test-exclude7.sh: Likewise.
12707
12708 2009-08-19  Akim Demaille  <demaille@gostai.com>
12709
12710         bootstrap: find sha1sum when named gsha1sum.
12711         * bootstrap (find_tool): New.
12712         ($SHA1SUM): New.
12713         Use it.
12714
12715 2009-08-20  Jim Meyering  <meyering@redhat.com>
12716
12717         maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
12718         * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
12719         expression that converts "." in a file name to "\." in the resulting
12720         regexp.  Start with a dummy statement, so that prior shell variable
12721         definitions are expanded portably.  Reported by Simon Josefsson.
12722
12723 2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
12724
12725         Fix polling for writeability of a screen buffer.
12726         * lib/poll.c: Distinguish input and screen buffers for the
12727         Win32 implementation.
12728         * lib/select.c: Likewise.
12729
12730 2009-08-19  Eric Blake  <ebb9@byu.net>
12731
12732         popen-safer: prevent popen from clobbering std descriptors
12733         * modules/popen-safer: New file.
12734         * lib/popen-safer.c: Likewise.
12735         * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
12736         * lib/stdio--.h (popen): Provide override.
12737         * lib/stdio-safer.h (popen_safer): Provide declaration.
12738         * tests/test-popen.c (includes): Partially test this.
12739         * modules/popen-safer-tests: New file, for more tests.
12740         * tests/test-popen-safer.c: Likewise.
12741         * MODULES.html.sh (file stream based Input/Output): Mention it.
12742
12743         tests: test some of the *-safer modules
12744         * modules/fopen-safer (Depends-on): Add fopen.
12745         * modules/fcntl-safer (Depends-on): Add fcntl.
12746         * modules/stdlib-safer (Depends-on): Add stdlib.
12747         (configure.ac): Set indicator.
12748         * modules/unistd-safer (configure.ac): Likewise.
12749         * modules/tmpfile-safer (configure.ac): Likewise.
12750         (Depends-on): Add tmpfile.
12751         * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
12752         active.
12753         * tests/test-fopen.c (includes): Test safer versions when they are
12754         in use.
12755         * tests/test-open.c (includes): Likewise.
12756
12757         popen: fix cygwin 1.5 bug when stdin closed
12758         * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
12759         * modules/popen: New file.
12760         * modules/popen-tests: Likewise.
12761         * tests/test-popen.c: Likewise.
12762         * m4/popen.m4: Likewise.
12763         * lib/popen.c: Likewise.
12764         * lib/stdio.in.h (popen): New declaration.
12765         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
12766         * modules/stdio (Makefile.am): Likewise.
12767         * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
12768
12769 2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
12770
12771         maint.mk: give full control over update-copyright exclusions
12772         * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
12773         ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
12774         (update-copyright): Don't force inclusion of top-level
12775         ChangeLog.  Don't force exclusion of all COPYING files, but make
12776         them the default exclusion instead.
12777
12778 2009-08-16  Bruno Haible  <bruno@clisp.org>
12779
12780         Fix test failures on Solaris 10.
12781         * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
12782         tests when Solaris iconv() is used.
12783         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
12784         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
12785         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
12786         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
12787         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
12788
12789 2009-08-16  Bruno Haible  <bruno@clisp.org>
12790
12791         Fix test failures on Solaris 10.
12792         * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
12793         'tr' program and pass it as first argument.
12794         * tests/test-pipe-filter-gi1.sh: Likewise.
12795         * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
12796         program as first argument.
12797         * tests/test-pipe-filter-gi1.c (main): Likewise.
12798
12799 2009-08-16  Eric Blake  <ebb9@byu.net>
12800
12801         fpurge: fix previous commits
12802         * modules/fpurge (Makefile.am): Make replacement conditional,
12803         partially reverting 2007-04-29 change; missed in previous
12804         attempt.
12805         * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
12806         is missing.
12807
12808 2009-08-16  Bruno Haible  <bruno@clisp.org>
12809
12810         Clarify fpurge's effect on the file position.
12811         * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
12812         * tests/test-fpurge.c (main): Make a second pass for checking the file
12813         position.
12814
12815 2009-08-16  Bruno Haible  <bruno@clisp.org>
12816
12817         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
12818         declaration of fpurge is missing.
12819         * tests/test-fpurge.c (main): Check that the file has not more contents
12820         than expected. Close the file before removing it.
12821
12822 2009-08-15  Eric Blake  <ebb9@byu.net>
12823
12824         fpurge: don't wrap working cygwin implementation
12825         * lib/fpurge.c (fpurge): Fix comment typo.
12826         * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
12827         1.7 to avoid replacement.
12828         * tests/test-fpurge.c (main): Enhance test.
12829
12830 2009-08-15  Eric Blake  <ebb9@byu.net>
12831         and Jim Meyering  <meyering@redhat.com>
12832
12833         test-update-copyright: skip if perl is insufficient
12834         * tests/test-update-copyright.sh: Failure to run maintainer tool
12835         should not cause testsuite failure on cygwin 1.5.
12836
12837 2009-08-14  Eric Blake  <ebb9@byu.net>
12838
12839         doc: mention more functions added in cygwin 1.7.0
12840         * doc/posix-headers/limits.texi (limits.h): Update for recent
12841         cygwin additions.
12842         * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
12843         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
12844         * doc/posix-functions/wordfree.texi (wordfree): Likewise.
12845         * doc/posix-functions/setlocale.texi (setlocale): Likewise.
12846         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
12847
12848 2009-08-14  Eric Blake  <ebb9@byu.net>
12849
12850         maint.mk: simplify update-copyright rule
12851         * top/maint.mk (update-copyright-local): Delete, and document how
12852         to do it in cfg.mk instead.
12853         (update-copyright-exclude-regexp): Delete, and document how to do
12854         it in .x-update-copyright instead.
12855         (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
12856         exclude ChangeLog.
12857
12858 2009-08-14  Bruno Haible  <bruno@clisp.org>
12859
12860         * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
12861
12862 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
12863
12864         maint.mk: support update-copyright-env
12865         * top/maint.mk (update-copyright-env): Define place-holder.
12866         (update-copyright): Expand $(update-copyright-env) before
12867         invoking update-copyright.
12868
12869 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
12870
12871         update-copyright: implement forced reformatting
12872         * build-aux/update-copyright: Implement and document
12873         UPDATE_COPYRIGHT_FORCE.
12874         * tests/test-update-copyright.sh: Test it.
12875
12876 2009-08-14  Eric Blake  <ebb9@byu.net>
12877         and Bruno Haible  <bruno@clisp.org>
12878
12879         stddef: fix NetBSD 5.0 NULL bug, rather than working around it
12880         * tests/test-locale.c: Revert previous patch related to NULL.
12881         * tests/test-stdio.c: Likewise.
12882         * tests/test-stdlib.c: Likewise.
12883         * tests/test-string.c: Likewise.
12884         * tests/test-unistd.c: Likewise.
12885         * modules/time-tests (Depends-on): Add verify.
12886         * modules/wchar-tests (Depends-on): Likewise.
12887         * tests/test-time.c: Test for NULL compliance.
12888         * tests/test-wchar.c: Likewise.
12889         * modules/locale (Depends-on): Add stddef.
12890         * modules/stdio (Depends-on): Likewise.
12891         * modules/stdlib (Depends-on): Likewise.
12892         * modules/string (Depends-on): Likewise.
12893         * modules/time (Depends-on): Likewise.
12894         * modules/unistd (Depends-on): Likewise.
12895         * modules/wchar (Depends-on): Likewise.
12896         * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
12897         * lib/stdlib.in.h (includes): Likewise.
12898         * lib/string.in.h (includes): Likewise.
12899         * lib/time.in.h (includes): Likewise.
12900         * lib/unistd.in.h (includes): Likewise.
12901         * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
12902         replaced.
12903         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
12904         * m4/stddef_h.m4: New file.
12905         * modules/stddef: Likewise.
12906         * lib/stddef.in.h: Likewise.
12907         * modules/stddef-tests: Likewise.
12908         * tests/test-stddef.c: Likewise.
12909         * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
12910         * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
12911         * doc/posix-headers/locale.texi (locale.h): Likewise.
12912         * doc/posix-headers/stdio.texi (stdio.h): Likewise.
12913         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
12914         * doc/posix-headers/string.texi (string.h): Likewise.
12915         * doc/posix-headers/time.texi (time.h): Likewise.
12916         * doc/posix-headers/unistd.texi (unistd.h): Likewise.
12917         * doc/posix-headers/wchar.texi (wchar.h): Likewise.
12918
12919 2009-08-14  Eric Blake  <ebb9@byu.net>
12920
12921         doc: improve git diff of texinfo files
12922         * .gitattributes: Add rule for *.texi files, with hint on how to
12923         use it.
12924         Copied from m4, and based on a report by Bruno Haible.
12925
12926 2009-08-14  Bruno Haible  <bruno@clisp.org>
12927
12928         Disable multithread support by default on Cygwin 1.5.x for real.
12929         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
12930
12931 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
12932
12933         update-copyright: much ado about intervals
12934         * build-aux/update-copyright: Implement and document
12935         UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
12936         of copyright year intervals.
12937         Also, document UPDATE_COPYRIGHT_YEAR.
12938         * tests/test-update-copyright.sh: Test it.
12939
12940         update-copyright: convert 2-digit to 4-digit years
12941         * build-aux/update-copyright: Implement and document.
12942         * tests/test-update-copyright.sh: Update.
12943
12944 2009-08-14  Jim Meyering  <meyering@redhat.com>
12945
12946         test-exclude: avoid coreutils "make check" failure
12947         * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
12948         just as in test-argmatch.c.
12949
12950 2009-08-13  Eric Blake  <ebb9@byu.net>
12951
12952         test-dup2: fix bad assumption
12953         * tests/test-dup2.c (main): Tolerate leaked fds from environment.
12954         Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
12955
12956         test-version-etc: fix CRLF portability issue
12957         * tests/test-version-etc.sh: Use tr, not sed, as not all sed
12958         recognize \r.
12959         * tests/test-argp-version-etc-1.sh: Likewise.
12960
12961         getopt: update client modules
12962         * modules/argp (Depends-on): Use getopt-gnu.
12963         * modules/git-merge-changelog (Depends-on): Likewise.
12964         * modules/long-options (Depends-on): Likewise.
12965         * modules/xstrtol (Depends-on): Likewise.
12966
12967 2009-08-13  Simon Josefsson  <simon@josefsson.org>
12968
12969         * tests/test-version-etc.sh: Don't fail on different
12970         project/version.  Don't fail on CRLF differences.  Rewrite to use
12971         multiple -e instead of multiple sed forks, suggested by Eric Blake
12972         <ebb9@byu.net>.
12973         * tests/test-argp-version-etc-1.sh: Likewise.
12974
12975 2009-08-13  Simon Josefsson  <simon@josefsson.org>
12976
12977         * tests/test-version-etc.sh: Don't fail on different
12978         project/version.
12979
12980 2009-08-12  Bruno Haible  <bruno@clisp.org>
12981
12982         Tests for modules 'getopt-posix', 'getopt-gnu'.
12983         * modules/getopt-posix-tests: New file.
12984         * tests/test-getopt.c: New file.
12985         * tests/test-getopt.h: New file.
12986         * tests/test-getopt_long.h: New file.
12987
12988         New modules 'getopt-posix', 'getopt-gnu'.
12989         * modules/getopt-gnu: New file, renamed from modules/getopt.
12990         * modules/getopt-posix: New file.
12991         * modules/getopt: Turn into an obsolete alias for getopt-gnu.
12992         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
12993         (gl_GETOPT): Remove macro.
12994         (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
12995         Disable the test against BSD systems that declare optreset. Test
12996         against mingw bug. Test against lack of support of optional arguments
12997         on many platforms.
12998         * doc/glibc-headers/getopt.texi: Update module name and list of
12999         relevant platforms.
13000         * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
13001         'getopt-gnu' and more portability problems.
13002         * NEWS: Mention the changes.
13003
13004 2009-08-12  Bruno Haible  <bruno@clisp.org>
13005
13006         Ensure that optarg etc. get declared by <unistd.h>.
13007         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
13008         AC_USE_SYSTEM_EXTENSIONS.
13009         * modules/getopt (Depends-on): Add 'extensions'.
13010
13011 2009-08-12  Bruno Haible  <bruno@clisp.org>
13012
13013         Avoid test link errors.
13014         * modules/pipe-filter-ii-tests (Makefile.am): Define
13015         test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
13016         * modules/pipe-filter-gi-tests (Makefile.am): Define
13017         test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
13018         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
13019
13020 2009-08-12  Bruno Haible  <bruno@clisp.org>
13021
13022         * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
13023         gl_GETOPT_SUBSTITUTE before.
13024         (gl_GETOPT): Use it.
13025         * m4/argp.m4 (gl_ARGP): Update.
13026         Reported by Sergey Poznyakoff.
13027
13028         * m4/getopt.m4: Reorder macros.
13029         (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
13030         (gl_GETOPT_SUBSTITUTE): Remove macro.
13031
13032 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
13033
13034         Minor improvement in gitlog-to-changelog
13035
13036         * build-aux/gitlog-to-changelog: New option `--format' makes
13037         output format string configurable.
13038
13039 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
13040
13041         Optimize exclude: use hash tables for non-wildcard patterns.
13042
13043         * lib/exclude.c: Include hash.h and mbuiter.h
13044         (struct exclude_pattern, exclude_segment): New data types.
13045         (struct exclude): Rewrite.
13046         (fnmatch_pattern_has_wildcards): New function.
13047         (new_exclude_segment, free_exclude_segment): New functions.
13048         (excluded_file_pattern_p, excluded_file_name_p): New functions.
13049         (excluded_file_name, add_exclude): Rewrite using new struct exclude.
13050         * lib/exclude.h (is_fnmatch_pattern): New prototype.
13051         * modules/exclude: Depend on hash and mbuiter.
13052
13053         * modules/exclude-tests: New file.
13054         * tests/test-exclude.c: New file.
13055         * tests/test-exclude1.sh: New file.
13056         * tests/test-exclude2.sh: New file.
13057         * tests/test-exclude3.sh: New file.
13058         * tests/test-exclude4.sh: New file.
13059         * tests/test-exclude5.sh: New file.
13060         * tests/test-exclude6.sh: New file.
13061         * tests/test-exclude7.sh: New file.
13062
13063 2009-08-12  Bruno Haible  <bruno@clisp.org>
13064
13065         Ensure that getopt() gets declared by <unistd.h>.
13066         * lib/unistd.in.h: Conditionally include getopt.h.
13067         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
13068         Set GNULIB_UNISTD_H_GETOPT.
13069         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
13070         GNULIB_UNISTD_H_GETOPT.
13071         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
13072
13073 2009-08-12  Bruno Haible  <bruno@clisp.org>
13074
13075         Clarify logic.
13076         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
13077         gl_replace_getopt instead of GETOPT_H.
13078
13079 2009-08-12  Bruno Haible  <bruno@clisp.org>
13080
13081         * m4/getopt.m4: Add comments.
13082
13083 2009-08-12  Bruno Haible  <bruno@clisp.org>
13084
13085         Disable multithread support by default on Cygwin 1.5.x.
13086         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
13087         set gl_use_threads=no if not specified otherwise.
13088
13089 2009-08-11  Bruno Haible  <bruno@clisp.org>
13090
13091         Avoid compilation error on NetBSD 5.0.
13092         * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
13093         * tests/test-stdio.c: Likewise.
13094         * tests/test-stdlib.c: Likewise.
13095         * tests/test-string.c: Likewise.
13096         * tests/test-unistd.c: Likewise.
13097         Reported by Greg Troxel <gdt@ir.bbn.com>
13098         at <https://savannah.gnu.org/support/?106973>.
13099
13100 2009-08-11  Bruno Haible  <bruno@clisp.org>
13101
13102         * modules/dup2-tests (Depends-on): Remove close.
13103
13104         Undo 2009-07-19 commit.
13105         * modules/acl-tests (Depends-on): Remove close.
13106         * modules/binary-io-tests (Depends-on): Likewise.
13107         * modules/closein-tests (Depends-on): Likewise.
13108         * modules/flock-tests (Depends-on): Likewise.
13109         * modules/fsync-tests (Depends-on): Likewise.
13110         * modules/lseek-tests (Depends-on): Likewise.
13111         * modules/pipe-tests (Depends-on): Likewise.
13112         * modules/posix_spawn-tests (Depends-on): Likewise.
13113         * modules/posix_spawnp-tests (Depends-on): Likewise.
13114         * modules/stat-time-tests (Depends-on): Likewise.
13115         * modules/yesno-tests (Depends-on): Likewise.
13116
13117 2009-08-10  Bruno Haible  <bruno@clisp.org>
13118
13119         * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
13120
13121 2009-08-10  Bruno Haible  <bruno@clisp.org>
13122
13123         Fix a gcc warning.
13124         * lib/write.c (rpl_write): Cast result of _get_osfhandle.
13125
13126 2009-08-10  Bruno Haible  <bruno@clisp.org>
13127
13128         Don't optimize AC_LIBOBJs, as they may appear in different contexts.
13129         * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
13130         not only the first time.
13131         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
13132         * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
13133         * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
13134         is 1, not only the the first time.
13135
13136 2009-08-10  Bruno Haible  <bruno@clisp.org>
13137
13138         Make it possible to use module 'gethostname' without module 'close'.
13139         * lib/unistd.in.h (close): Evoke a link error only if
13140         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
13141         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
13142         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
13143         * modules/unistd (Makefile.am): Substitute
13144         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
13145         * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
13146         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
13147         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
13148         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
13149         * modules/sys_ioctl (Makefile.am): Substitute
13150         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
13151         * modules/socket (configure.ac): On native Windows, set
13152         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
13153         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
13154         Reported by Sam Steingold <sds@gnu.org>.
13155
13156 2009-08-10  Bruno Haible  <bruno@clisp.org>
13157
13158         * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
13159         * modules/ioctl (configure.ac): Likewise.
13160
13161 2009-08-10  Bruno Haible  <bruno@clisp.org>
13162
13163         Avoid collision between gnulib wrapper and libintl wrapper.
13164         * lib/stdio-write.c (printf): Don't define if a printf wrapper is
13165         already defined in intl/printf.c.
13166         (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
13167         (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
13168
13169 2009-08-09  Bruno Haible  <bruno@clisp.org>
13170
13171         Make <sys/select.h> really self-contained, also on Solaris 10.
13172         * lib/sys_select.in.h: Include <string.h>.
13173         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
13174         Solaris 10 problem.
13175         * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
13176         * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
13177         Reported by Jim Meyering.
13178
13179 2009-08-09  Bruno Haible  <bruno@clisp.org>
13180
13181         Avoid warnings from 'aclocal' that are due to a use of macro name
13182         AM_XGETTEXT_OPTION that is not defined in automake.
13183         * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
13184         automake.
13185         * modules/error (configure.ac): Likewise.
13186         * modules/propername (configure.ac): Likewise.
13187         * modules/vasprintf (configure.ac): Likewise.
13188         * modules/verror (configure.ac): Likewise.
13189         * modules/xprintf (configure.ac): Likewise.
13190         * modules/xvasprintf (configure.ac): Likewise.
13191
13192 2009-08-08  Bruno Haible  <bruno@clisp.org>
13193
13194         Avoid compilation error in C++ mode.
13195         * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
13196         Reported by Sam Steingold <sds@gnu.org>.
13197
13198 2009-08-08  Bruno Haible  <bruno@clisp.org>
13199
13200         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
13201         for the various Unix platforms.
13202         * doc/posix-headers/limits.texi: Update platforms list regarding
13203         HOST_NAME_MAX.
13204         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
13205
13206 2009-08-07  Jim Meyering  <meyering@redhat.com>
13207
13208         selinux-at: fix typo in a comment
13209         * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
13210         Spotted by Paolo Bonzini.
13211
13212         selinux-at: remove redundant m4 code, add documentation
13213         * modules/selinux-at (configure.ac): Remove redundant code.
13214         LIB_SELINUX is already set via the dependent module, selinux-h.
13215         (Include): Add quotes around selinux-at.h.
13216         * lib/selinux-at.h: Add documentation.
13217         Reported by Bruno Haible in
13218         http://marc.info/?l=gnulib-bug&m=124958988300749
13219
13220 2009-08-07  Bruno Haible  <bruno@clisp.org>
13221
13222         Avoid link error on MacOS X 10.3 and 10.4.
13223         * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
13224         on non-ELF systems.
13225         * lib/argp-pv.c (argp_program_version): Likewise.
13226         Reported by Simon Josefsson.
13227
13228 2009-08-07  Simon Josefsson  <simon@josefsson.org>
13229
13230         * tests/test-version-etc.sh: Use $EXEEXT.
13231
13232 2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
13233
13234         update-copyright: update documentation to point to maint.mk
13235         * build-aux/update-copyright: Here.
13236
13237 2009-08-06  Jim Meyering  <meyering@redhat.com>
13238
13239         maint.mk: support update-copyright-local
13240         * top/maint.mk (update-copyright-local): Define place-holder.
13241         (update-copyright): Depend on $(update-copyright-local).
13242
13243 2009-08-06  Jim Meyering  <meyering@redhat.com>
13244
13245         selinux-at: new module
13246         Initially written for coreutils, this module will soon be
13247         used by findutils, too.
13248         * MODULES.html.sh [Misc]: Add selinux-at.
13249         * lib/selinux-at.h: New file, from coreutils.
13250         * lib/selinux-at.c: Likewise.
13251         * modules/selinux-at: Likewise.
13252         (License): Change from LGPL to GPL, since it depends
13253         on the GPL'd openat module.
13254
13255         doc: update README
13256         * README: Remove references to cogito.
13257         Remove cvs-repo-updating instructions from 2007.
13258         Don't imply that CVS is better if you have limited disk space.
13259
13260 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
13261
13262         update-copyright: support C-style comments
13263         * build-aux/update-copyright: Implement and document.
13264         * tests/test-update-copyright.sh: Test.
13265
13266 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
13267
13268         update-copyright: support omitted "(C)"
13269         * build-aux/update-copyright: Implement and document.  Also,
13270         allow variable whitespace before "(C)".
13271         * tests/test-update-copyright.sh: Test.
13272
13273 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
13274
13275         update-copyright: don't trip on non-FSF copyright statements
13276         * build-aux/update-copyright: Fix so that the first correctly
13277         formatted FSF copyright statement is recognized no matter what
13278         appears before it.  Update documentation.
13279         * tests/test-update-copyright.sh: Test that.
13280
13281 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
13282
13283         update-copyright: clean up code a little
13284         * build-aux/update-copyright: Append "_re" to the name of any
13285         variable holding a regular expression.
13286         Replace "old" and "new" with "stmt" in variable names.
13287         Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
13288         handled correctly.
13289         Format code more consistently.
13290
13291 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
13292
13293         update-copyright-tests: improve portability
13294         * tests/test-update-copyright.sh: Use cmp if diff cannot handle
13295         -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
13296
13297 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
13298
13299         update-copyright: support @copyright{} and &copy;
13300         * build-aux/update-copyright: Implement and document.
13301         * tests/test-update-copyright.sh: Test.
13302
13303 2009-08-04  Jim Meyering  <meyering@redhat.com>
13304
13305         update-copyright-tests: correctly test EOL=\r\n handling
13306         * tests/test-update-copyright.sh: Put \r at the end of some lines
13307         for the dos-eol tests.  Based on a patch by Joel E. Denny.
13308
13309         maint.mk: make update-copyright exclusion list more configurable
13310         * top/maint.mk (update-copyright): Default to excluding COPYING,
13311         but allow an override, in case someone does want to update that file.
13312
13313         maint.mk: don't update copyright date in COPYING
13314         * top/maint.mk (update-copyright): Exclude COPYING.
13315
13316         maint.mk: add a copyright-updating rule
13317         * top/maint.mk (update-copyright): New rule.
13318         Derived from coreutils/Makefile.am.
13319
13320         update-copyright: rename some variables
13321         * build-aux/update-copyright: Rename a few variables for clarity.
13322         Tweak syntax.  List Joel E. Denny as coauthor.
13323
13324 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
13325
13326         update-copyright: fix bug for 2-digit last year and add tests
13327         * build-aux/update-copyright: Fix bug.
13328         Use UPDATE_COPYRIGHT_YEAR from environment as current year if
13329         specified.
13330         * modules/update-copyright-tests: New
13331         * tests/test-update-copyright.sh: New.
13332
13333 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
13334
13335         update-copyright: handle leading tabs in line prefix
13336         * build-aux/update-copyright: Count leading tabs as 8 spaces
13337         when computing margin.  This helps with the formatting of
13338         ChangeLogs, for example.
13339         Fix documentation a little.
13340
13341 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
13342
13343         update-copyright: support EOL=\r\n
13344         * build-aux/update-copyright: Implement that.
13345
13346 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
13347
13348         update-copyright: automatically format copyright statements
13349         * build-aux/update-copyright: Implement that.
13350         Also, be a little more predictable and safer by always failing
13351         when the full copyright format is not perfectly recognized as an
13352         unbroken whole.  Discussed at
13353         <http://lists.gnu.org/archive/html/bug-gnulib/2009-07/msg00131.html>.
13354         Rewrite documentation.
13355
13356 2009-08-03  Bruno Haible  <bruno@clisp.org>
13357
13358         * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
13359
13360 2009-08-02  Bruno Haible  <bruno@clisp.org>
13361
13362         Tests for module 'uname'.
13363         * modules/uname-tests: New file.
13364         * tests/test-uname.c: New file.
13365
13366         New module 'uname'.
13367         * lib/uname.c: New file.
13368         * m4/uname.m4: New file.
13369         * modules/uname: New file.
13370         * doc/posix-functions/uname.texi: Mention the new module.
13371
13372 2009-08-02  Bruno Haible  <bruno@clisp.org>
13373
13374         Tests for module 'sys_utsname'.
13375         * modules/sys_utsname-tests: New file.
13376         * tests/test-sys_utsname.c: New file.
13377
13378         New module 'sys_utsname'.
13379         * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
13380         * m4/sys_utsname_h.m4: New file.
13381         * modules/sys_utsname: New file.
13382         * doc/posix-headers/sys_utsname.texi: Mention the new module.
13383
13384 2009-08-02  Bruno Haible  <bruno@clisp.org>
13385
13386         Implicitly initialize the sockets library.
13387         * lib/gethostname.c: Include sockets.h.
13388         (rpl_gethostname): Invoke gl_sockets_startup.
13389         * lib/socket.c: Include sockets.h.
13390         (rpl_socket): Invoke gl_sockets_startup.
13391         * modules/gethostname (Depends-on): Add sockets.
13392         * modules/socket (Depends-on): Likewise.
13393         * tests/test-poll.c: Don't include sockets.h.
13394         (main): Don't invoke gl_sockets_startup.
13395         * tests/test-select.c: Don't include sockets.h.
13396         (main): Don't invoke gl_sockets_startup.
13397
13398 2009-08-02  Bruno Haible  <bruno@clisp.org>
13399
13400         Allow multiple calls to gl_sockets_startup.
13401         * lib/sockets.c (initialized_sockets_version): New variable.
13402         (gl_sockets_startup): Do nothing if already called for this or a higher
13403         version.
13404         (gl_sockets_cleanup): Reset initialized_sockets_version.
13405
13406 2009-08-03  Simon Josefsson  <simon@josefsson.org>
13407
13408         * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
13409         different project/version.
13410
13411 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
13412             Bruno Haible  <bruno@clisp.org>
13413
13414         Tests for module 'pipe-filter-gi'.
13415         * modules/pipe-filter-gi-tests: New file.
13416         * tests/test-pipe-filter-gi1.sh: New file.
13417         * tests/test-pipe-filter-gi1.c: New file.
13418         * tests/test-pipe-filter-gi2.sh: New file.
13419         * tests/test-pipe-filter-gi2-main.c: New file.
13420         * tests/test-pipe-filter-gi2-child.c: New file.
13421
13422         New module 'pipe-filter-gi'.
13423         * lib/pipe-filter-gi.c: New file.
13424         * modules/pipe-filter-gi: New file.
13425
13426 2009-08-02  Bruno Haible  <bruno@clisp.org>
13427             Paolo Bonzini  <bonzini@gnu.org>
13428
13429         Tests for module 'pipe-filter-ii'.
13430         * modules/pipe-filter-ii-tests: New file.
13431         * tests/test-pipe-filter-ii1.sh: New file.
13432         * tests/test-pipe-filter-ii1.c: New file.
13433         * tests/test-pipe-filter-ii2.sh: New file.
13434         * tests/test-pipe-filter-ii2-main.c: New file.
13435         * tests/test-pipe-filter-ii2-child.c: New file.
13436
13437         New module 'pipe-filter-ii'.
13438         * lib/pipe-filter.h: New file.
13439         * lib/pipe-filter-ii.c: New file.
13440         * lib/pipe-filter-aux.h: New file.
13441         * modules/pipe-filter-ii: New file.
13442
13443 2009-08-02  Simon Josefsson  <simon@josefsson.org>
13444
13445         * lib/gc-libgcrypt.c: Change copyright to FSF.
13446         * lib/gc-gnulib.c: Likewise.
13447
13448 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
13449
13450         * lib/gethostname.c: Include limits.h.
13451
13452 2009-08-02  Simon Josefsson  <simon@josefsson.org>
13453             Bruno Haible  <bruno@clisp.org>
13454
13455         Ensure HOST_NAME_MAX as part of the gethostname module.
13456         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
13457         define also HOST_NAME_MAX.
13458         * tests/test-gethostname.c: Include <limits.h>.
13459         (main): Check also HOST_NAME_MAX.
13460         * doc/posix-headers/limits.texi: Document the mingw problem.
13461
13462 2009-08-02  Bruno Haible  <bruno@clisp.org>
13463
13464         * lib/gethostname.c (gethostname): Fix handling of large len argument.
13465         Add comments.
13466
13467 2009-03-31  Simon Josefsson  <simon@josefsson.org>
13468
13469         * lib/gethostname.c: Add Windows wrapper.
13470         * m4/gethostname.m4: Look for gethostname in -lws2_32.
13471         * modules/gethostname: Depend on sys_socket & errno, for also
13472         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
13473         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
13474
13475 2009-07-31  Jim Meyering  <meyering@redhat.com>
13476
13477         getloadavg: fix symbol name in comment
13478         * lib/getloadavg.c: Correct a typo I introduced when adding
13479         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
13480         Matt Kraai spotted the problem.
13481
13482 2009-07-29  Matt Kraai  <mkraai@beckman.com>
13483
13484         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
13485         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
13486         code also if ! defined N_NAME_POINTER.
13487         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
13488         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
13489         but the n_name member is a 12-byte array.
13490
13491 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
13492
13493         update-copyright: generalize comment handling
13494         * build-aux/update-copyright: Handle copyright statements
13495         within more comment styles.
13496         Document usage.
13497         Report any file with an external copyright holder or parse failure.
13498
13499 2009-07-29  Jim Meyering  <meyering@redhat.com>
13500
13501         mktime: correct setting of REPLACE_MKTIME
13502         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
13503
13504         update-copyright: new module
13505         * modules/update-copyright: New file.
13506         * build-aux/update-copyright: New file.
13507         * MODULES.html.sh (maint+release support): Add update-copyright.
13508
13509 2009-07-27  Bruno Haible  <bruno@clisp.org>
13510
13511         Fix compilation error when <ctime> is used and mktime is replaced.
13512         * lib/time.in.h (mktime): New declaration.
13513         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
13514         REPLACE_MKTIME instead of defining mktime in config.h.
13515         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
13516         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
13517         Reported by Ross McFarland <rwmcfa1@neces.com>.
13518
13519 2009-07-27  Bruno Haible  <bruno@clisp.org>
13520
13521         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
13522         Reported by Matt Kraai <mkraai@beckman.com>.
13523
13524 2009-07-25  Jim Meyering  <meyering@redhat.com>
13525
13526         maint.mk: avoid warnings about missing files
13527         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
13528         diagnostic when .prev-version does not exist.
13529         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
13530         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
13531         nonexistent cfg.mk.
13532         Suggestions from Simon Josefsson.
13533
13534 2009-07-25  Bruno Haible  <bruno@clisp.org>
13535
13536         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
13537         defined as macros. Needed on QNX 6.4.1.
13538         Reported by Matt Kraai <mkraai@beckman.com>.
13539
13540 2009-07-23  Jim Meyering  <meyering@redhat.com>
13541
13542         maint.mk: invoke "make dist" with a working value of XZ_OPT
13543         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
13544
13545 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
13546
13547         Make fseeko.c compile on QNX.
13548         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
13549
13550 2009-07-22  Peter Simons  <simons@cryp.to>
13551
13552         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
13553         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
13554         * lib/md4.h: Likewise.
13555         * lib/md5.h: Likewise.
13556         * lib/sha1.h: Likewise.
13557         * lib/sha256.h: Likewise.
13558         * lib/sha512.h: Likewise.
13559
13560         tests-sha1: don't assign literal string to 'char *' variable
13561         * tests/test-sha1.c (main): Declare locals with "const" to match
13562         attributes of the right hand side.
13563
13564 2009-07-21  Eric Blake  <ebb9@byu.net>
13565
13566         dup2: fix more mingw problems
13567         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
13568         fd to itself.
13569         * doc/posix-functions/dup2.texi (dup2): Document the bug.
13570         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
13571         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
13572         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
13573         care of mingw bugs.
13574
13575 2009-07-21  Jim Meyering  <meyering@redhat.com>
13576
13577         vc-list-files: avoid failure when /bin/sh is dash
13578         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
13579         On some Debian based systems, /bin/sh is a symlink to dash, and running
13580         this command would omit the "/" following each 'tests' prefix:
13581           dash -x build-aux/vc-list-files -C . tests
13582         That is because bash and dash work differently:
13583           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
13584           bash ok
13585           dash odd
13586
13587 2009-07-21  Eric Blake  <ebb9@byu.net>
13588
13589         dup2-tests: test previous patch
13590         * modules/dup2-tests: New file.
13591         * tests/test-dup2.c: Likewise.
13592         * tests/test-open.c (main): Avoid unspecified behavior.
13593         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
13594         test.
13595
13596         dup2: work around mingw and cygwin 1.5 bug
13597         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
13598         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
13599         * modules/unistd (Makefile.am): Substitute it.
13600         * lib/unistd.in.h (dup2): Declare the replacement.
13601         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
13602         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
13603         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
13604         * modules/execute (Depends-on): Add dup2.
13605         * modules/fseterr (Depends-on): Likewise.
13606         * modules/pipe (Depends-on): Likewise.
13607         * modules/posix_spawn-internal (Depends-on): Likewise.
13608
13609 2009-07-21  Bruno Haible  <bruno@clisp.org>
13610
13611         * modules/.gitattributes: New file.
13612
13613 2009-07-20  Bruno Haible  <bruno@clisp.org>
13614
13615         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
13616         (main): Use it.
13617
13618 2009-07-20  Eric Blake  <ebb9@byu.net>
13619
13620         test-pipe: make a bit more robust.
13621         * tests/test-pipe.c (myerr): Allow error messages regardless of
13622         what we do to stderr.
13623         (test_pipe): Rearrange to avoid deadlock.
13624         (child_main): Try a larger read, to ensure we avoided deadlock.
13625         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
13626         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
13627         if misused.
13628
13629 2009-07-19  Jim Meyering  <meyering@redhat.com>
13630
13631         fts: avoid false-positive cycle-detection
13632         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
13633         for each new command line argument.
13634
13635 2009-07-19  Bruno Haible  <bruno@clisp.org>
13636
13637         Fix build error on mingw with the modules sys_select and unistd.
13638         * modules/acl-tests (Depends-on): Add close.
13639         * modules/binary-io-tests (Depends-on): Likewise.
13640         * modules/closein-tests (Depends-on): Likewise.
13641         * modules/flock-tests (Depends-on): Likewise.
13642         * modules/fsync-tests (Depends-on): Likewise.
13643         * modules/lseek-tests (Depends-on): Likewise.
13644         * modules/pipe-tests (Depends-on): Likewise.
13645         * modules/posix_spawn-tests (Depends-on): Likewise.
13646         * modules/posix_spawnp-tests (Depends-on): Likewise.
13647         * modules/stat-time-tests (Depends-on): Likewise.
13648         * modules/yesno-tests (Depends-on): Likewise.
13649
13650 2009-07-19  Bruno Haible  <bruno@clisp.org>
13651
13652         Unify conditionals.
13653         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
13654         macros, not at the compiler macros.
13655         * lib/pipe.c: Likewise.
13656         * lib/execute.c: Likewise.
13657         * lib/spawni.c: Likewise.
13658
13659 2009-07-19  Bruno Haible  <bruno@clisp.org>
13660
13661         Fix handling of closed stdin/stdout/stderr on mingw.
13662         * lib/w32spawn.h: Include unistd.h.
13663         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
13664         file descriptor with O_NOINHERIT flag.
13665         (fd_safer_noinherit): New function, based on fd-safer.c.
13666         (dup_safer_noinherit): New function, based on dup-safer.c.
13667         (undup_safer_noinherit): New function.
13668         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
13669         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
13670         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
13671         instead of fd_safer.
13672         * tests/test-pipe.c: Include <windows.h>.
13673         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close() result.
13674
13675         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
13676         from main.
13677         (test_pipe): Pass an extra argument for disambiguation.
13678         (main): Invoke parent_main or child_main.
13679
13680         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
13681         consistently.
13682
13683 2009-07-18  Eric Blake  <ebb9@byu.net>
13684
13685         test-pipe: fix mingw build
13686         * tests/test-pipe.c (main): Avoid fcntl on mingw.
13687
13688 2009-07-18  Bruno Haible  <bruno@clisp.org>
13689
13690         * modules/pipe-tests (Makefile.am): Fix typo.
13691
13692 2009-07-18  Eric Blake  <ebb9@byu.net>
13693
13694         error: fix mingw build
13695         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
13696         Reported by Bruno Haible.
13697
13698         error: avoid undefined use of stdout
13699         * lib/error.c (error, error_at_line): Check that fd 1 is open
13700         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
13701         is handling faults and the close_stdout module wants to report the
13702         detection of closed stdout as an error.
13703
13704 2009-07-17  Eric Blake  <ebb9@byu.net>
13705
13706         pipe: be robust in face of closed fds
13707         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
13708         should cause child to misbehave.
13709         * modules/pipe-tests: New module.
13710         * tests/test-pipe.c: New file.
13711         * tests/test-pipe.sh: New file.
13712         Reported by Akim Demaille.
13713
13714 2009-07-14  Bruno Haible  <bruno@clisp.org>
13715
13716         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
13717         Reported by anonymous kc.
13718
13719 2009-07-07  Jim Meyering  <meyering@redhat.com>
13720
13721         maint.mk: don't look for translatable strings in *.m4 or *.mk
13722         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
13723         when searching for translatable strings.
13724
13725 2009-07-05  Jim Meyering  <meyering@redhat.com>
13726
13727         remove superfluous parentheses in STREQ definition
13728         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
13729         * lib/getugroups.c (STREQ): Likewise.
13730         * lib/fnmatch.c (STREQ): Likewise.
13731         Spotted by Bruno Haible.
13732
13733 2009-07-04  Jim Meyering  <meyering@redhat.com>
13734
13735         argv-iter: new module
13736         * MODULES.html.sh: Add argv-iter.
13737         * lib/argv-iter.c, lib/argv-iter.h: New files.
13738         * modules/argv-iter: New file.
13739         * modules/argv-iter-tests: New file.
13740         * tests/test-argv-iter.c: Test it.
13741
13742 2009-07-04  Bruno Haible  <bruno@clisp.org>
13743
13744         Fix assertion.
13745         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
13746         contains more exact copies of a given entry than file2, leave the extra
13747         copies unpaired rather than aborting.
13748         Reported by Eric Blake.
13749
13750 2009-07-02  Bruno Haible  <bruno@clisp.org>
13751
13752         Speedup git-merge-changelog for git cherry-pick.
13753         * lib/git-merge-changelog.c (struct entries_mapping): New type.
13754         (entries_mapping_get): New function, extracted from compute_mapping.
13755         (entries_mapping_reverse_get): New function.
13756         (compute_mapping): Add a 'full' argument. Return the result in a
13757         'struct entries_mapping'.
13758         (main): Update. Access the mappings through entries_mapping_get.
13759         Reported by Eric Blake.
13760
13761 2009-07-02  Bruno Haible  <bruno@clisp.org>
13762
13763         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
13764         best_i.
13765
13766 2009-07-02  Bruno Haible  <bruno@clisp.org>
13767
13768         Speed up approximate search for matching ChangeLog entries.
13769         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
13770         argument. Call fstrcmp_bounded instead of fstrcmp.
13771         (compute_mapping, try_split_merged_entry, main): Update callers.
13772
13773 2009-07-02  Bruno Haible  <bruno@clisp.org>
13774
13775         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
13776
13777 2009-06-30  Bruno Haible  <bruno@clisp.org>
13778
13779         Reduce the number of uc_is_cased calls.
13780         * lib/unicase.h (casing_suffix_context_t): Add
13781         'first_char_except_ignorable' field.
13782         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
13783         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
13784         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
13785         Update initializer.
13786         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
13787         case-ignorable characters.
13788         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
13789         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
13790         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
13791         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
13792         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
13793
13794 2009-06-30  Bruno Haible  <bruno@clisp.org>
13795
13796         Tests for module 'unicase/ignorable'.
13797         * modules/unicase/ignorable-tests: New file.
13798         * tests/unicase/test-ignorable.c: New file, generated by
13799         gen-uni-tables.
13800
13801         Tests for module 'unicase/cased'.
13802         * modules/unicase/cased-tests: New file.
13803         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
13804         * tests/unicase/test-predicate-part1.h: New file, derived from
13805         tests/unictype/test-predicate-part1.h.
13806         * tests/unicase/test-predicate-part2.h: New file, same as
13807         tests/unictype/test-predicate-part2.h.
13808
13809         Fix evaluation of "Before C" condition of FINAL_SIGMA.
13810         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
13811         (output_casing_properties): New function.
13812         (main): Call it.
13813         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
13814         * lib/unicase/cased.c: Include unictype/bitmap.h.
13815         (uc_is_cased): Define through a bitmap lookup.
13816         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
13817         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
13818         (uc_is_case_ignorable): Define through a bitmap lookup.
13819         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
13820         lib/unictype/bitmap.h.
13821         (Depends-on): Add inline. Clean up.
13822         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
13823         lib/unictype/bitmap.h.
13824         (Depends-on): Add inline. Clean up.
13825         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
13826         recognition.
13827         * tests/unicase/test-u16-tolower.c (main): Likewise.
13828         * tests/unicase/test-u32-tolower.c (main): Likewise.
13829
13830 2009-06-30  Bruno Haible  <bruno@clisp.org>
13831
13832         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
13833         * lib/unicase/u16-casemap.c: Likewise.
13834         * lib/unicase/u32-casemap.c: Likewise.
13835
13836 2009-06-29  Bruno Haible  <bruno@clisp.org>
13837
13838         Define u32_casefold as a wrapper around u32_ct_casefold.
13839         * lib/unicase/u32-casefold.c: Update.
13840         * modules/unicase/u32-casefold (Depends-on): Add
13841         unicase/u32-ct-casefold, unicase/empty-prefix-context,
13842         unicase/empty-suffix-context. Clean up.
13843
13844         Define u16_casefold as a wrapper around u16_ct_casefold.
13845         * lib/unicase/u16-casefold.c: Update.
13846         * modules/unicase/u16-casefold (Depends-on): Add
13847         unicase/u16-ct-casefold, unicase/empty-prefix-context,
13848         unicase/empty-suffix-context. Clean up.
13849
13850         Define u8_casefold as a wrapper around u8_ct_casefold.
13851         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
13852         * lib/unicase/u8-casefold.c: Update.
13853         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
13854         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
13855
13856         Define u32_totitle as a wrapper around u32_ct_totitle.
13857         * lib/unicase/u32-totitle.c: Update.
13858         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
13859         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
13860
13861         Define u16_totitle as a wrapper around u16_ct_totitle.
13862         * lib/unicase/u16-totitle.c: Update.
13863         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
13864         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
13865
13866         Define u8_totitle as a wrapper around u8_ct_totitle.
13867         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
13868         functions.
13869         (FUNC): Delegate to U_CT_TOTITLE.
13870         * lib/unicase/u8-totitle.c: Update.
13871         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
13872         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
13873
13874         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
13875         invocation.
13876         * modules/unicase/u32-tolower (Depends-on): Add
13877         unicase/empty-prefix-context, unicase/empty-suffix-context.
13878
13879         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
13880         invocation.
13881         * modules/unicase/u16-tolower (Depends-on): Add
13882         unicase/empty-prefix-context, unicase/empty-suffix-context.
13883
13884         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
13885         * modules/unicase/u8-tolower (Depends-on): Add
13886         unicase/empty-prefix-context, unicase/empty-suffix-context.
13887
13888         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
13889         invocation.
13890         * modules/unicase/u32-toupper (Depends-on): Add
13891         unicase/empty-prefix-context, unicase/empty-suffix-context.
13892
13893         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
13894         invocation.
13895         * modules/unicase/u16-toupper (Depends-on): Add
13896         unicase/empty-prefix-context, unicase/empty-suffix-context.
13897
13898         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
13899         * modules/unicase/u8-toupper (Depends-on): Add
13900         unicase/empty-prefix-context, unicase/empty-suffix-context.
13901
13902         New module 'unicase/u32-ct-casefold'.
13903         * lib/unicase/u32-ct-casefold.c: New file.
13904         * modules/unicase/u32-ct-casefold: New file.
13905
13906         New module 'unicase/u16-ct-casefold'.
13907         * lib/unicase/u16-ct-casefold.c: New file.
13908         * modules/unicase/u16-ct-casefold: New file.
13909
13910         New module 'unicase/u8-ct-casefold'.
13911         * lib/unicase/u8-ct-casefold.c: New file.
13912         * lib/unicase/u-ct-casefold.h: New file, derived from
13913         lib/unicase/u-casefold.h.
13914         * modules/unicase/u8-ct-casefold: New file.
13915
13916         New module 'unicase/u32-ct-totitle'.
13917         * lib/unicase/u32-ct-totitle.c: New file.
13918         * modules/unicase/u32-ct-totitle: New file.
13919
13920         New module 'unicase/u16-ct-totitle'.
13921         * lib/unicase/u16-ct-totitle.c: New file.
13922         * modules/unicase/u16-ct-totitle: New file.
13923
13924         New module 'unicase/u8-ct-totitle'.
13925         * lib/unicase/u8-ct-totitle.c: New file.
13926         * lib/unicase/u-ct-totitle.h: New file, derived from
13927         lib/unicase/u-totitle.h.
13928         * modules/unicase/u8-ct-totitle: New file.
13929
13930         New module 'unicase/u32-ct-tolower'.
13931         * lib/unicase/u32-ct-tolower.c: New file.
13932         * modules/unicase/u32-ct-tolower: New file.
13933
13934         New module 'unicase/u16-ct-tolower'.
13935         * lib/unicase/u16-ct-tolower.c: New file.
13936         * modules/unicase/u16-ct-tolower: New file.
13937
13938         New module 'unicase/u8-ct-tolower'.
13939         * lib/unicase/u8-ct-tolower.c: New file.
13940         * modules/unicase/u8-ct-tolower: New file.
13941
13942         New module 'unicase/u32-ct-toupper'.
13943         * lib/unicase/u32-ct-toupper.c: New file.
13944         * modules/unicase/u32-ct-toupper: New file.
13945
13946         New module 'unicase/u16-ct-toupper'.
13947         * lib/unicase/u16-ct-toupper.c: New file.
13948         * modules/unicase/u16-ct-toupper: New file.
13949
13950         New module 'unicase/u8-ct-toupper'.
13951         * lib/unicase/u8-ct-toupper.c: New file.
13952         * modules/unicase/u8-ct-toupper: New file.
13953
13954         Add context arguments to u*_casemap functions.
13955         * lib/unicase/unicasemap.h: Include unicase.h.
13956         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
13957         suffix_context arguments.
13958         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
13959         functions.
13960         (FUNC): Add prefix_context and suffix_context arguments. Use
13961         uc_is_cased and uc_is_case_ignorable.
13962         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
13963         * lib/unicase/u16-casemap.c: Likewise.
13964         * lib/unicase/u32-casemap.c: Likewise.
13965         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
13966         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
13967         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
13968         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
13969         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
13970         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
13971
13972         New module 'unicase/u32-suffix-context'.
13973         * lib/unicase/u32-suffix-context.c: New file.
13974         * modules/unicase/u32-suffix-context: New file.
13975
13976         New module 'unicase/u16-suffix-context'.
13977         * lib/unicase/u16-suffix-context.c: New file.
13978         * modules/unicase/u16-suffix-context: New file.
13979
13980         New module 'unicase/u8-suffix-context'.
13981         * lib/unicase/u8-suffix-context.c: New file.
13982         * lib/unicase/u-suffix-context.h: New file.
13983         * modules/unicase/u8-suffix-context: New file.
13984
13985         New module 'unicase/empty-suffix-context'.
13986         * lib/unicase/empty-suffix-context.c: New file.
13987         * modules/unicase/empty-suffix-context: New file.
13988
13989         New module 'unicase/u32-prefix-context'.
13990         * lib/unicase/u32-prefix-context.c: New file.
13991         * modules/unicase/u32-prefix-context: New file.
13992
13993         New module 'unicase/u16-prefix-context'.
13994         * lib/unicase/u16-prefix-context.c: New file.
13995         * modules/unicase/u16-prefix-context: New file.
13996
13997         New module 'unicase/u8-prefix-context'.
13998         * lib/unicase/u8-prefix-context.c: New file.
13999         * lib/unicase/u-prefix-context.h: New file.
14000         * lib/unicase/context.h: New file.
14001         * modules/unicase/u8-prefix-context: New file.
14002
14003         New module 'unicase/empty-prefix-context'.
14004         * lib/unicase/empty-prefix-context.c: New file.
14005         * modules/unicase/empty-prefix-context: New file.
14006
14007         New module 'unicase/ignorable'.
14008         * lib/unicase/ignorable.c: New file.
14009         * modules/unicase/ignorable: New file.
14010
14011         New module 'unicase/cased'.
14012         * lib/unicase/caseprop.h: New file.
14013         * lib/unicase/cased.c: New file.
14014         * modules/unicase/cased: New file.
14015
14016         New functions for case mapping of substrings.
14017         * lib/unicase.h (casing_prefix_context_t): New type.
14018         (unicase_empty_prefix_context): New variable.
14019         (u8_casing_prefix_context, u16_casing_prefix_context,
14020         u32_casing_prefix_context, u8_casing_prefixes_context,
14021         u16_casing_prefixes_context, u32_casing_prefixes_context): New
14022         declarations.
14023         (casing_suffix_context_t): New type.
14024         (unicase_empty_suffix_context): New variable.
14025         (u8_casing_suffix_context, u16_casing_suffix_context,
14026         u32_casing_suffix_context, u8_casing_suffixes_context,
14027         u16_casing_suffixes_context, u32_casing_suffixes_context,
14028         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
14029         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
14030         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
14031         declarations.
14032
14033 2009-06-28  Jim Meyering  <meyering@redhat.com>
14034
14035         boostrap: indent only with spaces
14036         * build-aux/bootstrap: Indent only with spaces, never TABs.
14037
14038         bootstrap: split long lines
14039         * build-aux/bootstrap: Keep line length < 80.
14040
14041         bootstrap: sync from coreutils
14042         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
14043         just as autoreconf does.  Verify a list of prerequisite
14044         package-name,version-number pairs if defined in bootstrap.conf.
14045         Refer to README-prereq, if prerequisites are not satisfied.
14046
14047 2009-06-27  Eric Blake  <ebb9@byu.net>
14048
14049         tests: add test for bogus NULL definition
14050         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
14051         * tests/test-stdlib.c: Likewise.
14052         * tests/test-string.c: Likewise.
14053         * tests/test-locale.c: Likewise.
14054         * tests/test-unistd.c: Likewise.
14055         * modules/stdio-tests (Depends-on): Add verify.
14056         * modules/stdlib-tests (Depends-on): Likewise.
14057         * modules/string-tests (Depends-on): Likewise.
14058         * modules/locale-tests (Depends-on): Likewise.
14059         * modules/unistd-tests (Depends-on): Likewise.
14060
14061 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
14062
14063         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
14064         self-explaining comment.
14065         * m4/selinux-selinux-h: Update serial.
14066         (gl_LIBSELINUX): New macro, adding a warning for missing development
14067         packages to code extracted from...
14068         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
14069         Add warning for missing development packages here, too.
14070
14071 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
14072
14073         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
14074
14075 2009-06-25  Eric Blake  <ebb9@byu.net>
14076
14077         version-etc: fix regression
14078         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
14079         gcc.
14080         (version_etc): Use it, to catch bugs with trailing NULL.
14081         * lib/version-etc.c (version_etc_arn): Delete unused argument.
14082         (version_etc_va): Fix logic bug.
14083         * modules/version-etc-tests: Add test.
14084         * tests/test-version-etc.c: New file.
14085         * tests/test-version-etc.sh: Likewise.
14086
14087 2009-06-25  Sam Steingold  <sds@gnu.org>
14088
14089         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
14090         mbtowc declaration.
14091
14092 2009-06-25  Eric Blake  <ebb9@byu.net>
14093
14094         fpurge: migrate into <stdio.h>
14095         * lib/fpurge.h: Delete...
14096         * lib/stdio.in.h (fpurge): ...and declare here, instead.
14097         * lib/fpurge.c (fpurge): Change declaring header.
14098         * modules/fpurge (Files): Drop deleted file.
14099         (Depends-on): Add stdio.
14100         (configure.ac): Set witness.
14101         * modules/stdio (Makefile.am): Support fpurge macros.
14102         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
14103         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
14104         * lib/fflush.c: Update client.
14105         * tests/test-fpurge.c: Likewise.
14106         * NEWS: Mention the change.
14107
14108 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
14109
14110         * lib/argp-version-etc.c (program_authors): Add const
14111         qualifier.
14112         * lib/version-etc.c: Fix typos in the comments.
14113         * modules/argp-version-etc: Depends on version-etc.
14114
14115 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
14116
14117         argp-version-etc: new module.
14118
14119         * lib/argp-version-etc.c: New file.
14120         * lib/argp-version-etc.h: New file.
14121         * modules/argp-version-etc: New file.
14122         * modules/argp-version-etc-tests: New file.
14123         * tests/test-argp-version-etc.c: New test.
14124         * tests/test-argp-version-etc-1.sh: New test.
14125
14126 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
14127
14128         Provide additional interfaces and documentation for version-etc
14129         module.
14130
14131         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
14132         interfaces.
14133         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
14134         prototypes.
14135
14136 2009-06-24  Bruno Haible  <bruno@clisp.org>
14137
14138         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
14139         HAVE_LIB${NAME} macro.
14140         Reported by Sam Steingold <sds@gnu.org>.
14141
14142 2009-06-23  Simon Josefsson  <simon@josefsson.org>
14143
14144         * modules/hash-tests (test_hash_LDADD): Link to libintl when
14145         needed.
14146
14147 2009-06-21  Bruno Haible  <bruno@clisp.org>
14148
14149         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
14150         work.
14151         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
14152         together with LIB${NAME}, LTLIB${NAME}.
14153         Reported by Sam Steingold <sds@gnu.org>.
14154
14155 2009-06-20  Jim Meyering  <meyering@redhat.com>
14156
14157         tests: make sc_require_test_exit_idiom more generic
14158         * top/maint.mk (Exit_witness_file): New overridable variable.
14159         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
14160         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
14161
14162 2009-06-19  Jim Meyering  <meyering@redhat.com>
14163
14164         hash: reverse order of src/dst parameters in an internal interface
14165         * lib/hash.c (transfer_entries): Reverse order of parameters to
14166         put DST before SRC.  Adjust callers.
14167
14168         tests: test-hash: avoid wholesale duplication
14169         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
14170         Instead, use a loop and add a single conditional.
14171
14172         tests: test-hash: allow seed selection via a command line argument
14173         * tests/test-hash.c (get_seed): New function.
14174         (main): Use it.
14175
14176 2009-06-19  Eric Blake  <ebb9@byu.net>
14177
14178         hash: avoid memory leak on allocation failure
14179         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
14180         failure.  Factor repeated algorithm...
14181         (transfer_entries): ...into new helper routine.
14182         (hash_delete): React to hash_rehash return value.
14183
14184         hash: reduce memory pressure in hash_rehash no-op case
14185         * lib/hash.c (next_prime): Avoid overflow.
14186         (hash_initialize): Factor bucket size computation...
14187         (compute_bucket_size): ...into new helper function.
14188         (hash_rehash): Use new function and open coding to reduce memory
14189         pressure, and avoid a memory leak in USE_OBSTACK code.
14190         Reported by Jim Meyering.
14191
14192 2009-06-18  Eric Blake  <ebb9@byu.net>
14193
14194         hash: make rotation more obvious
14195         * modules/hash (Depends-on): Add bitrotate and stdint.
14196         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
14197         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
14198         (SIZE_MAX): Rely on headers for definition.
14199         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
14200         (raw_hasher): Use rotr_sz.
14201         Suggested by Jim Meyering.
14202
14203         hash: fix memory leak in last patch
14204         * lib/hash.c (hash_rehash): Avoid memory leak.
14205
14206         hash: avoid no-op rehashing
14207         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
14208
14209         hash: provide default callback functions
14210         * lib/hash.c (raw_hasher, raw_comparator): New functions.
14211         (hash_initialize): Use them as defaults.
14212         * tests/test-hash.c (main): Test this.
14213
14214         hash: minor optimization
14215         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
14216         when possible.
14217         (hash_initialize): Document this promise.
14218         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
14219         * tests/test-hash.c (hash_compare_strings): Test this.
14220
14221 2009-06-18  Bruno Haible  <bruno@clisp.org>
14222
14223         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
14224         going to be replaced anyway.
14225
14226 2009-06-18  Bruno Haible  <bruno@clisp.org>
14227
14228         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
14229         in one place.
14230         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
14231         be replaced anyway.
14232
14233 2009-06-18  Eric Blake  <ebb9@byu.net>
14234
14235         hash: check for resize before insertion
14236         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
14237         threshold before insertion, so that a pathological hash_rehash
14238         that fills every bucket can still trigger another rehash.
14239
14240 2009-06-18  Jim Meyering  <meyering@redhat.com>
14241
14242         hash-tests: add a loop around the small tests
14243         * tests/test-hash.c (main): Repeat small tests with selected
14244         small initial table sizes.
14245
14246 2009-06-17  Eric Blake  <ebb9@byu.net>
14247
14248         hash: minor cleanups
14249         * lib/hash.h (hash_entry): Make opaque, by moving...
14250         * lib/hash.c (hash_entry): ...here.
14251         (hash_insert): Clarify restrictions on what can be inserted.
14252         (hash_get_next): Clarify when it is safe to remove an element
14253         during traversal.
14254         (check_tuning): Skip verification when tuning is known safe.
14255         (hash_initialize): Clarify restrictions on tuning.
14256
14257 2009-06-17  Jim Meyering  <jim@meyering.net>
14258         and Eric Blake  <ebb9@byu.net>
14259
14260         hash-tests: new module
14261         * modules/hash-tests: New file.
14262         * tests/test-hash.c: New file.
14263
14264 2009-06-17  Eric Blake  <ebb9@byu.net>
14265
14266         strstr-simple: document new module
14267         * MODULES.html.sh: Document new module.
14268
14269         strstr, strcasestr: replace on platforms with broken memchr
14270         * modules/strstr: Split into...
14271         * modules/strstr-simple: ...new module that does not care about
14272         performance, but does care about glibc bug.
14273         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
14274         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
14275         if platform memchr is broken, per Debian bug 521737.
14276         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
14277         memchr.
14278         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
14279         * doc/posix-functions/strstr.texi (strstr): Document the fix.
14280         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
14281         * modules/mountlist (Depends-on): Add strstr-simple.
14282         * modules/gen-uni-tables (Depends-on): Likewise.
14283         * modules/argz (Depends-on): Add strstr.
14284
14285 2009-06-17  Bruno Haible  <bruno@clisp.org>
14286
14287         * modules/posix_spawn-internal (Depends-on): Add errno.
14288
14289 2009-06-17  Bruno Haible  <bruno@clisp.org>
14290
14291         Define missing ESTALE on Interix 3.5.
14292         * lib/errno.in.h (ESTALE): Assign a value if missing.
14293         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
14294         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
14295         missing.
14296         * doc/posix-headers/errno.texi: Mention the Interix bug.
14297         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
14298
14299 2009-06-15  Eric Blake  <ebb9@byu.net>
14300
14301         memchr, memchr2: add valgrind exception
14302         * lib/memchr.valgrind: New file.
14303         * lib/memchr2.valgrind: New file.
14304         * modules/memchr (Files): Distribute valgrind file.
14305         * modules/memchr2 (Files): Likewise.
14306
14307         docs: memchr is no longer obsolete
14308         * MODULES.html.sh: Move memchr from obsolete to string.h section.
14309         * lib/string.in.h (memchr): Simplify logic.
14310
14311 2009-06-14  Jim Meyering  <meyering@redhat.com>
14312
14313         link-follow: fix the "checking..." message to not mention trailing slash
14314         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
14315         never considered trailing slashes.
14316
14317 2009-06-14  Bruno Haible  <bruno@clisp.org>
14318
14319         * m4/memchr.m4: Mention also the bug on IA-64.
14320         * doc/posix-functions/memchr.texi: Likewise.
14321
14322 2009-06-12  Eric Blake  <ebb9@byu.net>
14323
14324         memchr: detect broken x86_64 and alpha implementations
14325         * modules/memchr-tests (Depends-on): Move mmap detection...
14326         * modules/memchr (Depends-on): ...here.
14327         (configure.ac): Set indicator.
14328         * lib/string.in.h (memchr): Declare replacement.
14329         * modules/string (Makefile.am): Trigger replacement.
14330         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
14331         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
14332         bugs.
14333         * doc/posix-functions/memchr.texi (memchr): Document the bug.
14334         * modules/getpagesize (License): Relax license.
14335
14336 2009-06-11  Bruno Haible  <bruno@clisp.org>
14337
14338         * lib/idpriv.h: Add more references.
14339
14340 2009-06-08  Bruno Haible  <bruno@clisp.org>
14341
14342         Tests for module 'idpriv-droptemp'.
14343         * modules/idpriv-droptemp-tests: New file.
14344         * tests/test-idpriv-droptemp.sh: New file.
14345         * tests/test-idpriv-droptemp.su.sh: New file.
14346         * tests/test-idpriv-droptemp.c: New file.
14347
14348         New module 'idpriv-droptemp'.
14349         * lib/idpriv-droptemp.c: New file.
14350         * modules/idpriv-droptemp: New file.
14351
14352 2009-06-08  Bruno Haible  <bruno@clisp.org>
14353
14354         Tests for module 'idpriv-drop'.
14355         * modules/idpriv-drop-tests: New file.
14356         * tests/test-idpriv-drop.sh: New file.
14357         * tests/test-idpriv-drop.su.sh: New file.
14358         * tests/test-idpriv-drop.c: New file.
14359
14360         New module 'idpriv-drop'.
14361         * lib/idpriv.h: New file.
14362         * lib-idpriv-drop.c: New file.
14363         * m4/idpriv.m4: New file.
14364         * modules/idpriv-drop: New file.
14365
14366 2009-06-08  Bruno Haible  <bruno@clisp.org>
14367
14368         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
14369         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
14370         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
14371         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
14372         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
14373         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
14374         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
14375
14376 2009-06-08  Eric Blake  <ebb9@byu.net>
14377
14378         test-strstr: use memory fence, when possible
14379         * tests/test-strstr.c (main): Use memory fence, in order to be
14380         more likely to trigger Debian bug 521737.
14381         * modules/strstr-tests (Files): Pull in additional files.
14382
14383         memchr: no longer obsolete, for wider field testing
14384         * modules/memchr (Status, Notice): Delete, this module is no
14385         longer obsolete.
14386         * modules/vasnprintf (Depends-on): Add memchr.
14387
14388 2009-06-07  Jim Meyering  <meyering@redhat.com>
14389
14390         hash: declare some functions with the warn_unused_result attribute
14391         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
14392
14393 2009-06-07  Bruno Haible  <bruno@clisp.org>
14394
14395         * tests/test-alignof.c: Don't test int64_t if it does not exist.
14396         Reported by Eric Blake.
14397
14398 2009-06-06  Eric Blake  <ebb9@byu.net>
14399
14400         test-alignof: fix typo with long double
14401         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
14402         compiler error.
14403
14404 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
14405
14406         Escape non-texinfo { and }s.
14407         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
14408         markup error.
14409
14410 2009-06-04  Jim Meyering  <meyering@redhat.com>
14411
14412         gitlog-to-changelog: don't infloop on an empty commit log
14413         * build-aux/gitlog-to-changelog: Warn about an empty log message.
14414         Reported by Boris Petersen <transacid@centerim.org>.
14415
14416 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
14417
14418         version-etc: extend for packagers
14419         Add three new configure options, intended for packagers:
14420           --with-packager="packager name"
14421           --with-packager-version="packager-specific version"
14422           --with-packager-bug-reports="packager bug reporting"
14423         An example with coreutils:
14424           $ ./configure \
14425             --with-packager=Gentoo \
14426             --with-packager-bug-report=http://bugs.gentoo.org/ \
14427             --with-packager-version="patchset 1.6"
14428           $ ./src/ls --version | head -n2
14429           ls (GNU coreutils) 7.1-dirty
14430           Packaged by Gentoo (patchset 1.6)
14431         Note that the bug reporting info via --help doesn't show up because
14432         coreutils uses its own custom emit_bug_reporting_address() implementation
14433         in src/system.h.  If it didn't, it'd look like:
14434           $ ./src/ls --help | tail -n4
14435           Report bugs to <bug-coreutils@gnu.org>.
14436           Report Gentoo bugs to <http://bugs.gentoo.org/>.
14437           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
14438           General help using GNU software: <http://www.gnu.org/gethelp/>.
14439         * lib/version-etc.c: Print new information, if provided.
14440         * m4/version-etc.m4: New file.
14441         * modules/version-etc (Files): Add m4/version-etc.m4.
14442         (configure.ac): Add gl_VERSION_ETC.
14443
14444 2009-05-31  Bruno Haible  <bruno@clisp.org>
14445
14446         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
14447         and 'int64_t'.
14448         * modules/alignof-tests (Dependencies): Add stdint.
14449         Reported by Eric Blake.
14450
14451 2009-05-31  Bruno Haible  <bruno@clisp.org>
14452
14453         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
14454         restriction due to compiler bugs.
14455         Reported by Eric Blake.
14456
14457 2009-05-31  Simon Josefsson  <simon@josefsson.org>
14458             Bruno Haible  <bruno@clisp.org>
14459
14460         Fix test-alignof failure.
14461         * lib/alignof.h (alignof_slot): New macro.
14462         (alignof_type): New macro, with the same semantics as the previous
14463         'alignof'.
14464         (alignof): Alias to alignof_slot.
14465         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
14466         check that the results are usable as constant expressions.
14467
14468 2009-05-31  Bruno Haible  <bruno@clisp.org>
14469
14470         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
14471         * tests/test-memchr.c (main): Check that memchr does not read past the
14472         first occurrence of the byte.
14473         * tests/test-strstr.c (main): Update comment.
14474         Suggested by Eric Blake.
14475
14476 2009-05-30  Bruno Haible  <bruno@clisp.org>
14477
14478         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
14479         detail how to use dumpbin.
14480         Reported by David Byron <dbyron@dbyron.com>.
14481
14482 2009-06-02  Simon Josefsson  <simon@josefsson.org>
14483
14484         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
14485
14486 2009-06-02  Simon Josefsson  <simon@josefsson.org>
14487
14488         * m4/manywarnings.m4: Add GCC 4.4 warnings.
14489
14490 2009-05-28  Bruno Haible  <bruno@clisp.org>
14491
14492         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
14493         build-aux/ files.
14494
14495 2009-05-28  Simon Josefsson  <simon@josefsson.org>
14496
14497         * gnulib-tool (func_import): Transform license on build-aux/ files too.
14498
14499 2009-05-27  Simon Josefsson  <simon@josefsson.org>
14500
14501         * gnulib-tool (sed_transform_main_lib_file)
14502         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
14503         regexps.
14504
14505 2009-05-26  Simon Josefsson  <simon@josefsson.org>
14506
14507         * tests/test-strstr.c: Add another self-test.
14508         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
14509         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
14510
14511 2009-05-23  Bruno Haible  <bruno@clisp.org>
14512
14513         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
14514         change.
14515
14516 2009-05-21  Bruno Haible  <bruno@clisp.org>
14517
14518         Simplify use of mode_t varargs.
14519         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
14520         uses 'mode_t' or 'int'.
14521         * lib/openat.c (openat): Likewise.
14522         * lib/open-safer.c (open_safer): Likewise.
14523         * m4/mode_t.m4: New file.
14524         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
14525         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
14526         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
14527         * modules/open (Files): Add m4/mode_t.m4.
14528         * modules/openat (Files): Likewise.
14529         * modules/fcntl-safer (Files): Likewise.
14530         Suggested by Eric Blake.
14531
14532 2009-05-21  Pádraig Brady  <P@draigbrady.com>
14533
14534         * doc/glibc-functions/fallocate.texi: New file.
14535         * doc/gnulib.texi: Include it.
14536
14537 2009-05-21  Eric Blake  <ebb9@byu.net>
14538             Bruno Haible  <bruno@clisp.org>
14539
14540         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
14541         invocations.
14542         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
14543
14544 2009-05-21  Eric Blake  <ebb9@byu.net>
14545             Bruno Haible  <bruno@clisp.org>
14546
14547         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
14548         include_next. Fix of 2008-11-20 commit.
14549         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
14550         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
14551         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
14552         NEXT_MATH_H.
14553         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
14554         instead of NEXT_MATH_H.
14555
14556 2009-05-21  Bruno Haible  <bruno@clisp.org>
14557
14558         Avoid redefinition warnings for SIZE_MAX.
14559         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
14560         Reported by Simon Josefsson.
14561
14562 2009-05-21  Bruno Haible  <bruno@clisp.org>
14563
14564         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
14565         AC_CACHE_VAL.
14566
14567 2009-05-20  Bruno Haible  <bruno@clisp.org>
14568
14569         Make zeroptr.h work on mingw.
14570         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
14571         mprotect.
14572         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
14573         * modules/memchr2-tests (configure.ac): Likewise.
14574         * modules/memcmp-tests (configure.ac): Likewise.
14575         * modules/memmem-tests (configure.ac): Likewise.
14576         * modules/memrchr-tests (configure.ac): Likewise.
14577         Reported by Simon Josefsson.
14578
14579 2009-05-20  Simon Josefsson  <simon@josefsson.org>
14580
14581         * tests/test-glob.c: Include string.h for strcmp prototype.
14582
14583 2009-05-20  Simon Josefsson  <simon@josefsson.org>
14584
14585         * modules/getdelim (Depends-on): Add explicit stdint, although it
14586         was implicitly already pulled in via realloc-posix.
14587         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
14588
14589 2009-05-20  Simon Josefsson  <simon@josefsson.org>
14590
14591         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
14592         G. Christensen" <tgc@jupiterrise.com>.
14593         * m4/sys_socket_h.m4: Check for sa_family_t.
14594         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
14595         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
14596         * tests/test-sys_socket.c: Check that sa_family_t works.
14597
14598 2009-05-18  Eric Blake  <ebb9@byu.net>
14599
14600         maint.mk: allow gnulib_dir in VPATH build
14601         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
14602
14603 2009-05-15  Jim Meyering  <meyering@redhat.com>
14604
14605         maint.mk: Give gnulib_dir a default definition.
14606         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
14607         Thus, most packages no longer need to specify this variable in cfg.mk
14608
14609 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
14610
14611         rename.m4: fix typos that would make non-mingw cross-configure fail
14612         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
14613
14614 2009-05-13  Eric Blake  <ebb9@byu.net>
14615
14616         mmap-anon: avoid out-of-order autoconf expansion
14617         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
14618         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
14619         * modules/memchr-tests (Depends-on): Add extensions.
14620         * modules/memchr2-tests (Depends-on): Add extensions.
14621         * modules/memcmp-tests (Depends-on): Add extensions.
14622         * modules/memmem-tests (Depends-on): Add extensions.
14623         * modules/memrchr-tests (Depends-on): Add extensions.
14624
14625 2009-05-13  Bruno Haible  <bruno@clisp.org>
14626
14627         Make some tests ISO C 99 compliant.
14628         * tests/zerosize-ptr.h: New file.
14629         * tests/test-memchr.c: Include zerosize-ptr.h.
14630         (main): Use a zero-size object pointer instead of NULL.
14631         * tests/test-memchr2.c: Include zerosize-ptr.h.
14632         (main): Use a zero-size object pointer instead of NULL.
14633         * tests/test-memcmp.c: Include zerosize-ptr.h.
14634         (main): Use a zero-size object pointer instead of NULL.
14635         * tests/test-memmem.c: Include zerosize-ptr.h.
14636         (main): Use a zero-size object pointer instead of NULL.
14637         * tests/test-memrchr.c: Include zerosize-ptr.h.
14638         (main): Use a zero-size object pointer instead of NULL.
14639         * modules/memchr-tests (Files): Add tests/zerosize-ptr.h,
14640         m4/mmap-anon.m4.
14641         (Depends-on): Add getpagesize.
14642         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
14643         * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h,
14644         m4/mmap-anon.m4.
14645         (Depends-on): Add getpagesize.
14646         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
14647         * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h,
14648         m4/mmap-anon.m4.
14649         (Depends-on): Add getpagesize.
14650         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
14651         * modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
14652         m4/mmap-anon.m4.
14653         (Depends-on): Add getpagesize.
14654         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
14655         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
14656         m4/mmap-anon.m4.
14657         (Depends-on): Add getpagesize.
14658         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
14659
14660 2009-05-12  Bruno Haible  <bruno@clisp.org>
14661
14662         Tests for module 'alignof'.
14663         * modules/alignof-tests: New file.
14664         * tests/test-alignof.c: New file.
14665
14666 2009-05-12  Bruno Haible  <bruno@clisp.org>
14667
14668         Fix alignof macro.
14669         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
14670         vendor compilers that are always correct.
14671
14672 2009-05-12  Bruno Haible  <bruno@clisp.org>
14673
14674         Make the MAP_ANONYMOUS detection work on HP-UX 11.
14675         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
14676         not whether its fully works.
14677
14678 2009-05-12  Bruno Haible  <bruno@clisp.org>
14679
14680         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
14681
14682 2009-05-12  Jim Meyering  <meyering@redhat.com>
14683
14684         * top/maint.mk: Adjust backslash alignment.
14685
14686 2009-05-11  Simon Josefsson  <simon@josefsson.org>
14687
14688         * top/maint.mk: Make $(srcdir)/build-aux configurable.
14689
14690 2009-05-11  Eric Blake  <ebb9@byu.net>
14691
14692         argp: avoid undefined behavior
14693         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
14694         macros.
14695
14696 2009-05-08  Simon Josefsson  <simon@josefsson.org>
14697
14698         * tests/test-vc-list-files-git.sh: Do git config of user.email and
14699         user.name to prevent git commit from complaining.
14700
14701 2009-05-10  Bruno Haible  <bruno@clisp.org>
14702
14703         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
14704         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
14705         it rewrites every file name only once.
14706         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
14707
14708 2009-05-08  Bruno Haible  <bruno@clisp.org>
14709
14710         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
14711         instead of 'max'.
14712
14713 2009-05-08  Simon Josefsson  <simon@josefsson.org>
14714
14715         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
14716         sockaddr_storage test.
14717
14718 2009-05-07  Simon Josefsson  <simon@josefsson.org>
14719
14720         * modules/sys_socket (Makefile.am): Substitute
14721         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
14722         * m4/sys_socket_h.m4: Check for sockaddr_storage.
14723         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
14724         * tests/test-sys_socket.c: Check sockaddr_storage.
14725
14726 2009-05-08  Bruno Haible  <bruno@clisp.org>
14727
14728         New module 'alignof'.
14729         * lib/alignof.h: New file.
14730         * modules/alignof: New file.
14731
14732 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
14733             Bruno Haible  <bruno@clisp.org>
14734
14735         Fix test-file-has-acl on FreeBSD.
14736         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
14737         mask is implicitly added.
14738         * tests/test-file-has-acl.c: Include <signal.h>.
14739         (main): Terminate the test after 5 seconds.
14740         * modules/acl-tests (configure.ac): Check for alarm function.
14741
14742 2009-05-04  Bruno Haible  <bruno@clisp.org>
14743
14744         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
14745         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
14746         * modules/errno (configure.ac): Drop AC_REQUIRE.
14747         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
14748         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
14749
14750 2009-05-04  Simon Josefsson  <simon@josefsson.org>
14751
14752         * modules/glob-tests: New module.
14753         * tests/test-glob.c: Add.
14754
14755 2009-05-04  Simon Josefsson  <simon@josefsson.org>
14756
14757         * modules/fnmatch-tests: New module.
14758         * tests/test-fnmatch.c: Add.
14759
14760 2009-05-04  Eric Blake  <ebb9@byu.net>
14761
14762         maint: make the new no-submodule-changes rule VPATH-safe
14763         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
14764
14765 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
14766             Bruno Haible  <bruno@clisp.org>
14767
14768         acl: Fix infinite loop on FreeBSD.
14769         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
14770         of return value from acl_get_entry.
14771         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
14772         Likewise.
14773
14774 2009-05-03  Bruno Haible  <bruno@clisp.org>
14775
14776         * lib/acl-internal.h (acl_entries): Clarify return value.
14777         * lib/acl_entries.c (acl_entries): Likewise.
14778
14779 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
14780
14781         Bug fix in acl module.
14782         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
14783
14784 2009-05-03  Bruno Haible  <bruno@clisp.org>
14785
14786         Create gperf-generated file in the source dir, not in the build dir.
14787         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
14788         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
14789         * modules/unicase/locale-language (unicase/locale-languages.h):
14790         Likewise.
14791         * modules/unicase/special-casing (unicase/special-casing-table.h):
14792         Likewise.
14793         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
14794         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
14795         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
14796         Reported by Ralf Wildenhues.
14797
14798 2009-05-03  Bruno Haible  <bruno@clisp.org>
14799
14800         * modules/fnmatch (Description, configure.ac): Taken from
14801         fnmatch-posix.
14802         * modules/fnmatch-posix: Turn into a symbolic reference to the
14803         'fnmatch' module, and deprecate.
14804         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
14805
14806 2009-05-03  Bruno Haible  <bruno@clisp.org>
14807
14808         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
14809         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
14810         Reported by Ralf Wildenhues.
14811
14812 2009-05-04  Simon Josefsson  <simon@josefsson.org>
14813
14814         * m4/fnmatch.m4: Fix fnmatch re-define.
14815
14816 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
14817
14818         priv-set: new module and tests; adapt write-any-file
14819         * lib/priv-set.c: New file.
14820         * lib/priv-set.h: New file.
14821         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
14822         * lib/write-any-file.c: Simplify by using priv-set module.
14823         * m4/priv-set.m4: New file.
14824         * modules/priv-set: New file.
14825         * modules/unlinkdir: Add dependency on priv-set module.
14826         * modules/write-any-file: Likewise.
14827
14828         Tests for module 'priv-set'.
14829         * modules/priv-set-tests: New file.
14830         * tests/test-priv-set.c: New file.
14831
14832 2009-05-03  Jim Meyering  <meyering@redhat.com>
14833             Bruno Haible  <bruno@clisp.org>
14834
14835         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
14836         use the converted UTF-8 variant of the name instead.
14837
14838 2009-05-03  Jim Meyering  <meyering@redhat.com>
14839
14840         tests: tighten some getdate tests
14841         * tests/test-getdate.c (main): Tighten tests: require equality,
14842         not just greater than.  Set TZ envvar to UTC0.
14843
14844 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
14845
14846         getdate: correctly interpret "next monday" when run on a Monday
14847         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
14848         that e.g., "next tues" (when run on a tuesday) results in a date
14849         that is one week in the future, and not today's date.
14850         I.e., add a week when the wday is the same as the current one.
14851         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
14852         and earlier by Martin Bernreuther and Jan Minář.
14853         * tests/test-getdate.c (main): Check that "next DAY" is always in
14854         the future and that "last DAY" is always in the past.
14855
14856 2009-05-02  Jim Meyering  <meyering@redhat.com>
14857
14858         build: ensure that a release build fails when a submodule is unclean
14859         * top/maint.mk (no-submodule-changes): New rule.
14860         (alpha beta major): Depend on it.
14861
14862 2009-05-02  Bruno Haible  <bruno@clisp.org>
14863
14864         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
14865         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
14866         shell variable gl_fnmatch_required to detect which variant is
14867         requested.
14868         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
14869         gl_FUNC_FNMATCH_POSIX.
14870         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
14871         exclude fnmatch-posix.
14872
14873 2009-05-02  Bruno Haible  <bruno@clisp.org>
14874
14875         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
14876         * modules/mbsrtowcs (License): Change to LGPLv2+.
14877         * modules/strnlen1 (License): Likewise.
14878         Reported by Simon Josefsson.
14879
14880 2009-05-02  Bruno Haible  <bruno@clisp.org>
14881
14882         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
14883         "cross".
14884         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
14885         gnulib-tool was called with option --source-base=lib.
14886
14887 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14888
14889         Use automake *-local hooks without commands, for extensibility.
14890         * modules/localcharset (Makefile.am): Rename install-exec-local
14891         rule to install-exec-localcharset, and make it a prerequisite of
14892         install-exec-local.  Likewise, rename the uninstall-local rule to
14893         uninstall-localcharset, and make it a prerequisite of the former.
14894
14895 2009-05-01  Bruno Haible  <bruno@clisp.org>
14896
14897         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
14898         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
14899         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
14900         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
14901         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
14902         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
14903         m4/locale-zh.m4, m4/codeset.m4.
14904
14905         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
14906         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
14907         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
14908         m4/locale-zh.m4.
14909
14910         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
14911         REPLACE_WCRTOMB if mbstate_t must be replaced.
14912         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
14913         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
14914
14915 2009-05-01  Bruno Haible  <bruno@clisp.org>
14916
14917         Avoid compiler warnings when redefining macros defined by <libintl.h>.
14918         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
14919         dngettext, dcngettext, textdomain, bindtextdomain,
14920         bind_textdomain_codeset): Undefine before redefining.
14921
14922 2009-04-30  Bruno Haible  <bruno@clisp.org>
14923
14924         Fix bug introduced on 2009-04-25.
14925         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
14926         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
14927         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
14928         is defined.
14929         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
14930         is defined.
14931         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
14932         is defined.
14933         Reported by Elbert_Pol <elbert.pol@gmail.com>.
14934
14935 2009-04-28  Bruno Haible  <bruno@clisp.org>
14936
14937         Comment tweaks.
14938         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
14939         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
14940         * lib/unicase.h (u*_casexfrm): Likewise.
14941         Reported by Paolo Bonzini.
14942
14943 2009-04-28  Bruno Haible  <bruno@clisp.org>
14944
14945         Fix a compilation error.
14946         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
14947         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
14948         Reported by Jim Meyering.
14949
14950 2009-04-27  Bruno Haible  <bruno@clisp.org>
14951
14952         New module 'libunistring'.
14953         * modules/libunistring: New file.
14954         * m4/libunistring.m4: New file.
14955         * MODULES.html.sh (Unicode string functions): Add it.
14956
14957 2009-04-27  Eric Blake  <ebb9@byu.net>
14958
14959         maint.mk: allow package-specific header to provide <config.h>
14960         * top/maint.mk (sc_require_config_h): New variable.
14961         (sc_require_config_h, sc_require_config_h_first): Use it.
14962
14963 2009-04-27  Simon Josefsson  <simon@josefsson.org>
14964
14965         * top/maint.mk (sc_avoid_if_before_free): Except
14966         useless-if-before-free script.
14967
14968 2009-04-27  Eric Blake  <ebb9@byu.net>
14969
14970         maintainer-makefile: depend on all required helper scripts
14971         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
14972         useless-if-before-free.
14973         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
14974         version, rather than assuming gnulib checkout is available.
14975         Reported by Simen Josefsson.
14976
14977 2009-04-26  Bruno Haible  <bruno@clisp.org>
14978
14979         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
14980         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
14981         "../" or "..".
14982
14983 2009-04-26  Bruno Haible  <bruno@clisp.org>
14984
14985         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
14986         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
14987         AC_LIB_HAVE_LINKFLAGS.
14988
14989 2009-04-26  Bruno Haible  <bruno@clisp.org>
14990
14991         Simplify calling convention of u*_conv_from_encoding.
14992         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
14993         u32_conv_from_encoding): Expect a resultbuf argument and return the
14994         result directly as a pointer.
14995         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
14996         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
14997         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
14998         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
14999         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
15000         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
15001         Update.
15002         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
15003         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
15004         * lib/vasnprintf.c (VASNPRINTF): Update.
15005         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
15006         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
15007         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
15008         * NEWS: Mention the change.
15009
15010 2009-04-26  Bruno Haible  <bruno@clisp.org>
15011
15012         Simplify calling convention of u*_conv_to_encoding.
15013         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
15014         u32_conv_to_encoding): Expect a resultbuf argument and return the
15015         result directly as a pointer.
15016         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
15017         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
15018         freeing scaled_offsets if mem_iconveha failed.
15019         * lib/unicase/u-casexfrm.h (FUNC): Update.
15020         * lib/uninorm/u-normxfrm.h (FUNC): Update.
15021         * lib/vasnprintf.c (VASNPRINTF): Update.
15022         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
15023         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
15024         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
15025         * NEWS: Mention the change.
15026
15027 2009-04-26  Bruno Haible  <bruno@clisp.org>
15028
15029         Avoid test failures on AIX and OSF/1.
15030         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
15031         malloc(0).
15032         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
15033         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
15034         Likewise.
15035         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
15036         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
15037         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
15038         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
15039         * doc/posix-functions/malloc.texi: Document the portability problem
15040         related to malloc(0).
15041
15042 2009-04-26  Bruno Haible  <bruno@clisp.org>
15043
15044         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
15045         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
15046         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
15047
15048 2009-04-25  Bruno Haible  <bruno@clisp.org>
15049
15050         Avoid link error when creating a namespace clean library.
15051         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
15052         as macro with arguments if already defined as an alias.
15053         * lib/signbitf.c (gl_signbitf): Don't undefine.
15054         * lib/signbitd.c (gl_signbitd): Don't undefine.
15055         * lib/signbitl.c (gl_signbitl): Don't undefine.
15056
15057 2009-04-25  Jim Meyering  <meyering@redhat.com>
15058
15059         vc-list-files: fix another quoting bug
15060         * build-aux/vc-list-files: Avoid sed backslash expansion
15061         of pathological directory names.
15062
15063 2009-04-25  Eric Blake  <ebb9@byu.net>
15064
15065         vc-list-files: fix shell quoting error
15066         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
15067         timestamp.
15068
15069 2009-04-25  Jim Meyering  <meyering@redhat.com>
15070
15071         vc-list-files: restore lost functionality with subdir argument
15072         * build-aux/vc-list-files: When given a non-"." sub-directory
15073         argument, substitute the $dir/ prefix back onto each resulting name.
15074         Otherwise, coreutils' root_tests check would fail.
15075
15076 2009-04-24  Eric Blake  <ebb9@byu.net>
15077
15078         vc-list-files: ignore git symlinks
15079         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
15080         than ls-files, to ignore git symlinks.
15081
15082         maint.mk: import improvements from m4
15083         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
15084         (move_if_change): Delete unused macro.
15085         (news-date-check, vc-diff-check): Support VPATH builds.
15086         (announcement): Likewise.  Split --bootstrap-tools list...
15087         (boostrap-tools): ...into separate list, which can be overridden
15088         in cfg.mk.
15089         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
15090         requiring dependency on useless-if-before-free module.
15091         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
15092         Support VPATH builds.
15093
15094 2009-04-24  Jim Meyering  <meyering@redhat.com>
15095
15096         maint.mk: remove coreutils-specific rules and variables
15097         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
15098         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
15099         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
15100
15101         maint.mk: remove obsolete rule
15102         * top/maint.mk (rel-check): Remove rule.
15103         (WGET, WGETFLAGS): Remove now-unused variables.
15104
15105 2009-04-24  Simon Josefsson  <simon@josefsson.org>
15106
15107         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
15108         consistency.
15109
15110         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
15111         '$(PATH_SEPARATOR)' instead of ':'.
15112
15113 2009-04-24  Simon Josefsson  <simon@josefsson.org>
15114
15115         * lib/getopt1.c (main): Use 'const' for static array.
15116
15117 2009-04-24  Simon Josefsson  <simon@josefsson.org>
15118
15119         * top/maint.mk: Sync with coreutils.
15120         * NEWS: Explain incompatibilities.
15121
15122 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
15123             Bruno Haible  <bruno@clisp.org>
15124
15125         Fix cross-compilation results.
15126         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
15127         statement, as third argument of AC_TRY_RUN.
15128         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
15129         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
15130         Likewise.
15131         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
15132         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
15133         Likewise.
15134         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
15135         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
15136         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
15137
15138 2009-04-20  Bruno Haible  <bruno@clisp.org>
15139
15140         Avoid test failure on mingw.
15141         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
15142
15143 2009-04-20  Bruno Haible  <bruno@clisp.org>
15144
15145         Avoid compilation error on mingw.
15146         * modules/localename-tests (Depends-on): Add locale.
15147
15148 2009-04-19  Bruno Haible  <bruno@clisp.org>
15149
15150         Support for building a shared library on Windows platforms.
15151         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
15152         (main): Test the presence of UNINORM_NFC here.
15153         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
15154         (main): Test the presence of UNINORM_NFD here.
15155         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
15156         (main): Test the presence of UNINORM_NFKC here.
15157         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
15158         (main): Test the presence of UNINORM_NFKD here.
15159
15160 2009-04-19  Bruno Haible  <bruno@clisp.org>
15161
15162         Avoid a compiler warning.
15163         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
15164         Change type of variable 'sequence'.
15165
15166 2009-04-19  Bruno Haible  <bruno@clisp.org>
15167
15168         * modules/configmake (Makefile.am): When the contents of configmake.h
15169         does not change, arrange to preserve its modification time.
15170
15171 2009-04-17  Simon Josefsson  <simon@josefsson.org>
15172
15173         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
15174         gettext domain.
15175
15176 2009-04-16  Jim Meyering  <meyering@redhat.com>
15177
15178         useless-if-before-free: improve conversion code
15179         * build-aux/useless-if-before-free: Adjust code-in-comment to match
15180         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
15181
15182 2009-04-14  Bruno Haible  <bruno@clisp.org>
15183
15184         * modules/fcntl (Depends-on): Add extensions.
15185         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
15186
15187 2009-04-12  Ben Pfaff  <blp@gnu.org>
15188
15189         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
15190         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
15191
15192 2009-03-20  Ben Pfaff  <blp@gnu.org>
15193
15194         Make rename replace existing destinations on Windows.
15195         * m4/rename.m4: Add test for Mingw.
15196         * lib/rename.c: Add rename replacement that uses MoveFileEx with
15197         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
15198         * doc/posix-functions/rename.texi: Document.
15199
15200 2009-04-10  Bruno Haible  <bruno@clisp.org>
15201
15202         New include file "iconveh.h".
15203         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
15204         * lib/striconveh.h: Include it.
15205         (enum iconv_ilseq_handler): Remove definition.
15206         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
15207         striconveh.h.
15208         * lib/striconveha.c: Include striconveh.h.
15209         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
15210         * modules/striconveh (Files): Add lib/iconveh.h.
15211         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
15212         lib/striconveh.h.
15213
15214 2009-04-10  Bruno Haible  <bruno@clisp.org>
15215
15216         * lib/uniconv.h: Update comment.
15217
15218 2009-04-10  Bruno Haible  <bruno@clisp.org>
15219
15220         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
15221         always.
15222         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
15223         * lib/unistr/u16-mbtouc-aux.c: Likewise.
15224         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
15225         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
15226         "unistring-notinline.h", so that the function gets defined always.
15227         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
15228         * lib/unistr/u8-uctomb.c: Likewise.
15229         * lib/unistr/u16-mbtouc.c: Likewise.
15230         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
15231         * lib/unistr/u16-uctomb.c: Likewise.
15232         * lib/unistr/u32-mbtouc.c: Likewise.
15233         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
15234         * lib/unistr/u32-uctomb.c: Likewise.
15235
15236 2009-04-10  Bruno Haible  <bruno@clisp.org>
15237
15238         Mark 'utime' obsolete.
15239         * modules/utime (Status, Notice): New sections.
15240         Suggested by Jim Meyering.
15241
15242         Fix cross-compile guess for utime test.
15243         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
15244         autoconf.
15245         * doc/posix-functions/utime.texi: Give more precisions.
15246         Reported by Jan <ipif@ymail.com>.
15247
15248 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
15249
15250         filevercmp: correct today's change
15251         * lib/filevercmp.c: Also handle coreutils' test inputs.
15252         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
15253
15254         Fix regression in 'filevercmp' module. Thanks Sven Joachim
15255         for reporting it.
15256         * lib/filevercmp.c: Special handle for "", "." and "..".
15257         * tests/test-filevercmp.c: Enlarge the set suite.
15258
15259 2009-04-07  Jim Meyering  <meyering@redhat.com>
15260
15261         useless-if-before-free: show how to remove braced useless free, too
15262         * build-aux/useless-if-before-free: still only in a comment, though.
15263
15264 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
15265
15266         maint.mk: import changes to syntax-check macros from coreutils
15267         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
15268         Use them in the relevant macros.
15269
15270 2009-04-06  Bruno Haible  <bruno@clisp.org>
15271
15272         Fix unportable use of bit-fields.
15273         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
15274         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
15275         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
15276
15277 2009-04-06  Bruno Haible  <bruno@clisp.org>
15278
15279         Avoid test failures on AIX and OSF/1.
15280         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
15281         that malloc(0) = NULL.
15282         * tests/unicase/test-u8-tolower.c (check): Likewise.
15283         * tests/unicase/test-u8-totitle.c (check): Likewise.
15284         * tests/unicase/test-u8-toupper.c (check): Likewise.
15285         * tests/unicase/test-u16-casefold.c (check): Likewise.
15286         * tests/unicase/test-u16-tolower.c (check): Likewise.
15287         * tests/unicase/test-u16-totitle.c (check): Likewise.
15288         * tests/unicase/test-u16-toupper.c (check): Likewise.
15289         * tests/unicase/test-u32-casefold.c (check): Likewise.
15290         * tests/unicase/test-u32-tolower.c (check): Likewise.
15291         * tests/unicase/test-u32-totitle.c (check): Likewise.
15292         * tests/unicase/test-u32-toupper.c (check): Likewise.
15293         * tests/uninorm/test-u8-nfc.c (check): Likewise.
15294         * tests/uninorm/test-u8-nfd.c (check): Likewise.
15295         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
15296         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
15297         * tests/uninorm/test-u16-nfc.c (check): Likewise.
15298         * tests/uninorm/test-u16-nfd.c (check): Likewise.
15299         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
15300         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
15301         * tests/uninorm/test-u32-nfc.c (check): Likewise.
15302         * tests/uninorm/test-u32-nfd.c (check): Likewise.
15303         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
15304         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
15305
15306 2009-04-05  Bruno Haible  <bruno@clisp.org>
15307
15308         Work around an autoconf limitation.
15309         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
15310         comment line if it would be longer than 3 KB.
15311
15312 2009-04-05  Bruno Haible  <bruno@clisp.org>
15313
15314         Avoid test failure with libiconv-1.13.
15315         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
15316         of the expected test results.
15317
15318 2009-04-05  Bruno Haible  <bruno@clisp.org>
15319
15320         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
15321         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
15322         that it should be installed.
15323
15324 2009-04-05  Bruno Haible  <bruno@clisp.org>
15325
15326         * gnulib-tool: New option --copy-file.
15327         (func_usage): Document it.
15328         (func_dest_tmpfilename): Moved out of func_import.
15329         (func_add_file, func_update_file): New functions, extracted from
15330         func_import.
15331         (func_import): Update.
15332
15333 2009-04-05  Karl Berry  <karl@gnu.org>
15334
15335         * README: prominently mention gnulib-tool.
15336         Rearrange sections so getting the code is near the top.
15337
15338 2009-04-05  Bruno Haible  <bruno@clisp.org>
15339
15340         * lib/unicase.h: Mention u*_cmp2.
15341         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
15342         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
15343         * lib/unicase/ulc-casecmp.c: Likewise.
15344         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
15345         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
15346         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
15347         unistr/u8-cmp.
15348         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
15349         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
15350         unistr/u16-cmp.
15351         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
15352         unistr/u32-cmp.
15353
15354         * lib/uninorm.h: Mention u*_cmp2.
15355         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
15356         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
15357         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
15358         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
15359         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
15360         unistr/u8-cmp.
15361         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
15362         unistr/u16-cmp.
15363         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
15364         unistr/u32-cmp.
15365
15366         New module 'unistr/u32-cmp2'.
15367         * lib/unistr/u32-cmp2.c: New file.
15368         * modules/unistr/u32-cmp2: New file.
15369
15370         New module 'unistr/u16-cmp2'.
15371         * lib/unistr/u16-cmp2.c: New file.
15372         * modules/unistr/u16-cmp2: New file.
15373
15374         New module 'unistr/u8-cmp2'.
15375         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
15376         * lib/unistr/u8-cmp2.c: New file.
15377         * lib/unistr/u-cmp2.h: New file.
15378         * modules/unistr/u8-cmp2: New file.
15379
15380 2009-04-05  Bruno Haible  <bruno@clisp.org>
15381
15382         * lib/unictype.h (uc_property_is_valid): New macro.
15383         * tests/unictype/test-pr_byname.c (main): Use it.
15384
15385         * lib/unistr.h: Doc fixes.
15386         * lib/uniconv.h: Doc fixes.
15387         * lib/unictype.h: Doc fixes.
15388
15389 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
15390
15391         Port coreutils 7.2 to Solaris 8.
15392
15393         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
15394         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
15395         for Solaris 8.  This is a bit of a hack, as it means it's the
15396         caller's responsibility to add -lnsl if needed, but most likely it
15397         won't be needed since only getaddrinfo uses this and getaddrinfo
15398         isn't needed on Solaris 8.
15399
15400         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
15401         problem to Solaris 8 encountered with coreutils 7.2, which
15402         resulted in a message "fnmatch.c:292: warning: passing argument 4
15403         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
15404         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
15405
15406 2009-04-03  Simon Josefsson  <simon@josefsson.org>
15407
15408         * m4/ld-version-script.m4: Add FIXME comment.
15409
15410 2009-04-02  Simon Josefsson  <simon@josefsson.org>
15411
15412         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
15413         SOVERSION variable.
15414
15415 2009-04-02  Bruno Haible  <bruno@clisp.org>
15416
15417         * Makefile (info, html, dvi, pdf): Combine the rules.
15418         Suggested by Jim Meyering.
15419
15420 2009-04-01  Bruno Haible  <bruno@clisp.org>
15421
15422         * Makefile (info, html, dvi, pdf): New targets.
15423         Reported by Reuben Thomas <rrt@sc3d.org>.
15424
15425 2009-04-01  Bruno Haible  <bruno@clisp.org>
15426
15427         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
15428         can be put into PATH.
15429         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
15430
15431 2009-04-01  Bruno Haible  <bruno@clisp.org>
15432
15433         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
15434
15435 2009-04-01  Bruno Haible  <bruno@clisp.org>
15436
15437         Rename module 'visibility'.
15438         * modules/lib-symbol-visibility: Renamed from modules/visibility.
15439         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
15440         * doc/gnulib.texi: Update.
15441         * MODULES.html.sh (Misc): Update.
15442         * NEWS: Mention the change.
15443
15444 2009-04-01  Simon Josefsson  <simon@josefsson.org>
15445
15446         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
15447         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
15448         Eric Blake <ebb9@byu.net> for review.
15449         * MODULES.html.sh: Add lib-msvc-compat.
15450         * doc/gnulib.texi: Link to new section.
15451         * m4/ld-output-def.m4: New file.
15452         * doc/ld-output-def.texi: New file.
15453
15454 2009-04-01  Simon Josefsson  <simon@josefsson.org>
15455
15456         Rename ld-version-script to lib-symbol-versions.  Suggested by
15457         Bruno Haible <bruno@clisp.org>.
15458         * modules/ld-version-script: Renamed to lib-symbol-versions.
15459         * doc/ld-version-script.texi: Fix module name.
15460         * MODULES.html.sh: Add lib-symbol-versions.
15461
15462 2009-03-31  Simon Josefsson  <simon@josefsson.org>
15463
15464         * modules/u64-tests: New file.
15465         * tests/test-u64.c: New file.
15466
15467 2009-03-04  Simon Josefsson  <simon@josefsson.org>
15468
15469         * MODULES.html.sh: Mention u64.
15470         * modules/u64: New module.
15471         * modules/crypto/sha512: Depend on u64 module instead of providing
15472         u64.h.
15473
15474 2009-03-27  Eric Blake  <ebb9@byu.net>
15475
15476         test-strerror: make debugging EAI_SYSTEM easier
15477         * modules/getaddrinfo-tests (Depends-on): Add strerror.
15478         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
15479         failure was EAI_SYSTEM.
15480
15481 2009-03-25  Bruno Haible  <bruno@clisp.org>
15482
15483         Fix a problem with --enable-relocatable on Solaris 7.
15484         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
15485         since 2008-02-24.
15486
15487 2009-03-25  Eric Blake  <ebb9@byu.net>
15488
15489         test-sockets: avoid gcc warning
15490         * tests/test-sockets.c (main): Silence compiler warning.
15491
15492 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
15493
15494         New modules nproc, pthread, contributed by Glen Lenker.
15495
15496         * MODULES.html.sh: Add pthread, nproc.
15497         * lib/nproc.c: New file.
15498         * lib/nproc.h: New file.
15499         * lib/pthread.in.h: New file.
15500         * m4/pthread.m4: New file.
15501         * modules/nproc: New file.
15502         * modules/pthread: New file.
15503
15504 2009-03-24  Simon Josefsson  <simon@josefsson.org>
15505
15506         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
15507         New variable.
15508
15509 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
15510
15511         filevercmp: handle simple~ and numbered.~3~ backup suffixes
15512         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
15513         * tests/test-filevercmp.c: Add tests for backup suffixes.
15514
15515 2009-03-24  Simon Josefsson  <simon@josefsson.org>
15516
15517         * modules/stdlib (Depends-on): Add stdint, needed when defining
15518         struct random_data on, for example, HP-UX 10.20.  Reported by
15519         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
15520
15521 2009-03-24  Simon Josefsson  <simon@josefsson.org>
15522
15523         * lib/readline.c (readline): Call fflush on stdout after printing
15524         prompt.
15525
15526 2009-03-20  Bruno Haible  <bruno@clisp.org>
15527
15528         Remove dependency from 'close' module to -lws2_32 on native Windows.
15529         * lib/close-hook.h: New file.
15530         * lib/close-hook.c: New file.
15531         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
15532         w32sock.h.
15533         (_gl_close_fd_maybe_socket): Remove function.
15534         (rpl_close): Invoke execute_all_close_hooks instead of
15535         _gl_close_fd_maybe_socket.
15536         * lib/sockets.c: Include close-hook.h, w32sock.h.
15537         (close_fd_maybe_socket): New function, essentially from lib/close.c.
15538         (close_sockets_hook): New variable.
15539         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
15540         (gl_sockets_cleanup): Unregister it.
15541         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
15542         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
15543         * modules/close-hook: New file.
15544         * modules/close (Files): Remove lib/w32sock.h.
15545         (Depends-on): Add close-hook.
15546         (Link): Remove section.
15547         * modules/sockets (Files): Add lib/w32sock.h.
15548         (Depends-on): Add close-hook.
15549         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
15550         invocation.
15551         * NEWS: Mention that LIB_CLOSE is gone.
15552
15553 2009-03-23  Eric Blake  <ebb9@byu.net>
15554
15555         signal-tests: test previous patch
15556         * tests/test-signal.c: New file.
15557         * modules/signal-tests: Likewise.
15558
15559         signal.h: always support 'volatile sig_atomic_t'
15560         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
15561         (gl_SIGNAL_H_DEFAULTS): Add a default.
15562         * modules/signal (Makefile.am): Substitute if needed.
15563         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
15564         users can blindly add volatile.
15565         * doc/posix-headers/signal.texi (signal.h): Document it.
15566         Reported by Matthew Woehlke.
15567
15568 2009-03-23  Jim Meyering  <meyering@redhat.com>
15569
15570         pathmax: PATH_MAX: use pathconf only when available
15571         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
15572         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
15573         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
15574         This avoids a link failure in a PSP cross-compilation environment
15575         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
15576
15577         * lib/vasnprintf.c (divide): Fix typo in comment.
15578
15579 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15580
15581         * gnulib-tool (func_filter_filelist): Fix comment.
15582
15583 2009-03-20  Bruno Haible  <bruno@clisp.org>
15584
15585         Make sockets.h self-contained.
15586         * lib/sockets.c: Include sockets.h first.
15587         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
15588
15589 2009-03-19  Eric Blake  <ebb9@byu.net>
15590
15591         doc: mention more functions added in cygwin 1.7.0
15592         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
15593         addition.
15594         * doc/posix-functions/log2f.texi: Likewise.
15595
15596 2009-03-19  Jim Meyering  <meyering@redhat.com>
15597
15598         fsusage: avoid syntax error due to statement-before-declaration
15599         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
15600         after all declarations.  Reported by Matthew Woehlke in
15601         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
15602
15603 2009-03-18  Eric Blake  <ebb9@byu.net>
15604
15605         build-aux/compile: sync from automake
15606         * build-aux/compile: New file, from automake.
15607         * config/srclist.txt: Mention build-aux/compile.
15608
15609 2009-03-17  Bruno Haible  <bruno@clisp.org>
15610
15611         * lib/git-merge-changelog.c: Fix typo in comment.
15612         Reported by Reuben Thomas <rrt@sc3d.org>.
15613
15614 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
15615
15616         * m4/regex.m4: update and improve help for
15617         --without-included-regex.
15618
15619 2009-03-17  Simon Josefsson  <simon@josefsson.org>
15620
15621         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
15622         failure on missing include files.
15623
15624 2009-03-17  Eric Blake  <ebb9@byu.net>
15625
15626         doc: mention more functions added in cygwin 1.7.0
15627         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
15628         addition.
15629         * doc/posix-functions/fwscanf.texi: Likewise.
15630         * doc/posix-functions/swprintf.texi: Likewise.
15631         * doc/posix-functions/swscanf.texi: Likewise.
15632         * doc/posix-functions/vfwprintf.texi: Likewise.
15633         * doc/posix-functions/vfwscanf.texi: Likewise.
15634         * doc/posix-functions/vswprintf.texi: Likewise.
15635         * doc/posix-functions/vswscanf.texi: Likewise.
15636         * doc/posix-functions/vwprintf.texi: Likewise.
15637         * doc/posix-functions/vwscanf.texi: Likewise.
15638         * doc/posix-functions/wcscasecmp.texi: Likewise.
15639         * doc/posix-functions/wcsdup.texi: Likewise.
15640         * doc/posix-functions/wcsftime.texi: Likewise.
15641         * doc/posix-functions/wcsncasecmp.texi: Likewise.
15642         * doc/posix-functions/wprintf.texi: Likewise.
15643         * doc/posix-functions/wscanf.texi: Likewise.
15644         * doc/glibc-functions/gethostbyname2.texi: Likewise.
15645
15646 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15647
15648         maint.mk: really add $(AM_MAKEFLAGS)
15649         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
15650         was inadvertently omitted in the last commit.
15651         Spotted by Bruno Haible.
15652
15653         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
15654         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
15655         $(AM_MAKEFLAGS)' rather than plain `make'.
15656
15657         gnulib-tool: execute $MAKE not make
15658         * gnulib-tool: Default $MAKE to 'make'.
15659         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
15660         than make.  Initialize $MAKE in the do-autobuild script.
15661
15662         gnulib-tool: use $MAKE not make in generated files
15663         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
15664         make, in generated files.  Initialize $MAKE in the do-autobuild
15665         script.
15666
15667         * top/GNUmakefile (_have-git-version-gen): Fix typo.
15668
15669         GNUmakefile: disable parallelism only for multiple, recursive targets
15670         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
15671         additions in the Makefile.
15672         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
15673         by Automake.
15674         (.NOTPARALLEL): Only disable parallel builds if multiple targets
15675         are listed on the command line and at least one of them is
15676         listed in $(ALL_RECURSIVE_TARGETS).
15677
15678 2009-03-14  Bruno Haible  <bruno@clisp.org>
15679
15680         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
15681         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
15682         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
15683         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
15684         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
15685         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
15686         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
15687         unistr/u8-uctomb.
15688         * modules/unistr/u8-strchr (Depends-on): Likewise.
15689         * modules/unistr/u8-strrchr (Depends-on): Likewise.
15690         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
15691         unistr/u16-uctomb.
15692         * modules/unistr/u16-strchr (Depends-on): Likewise.
15693         * modules/unistr/u16-strrchr (Depends-on): Likewise.
15694
15695 2009-03-12  Bruno Haible  <bruno@clisp.org>
15696
15697         Work around select() bug on Interix 3.5.
15698         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
15699         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
15700         * m4/select.m4: New file.
15701         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
15702         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
15703         * modules/select (Files): Add m4/select.m4.
15704         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
15705         * modules/nanosleep (Depends-on): Add select.
15706         * modules/poll (Depends-on): Likewise.
15707         * doc/posix-functions/select.texi: Mention the Interix bug.
15708         Reported by Markus Duft <mduft@gentoo.org>.
15709
15710         * lib/select.c: Renamed from lib/winsock-select.c.
15711         * modules/select (Files): Add lib/select.c, remove
15712         lib/winsock-select.c.
15713         (configure.ac): Update.
15714
15715 2009-03-12  Jim Meyering  <meyering@redhat.com>
15716
15717         avoid gcc warnings about unused macro definitions
15718         * lib/readtokens.c (STREQ): Remove unused definition.
15719         * lib/xmalloc.c (SIZE_MAX): Likewise.
15720         * lib/openat-die.c (N_): Likewise.
15721         * lib/mountlist.c (SIZE_MAX): Remove definition.
15722         Instead, include <stdint.h>.
15723         * lib/readutmp.c: Likewise.
15724         * modules/readutmp (Depends-on): Add stdint.
15725         * modules/mountlist (Depends-on): Add stdint.
15726         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
15727
15728 2009-03-10  Bruno Haible  <bruno@clisp.org>
15729
15730         Tests for module 'mbmemcasecoll'.
15731         * modules/mbmemcasecoll-tests: New file.
15732         * tests/test-mbmemcasecoll1.sh: New file.
15733         * tests/test-mbmemcasecoll2.sh: New file.
15734         * tests/test-mbmemcasecoll3.sh: New file.
15735         * tests/test-mbmemcasecoll.c: New file.
15736
15737         New module 'mbmemcasecoll'.
15738         * lib/mbmemcasecoll.h: New file.
15739         * lib/mbmemcasecoll.c: New file.
15740         * modules/mbmemcasecoll: New file.
15741
15742         * tests/test-mbmemcasecmp.h: New file, extracted from
15743         tests/test-mbmemcasecmp.c.
15744         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
15745         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
15746         (main): Update.
15747         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
15748
15749 2009-03-09  Bruno Haible  <bruno@clisp.org>
15750
15751         Tests for module 'mbmemcasecmp'.
15752         * modules/mbmemcasecmp-tests: New file.
15753         * tests/test-mbmemcasecmp1.sh: New file.
15754         * tests/test-mbmemcasecmp2.sh: New file.
15755         * tests/test-mbmemcasecmp3.sh: New file.
15756         * tests/test-mbmemcasecmp.c: New file.
15757
15758         New module 'mbmemcasecmp'.
15759         * lib/mbmemcasecmp.h: New file.
15760         * lib/mbmemcasecmp.c: New file.
15761         * modules/mbmemcasecmp: New file.
15762
15763 2009-03-09  Bruno Haible  <bruno@clisp.org>
15764
15765         Tests for module 'unicase/ulc-casecoll'.
15766         * modules/unicase/ulc-casecoll-tests: New file.
15767         * tests/unicase/test-ulc-casecoll1.sh: New file.
15768         * tests/unicase/test-ulc-casecoll2.sh: New file.
15769         * tests/unicase/test-ulc-casecoll.c: New file.
15770
15771         New module 'unicase/ulc-casecoll'.
15772         * lib/unicase.h (ulc_casecoll): New declaration.
15773         * lib/unicase/ulc-casecoll.c: New file.
15774         * modules/unicase/ulc-casecoll: New file.
15775
15776         New module 'unicase/ulc-casexfrm'.
15777         * lib/unicase.h (ulc_casexfrm): New declaration.
15778         * lib/unicase/ulc-casexfrm.c: New file.
15779         * modules/unicase/ulc-casexfrm: New file.
15780
15781 2009-03-09  Bruno Haible  <bruno@clisp.org>
15782
15783         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
15784         invocations.
15785
15786         * m4/mbscasecmp.m4: Remove file.
15787         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
15788         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
15789
15790         * m4/mbscasestr.m4: Remove file.
15791         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
15792         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
15793
15794         * m4/mbschr.m4: Remove file.
15795         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
15796         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
15797
15798         * m4/mbscspn.m4: Remove file.
15799         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
15800         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
15801
15802         * m4/mbslen.m4: Remove file.
15803         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
15804         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
15805
15806         * m4/mbsncasecmp.m4: Remove file.
15807         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
15808         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
15809
15810         * m4/mbsnlen.m4: Remove file.
15811         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
15812         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
15813
15814         * m4/mbspbrk.m4: Remove file.
15815         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
15816         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
15817
15818         * m4/mbspcasecmp.m4: Remove file.
15819         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
15820         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
15821
15822         * m4/mbsrchr.m4: Remove file.
15823         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
15824         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
15825
15826         * m4/mbssep.m4: Remove file.
15827         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
15828         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
15829
15830         * m4/mbsspn.m4: Remove file.
15831         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
15832         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
15833
15834         * m4/mbsstr.m4: Remove file.
15835         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
15836         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
15837
15838         * m4/mbstok_r.m4: Remove file.
15839         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
15840         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
15841
15842         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
15843
15844         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
15845         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
15846
15847         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
15848
15849 2009-03-08  Bruno Haible  <bruno@clisp.org>
15850
15851         Tests for module 'unicase/ulc-casecmp'.
15852         * modules/unicase/ulc-casecmp-tests: New file.
15853         * tests/unicase/test-ulc-casecmp1.sh: New file.
15854         * tests/unicase/test-ulc-casecmp2.sh: New file.
15855         * tests/unicase/test-ulc-casecmp.c: New file.
15856
15857         New module 'unicase/ulc-casecmp'.
15858         * lib/unicase.h (ulc_casecmp): New declaration.
15859         * lib/unicase/ulc-casecmp.c: New file.
15860         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
15861         'const SRC_UNIT *'.
15862         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
15863         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
15864         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
15865         * modules/unicase/ulc-casecmp: New file.
15866
15867         Tests for module 'unicase/u32-is-cased'.
15868         * modules/unicase/u32-is-cased-tests: New file.
15869         * tests/unicase/test-u32-is-cased.c: New file.
15870
15871         Tests for module 'unicase/u16-is-cased'.
15872         * modules/unicase/u16-is-cased-tests: New file.
15873         * tests/unicase/test-u16-is-cased.c: New file.
15874
15875         Tests for module 'unicase/u8-is-cased'.
15876         * modules/unicase/u8-is-cased-tests: New file.
15877         * tests/unicase/test-u8-is-cased.c: New file.
15878         * tests/unicase/test-is-cased.h: New file.
15879
15880         New module 'unicase/u32-is-cased'.
15881         * lib/unicase/u32-is-cased.c: New file.
15882         * modules/unicase/u32-is-cased: New file.
15883
15884         New module 'unicase/u16-is-cased'.
15885         * lib/unicase/u16-is-cased.c: New file.
15886         * modules/unicase/u16-is-cased: New file.
15887
15888         New module 'unicase/u8-is-cased'.
15889         * lib/unicase/u8-is-cased.c: New file.
15890         * lib/unicase/u-is-cased.h: New file.
15891         * modules/unicase/u8-is-cased: New file.
15892
15893         Tests for module 'unicase/u32-is-casefolded'.
15894         * modules/unicase/u32-is-casefolded-tests: New file.
15895         * tests/unicase/test-u32-is-casefolded.c: New file.
15896
15897         Tests for module 'unicase/u16-is-casefolded'.
15898         * modules/unicase/u16-is-casefolded-tests: New file.
15899         * tests/unicase/test-u16-is-casefolded.c: New file.
15900
15901         Tests for module 'unicase/u8-is-casefolded'.
15902         * modules/unicase/u8-is-casefolded-tests: New file.
15903         * tests/unicase/test-u8-is-casefolded.c: New file.
15904         * tests/unicase/test-is-casefolded.h: New file.
15905
15906         New module 'unicase/u32-is-casefolded'.
15907         * lib/unicase/u32-is-casefolded.c: New file.
15908         * modules/unicase/u32-is-casefolded: New file.
15909
15910         New module 'unicase/u16-is-casefolded'.
15911         * lib/unicase/u16-is-casefolded.c: New file.
15912         * modules/unicase/u16-is-casefolded: New file.
15913
15914         New module 'unicase/u8-is-casefolded'.
15915         * lib/unicase/u8-is-casefolded.c: New file.
15916         * modules/unicase/u8-is-casefolded: New file.
15917
15918         Tests for module 'unicase/u32-is-titlecase'.
15919         * modules/unicase/u32-is-titlecase-tests: New file.
15920         * tests/unicase/test-u32-is-titlecase.c: New file.
15921
15922         Tests for module 'unicase/u16-is-titlecase'.
15923         * modules/unicase/u16-is-titlecase-tests: New file.
15924         * tests/unicase/test-u16-is-titlecase.c: New file.
15925
15926         Tests for module 'unicase/u8-is-titlecase'.
15927         * modules/unicase/u8-is-titlecase-tests: New file.
15928         * tests/unicase/test-u8-is-titlecase.c: New file.
15929         * tests/unicase/test-is-titlecase.h: New file.
15930
15931         New module 'unicase/u32-is-titlecase'.
15932         * lib/unicase/u32-is-titlecase.c: New file.
15933         * modules/unicase/u32-is-titlecase: New file.
15934
15935         New module 'unicase/u16-is-titlecase'.
15936         * lib/unicase/u16-is-titlecase.c: New file.
15937         * modules/unicase/u16-is-titlecase: New file.
15938
15939         New module 'unicase/u8-is-titlecase'.
15940         * lib/unicase/u8-is-titlecase.c: New file.
15941         * modules/unicase/u8-is-titlecase: New file.
15942
15943         Tests for module 'unicase/u32-is-lowercase'.
15944         * modules/unicase/u32-is-lowercase-tests: New file.
15945         * tests/unicase/test-u32-is-lowercase.c: New file.
15946
15947         Tests for module 'unicase/u16-is-lowercase'.
15948         * modules/unicase/u16-is-lowercase-tests: New file.
15949         * tests/unicase/test-u16-is-lowercase.c: New file.
15950
15951         Tests for module 'unicase/u8-is-lowercase'.
15952         * modules/unicase/u8-is-lowercase-tests: New file.
15953         * tests/unicase/test-u8-is-lowercase.c: New file.
15954         * tests/unicase/test-is-lowercase.h: New file.
15955
15956         New module 'unicase/u32-is-lowercase'.
15957         * lib/unicase/u32-is-lowercase.c: New file.
15958         * modules/unicase/u32-is-lowercase: New file.
15959
15960         New module 'unicase/u16-is-lowercase'.
15961         * lib/unicase/u16-is-lowercase.c: New file.
15962         * modules/unicase/u16-is-lowercase: New file.
15963
15964         New module 'unicase/u8-is-lowercase'.
15965         * lib/unicase/u8-is-lowercase.c: New file.
15966         * modules/unicase/u8-is-lowercase: New file.
15967
15968         Tests for module 'unicase/u32-is-uppercase'.
15969         * modules/unicase/u32-is-uppercase-tests: New file.
15970         * tests/unicase/test-u32-is-uppercase.c: New file.
15971
15972         Tests for module 'unicase/u16-is-uppercase'.
15973         * modules/unicase/u16-is-uppercase-tests: New file.
15974         * tests/unicase/test-u16-is-uppercase.c: New file.
15975
15976         Tests for module 'unicase/u8-is-uppercase'.
15977         * modules/unicase/u8-is-uppercase-tests: New file.
15978         * tests/unicase/test-u8-is-uppercase.c: New file.
15979         * tests/unicase/test-is-uppercase.h: New file.
15980
15981         New module 'unicase/u32-is-uppercase'.
15982         * lib/unicase/u32-is-uppercase.c: New file.
15983         * modules/unicase/u32-is-uppercase: New file.
15984
15985         New module 'unicase/u16-is-uppercase'.
15986         * lib/unicase/u16-is-uppercase.c: New file.
15987         * modules/unicase/u16-is-uppercase: New file.
15988
15989         New module 'unicase/u8-is-uppercase'.
15990         * lib/unicase/u8-is-uppercase.c: New file.
15991         * modules/unicase/u8-is-uppercase: New file.
15992
15993         New module 'unicase/u32-is-invariant'.
15994         * lib/unicase/u32-is-invariant.c: New file.
15995         * modules/unicase/u32-is-invariant: New file.
15996
15997         New module 'unicase/u16-is-invariant'.
15998         * lib/unicase/u16-is-invariant.c: New file.
15999         * modules/unicase/u16-is-invariant: New file.
16000
16001         New module 'unicase/u8-is-invariant'.
16002         * lib/unicase/u8-is-invariant.c: New file.
16003         * lib/unicase/invariant.h: New file.
16004         * lib/unicase/u-is-invariant.h: New file.
16005         * modules/unicase/u8-is-invariant: New file.
16006
16007         Tests for module 'unicase/u32-casecoll'.
16008         * modules/unicase/u32-casecoll-tests: New file.
16009         * tests/unicase/test-u32-casecoll.c: New file.
16010
16011         Tests for module 'unicase/u16-casecoll'.
16012         * modules/unicase/u16-casecoll-tests: New file.
16013         * tests/unicase/test-u16-casecoll.c: New file.
16014
16015         Tests for module 'unicase/u8-casecoll'.
16016         * modules/unicase/u8-casecoll-tests: New file.
16017         * tests/unicase/test-u8-casecoll.c: New file.
16018
16019         New module 'unicase/u32-casecoll'.
16020         * lib/unicase/u32-casecoll.c: New file.
16021         * modules/unicase/u32-casecoll: New file.
16022
16023         New module 'unicase/u16-casecoll'.
16024         * lib/unicase/u16-casecoll.c: New file.
16025         * modules/unicase/u16-casecoll: New file.
16026
16027         New module 'unicase/u8-casecoll'.
16028         * lib/unicase/u8-casecoll.c: New file.
16029         * lib/unicase/u-casecoll.h: New file.
16030         * modules/unicase/u8-casecoll: New file.
16031
16032         New module 'unicase/u32-casexfrm'.
16033         * lib/unicase/u32-casexfrm.c: New file.
16034         * modules/unicase/u32-casexfrm: New file.
16035
16036         New module 'unicase/u16-casexfrm'.
16037         * lib/unicase/u16-casexfrm.c: New file.
16038         * modules/unicase/u16-casexfrm: New file.
16039
16040         New module 'unicase/u8-casexfrm'.
16041         * lib/unicase/u8-casexfrm.c: New file.
16042         * lib/unicase/u-casexfrm.h: New file.
16043         * modules/unicase/u8-casexfrm: New file.
16044
16045         Tests for module 'unicase/u32-casecmp'.
16046         * modules/unicase/u32-casecmp-tests: New file.
16047         * tests/unicase/test-u32-casecmp.c: New file.
16048
16049         Tests for module 'unicase/u16-casecmp'.
16050         * modules/unicase/u16-casecmp-tests: New file.
16051         * tests/unicase/test-u16-casecmp.c: New file.
16052
16053         Tests for module 'unicase/u8-casecmp'.
16054         * modules/unicase/u8-casecmp-tests: New file.
16055         * tests/unicase/test-u8-casecmp.c: New file.
16056         * tests/unicase/test-casecmp.h: New file.
16057
16058         New module 'unicase/u32-casecmp'.
16059         * lib/unicase/u32-casecmp.c: New file.
16060         * modules/unicase/u32-casecmp: New file.
16061
16062         New module 'unicase/u16-casecmp'.
16063         * lib/unicase/u16-casecmp.c: New file.
16064         * modules/unicase/u16-casecmp: New file.
16065
16066         New module 'unicase/u8-casecmp'.
16067         * lib/unicase/u8-casecmp.c: New file.
16068         * lib/unicase/u-casecmp.h: New file.
16069         * modules/unicase/u8-casecmp: New file.
16070
16071         Tests for module 'unicase/u32-casefold'.
16072         * modules/unicase/u32-casefold-tests: New file.
16073         * tests/unicase/test-u32-casefold.c: New file.
16074
16075         Tests for module 'unicase/u16-casefold'.
16076         * modules/unicase/u16-casefold-tests: New file.
16077         * tests/unicase/test-u16-casefold.c: New file.
16078
16079         Tests for module 'unicase/u8-casefold'.
16080         * modules/unicase/u8-casefold-tests: New file.
16081         * tests/unicase/test-u8-casefold.c: New file.
16082
16083         New module 'unicase/u32-casefold'.
16084         * lib/unicase/u32-casefold.c: New file.
16085         * modules/unicase/u32-casefold: New file.
16086
16087         New module 'unicase/u16-casefold'.
16088         * lib/unicase/u16-casefold.c: New file.
16089         * modules/unicase/u16-casefold: New file.
16090
16091         New module 'unicase/u8-casefold'.
16092         * lib/unicase/u8-casefold.c: New file.
16093         * lib/unicase/u-casefold.h: New file.
16094         * modules/unicase/u8-casefold: New file.
16095
16096         New module 'unicase/tocasefold'.
16097         * lib/unicase/casefold.h: New file.
16098         * lib/unicase/tocasefold.c: New file.
16099         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
16100         * modules/unicase/tocasefold: New file.
16101
16102         Tests for module 'unicase/u32-totitle'.
16103         * modules/unicase/u32-totitle-tests: New file.
16104         * tests/unicase/test-u32-totitle.c: New file.
16105
16106         Tests for module 'unicase/u16-totitle'.
16107         * modules/unicase/u16-totitle-tests: New file.
16108         * tests/unicase/test-u16-totitle.c: New file.
16109
16110         Tests for module 'unicase/u8-totitle'.
16111         * modules/unicase/u8-totitle-tests: New file.
16112         * tests/unicase/test-u8-totitle.c: New file.
16113
16114         New module 'unicase/u32-totitle'.
16115         * lib/unicase/u32-totitle.c: New file.
16116         * modules/unicase/u32-totitle: New file.
16117
16118         New module 'unicase/u16-totitle'.
16119         * lib/unicase/u16-totitle.c: New file.
16120         * modules/unicase/u16-totitle: New file.
16121
16122         New module 'unicase/u8-totitle'.
16123         * lib/unicase/u8-totitle.c: New file.
16124         * lib/unicase/u-totitle.h: New file.
16125         * modules/unicase/u8-totitle: New file.
16126
16127         Tests for module 'unicase/u32-tolower'.
16128         * modules/unicase/u32-tolower-tests: New file.
16129         * tests/unicase/test-u32-tolower.c: New file.
16130
16131         Tests for module 'unicase/u16-tolower'.
16132         * modules/unicase/u16-tolower-tests: New file.
16133         * tests/unicase/test-u16-tolower.c: New file.
16134
16135         Tests for module 'unicase/u8-tolower'.
16136         * modules/unicase/u8-tolower-tests: New file.
16137         * tests/unicase/test-u8-tolower.c: New file.
16138
16139         New module 'unicase/u32-tolower'.
16140         * lib/unicase/u32-tolower.c: New file.
16141         * modules/unicase/u32-tolower: New file.
16142
16143         New module 'unicase/u16-tolower'.
16144         * lib/unicase/u16-tolower.c: New file.
16145         * modules/unicase/u16-tolower: New file.
16146
16147         New module 'unicase/u8-tolower'.
16148         * lib/unicase/u8-tolower.c: New file.
16149         * modules/unicase/u8-tolower: New file.
16150
16151         Tests for module 'unicase/u32-toupper'.
16152         * modules/unicase/u32-toupper-tests: New file.
16153         * tests/unicase/test-u32-toupper.c: New file.
16154
16155         Tests for module 'unicase/u16-toupper'.
16156         * modules/unicase/u16-toupper-tests: New file.
16157         * tests/unicase/test-u16-toupper.c: New file.
16158
16159         Tests for module 'unicase/u8-toupper'.
16160         * modules/unicase/u8-toupper-tests: New file.
16161         * tests/unicase/test-u8-toupper.c: New file.
16162
16163         New module 'unicase/u32-toupper'.
16164         * lib/unicase/u32-toupper.c: New file.
16165         * modules/unicase/u32-toupper: New file.
16166
16167         New module 'unicase/u16-toupper'.
16168         * lib/unicase/u16-toupper.c: New file.
16169         * modules/unicase/u16-toupper: New file.
16170
16171         New module 'unicase/u8-toupper'.
16172         * lib/unicase/u8-toupper.c: New file.
16173         * modules/unicase/u8-toupper: New file.
16174
16175         New module 'unicase/u32-casemap'.
16176         * lib/unicase/u32-casemap.c: New file.
16177         * modules/unicase/u32-casemap: New file.
16178
16179         New module 'unicase/u16-casemap'.
16180         * lib/unicase/u16-casemap.c: New file.
16181         * modules/unicase/u16-casemap: New file.
16182
16183         New module 'unicase/u8-casemap'.
16184         * lib/unicase/unicasemap.h: New file.
16185         * lib/unicase/u8-casemap.c: New file.
16186         * lib/unicase/u-casemap.h: New file.
16187         * modules/unicase/u8-casemap: New file.
16188
16189         New module 'unicase/special-casing'.
16190         * lib/unicase/special-casing.h: New file.
16191         * lib/unicase/special-casing.c: New file.
16192         * lib/unicase/special-casing-table.gperf: New file, generated by
16193         gen-uni-tables.c.
16194         * modules/unicase/special-casing: New file.
16195
16196         Tests for module 'unicase/locale-language'.
16197         * modules/unicase/locale-language-tests: New file.
16198         * tests/unicase/test-locale-language.sh: New file.
16199         * tests/unicase/test-locale-language.c: New file.
16200
16201         New module 'unicase/locale-language'.
16202         * lib/unicase/locale-language.c: New file.
16203         * lib/unicase/locale-languages.gperf: New file.
16204         * modules/unicase/locale-language: New file.
16205
16206         Generate more tables for case conversion and case folding.
16207         * lib/gen-uni-tables.c (SCC_*): New enum items.
16208         (struct special_casing_rule): New type.
16209         (casing_rules, num_casing_rules, allocated_casing_rules): New
16210         variables.
16211         (add_casing_rule, fill_casing_rules): New functions.
16212         (struct casefold_rule): New type.
16213         (casefolding_rules, num_casefolding_rules,
16214         allocated_casefolding_rules): New variables.
16215         (fill_casefolding_rules): New function.
16216         (unicode_casefold): New variable.
16217         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
16218         sort_casing_rules, output_casing_rules): New functions.
16219         (main): Accept to more arguments: SpecialCasing.txt and
16220         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
16221         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
16222         Output mapping for casefolding.
16223
16224         * lib/unicase.h: Include stdbool.h, uninorm.h.
16225         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
16226         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
16227         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
16228         arguments.
16229         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
16230         resultp arguments.
16231         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
16232         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
16233         resultp arguments.
16234         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
16235         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
16236         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
16237         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
16238         declarations.
16239         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
16240
16241 2009-03-08  Bruno Haible  <bruno@clisp.org>
16242
16243         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
16244         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
16245         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
16246         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
16247
16248 2009-03-07  Bruno Haible  <bruno@clisp.org>
16249
16250         Adjust u*_normcmp, u*_normcoll API.
16251         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
16252         u16_normcoll, u32_normcoll): Change failure conventions.
16253         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
16254         errno and return -1.
16255         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
16256
16257 2009-03-07  Bruno Haible  <bruno@clisp.org>
16258
16259         Tests for module 'uninorm/u32-normcoll'.
16260         * modules/uninorm/u32-normcoll-tests: New file.
16261         * tests/uninorm/test-u32-normcoll.c: New file.
16262
16263         Tests for module 'uninorm/u16-normcoll'.
16264         * modules/uninorm/u16-normcoll-tests: New file.
16265         * tests/uninorm/test-u16-normcoll.c: New file.
16266
16267         Tests for module 'uninorm/u8-normcoll'.
16268         * modules/uninorm/u8-normcoll-tests: New file.
16269         * tests/uninorm/test-u8-normcoll.c: New file.
16270
16271 2009-03-07  Bruno Haible  <bruno@clisp.org>
16272
16273         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
16274         tests/uninorm/test-u32-normcmp.c.
16275         * tests/uninorm/test-u32-normcmp.c: Include it.
16276         (test_nonascii): New function, extracted from main. Add some more
16277         tests.
16278         (main): Invoke test_ascii and test_nonascii.
16279         * modules/uninorm/u32-normcmp-tests (Files): Add
16280         tests/uninorm/test-u32-normcmp.h.
16281         (Depends-on): Remove uninorm/u32-normcmp.
16282
16283         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
16284         tests/uninorm/test-u16-normcmp.c.
16285         * tests/uninorm/test-u16-normcmp.c: Include it.
16286         (test_nonascii): New function, extracted from main. Add some more
16287         tests.
16288         (main): Invoke test_ascii and test_nonascii.
16289         * modules/uninorm/u16-normcmp-tests (Files): Add
16290         tests/uninorm/test-u16-normcmp.h.
16291         (Depends-on): Remove uninorm/u16-normcmp.
16292
16293         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
16294         tests/uninorm/test-u8-normcmp.c.
16295         * tests/uninorm/test-u8-normcmp.c: Include it.
16296         (test_nonascii): New function, extracted from main. Add some more
16297         tests.
16298         (main): Invoke test_ascii and test_nonascii.
16299         * modules/uninorm/u8-normcmp-tests (Files): Add
16300         tests/uninorm/test-u8-normcmp.h.
16301         (Depends-on): Remove uninorm/u8-normcmp.
16302
16303 2009-03-07  Bruno Haible  <bruno@clisp.org>
16304
16305         New module 'uninorm/u32-normcoll'.
16306         * lib/uninorm/u32-normcoll.c: New file.
16307         * modules/uninorm/u32-normcoll: New file.
16308
16309         New module 'uninorm/u16-normcoll'.
16310         * lib/uninorm/u16-normcoll.c: New file.
16311         * modules/uninorm/u16-normcoll: New file.
16312
16313         New module 'uninorm/u8-normcoll'.
16314         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
16315         declarations.
16316         * lib/uninorm/u8-normcoll.c: New file.
16317         * lib/uninorm/u-normcoll.h: New file.
16318         * modules/uninorm/u8-normcoll: New file.
16319
16320         New module 'uninorm/u32-normxfrm'.
16321         * lib/uninorm/u32-normxfrm.c: New file.
16322         * modules/uninorm/u32-normxfrm: New file.
16323
16324         New module 'uninorm/u16-normxfrm'.
16325         * lib/uninorm/u16-normxfrm.c: New file.
16326         * modules/uninorm/u16-normxfrm: New file.
16327
16328         New module 'uninorm/u8-normxfrm'.
16329         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
16330         declarations.
16331         * lib/uninorm/u8-normxfrm.c: New file.
16332         * lib/uninorm/u-normxfrm.h: New file.
16333         * modules/uninorm/u8-normxfrm: New file.
16334
16335 2009-03-07  Bruno Haible  <bruno@clisp.org>
16336
16337         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
16338         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
16339         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
16340
16341 2009-03-07  Bruno Haible  <bruno@clisp.org>
16342
16343         New module 'memxfrm'.
16344         * lib/memxfrm.h: New file.
16345         * lib/memxfrm.c: New file.
16346         * modules/memxfrm: New file.
16347
16348 2009-03-07  Bruno Haible  <bruno@clisp.org>
16349
16350         New module 'memcmp2'.
16351         * lib/memcmp2.h: New file.
16352         * lib/memcmp2.c: New file.
16353         * modules/memcmp2: New file.
16354
16355 2009-03-07  Bruno Haible  <bruno@clisp.org>
16356
16357         Tests for module 'uninorm/decomposing-form'.
16358         * modules/uninorm/decomposing-form-tests: New file.
16359         * tests/uninorm/test-decomposing-form.c: New file.
16360
16361         New module 'uninorm/decomposing-form'.
16362         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
16363         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
16364         Add 'decomposing_variant' field.
16365         * lib/uninorm/decomposing-form.c: New file.
16366         * lib/uninorm/nfc.c (uninorm_nfc): Update.
16367         * lib/uninorm/nfd.c (uninorm_nfd): Update.
16368         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
16369         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
16370         * modules/uninorm/decomposing-form: New file.
16371         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
16372         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
16373
16374 2009-03-07  Bruno Haible  <bruno@clisp.org>
16375
16376         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
16377         strings.
16378
16379 2009-03-06  Bruno Haible  <bruno@clisp.org>
16380
16381         Tests for module 'uninorm/u32-normcmp'.
16382         * tests/uninorm/test-u32-normcmp.c: New file.
16383         * modules/uninorm/u32-normcmp-tests: New file.
16384
16385         Tests for module 'uninorm/u16-normcmp'.
16386         * tests/uninorm/test-u16-normcmp.c: New file.
16387         * modules/uninorm/u16-normcmp-tests: New file.
16388
16389         Tests for module 'uninorm/u8-normcmp'.
16390         * tests/uninorm/test-u8-normcmp.c: New file.
16391         * modules/uninorm/u8-normcmp-tests: New file.
16392
16393         New module 'uninorm/u32-normcmp'.
16394         * lib/uninorm/u32-normcmp.c: New file.
16395         * modules/uninorm/u32-normcmp: New file.
16396
16397         New module 'uninorm/u16-normcmp'.
16398         * lib/uninorm/u16-normcmp.c: New file.
16399         * modules/uninorm/u16-normcmp: New file.
16400
16401         New module 'uninorm/u8-normcmp'.
16402         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
16403         declarations.
16404         * lib/uninorm/u8-normcmp.c: New file.
16405         * lib/uninorm/u-normcmp.h: New file.
16406         * modules/uninorm/u8-normcmp: New file.
16407
16408 2009-03-06  Bruno Haible  <bruno@clisp.org>
16409
16410         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
16411         Reported by Eric Blake.
16412
16413 2009-03-06  Eric Blake  <ebb9@byu.net>
16414             Bruno Haible  <bruno@clisp.org>
16415
16416         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
16417         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
16418         condition.
16419         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
16420         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
16421         condition.
16422         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
16423
16424 2009-03-06  Eric Blake  <ebb9@byu.net>
16425
16426         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
16427         to avoid compiler warnings.
16428         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
16429
16430 2009-03-05  Bruno Haible  <bruno@clisp.org>
16431
16432         * tests/test-ftell.c (main): Disable test beyond end of file on
16433         FreeMiNT.
16434         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
16435
16436 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
16437
16438         * lib/filevercmp.c: Move hidden files up in ordering.
16439         * tests/test-filevercmp.c: Add tests for hidden files.
16440
16441 2009-03-04  Bruno Haible  <bruno@clisp.org>
16442
16443         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
16444         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
16445         AM_CFLAGS.
16446         Reported by Simon Josefsson.
16447
16448 2009-03-03  Bruno Haible  <bruno@clisp.org>
16449
16450         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
16451         Reported by Simon Josefsson.
16452
16453         * doc/ld-version-script.texi: Update node reference.
16454
16455 2009-03-03  Bruno Haible  <bruno@clisp.org>
16456
16457         * modules/visibility (License): Change to 'unlimited'.
16458         Suggested by Simon Josefsson.
16459
16460 2009-03-03  Jim Meyering  <meyering@redhat.com>
16461
16462         unlinkdir: cannot_unlink_dir may modify process state
16463         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
16464         it's neither thread-safe nor appropriate for use in a library.
16465
16466 2009-03-03  Eric Blake  <ebb9@byu.net>
16467
16468         test-closein: silence test under Darwin
16469         * tests/test-closein.sh: Ignore stderr from cat, since we don't
16470         care if it dies from EPIPE or EBADF.
16471
16472 2009-03-03  Bruno Haible  <bruno@clisp.org>
16473
16474         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
16475         earlier.
16476         * doc/visibility.texi: Fix @node and @section.
16477
16478 2009-03-03  Simon Josefsson  <simon@josefsson.org>
16479
16480         * doc/gnulib.texi: Link to sections for ld version script and
16481         visibility.
16482         * doc/visibility.texi: Add @node and @section.
16483         * modules/ld-version-script: New module.
16484         * m4/ld-version-script.m4: New file.
16485         * doc/ld-version-script.texi: New file.
16486
16487 2009-03-02  David Lutterkort  <lutter@redhat.com>
16488
16489         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
16490         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
16491
16492 2009-03-02  Bruno Haible  <bruno@clisp.org>
16493
16494         * doc/visibility.texi: Mention libtool's -export-symbols option.
16495
16496 2009-03-02  Jim Meyering  <meyering@redhat.com>
16497
16498         announce-gen: new option: --no-print-checksums
16499         * build-aux/announce-gen (usage): Describe it.
16500         (print_checksums): Print a newline here, not in the [*] footnote.
16501         (main): Honor it.
16502
16503 2009-03-01  Bruno Haible  <bruno@clisp.org>
16504
16505         Use socklen_t in the native Windows replacements prototypes.
16506         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
16507         instead of 'int'.
16508         * lib/getsockopt.c (rpl_getsockopt): Likewise.
16509         * lib/setsockopt.c (rpl_setsockopt): Likewise.
16510         * modules/getsockopt (Depends-on): Add socklen.
16511         * modules/setsockopt (Depends-on): Add socklen.
16512
16513 2009-03-01  Bruno Haible  <bruno@clisp.org>
16514
16515         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
16516         least 4.2.
16517
16518 2009-03-01  Eric Blake  <ebb9@byu.net>
16519             Bruno Haible  <bruno@clisp.org>
16520
16521         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
16522         error messages.
16523         * lib/wait-process.c (wait_subprocess): Omit error message about
16524         deadly signal sent to the child of termsigp != NULL.
16525
16526 2009-03-01  Eric Blake  <ebb9@byu.net>
16527
16528         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
16529
16530 2009-03-01  Bruno Haible  <bruno@clisp.org>
16531
16532         Avoid a gcc warning.
16533         * tests/test-sched.c (b): Make global.
16534         Reported by Eric Blake.
16535
16536 2009-01-19  Martin Lambers  <marlam@marlam.de>
16537
16538         Provide POSIX semantics for socket timeout options on W32.
16539         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
16540         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
16541         * modules/setsockopt: Depend on sys_time module for struct timeval.
16542         * modules/getsockopt: Depend on sys_time module for struct timeval.
16543
16544 2009-03-01  Simon Josefsson  <simon@josefsson.org>
16545
16546         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
16547         __USE_GNU, for consistency with netdb.in.h.
16548         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
16549
16550 2009-03-01  Bruno Haible  <bruno@clisp.org>
16551
16552         More support for FreeMiNT.
16553         * lib/fseeko.c (rpl_fseeko): Complete last commit.
16554         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
16555
16556 2009-03-01  Bruno Haible  <bruno@clisp.org>
16557
16558         More support for FreeMiNT.
16559         * lib/fpurge.c (fpurge): Correct last commit.
16560         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
16561
16562 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
16563
16564         Fix unportable awk script in vc-list-files.
16565         * build-aux/vc-list-files: In the replacement awk script, use
16566         substr with a second argument of 1, not zero.
16567         Report by Simon Josefsson.
16568
16569 2009-02-28  Bruno Haible  <bruno@clisp.org>
16570
16571         More support for FreeMiNT.
16572         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
16573         to FreeMiNT today.
16574         * lib/fwriting.c (fwriting): Likewise.
16575         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
16576
16577 2009-02-28  Bruno Haible  <bruno@clisp.org>
16578
16579         * tests/test-freadseek.c (main): Disable test beyond end of file on
16580         FreeMiNT.
16581         * tests/test-ftello.c (main): Likewise.
16582         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
16583
16584 2009-02-28  Bruno Haible  <bruno@clisp.org>
16585
16586         Add tentative support for FreeMiNT.
16587         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
16588         * lib/fpurge.c (fpurge): Likewise.
16589         * lib/freadable.c (freadable): Likewise.
16590         * lib/freading.c (freading): Likewise.
16591         * lib/freadptr.c (freadptr): Likewise.
16592         * lib/freadseek.c (freadptrinc): Likewise.
16593         * lib/fseeko.c (rpl_fseeko): Likewise.
16594         * lib/fseterr.c (fseterr): Likewise.
16595         * lib/fwritable.c (fwritable): Likewise.
16596         * lib/fwriting.c (fwriting): Likewise.
16597         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
16598         Hourihane.
16599         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
16600
16601 2009-02-28  Bruno Haible  <bruno@clisp.org>
16602
16603         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
16604         SIGCHLD.
16605         Reported by Jim Meyering.
16606
16607 2009-02-28  Bruno Haible  <bruno@clisp.org>
16608
16609         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
16610         Mention the results of these tests on various platforms.
16611         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
16612         order.
16613         * doc/posix-functions/printf.texi: Likewise.
16614         * doc/posix-functions/snprintf.texi: Likewise.
16615         * doc/posix-functions/sprintf.texi: Likewise.
16616         * doc/posix-functions/vfprintf.texi: Likewise.
16617         * doc/posix-functions/vprintf.texi: Likewise.
16618         * doc/posix-functions/vsnprintf.texi: Likewise.
16619         * doc/posix-functions/vsprintf.texi: Likewise.
16620         * doc/glibc-functions/obstack_printf.texi: Likewise.
16621         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
16622
16623 2009-02-28  Bruno Haible  <bruno@clisp.org>
16624
16625         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
16626         Reported by Loïc Minier <lool@dooz.org>.
16627
16628 2009-02-27  Bruno Haible  <bruno@clisp.org>
16629
16630         * gnulib-tool (func_import): Make the sed expression used to create the
16631         sed script for updating the .gitignore file POSIX compliant.
16632         Reported by Eric Blake.
16633
16634 2009-02-27  Bruno Haible  <bruno@clisp.org>
16635
16636         * gnulib-tool (sed): Don't alias as "sed --posix".
16637         Reported by Eric Blake.
16638
16639 2009-02-27  Bruno Haible  <bruno@clisp.org>
16640
16641         Avoid test link errors.
16642         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
16643         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
16644         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
16645         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
16646         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
16647
16648 2009-02-27  Bruno Haible  <bruno@clisp.org>
16649
16650         Avoid spurious "(cached)" in configure output.
16651         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
16652         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
16653         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
16654         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
16655         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
16656         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
16657         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
16658         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
16659         Reported by Eric Blake.
16660
16661 2009-02-27  Eric Blake  <ebb9@byu.net>
16662
16663         printf: fix regression in previous patch
16664         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
16665
16666 2009-02-27  Bruno Haible  <bruno@clisp.org>
16667
16668         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
16669         value.
16670         * lib/stdint.in.h: Likewise.
16671         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
16672
16673 2009-02-27  Eric Blake  <ebb9@byu.net>
16674
16675         doc: mention more functions added in cygwin 1.7.0
16676         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
16677         addition.
16678         * doc/posix-functions/open_wmemstream.texi: Likewise.
16679         * doc/posix-functions/wcsnlen.texi: Likewise.
16680         * doc/posix-functions/wcsnrtombs.texi: Likewise.
16681         * doc/posix-functions/wcstod.texi: Likewise.
16682         * doc/posix-functions/wcstof.texi: Likewise.
16683         * doc/posix-functions/wcstoimax.texi: Likewise.
16684         * doc/posix-functions/wcstok.texi: Likewise.
16685         * doc/posix-functions/wcstoumax.texi: Likewise.
16686
16687         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
16688         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
16689         * doc/posix-functions/fprintf.texi: Update.
16690         * doc/posix-functions/printf.texi: Update.
16691         * doc/posix-functions/snprintf.texi: Update.
16692         * doc/posix-functions/sprintf.texi: Update.
16693         * doc/posix-functions/vfprintf.texi: Update.
16694         * doc/posix-functions/vprintf.texi: Update.
16695         * doc/posix-functions/vsnprintf.texi: Update.
16696         * doc/posix-functions/vsprintf.texi: Update.
16697         * doc/glibc-functions/obstack_printf.texi: Update.
16698         * doc/glibc-functions/obstack_vprintf.texi: Update.
16699
16700 2009-02-26  Eric Blake  <ebb9@byu.net>
16701
16702         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
16703         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
16704         compilation bug by using runtime conversion.
16705         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
16706         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
16707         * modules/ceill-tests (Files): Use nan.h.
16708         * modules/floorl-tests (Files): Likewise.
16709         * modules/frexpl-tests (Files): Likewise.
16710         * modules/isnanl-tests (Files): Likewise.
16711         * modules/ldexpl-tests (Files): Likewise.
16712         * modules/roundl-tests (Files): Likewise.
16713         * modules/truncl-tests (Files): Likewise.
16714         * tests/test-ceill.c (main): Use a working NaN.
16715         * tests/test-floorl.c (main): Likewise.
16716         * tests/test-frexpl.c (main): Likewise.
16717         * tests/test-isnan.c (test_long_double): Likewise.
16718         * tests/test-isnanl.h (main): Likewise.
16719         * tests/test-ldexpl.h (main): Likewise.
16720         * tests/test-roundl.h (main): Likewise.
16721         * tests/test-truncl.h (main): Likewise.
16722         See http://lists.gnu.org/archive/html/bug-gnulib/2009-02/msg00190.html.
16723
16724 2009-02-26  Eric Blake  <ebb9@byu.net>
16725             Bruno Haible  <bruno@clisp.org>
16726
16727         Work around a *printf bug with %ls on Solaris.
16728         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
16729         precision is specified, sprintf stops converting the wide string
16730         argument when the number of bytes that have been produced by this
16731         conversion equals or exceeds the precision.
16732         * doc/posix-functions/fprintf.texi: Update.
16733         * doc/posix-functions/printf.texi: Update.
16734         * doc/posix-functions/snprintf.texi: Update.
16735         * doc/posix-functions/sprintf.texi: Update.
16736         * doc/posix-functions/vfprintf.texi: Update.
16737         * doc/posix-functions/vprintf.texi: Update.
16738         * doc/posix-functions/vsnprintf.texi: Update.
16739         * doc/posix-functions/vsprintf.texi: Update.
16740         * doc/glibc-functions/obstack_printf.texi: Update.
16741         * doc/glibc-functions/obstack_vprintf.texi: Update.
16742
16743 2009-02-26  Eric Blake  <ebb9@byu.net>
16744
16745         stdlib: favor compiler check of random.h
16746         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
16747         to avoid an ObjC random.h installed by Swarm.
16748
16749 2009-02-26  Bruno Haible  <bruno@clisp.org>
16750
16751         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
16752         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
16753         Reported by Gary V. Vaughan <gary@gnu.org>.
16754
16755 2009-02-26  Bruno Haible  <bruno@clisp.org>
16756
16757         Fix *printf behaviour regarding the %ls directive.
16758         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
16759         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
16760         NEED_PRINTF_DIRECTIVE_LS.
16761         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
16762         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
16763         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
16764         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
16765         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
16766         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
16767         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
16768         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
16769         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
16770         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
16771         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
16772         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
16773         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
16774         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
16775         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
16776         * doc/posix-functions/fprintf.texi: Update.
16777         * doc/posix-functions/printf.texi: Update.
16778         * doc/posix-functions/snprintf.texi: Update.
16779         * doc/posix-functions/sprintf.texi: Update.
16780         * doc/posix-functions/vfprintf.texi: Update.
16781         * doc/posix-functions/vprintf.texi: Update.
16782         * doc/posix-functions/vsnprintf.texi: Update.
16783         * doc/posix-functions/vsprintf.texi: Update.
16784         * doc/glibc-functions/obstack_printf.texi: Update.
16785         * doc/glibc-functions/obstack_vprintf.texi: Update.
16786         Reported by Eric Blake.
16787
16788 2009-02-25  Bruno Haible  <bruno@clisp.org>
16789
16790         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
16791         with known value.
16792         Reported by Gary V. Vaughan <gary@gnu.org>.
16793
16794 2009-02-25  Bruno Haible  <bruno@clisp.org>
16795
16796         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
16797         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
16798         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
16799         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
16800         Reported by Gary V. Vaughan <gary@gnu.org>.
16801
16802 2009-02-25  Bruno Haible  <bruno@clisp.org>
16803
16804         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
16805         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
16806         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
16807         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
16808         Reported by Gary V. Vaughan <gary@gnu.org>.
16809
16810 2009-02-25  Eric Blake  <ebb9@byu.net>
16811
16812         tests: skip fseek/ftell tests if ungetc is broken
16813         * m4/ungetc.m4: New file.
16814         * modules/fseek-tests: Split test, so ungetc dependency is
16815         separate from rest of test.
16816         * modules/fseeko-tests: Likewise.
16817         * modules/ftell-tests: Likewise.
16818         * modules/ftello-tests: Likewise.
16819         * tests/test-fseek.c (main): Isolate ungetc dependency.
16820         * tests/test-fseeko.c (main): Likewise.
16821         * tests/test-ftell.c (main): Likewise.
16822         * tests/test-ftello.c (main): Likewise.
16823         * tests/test-fseek2.sh: New file.
16824         * tests/test-fseeko2.sh: Likewise.
16825         * tests/test-ftell2.sh: Likewise.
16826         * tests/test-ftello2.sh: Likewise.
16827
16828 2009-02-25  Ondřej Vašík  <ovasik@redhat.com>
16829
16830         test-getaddrinfo: fix usage of skip return code 77
16831         * tests/test-gettaddrinfo.c: Return skip code 77 only
16832         for first occurance of skip (4x77 is not 77)
16833
16834 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
16835
16836         strtod: avoid C99 decl-after-statement
16837         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
16838
16839 2009-02-24  Eric Blake  <ebb9@byu.net>
16840
16841         strtod: detect HP-UX 11.31 bug
16842         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
16843         Reported by Gary V. Vaughan.
16844
16845 2009-02-23  Bruno Haible  <bruno@clisp.org>
16846
16847         Fix invalid read past end of memory block.
16848         * lib/vasnprintf.c (DCHAR_SET): Define.
16849         (local_wcslen): Define only when needed.
16850         (local_strnlen, local_wcsnlen): New functions.
16851         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
16852         directives that involve a conversion ourselves.
16853         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
16854         wcsnlen, mbrtowc, wcrtomb.
16855         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
16856         * tests/test-vasprintf-posix.c (test_function): Likewise.
16857         * tests/test-snprintf-posix.h (test_function): Likewise.
16858         * tests/test-sprintf-posix.h (test_function): Likewise.
16859         Reported by Ben Pfaff <blp@cs.stanford.edu>.
16860
16861 2009-02-22  Bruno Haible  <bruno@clisp.org>
16862
16863         Implement new clarified decomposition of Hangul syllables.
16864         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
16865         of type LTV, return only a pairwise decomposition.
16866         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
16867         Likewise.
16868         * tests/uninorm/test-decomposition.c (main): Updated expected result.
16869         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
16870         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
16871
16872 2009-02-22  Bruno Haible  <bruno@clisp.org>
16873
16874         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
16875         zero-length results and shrink excess allocated memory.
16876         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
16877         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
16878         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
16879         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
16880         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
16881         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
16882         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
16883         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
16884         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
16885         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
16886         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
16887         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
16888
16889 2009-02-21  Bruno Haible  <bruno@clisp.org>
16890
16891         * doc/gnulib.texi: Include safe-alloc.texi earlier.
16892         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
16893         spaces after a period. Put a space between a macro name and its
16894         argument list. Trivial rewordings.
16895         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
16896         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
16897         (main): Return 0 explicitly.
16898
16899 2009-02-21  Bruno Haible  <bruno@clisp.org>
16900
16901         Tests for module 'uninorm/filter'.
16902         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
16903         * modules/uninorm/filter-tests: New file.
16904
16905         New module 'uninorm/filter'.
16906         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
16907         uninorm_filter_flush, uninorm_filter_free): New declarations.
16908         * lib/uninorm/uninorm-filter.c: New file.
16909         * modules/uninorm/filter: New file.
16910
16911 2009-02-21  Bruno Haible  <bruno@clisp.org>
16912
16913         Tests for module 'uninorm/nfkc'.
16914         * tests/uninorm/test-nfkc.c: New file.
16915         * tests/uninorm/test-u8-nfkc.c: New file.
16916         * tests/uninorm/test-u16-nfkc.c: New file.
16917         * tests/uninorm/test-u32-nfkc.c: New file.
16918         * tests/uninorm/test-u32-nfkc-big.sh: New file.
16919         * tests/uninorm/test-u32-nfkc-big.c: New file.
16920         * modules/uninorm/nfkc-tests: New file.
16921
16922         New module 'uninorm/nfkc'.
16923         * lib/uninorm/nfkc.c: New file.
16924         * modules/uninorm/nfkc: New file.
16925
16926         Tests for module 'uninorm/nfkd'.
16927         * tests/uninorm/test-nfkd.c: New file.
16928         * tests/uninorm/test-u8-nfkd.c: New file.
16929         * tests/uninorm/test-u16-nfkd.c: New file.
16930         * tests/uninorm/test-u32-nfkd.c: New file.
16931         * tests/uninorm/test-u32-nfkd-big.sh: New file.
16932         * tests/uninorm/test-u32-nfkd-big.c: New file.
16933         * modules/uninorm/nfkd-tests: New file.
16934
16935         New module 'uninorm/nfkd'.
16936         * lib/uninorm/nfkd.c: New file.
16937         * modules/uninorm/nfkd: New file.
16938
16939         Tests for module 'uninorm/nfc'.
16940         * tests/uninorm/test-nfc.c: New file.
16941         * tests/uninorm/test-u8-nfc.c: New file.
16942         * tests/uninorm/test-u16-nfc.c: New file.
16943         * tests/uninorm/test-u32-nfc.c: New file.
16944         * tests/uninorm/test-u32-nfc-big.sh: New file.
16945         * tests/uninorm/test-u32-nfc-big.c: New file.
16946         * modules/uninorm/nfc-tests: New file.
16947
16948         New module 'uninorm/nfc'.
16949         * lib/uninorm/nfc.c: New file.
16950         * modules/uninorm/nfc: New file.
16951
16952         Tests for module 'uninorm/nfd'.
16953         * tests/uninorm/test-nfd.c: New file.
16954         * tests/uninorm/test-u8-nfd.c: New file.
16955         * tests/uninorm/test-u16-nfd.c: New file.
16956         * tests/uninorm/test-u32-nfd.c: New file.
16957         * tests/uninorm/test-u32-nfd-big.sh: New file.
16958         * tests/uninorm/test-u32-nfd-big.c: New file.
16959         * tests/uninorm/test-u32-normalize-big.h: New file.
16960         * tests/uninorm/test-u32-normalize-big.c: New file.
16961         * tests/uninorm/NormalizationTest.txt: New file, created from
16962         Unicode 5.1.0 NormalizationTest.txt.
16963         * modules/uninorm/nfd-tests: New file.
16964
16965         New module 'uninorm/nfd'.
16966         * lib/uninorm/nfd.c: New file.
16967         * modules/uninorm/nfd: New file.
16968
16969         New module 'uninorm/u32-normalize'.
16970         * lib/uninorm/u32-normalize.c: New file.
16971         * modules/uninorm/u32-normalize: New file.
16972
16973         New module 'uninorm/u16-normalize'.
16974         * lib/uninorm/u16-normalize.c: New file.
16975         * modules/uninorm/u16-normalize: New file.
16976
16977         New module 'uninorm/u8-normalize'.
16978         * lib/uninorm/u8-normalize.c: New file.
16979         * lib/uninorm/normalize-internal.h: New file.
16980         * lib/uninorm/u-normalize-internal.h: New file.
16981         * modules/uninorm/u8-normalize: New file.
16982
16983         New module 'uninorm/decompose-internal'.
16984         * lib/uninorm/decompose-internal.c: New file.
16985         * modules/uninorm/decompose-internal: New file.
16986
16987         Tests for module 'uninorm/composition'.
16988         * tests/uninorm/test-composition.c: New file.
16989         * modules/uninorm/composition-tests: New file.
16990
16991         New module 'uninorm/composition'.
16992         * lib/uninorm/composition.c: New file.
16993         * lib/uninorm/composition-table.gperf: New file, generated by
16994         gen-uni-tables.
16995         * modules/uninorm/composition: New file.
16996
16997         Tests for module 'uninorm/compat-decomposition'.
16998         * tests/uninorm/test-compat-decomposition.c: New file.
16999         * modules/uninorm/compat-decomposition-tests: New file.
17000
17001         New module 'uninorm/compat-decomposition'.
17002         * lib/uninorm/decompose-internal.h: New file.
17003         * lib/uninorm/compat-decomposition.c: New file.
17004         * modules/uninorm/compat-decomposition: New file.
17005
17006         Tests for module 'uninorm/canonical-decomposition'.
17007         * tests/uninorm/test-canonical-decomposition.c: New file.
17008         * modules/uninorm/canonical-decomposition-tests: New file.
17009
17010         New module 'uninorm/canonical-decomposition'.
17011         * lib/uninorm/canonical-decomposition.c: New file.
17012         * modules/uninorm/canonical-decomposition: New file.
17013
17014         Tests for module 'uninorm/decomposition'.
17015         * tests/uninorm/test-decomposition.c: New file.
17016         * modules/uninorm/decomposition-tests: New file.
17017
17018         New module 'uninorm/decomposition'.
17019         * lib/uninorm/decomposition.c: New file.
17020         * modules/uninorm/decomposition: New file.
17021
17022         New module 'uninorm/decomposition-table'.
17023         * lib/uninorm/decomposition-table.h: New file.
17024         * lib/uninorm/decomposition-table.c: New file.
17025         * lib/uninorm/decomposition-table1.h: New file, generated by
17026         gen-uni-tables.
17027         * lib/uninorm/decomposition-table2.h: New file, generated by
17028         gen-uni-tables.
17029         * modules/uninorm/decomposition-table: New file.
17030
17031         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
17032         (UC_DECOMP_*): New enumeration items.
17033         (get_decomposition): New function.
17034         (struct decomp_table): New type.
17035         (output_decomposition, output_decomposition_tables): New functions.
17036         (unicode_composition_exclusions): New variable.
17037         (fill_composition_exclusions, debug_output_composition_tables): New
17038         functions.
17039         (main): Accept one more argument. Invoke fill_composition_exclusions.
17040         Output decomposition and composition tables.
17041
17042         New module 'uninorm/base'.
17043         * lib/uninorm.h: New file.
17044         * lib/unictype.h: Update comment.
17045         * modules/uninorm/base: New file.
17046
17047 2009-02-21  David Lutterkort  <lutter@redhat.com>
17048
17049         Tests for module 'safe-alloc'.
17050         * tests/test-safe-alloc.c: New file.
17051         * modules/safe-alloc-tests: New file.
17052
17053         New module 'safe-alloc'.
17054         * lib/safe-alloc.h: New file.
17055         * lib/safe-alloc.c: New file.
17056         * m4/safe-alloc.m4: New file.
17057         * modules/safe-alloc: New file.
17058         * doc/safe-alloc.texi: New file.
17059         * doc/gnulib.texi: Include it.
17060         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
17061         safe-alloc.
17062
17063 2009-02-18  Bruno Haible  <bruno@clisp.org>
17064
17065         Fix link error on non-glibc systems.
17066         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
17067         variable.
17068         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
17069
17070 2009-02-18  Jim Meyering  <meyering@redhat.com>
17071
17072         fts: avoid used-uninitialized error due to recent change
17073         * lib/fts.c (fts_read): Guard uses of the new member,
17074         parent->fts_n_dirs_remaining, since it's not relevant for
17075         the parent of a directory specified on the command-line.
17076
17077 2009-02-17  James Youngman  <jay@gnu.org>
17078             Bruno Haible  <bruno@clisp.org>
17079
17080         * m4/include_next.m4: Reformulate comment.
17081
17082 2009-02-16  Jim Meyering  <meyering@redhat.com>
17083
17084         fts: add #if guards so that the fts_lgpl module still builds
17085         * lib/fts.c: Guard just-added hash-table-using parts with
17086         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
17087         Reported by Simon Josefsson.
17088
17089 2009-02-15  Bruno Haible  <bruno@clisp.org>
17090
17091         * modules/array-mergesort-tests: New file.
17092         * tests/test-array-mergesort.c: New file.
17093
17094         New module 'array-mergesort'.
17095         * modules/array-mergesort: New file.
17096         * lib/array-mergesort.h: New file.
17097
17098 2009-02-15  Bruno Haible  <bruno@clisp.org>
17099
17100         Fix 2009-02-07 commit.
17101         * lib/gen-uni-tables.c (output_predicate, output_category,
17102         output_combclass, output_bidi_category, output_decimal_digit,
17103         output_digit, output_numeric, output_mirror, output_scripts,
17104         output_ident_category, output_simple_mapping): Fix format directives.
17105         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
17106
17107 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
17108
17109         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
17110         fixes are available from IBM.
17111
17112 2009-02-13  Jim Meyering  <meyering@redhat.com>
17113
17114         fts: arrange not to stat non-directories in more cases
17115         This makes GNU find (when it doesn't need to stat each file)
17116         *much* more efficient at traversing reiserfs file systems.
17117         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
17118         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
17119         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
17120         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
17121         (leaf_optimization_applies): New function.
17122         (LCO_hash, LCO_compare): New helper functions.
17123         (link_count_optimize_ok): New function.
17124         (fts_stat): Initialize new member (if dir).
17125         (fts_read): Decrement parent's fts_n_dirs_remaining count if
17126         we've just stat'ed a directory.  Skip the stat call when possible.
17127         ---
17128         Note this AFS-related exchange:
17129         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
17130         and note find's pioctl call in find/fstype.c.
17131         But that is necessary only if you want to enable the
17132         optimization for AFS, and for now, I don't.
17133
17134         fts: move a function definition "up" (no semantic change)
17135         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
17136         "up" to precede upcoming use of a related function.
17137
17138 2009-02-11  Jim Meyering  <meyering@redhat.com>
17139
17140         fts: correct internal computation of nlinks (optimization-related)
17141         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
17142         whether the current entry is a directory, so don't test it.
17143
17144 2009-02-10  Bruno Haible  <bruno@clisp.org>
17145
17146         Tests for module 'uniwbrk/ulc-wordbreaks'.
17147         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
17148         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
17149         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
17150
17151         Tests for module 'uniwbrk/u32-wordbreaks'.
17152         * modules/uniwbrk/u32-wordbreaks-tests: New file.
17153         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
17154
17155         Tests for module 'uniwbrk/u16-wordbreaks'.
17156         * modules/uniwbrk/u16-wordbreaks-tests: New file.
17157         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
17158
17159         Tests for module 'uniwbrk/u8-wordbreaks'.
17160         * modules/uniwbrk/u8-wordbreaks-tests: New file.
17161         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
17162
17163 2009-02-10  Bruno Haible  <bruno@clisp.org>
17164
17165         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
17166         property.
17167         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
17168         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
17169         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
17170
17171 2009-02-10  Simon Josefsson  <simon@josefsson.org>
17172
17173         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
17174         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
17175
17176 2009-02-10  Bruno Haible  <bruno@clisp.org>
17177
17178         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
17179         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
17180         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
17181         * lib/unilbrk/u8-possible-linebreaks.c: Update.
17182         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
17183         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
17184
17185 2009-02-09  Simon Josefsson  <simon@josefsson.org>
17186
17187         * lib/sockets.h (gl_fd_to_handle): New function.
17188
17189         * tests/test-sockets.c: Call gl_fd_to_handle.
17190
17191 2009-02-09  Bruno Haible  <bruno@clisp.org>
17192
17193         * doc/havelib.texi: Document the conventions on bi-arch systems.
17194
17195 2009-02-08  Bruno Haible  <bruno@clisp.org>
17196
17197         Document the AC_LIB_LINKFLAGS macro.
17198         * doc/havelib.texi: New file, mostly written on 2005-05-24.
17199         * doc/gnulib.texi: Include it.
17200
17201 2009-02-08  Bruno Haible  <bruno@clisp.org>
17202
17203         Fix wrong order of sections, compared to TOC.
17204         * doc/gnulib.texi: Include relocatable-maint.texi after the
17205         "Regular expressions" node, not before.
17206
17207 2009-02-08  Bruno Haible  <bruno@clisp.org>
17208
17209         Tests for module 'unicase/totitle'.
17210         * modules/unicase/totitle-tests: New file.
17211
17212         Tests for module 'unicase/tolower'.
17213         * modules/unicase/tolower-tests: New file.
17214
17215         Tests for module 'unicase/toupper'.
17216         * modules/unicase/toupper-tests: New file.
17217         * tests/unicase/test-mapping-part1.h: New file.
17218         * tests/unicase/test-mapping-part2.h: New file.
17219
17220         New module 'unicase/totitle'.
17221         * modules/unicase/totitle: New file.
17222         * lib/unicase/totitle.c: New file.
17223
17224         New module 'unicase/tolower'.
17225         * modules/unicase/tolower: New file.
17226         * lib/unicase/tolower.c: New file.
17227
17228         New module 'unicase/toupper'.
17229         * modules/unicase/toupper: New file.
17230         * lib/unicase/toupper.c: New file.
17231         * lib/unicase/simple-mapping.h: New file.
17232
17233         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
17234         (mapping_table): New structure.
17235         (output_simple_mapping): New function.
17236         (main): Invoke output_simple_mapping_test and output_simple_mapping.
17237         * modules/gen-uni-tables (Description): Update.
17238         * lib/unicase/toupper.h: New file, automatically generated by
17239         gen-uni-tables.
17240         * lib/unicase/tolower.h: New file, automatically generated by
17241         gen-uni-tables.
17242         * lib/unicase/totitle.h: New file, automatically generated by
17243         gen-uni-tables.
17244         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
17245         gen-uni-tables.
17246         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
17247         gen-uni-tables.
17248         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
17249         gen-uni-tables.
17250
17251         New module 'unicase/base'.
17252         * modules/unicase/base: New file.
17253         * lib/unicase.h: New file.
17254
17255 2009-02-08  Bruno Haible  <bruno@clisp.org>
17256
17257         New module 'uniwbrk/ulc-wordbreaks'.
17258         * modules/uniwbrk/ulc-wordbreaks: New file.
17259         * lib/uniwbrk/ulc-wordbreaks.c: New file.
17260
17261         New module 'uniwbrk/u32-wordbreaks'.
17262         * modules/uniwbrk/u32-wordbreaks: New file.
17263         * lib/uniwbrk/u32-wordbreaks.c: New file.
17264
17265         New module 'uniwbrk/u16-wordbreaks'.
17266         * modules/uniwbrk/u16-wordbreaks: New file.
17267         * lib/uniwbrk/u16-wordbreaks.c: New file.
17268
17269         New module 'uniwbrk/u8-wordbreaks'.
17270         * modules/uniwbrk/u8-wordbreaks: New file.
17271         * lib/uniwbrk/u8-wordbreaks.c: New file.
17272         * lib/uniwbrk/u-wordbreaks.h: New file.
17273
17274         New module 'uniwbrk/table'.
17275         * modules/uniwbrk/table: New file.
17276         * lib/uniwbrk/wbrktable.h: New file.
17277         * lib/uniwbrk/wbrktable.c: New file.
17278
17279         New module 'uniwbrk/wordbreak-property'.
17280         * modules/uniwbrk/wordbreak-property: New file.
17281         * lib/uniwbrk/wordbreak-property.c: New file.
17282
17283         * lib/gen-uni-tables.c (WBP_*): New enum items.
17284         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
17285         (unicode_org_wbp): New variable.
17286         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
17287         New functions.
17288         (wbp_table): New structure.
17289         (output_wbp, output_wbrk_tables): New functions.
17290         (main): Accept additional argument. Invoke fill_org_wbp,
17291         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
17292         output_wbrk_tables.
17293         * modules/gen-uni-tables (Description): Update.
17294         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
17295         gen-uni-tables.
17296
17297         New module 'uniwbrk/base'.
17298         * modules/uniwbrk/base: New file.
17299         * lib/uniwbrk.h: New file.
17300
17301 2009-02-08  Bruno Haible  <bruno@clisp.org>
17302
17303         Update to Unicode 5.1.0.
17304         * lib/gen-uni-tables.c (is_property_alphabetic): Include
17305         U+2185..U+2188.
17306         (is_property_default_ignorable_code_point): Don't include characters
17307         of category Cc or Cs and not-a-characters.
17308         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
17309         U+0D79, U+109E, U+109F, U+A60C.
17310         * lib/unictype/bidi_of.h: Regenerated.
17311         * lib/unictype/blocks.h: Regenerated.
17312         * lib/unictype/categ_C.h: Regenerated.
17313         * lib/unictype/categ_Cf.h: Regenerated.
17314         * lib/unictype/categ_Cn.h: Regenerated.
17315         * lib/unictype/categ_L.h: Regenerated.
17316         * lib/unictype/categ_Ll.h: Regenerated.
17317         * lib/unictype/categ_Lm.h: Regenerated.
17318         * lib/unictype/categ_Lo.h: Regenerated.
17319         * lib/unictype/categ_Lu.h: Regenerated.
17320         * lib/unictype/categ_M.h: Regenerated.
17321         * lib/unictype/categ_Mc.h: Regenerated.
17322         * lib/unictype/categ_Me.h: Regenerated.
17323         * lib/unictype/categ_Mn.h: Regenerated.
17324         * lib/unictype/categ_N.h: Regenerated.
17325         * lib/unictype/categ_Nd.h: Regenerated.
17326         * lib/unictype/categ_Nl.h: Regenerated.
17327         * lib/unictype/categ_No.h: Regenerated.
17328         * lib/unictype/categ_P.h: Regenerated.
17329         * lib/unictype/categ_Pd.h: Regenerated.
17330         * lib/unictype/categ_Pe.h: Regenerated.
17331         * lib/unictype/categ_Pf.h: Regenerated.
17332         * lib/unictype/categ_Pi.h: Regenerated.
17333         * lib/unictype/categ_Po.h: Regenerated.
17334         * lib/unictype/categ_Ps.h: Regenerated.
17335         * lib/unictype/categ_S.h: Regenerated.
17336         * lib/unictype/categ_Sk.h: Regenerated.
17337         * lib/unictype/categ_Sm.h: Regenerated.
17338         * lib/unictype/categ_So.h: Regenerated.
17339         * lib/unictype/categ_of.h: Regenerated.
17340         * lib/unictype/combining.h: Regenerated.
17341         * lib/unictype/ctype_alnum.h: Regenerated.
17342         * lib/unictype/ctype_alpha.h: Regenerated.
17343         * lib/unictype/ctype_graph.h: Regenerated.
17344         * lib/unictype/ctype_lower.h: Regenerated.
17345         * lib/unictype/ctype_print.h: Regenerated.
17346         * lib/unictype/ctype_punct.h: Regenerated.
17347         * lib/unictype/ctype_upper.h: Regenerated.
17348         * lib/unictype/decdigit.h: Regenerated.
17349         * lib/unictype/digit.h: Regenerated.
17350         * lib/unictype/mirror.h: Regenerated.
17351         * lib/unictype/numeric.h: Regenerated.
17352         * lib/unictype/pr_alphabetic.h: Regenerated.
17353         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
17354         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
17355         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
17356         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
17357         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
17358         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
17359         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
17360         * lib/unictype/pr_combining.h: Regenerated.
17361         * lib/unictype/pr_dash.h: Regenerated.
17362         * lib/unictype/pr_decimal_digit.h: Regenerated.
17363         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
17364         * lib/unictype/pr_deprecated.h: Regenerated.
17365         * lib/unictype/pr_diacritic.h: Regenerated.
17366         * lib/unictype/pr_extender.h: Regenerated.
17367         * lib/unictype/pr_format_control.h: Regenerated.
17368         * lib/unictype/pr_grapheme_base.h: Regenerated.
17369         * lib/unictype/pr_grapheme_extend.h: Regenerated.
17370         * lib/unictype/pr_grapheme_link.h: Regenerated.
17371         * lib/unictype/pr_id_continue.h: Regenerated.
17372         * lib/unictype/pr_id_start.h: Regenerated.
17373         * lib/unictype/pr_ideographic.h: Regenerated.
17374         * lib/unictype/pr_ignorable_control.h: Regenerated.
17375         * lib/unictype/pr_lowercase.h: Regenerated.
17376         * lib/unictype/pr_math.h: Regenerated.
17377         * lib/unictype/pr_numeric.h: Regenerated.
17378         * lib/unictype/pr_other_alphabetic.h: Regenerated.
17379         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
17380         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
17381         * lib/unictype/pr_other_id_continue.h: Regenerated.
17382         * lib/unictype/pr_other_lowercase.h: Regenerated.
17383         * lib/unictype/pr_other_math.h: Regenerated.
17384         * lib/unictype/pr_punctuation.h: Regenerated.
17385         * lib/unictype/pr_sentence_terminal.h: Regenerated.
17386         * lib/unictype/pr_soft_dotted.h: Regenerated.
17387         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
17388         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
17389         * lib/unictype/pr_unified_ideograph.h: Regenerated.
17390         * lib/unictype/pr_uppercase.h: Regenerated.
17391         * lib/unictype/pr_xid_continue.h: Regenerated.
17392         * lib/unictype/pr_xid_start.h: Regenerated.
17393         * lib/unictype/pr_zero_width.h: Regenerated.
17394         * lib/unictype/scripts.h: Regenerated.
17395         * lib/unictype/scripts_byname.gperf: Regenerated.
17396         * lib/unictype/sy_java_ident.h: Regenerated.
17397         * lib/unilbrk/lbrkprop1.h: Regenerated.
17398         * lib/unilbrk/lbrkprop2.h: Regenerated.
17399         * tests/unictype/test-categ_C.c: Regenerated.
17400         * tests/unictype/test-categ_Cf.c: Regenerated.
17401         * tests/unictype/test-categ_Cn.c: Regenerated.
17402         * tests/unictype/test-categ_L.c: Regenerated.
17403         * tests/unictype/test-categ_Ll.c: Regenerated.
17404         * tests/unictype/test-categ_Lm.c: Regenerated.
17405         * tests/unictype/test-categ_Lo.c: Regenerated.
17406         * tests/unictype/test-categ_Lu.c: Regenerated.
17407         * tests/unictype/test-categ_M.c: Regenerated.
17408         * tests/unictype/test-categ_Mc.c: Regenerated.
17409         * tests/unictype/test-categ_Me.c: Regenerated.
17410         * tests/unictype/test-categ_Mn.c: Regenerated.
17411         * tests/unictype/test-categ_N.c: Regenerated.
17412         * tests/unictype/test-categ_Nd.c: Regenerated.
17413         * tests/unictype/test-categ_Nl.c: Regenerated.
17414         * tests/unictype/test-categ_No.c: Regenerated.
17415         * tests/unictype/test-categ_P.c: Regenerated.
17416         * tests/unictype/test-categ_Pd.c: Regenerated.
17417         * tests/unictype/test-categ_Pe.c: Regenerated.
17418         * tests/unictype/test-categ_Pf.c: Regenerated.
17419         * tests/unictype/test-categ_Pi.c: Regenerated.
17420         * tests/unictype/test-categ_Po.c: Regenerated.
17421         * tests/unictype/test-categ_Ps.c: Regenerated.
17422         * tests/unictype/test-categ_S.c: Regenerated.
17423         * tests/unictype/test-categ_Sk.c: Regenerated.
17424         * tests/unictype/test-categ_Sm.c: Regenerated.
17425         * tests/unictype/test-categ_So.c: Regenerated.
17426         * tests/unictype/test-ctype_alnum.c: Regenerated.
17427         * tests/unictype/test-ctype_alpha.c: Regenerated.
17428         * tests/unictype/test-ctype_graph.c: Regenerated.
17429         * tests/unictype/test-ctype_lower.c: Regenerated.
17430         * tests/unictype/test-ctype_print.c: Regenerated.
17431         * tests/unictype/test-ctype_punct.c: Regenerated.
17432         * tests/unictype/test-ctype_upper.c: Regenerated.
17433         * tests/unictype/test-decdigit.h: Regenerated.
17434         * tests/unictype/test-digit.h: Regenerated.
17435         * tests/unictype/test-numeric.h: Regenerated.
17436         * tests/unictype/test-pr_alphabetic.c: Regenerated.
17437         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
17438         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
17439         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
17440         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
17441         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
17442         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
17443         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
17444         * tests/unictype/test-pr_combining.c: Regenerated.
17445         * tests/unictype/test-pr_dash.c: Regenerated.
17446         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
17447         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
17448         * tests/unictype/test-pr_deprecated.c: Regenerated.
17449         * tests/unictype/test-pr_diacritic.c: Regenerated.
17450         * tests/unictype/test-pr_extender.c: Regenerated.
17451         * tests/unictype/test-pr_format_control.c: Regenerated.
17452         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
17453         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
17454         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
17455         * tests/unictype/test-pr_id_continue.c: Regenerated.
17456         * tests/unictype/test-pr_id_start.c: Regenerated.
17457         * tests/unictype/test-pr_ideographic.c: Regenerated.
17458         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
17459         * tests/unictype/test-pr_lowercase.c: Regenerated.
17460         * tests/unictype/test-pr_math.c: Regenerated.
17461         * tests/unictype/test-pr_numeric.c: Regenerated.
17462         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
17463         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
17464         Regenerated.
17465         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
17466         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
17467         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
17468         * tests/unictype/test-pr_other_math.c: Regenerated.
17469         * tests/unictype/test-pr_punctuation.c: Regenerated.
17470         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
17471         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
17472         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
17473         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
17474         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
17475         * tests/unictype/test-pr_uppercase.c: Regenerated.
17476         * tests/unictype/test-pr_xid_continue.c: Regenerated.
17477         * tests/unictype/test-pr_xid_start.c: Regenerated.
17478         * tests/unictype/test-pr_zero_width.c: Regenerated.
17479
17480         Update to Unicode 5.1.0.
17481         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
17482         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
17483         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
17484         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
17485         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
17486         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
17487         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
17488         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
17489         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
17490         (nonspacing_table_ind): Update.
17491         * tests/uniwidth/test-uc_width2.sh: Update expected result.
17492
17493         Update to Unicode 5.1.0.
17494         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
17495         code transform.
17496         * lib/uniname/uniname.c (unicode_character_name,
17497         unicode_name_character): Add the range 0x1Fxxx to the code transform.
17498         * lib/uniname/uninames.h: Regenerated.
17499         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
17500
17501 2009-02-07  Bruno Haible  <bruno@clisp.org>
17502
17503         Merge gen-ctype and gen-lbrk into a single program.
17504         * lib/gen-uni-tables.c: New file, incorporating
17505         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
17506         Add directory prefixes to the names of the generated files.
17507         * lib/unictype/gen-ctype.c: Remove file.
17508         * lib/unilbrk/gen-lbrk.c: Remove file.
17509         * modules/gen-uni-tables: New file.
17510         * modules/unictype/gen-ctype: Remove file.
17511         * modules/unilbrk/gen-lbrk: Remove file.
17512
17513 2009-02-07  Bruno Haible  <bruno@clisp.org>
17514
17515         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
17516
17517         New module 'unistr/u32-strcoll'.
17518         * modules/unistr/u32-strcoll: New file.
17519         * lib/unistr/u32-strcoll.c: New file.
17520
17521         New module 'unistr/u16-strcoll'.
17522         * modules/unistr/u16-strcoll: New file.
17523         * lib/unistr/u16-strcoll.c: New file.
17524
17525         New module 'unistr/u8-strcoll'.
17526         * modules/unistr/u8-strcoll: New file.
17527         * lib/unistr/u8-strcoll.c: New file.
17528         * lib/unistr/u-strcoll.h: New file.
17529
17530 2009-02-07  Bruno Haible  <bruno@clisp.org>
17531
17532         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
17533         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
17534         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
17535         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
17536         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
17537         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
17538
17539 2009-02-07  Bruno Haible  <bruno@clisp.org>
17540
17541         Make 64-bit clean.
17542         * lib/unictype/gen-ctype.c (output_predicate, output_category,
17543         output_combclass, output_bidi_category, output_decimal_digit,
17544         output_digit, output_numeric, output_mirror, output_scripts,
17545         output_ident_category): Use proper width specifier in format strings.
17546
17547 2009-02-07  Bruno Haible  <bruno@clisp.org>
17548
17549         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
17550         failure behaviour.
17551
17552 2009-02-07  Jim Meyering  <meyering@redhat.com>
17553
17554         regex: avoid compilation failure with upcoming gcc-4.4
17555         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
17556         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
17557         "... error: integer overflow in preprocessor expression".
17558
17559 2009-02-05  Ben Pfaff  <blp@gnu.org>
17560
17561         Fix link errors on Windows when close module is used.
17562         * modules/close: Add $(LIB_CLOSE) to Link section.
17563         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
17564         $(LIB_CLOSE) on Windows.
17565
17566 2009-02-05  Jim Meyering  <meyering@redhat.com>
17567
17568         still avoid unused-parameter warnings, but do it cleanly
17569         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
17570         (get_fs_usage): Cast to void instead.
17571         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
17572         (dev_from_mount_options, read_file_system_list): Cast to void.
17573         Prompted by Bruno Haible.
17574
17575 2009-02-04  Jim Meyering  <meyering@redhat.com>
17576
17577         fsusage.c: correct copyright year
17578         * lib/fsusage.c: Reflect year in which the change is pushed into
17579
17580         avoid misc. warnings
17581         * lib/fsusage.c (UNUSED_PARAM): Define.
17582         (get_fs_usage): Mark parameter "disk" as unused.
17583         * lib/getugroups.c (getgrent): Use "void" in prototype.
17584         * lib/mountlist.c: Mark unused parameters.
17585         (read_file_system_list): Declare a local with "const".
17586         * lib/nanosleep.c (getnow): Declare static.
17587         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
17588
17589         dirfd: set errno upon failure
17590         * lib/dirfd.c: Include <errno.h>.
17591         Set errno to ENOTSUP when returning -1.
17592         * modules/dirfd (Depends-on): Add errno.
17593         Suggested by John Kodis <kodis@comcast.net>.
17594
17595 2009-02-01  Bruno Haible  <bruno@clisp.org>
17596
17597         Don't assume sizeof (long) >= sizeof (void *).
17598         * lib/memcmp.c: Include stdint.h.
17599         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
17600         srcp2 to 'const byte *'.
17601         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
17602         types to uintptr_t.
17603         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
17604         * modules/memcmp (Depends-on): Add stdint.
17605         Reported by Ozkan Sezer <sezeroz@gmail.com>.
17606
17607 2009-01-30  Eric Blake  <ebb9@byu.net>
17608
17609         fix more require-before-expand issues
17610         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
17611         expand, AC_PROG_AWK.
17612         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
17613
17614 2009-01-28  Eric Blake  <ebb9@byu.net>
17615
17616         version-etc: use consistent URL formatting
17617         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
17618         Improve formatting.  Use fputs for string without %.
17619
17620 2009-01-28  Jim Meyering  <meyering@redhat.com>
17621
17622         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
17623         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
17624         "underquoted definition of NAME" from autoconf-2.59.
17625
17626 2009-01-28  Bruno Haible  <bruno@clisp.org>
17627
17628         * doc/gnulib.texi: Add "Obsolete modules" to index.
17629
17630 2009-01-28  Jim Meyering  <meyering@redhat.com>
17631
17632         useless-if-before-free: recognize more variants
17633         * build-aux/useless-if-before-free: Also recognize e.g.,
17634         if (NULL != p) free (p);
17635
17636 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
17637
17638         test-getaddrinfo: skip (don't fail) this test when there's no network
17639         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
17640         on the presumption that it means you lack network access.
17641
17642 2009-01-26  Jim Meyering  <meyering@redhat.com>
17643
17644         fflush: avoid warnings on modern systems
17645         * lib/fflush.c (rpl_fflush): Move declarations of locals,
17646         pos and result, into scopes where they're used.
17647
17648 2009-01-26  Eric Blake  <ebb9@byu.net>
17649
17650         Silence warning reintroduced by recent extensions patch.
17651         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
17652         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
17653         autoconf.
17654
17655         Backport improved autoconf semantics of AC_DEFUN_ONCE.
17656         * m4/00gnulib.m4: New file.
17657         * gnulib-tool (func_get_filelist): Always use it.
17658         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
17659         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
17660
17661 2009-01-25  Bruno Haible  <bruno@clisp.org>
17662
17663         Make test-quotearg work on MacOS X and AIX.
17664         * tests/test-quotearg.sh: New file.
17665         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
17666         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
17667         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
17668         include <libintl.h>.
17669         (fake_locale): Remove variable.
17670         (gettext, dgettext, dcgettext): Remove functions.
17671         (main): Instead of setting a fake locale, set a real locale. Call
17672         textdomain and bindtextdomain.
17673         * modules/quotearg-tests (Files): Add the new files.
17674         (Depends-on): Add gettext, setenv, unsetenv.
17675         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
17676         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
17677         Augment TESTS_ENVIRONMENT.
17678
17679 2009-01-25  Bruno Haible  <bruno@clisp.org>
17680
17681         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
17682         fr_FR.ISO8859-1 locale on MacOS X.
17683         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
17684         ja_JP.eucJP locale on MacOS X.
17685         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
17686         zh_CN.GB18030 locale on MacOS X.
17687
17688 2009-01-25  Bruno Haible  <bruno@clisp.org>
17689
17690         Avoid link errors on MacOS X 10.3.
17691         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
17692         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
17693
17694 2009-01-25  Bruno Haible  <bruno@clisp.org>
17695
17696         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
17697         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
17698         * modules/pipe (Files): Remove m4/posix_spawn.m4.
17699         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
17700         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
17701         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
17702         posix_spawnattr_init, posix_spawnattr_setsigmask,
17703         posix_spawnattr_setflags, posix_spawnattr_destroy.
17704
17705         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
17706         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
17707         * modules/execute (Files): Remove m4/posix_spawn.m4.
17708         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
17709         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
17710         posix_spawnattr_init, posix_spawnattr_setsigmask,
17711         posix_spawnattr_setflags, posix_spawnattr_destroy.
17712
17713 2009-01-25  Bruno Haible  <bruno@clisp.org>
17714
17715         * lib/glthread/threadlib.c: Include <stdlib.h>.
17716
17717 2009-01-25  Bruno Haible  <bruno@clisp.org>
17718
17719         * lib/glthread/threadlib.c (dummy): New declaration.
17720
17721 2009-01-25  Bruno Haible  <bruno@clisp.org>
17722
17723         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
17724         multibyte characters also for the GB18030 encoding. Don't crash when
17725         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
17726
17727 2009-01-25  Bruno Haible  <bruno@clisp.org>
17728
17729         Avoid redefining 'struct random_data' on OSF/1 5.1.
17730         * lib/stdlib.in.h: Include <random.h> if it exists.
17731         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
17732         HAVE_RANDOM_H. Include <random.h> when testing whether
17733         'struct random_data' exists.
17734         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
17735
17736 2009-01-25  Bruno Haible  <bruno@clisp.org>
17737
17738         Don't install charset.alias on MacOS X >= 10.3.
17739         * lib/localcharset.c (DARWIN7): New macro.
17740         (get_charset_aliases): Hardcode the result for Darwin7.
17741         * modules/localcharset (install-exec-local): Don't install
17742         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
17743
17744 2009-01-25  Bruno Haible  <bruno@clisp.org>
17745
17746         Don't install charset.alias on mingw and Cygwin.
17747         * modules/localcharset (install-exec-local): Don't install
17748         charset.alias on mingw and Cygwin, if the file does not yet exist.
17749         The result for these platforms is hardcoded in localcharset.c.
17750
17751 2009-01-25  Bruno Haible  <bruno@clisp.org>
17752
17753         Make it possible again to use AC_GNU_SOURCE together with gnulib.
17754         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
17755         before requiring AC_USE_SYSTEM_EXTENSIONS.
17756
17757 2009-01-25  Jim Meyering  <meyering@redhat.com>
17758
17759         c-strtod: avoid warnings
17760         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
17761         "assignment discards qualifiers from pointer target type" warnings.
17762
17763 2009-01-24  Bruno Haible  <bruno@clisp.org>
17764
17765         Add support for non-UTF-8 locales on MacOS X.
17766         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
17767         canonical encodings. For Darwin 7 and newer, don't map traditional
17768         encodings to UTF-8.
17769         Reported by Vincent Lefevre <vincent@vinc17.org>
17770         at <http://savannah.gnu.org/bugs/?25235>.
17771
17772 2009-01-24  Bruno Haible  <bruno@clisp.org>
17773
17774         * doc/gnulib.texi (Obsolete modules): New section.
17775         Reported by Mike Frysinger <vapier@gentoo.org>.
17776
17777 2009-01-24  Bruno Haible  <bruno@clisp.org>
17778
17779         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
17780         (%.dvi): New rule.
17781
17782 2009-01-24  Bruno Haible  <bruno@clisp.org>
17783
17784         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
17785         Reported by Eric Blake.
17786
17787 2009-01-24  Bruno Haible  <bruno@clisp.org>
17788
17789         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
17790         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
17791         Reported by Gary V. Vaughan <gary@gnu.org>.
17792
17793 2009-01-24  Bruno Haible  <bruno@clisp.org>
17794
17795         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
17796
17797 2009-01-23  Bruno Haible  <bruno@clisp.org>
17798
17799         Make c-strtod, c-strtold usable in libraries.
17800         * lib/c-strtod.c: Include string.h instead of xalloc.h.
17801         (C_STRTOD): Call strdup instead of xstrdup.
17802         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
17803         * modules/c-strtold (Depends-on): Likewise.
17804         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
17805         * NEWS: Mention the change.
17806         Reported by Michael Gold <mgold@ncf.ca>.
17807
17808 2009-01-23  Jim Meyering  <meyering@redhat.com>
17809
17810         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
17811         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
17812         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
17813
17814 2009-01-23  Simon Josefsson  <simon@josefsson.org>
17815
17816         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
17817         GNU CoreUtils.
17818         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
17819         * modules/version-etc (Description): Update.
17820
17821 2009-01-22  Bruno Haible  <bruno@clisp.org>
17822
17823         Cache the C locale object.
17824         * lib/c-strtod.c (c_locale_cache): New variable.
17825         (c_locale): New function.
17826         (C_STRTOD): Use it, and don't call freelocale.
17827         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
17828         Suggested by Paolo Bonzini.
17829
17830 2009-01-21  Bruno Haible  <bruno@clisp.org>
17831
17832         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
17833         conditions other than overflow.
17834
17835 2009-01-21  Bruno Haible  <bruno@clisp.org>
17836
17837         * lib/c-strtod.c: Include errno.h.
17838         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
17839         value from STRTOD_L and STRTOD.
17840
17841 2009-01-21  Bruno Haible  <bruno@clisp.org>
17842         and Jim Meyering  <meyering@redhat.com>
17843
17844         nanosleep: skip configure test (fail it) for apple universal builds
17845         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
17846         universal builds, assume that nanosleep does not work.
17847         * modules/nanosleep (Depends-on): Add multiarch.
17848
17849         mktime: skip configure test (fail it) for apple universal builds
17850         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
17851         universal builds, assume that mktime does not work.
17852         * modules/mktime (Depends-on): Add multiarch.
17853
17854 2009-01-21  Eric Blake  <ebb9@byu.net>
17855
17856         multiarch: avoid expand-before-require warning
17857         * modules/multiarch (configure.ac): Require, rather than expand,
17858         gl_MULTIARCH.
17859         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
17860         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
17861         enforce that all clients require it.  Partial reversion of
17862         2008-12-29 patch.
17863
17864         error: avoid expand-before-require warning
17865         * modules/errno (configure.ac): Require, rather than expand,
17866         gl_HEADER_ERRNO_H.
17867         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
17868         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
17869         enforce that all clients require it.
17870
17871         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
17872         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
17873         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
17874         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
17875
17876 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
17877
17878         Revert:
17879         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
17880
17881         regex: do not depend on obsolete modules.
17882         * modules/regex: Remove memcmp and memmove.
17883
17884 2009-01-20  Bruno Haible  <bruno@clisp.org>
17885
17886         Make the 'link' module link on Windows NT 4.
17887         * lib/link.c (_WIN32_WINNT): Don't define.
17888         (CreateHardLinkFuncType): New type.
17889         (CreateHardLinkFunc, initialized): New variables.
17890         (initialize): New function.
17891         (link): Invoke CreateHardLink indirectly through the function pointer.
17892
17893 2009-01-20  Bruno Haible  <bruno@clisp.org>
17894
17895         Fix compilation failure on mingw.
17896         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
17897
17898 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
17899
17900         * doc/c-strtod.texi: Mention a couple of restrictions.
17901
17902 2009-01-20  Jim Meyering  <meyering@redhat.com>
17903
17904         gettimeofday: move more declarations out of functions
17905         * lib/gettimeofday.c: Move extern declarations of tzset and
17906         gmtime out of containing functions.  Prompted by Bruno Haible.
17907
17908 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
17909
17910         regex: do not depend on obsolete modules.
17911         * modules/regex: Remove memcmp and memmove.
17912
17913 2009-01-19  Bruno Haible  <bruno@clisp.org>
17914
17915         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
17916         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
17917         gl_BIGENDIAN, not AC_C_BIGENDIAN.
17918         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
17919         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
17920
17921 2009-01-19  Bruno Haible  <bruno@clisp.org>
17922
17923         * tests/test-link.c: Include <errno.h>.
17924         (main): Exit with code 77 when a hard link cannot be created due to
17925         the file system.
17926         * tests/test-link.sh: Skip test when a hard link cannot be created due
17927         to the file system.
17928         Suggested by Eric Blake.
17929
17930 2009-01-19  Martin Lambers  <marlam@marlam.de>
17931
17932         * modules/link-tests: New file.
17933         * tests/test-link.sh: New file.
17934         * tests/test-link.c: New file.
17935
17936 2009-01-19  Eric Blake  <ebb9@byu.net>
17937
17938         doc: mention another function added in cygwin 1.7.0
17939         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
17940         Another new function in cygwin 1.7.
17941
17942 2009-01-19  Bruno Haible  <bruno@clisp.org>
17943
17944         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
17945         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
17946         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
17947         gl_BIGENDIAN, not AC_C_BIGENDIAN.
17948         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
17949         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
17950         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
17951         * m4/md4.m4 (gl_MD4): Likewise.
17952         * m4/md5.m4 (gl_MD5): Likewise.
17953         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
17954         * m4/sha1.m4 (gl_SHA1): Likewise.
17955         * m4/sha256.m4 (gl_SHA256): Likewise.
17956         * m4/sha512.m4 (gl_SHA512): Likewise.
17957
17958 2009-01-19  Bruno Haible  <bruno@clisp.org>
17959
17960         * modules/uniname/uniname-tests (Depends-on): Add progname.
17961         * tests/uniname/test-uninames.c: Include progname.h.
17962         (main): Call set_program_name.
17963
17964         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
17965         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
17966         (main): Call set_program_name.
17967
17968         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
17969         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
17970         (main): Call set_program_name.
17971
17972         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
17973         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
17974         (main): Call set_program_name.
17975
17976         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
17977         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
17978         (main): Call set_program_name.
17979
17980         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
17981         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
17982         (main): Call set_program_name.
17983
17984         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
17985         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
17986         (main): Call set_program_name.
17987
17988         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
17989         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
17990         (main): Call set_program_name.
17991
17992         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
17993         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
17994         (main): Call set_program_name.
17995
17996 2009-01-19  Eric Blake  <ebb9@byu.net>
17997
17998         test-unistd: test previous patch
17999         * tests/test-unistd.c: Test *_FILENO macros.
18000
18001         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
18002         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
18003         Guarantee a definition.
18004         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
18005         * modules/unistd-safer (Depends-on): Add dependency on unistd.
18006         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
18007         * lib/dup-safer.c (STDERR_FILENO): Likewise.
18008         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
18009         Likewise.
18010         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
18011         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
18012         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
18013         Likewise.
18014         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
18015         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
18016         (STDERR_FILENO): Likewise.
18017         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
18018         (STDERR_FILENO): Likewise.
18019         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
18020         (STDERR_FILENO): Likewise.
18021         Reported by Elbert Pol.
18022
18023 2009-01-19  Eric Blake  <ebb9@byu.net>
18024
18025         doc: mention more functions added in cygwin 1.7.0
18026         * doc/posix-functions/abort.texi (abort): Update wording related
18027         to cygwin.
18028         * doc/posix-functions/daylight.texi (daylight): Likewise.
18029         * doc/posix-functions/optarg.texi (optarg): Likewise.
18030         * doc/posix-functions/optarg.texi (opterr): Likewise.
18031         * doc/posix-functions/optarg.texi (optind): Likewise.
18032         * doc/posix-functions/optarg.texi (optopt): Likewise.
18033         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
18034         worked in 1.5.x, and was withdrawn in 1.7.
18035         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
18036         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
18037         cygwin versions.
18038         * doc/posix-functions/perror.texi (perror): Likewise.
18039         * doc/posix-functions/printf.texi (printf): Likewise.
18040         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
18041         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
18042         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
18043         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
18044         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
18045         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
18046         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
18047         Likewise.
18048         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
18049         Likewise.
18050         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
18051         this function.
18052         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
18053         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
18054         Likewise.
18055         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
18056         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
18057         * doc/posix-functions/confstr.texi (confstr): Likewise.
18058         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
18059         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
18060         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
18061         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
18062         * doc/posix-functions/fputws.texi (fputws): Likewise.
18063         * doc/posix-functions/fwide.texi (fwide): Likewise.
18064         * doc/posix-functions/getwc.texi (getwc): Likewise.
18065         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
18066         * doc/posix-functions/putwc.texi (putwc): Likewise.
18067         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
18068         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
18069         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
18070         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
18071         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
18072         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
18073         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
18074         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
18075         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
18076         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
18077         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
18078
18079 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
18080
18081         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
18082         * lib/ioctl.c: Include <sys/ioctl.h>.
18083
18084 2009-01-19  Simon Josefsson  <simon@josefsson.org>
18085
18086         * modules/getdate-tests (Depends-on): Add progname.
18087         * tests/test-getdate.c: Use progname module, to avoid link errors
18088         on non-glibc systems.
18089
18090 2009-01-18  Simon Josefsson  <simon@josefsson.org>
18091
18092         * modules/filenamecat-tests (Depends-on): Add progname.
18093         * modules/fstrcmp-tests (Depends-on): Likewise.
18094
18095         * tests/test-filenamecat.c: Use progname module, to avoid link
18096         errors on non-glibc systems.
18097         * tests/test-fstrcmp.c: Likewise.
18098
18099 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
18100
18101         gettimeofday: avoid warning: nested extern declaration of 'localtime'
18102         * lib/gettimeofday.c: Move extern declaration out of function.
18103
18104 2009-01-18  Bruno Haible  <bruno@clisp.org>
18105
18106         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
18107         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
18108         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
18109
18110 2009-01-18  Bruno Haible  <bruno@clisp.org>
18111
18112         * lib/strftime.c (MEMPCPY): Remove unused macro.
18113         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
18114
18115 2009-01-18  Martin Lambers  <marlam@marlam.de>
18116
18117         New module 'link'.
18118         * lib/unistd.in.h (link): New declaration.
18119         * lib/link.c: New file.
18120         * m4/link.m4: New file.
18121         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
18122         HAVE_LINK.
18123         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
18124         * modules/link: New file.
18125         * doc/posix-functions/link.texi: Mention the new module.
18126
18127 2009-01-18  Bruno Haible  <bruno@clisp.org>
18128
18129         * tests/test-avltree_list.c (main): Call set_program_name.
18130         * tests/test-avltree_oset.c (main): Likewise.
18131         * tests/test-obstack-printf.c: Include progname.h.
18132         (main): Call set_program_name.
18133         * tests/test-quotearg.c: Include progname.h.
18134         (main): Call set_program_name.
18135         * tests/test-xmemdup0.c: Include progname.h.
18136         (main): Call set_program_name.
18137
18138 2009-01-18  Bruno Haible  <bruno@clisp.org>
18139
18140         New module 'alphasort'.
18141         * lib/dirent.in.h (alphasort): New declaration.
18142         * lib/alphasort.c: New file, from glibc with modifications.
18143         * m4/alphasort.m4: New file.
18144         * modules/alphasort: New file.
18145         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
18146         HAVE_ALPHASORT.
18147         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
18148         HAVE_ALPHASORT.
18149         * doc/posix-functions/alphasort.texi: Mention the new module and the
18150         portability problems.
18151
18152 2009-01-18  Bruno Haible  <bruno@clisp.org>
18153
18154         New module 'scandir'.
18155         * lib/dirent.in.h (scandir): New declaration.
18156         * lib/scandir.c: New file, from glibc with modifications.
18157         * m4/scandir.m4: New file.
18158         * modules/scandir: New file.
18159         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
18160         HAVE_SCANDIR.
18161         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
18162         HAVE_SCANDIR.
18163         * doc/posix-functions/scandir.texi: Mention the new module and the
18164         portability problems.
18165
18166 2009-01-17  Bruno Haible  <bruno@clisp.org>
18167
18168         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
18169         Update documentation.
18170         (func_remove_suffix): Escape all dots in the suffix. Update
18171         documentation.
18172         (func_filter_filelist): Update documentation.
18173         Reported by Ralf Wildenhues.
18174
18175 2009-01-17  Bruno Haible  <bruno@clisp.org>
18176
18177         * modules/dprintf-posix-tests: New file.
18178         * tests/test-dprintf-posix.sh: New file.
18179         * tests/test-dprintf-posix.c: New file.
18180
18181         New modules 'dprintf', 'dprintf-posix'.
18182         * lib/stdio.in.h (dprintf): New declaration.
18183         * lib/dprintf.c: New file.
18184         * m4/dprintf.m4: New file.
18185         * m4/dprintf-posix.m4: New file.
18186         * modules/dprintf: New file.
18187         * modules/dprintf-posix: New file.
18188         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
18189         HAVE_DPRINTF, REPLACE_DPRINTF.
18190         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
18191         HAVE_DPRINTF, REPLACE_DPRINTF.
18192         * doc/posix-functions/dprintf.texi: Mention the new modules.
18193
18194 2009-01-17  Bruno Haible  <bruno@clisp.org>
18195
18196         * modules/vdprintf-posix-tests: New file.
18197         * tests/test-vdprintf-posix.sh: New file.
18198         * tests/test-vdprintf-posix.c: New file.
18199
18200         New modules 'vdprintf', 'vdprintf-posix'.
18201         * lib/stdio.in.h (vdprintf): New declaration.
18202         * lib/vdprintf.c: New file.
18203         * m4/vdprintf.m4: New file.
18204         * m4/vdprintf-posix.m4: New file.
18205         * modules/vdprintf: New file.
18206         * modules/vdprintf-posix: New file.
18207         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
18208         HAVE_VDPRINTF, REPLACE_VDPRINTF.
18209         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
18210         HAVE_VDPRINTF, REPLACE_VDPRINTF.
18211         * doc/posix-functions/vdprintf.texi: Mention the new modules.
18212
18213 2009-01-17  Bruno Haible  <bruno@clisp.org>
18214
18215         Fix replacement of fopen on mingw.
18216         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
18217         mingw.
18218
18219 2009-01-17  Bruno Haible  <bruno@clisp.org>
18220
18221         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
18222         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
18223
18224 2009-01-17  Bruno Haible  <bruno@clisp.org>
18225
18226         Avoid test-fflush2.sh failure on mingw.
18227         * tests/test-fflush2.c: Include binary-io.h.
18228         (main): Put standard input into binary mode.
18229         * modules/fflush-tests (Depends-on): Add binary-io.
18230
18231 2009-01-17  Bruno Haible  <bruno@clisp.org>
18232
18233         * lib/wchar.in.h: In another particular situation, include only the
18234         system's <wchar.h> file.
18235         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
18236         Reported by Albert Chin-A-Young <china@thewrittenword.com>
18237         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
18238
18239 2009-01-17  Bruno Haible  <bruno@clisp.org>
18240
18241         Support for stripping executables in --enable-relocatable.
18242         * build-aux/install-reloc: Expect one more argument, or an environment
18243         variable RELOC_STRIP_PROG. If set, strip the destination program and
18244         its wrapper.
18245         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
18246         RELOC_STRIP_PROG.
18247         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
18248         to set RELOCATABLE_STRIP.
18249         * NEWS: Mention the new Makefile requirement.
18250
18251 2009-01-17  Bruno Haible  <bruno@clisp.org>
18252
18253         * build-aux/install-reloc: Remove debugging information left over by
18254         C compiler on MacOS X.
18255
18256 2009-01-17  Bruno Haible  <bruno@clisp.org>
18257
18258         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
18259         * lib/progreloc.c (find_executable): Fix type of pointer passed to
18260         _NSGetExecutablePath.
18261
18262 2009-01-16  Jim Meyering  <meyering@redhat.com>
18263
18264         strerror: avoid warnings about discarding "const"
18265         * lib/strerror.c (rpl_strerror): Instead of returning a const
18266         string from each and every "case", use a variable, and add a single
18267         cast after the switch.
18268
18269 2009-01-16  Albert Chin-A-Young <china@thewrittenword.com>
18270
18271         * lib/arpa_inet.in.h: Add extern "C" block for C++.
18272
18273 2009-01-16  Bruno Haible  <bruno@clisp.org>
18274
18275         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
18276         array initializer syntax that also works in C++ mode.
18277         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
18278
18279 2009-01-16  Jim Meyering  <meyering@redhat.com>
18280
18281         poll: suppress a warning
18282         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
18283         to ignore "...unsigned expression < 0 is always false" warnings.
18284
18285 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
18286
18287         poll: remove declarations of unused variables
18288         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
18289         sockbuf and optlen.
18290
18291 2009-01-15  Bruno Haible  <bruno@clisp.org>
18292
18293         Make fflush-after-ungetc POSIX compliant on BSD systems.
18294         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
18295         (clear_ungetc_buffer): Implement also for other systems.
18296         (rpl_fflush): On glibc systems, invoke
18297         clear_ungetc_buffer_preserving_position. Otherwise, invoke
18298         clear_ungetc_buffer after fetching the stream's position, not before.
18299
18300 2009-01-15  Bruno Haible  <bruno@clisp.org>
18301
18302         Make fflush-after-ungetc POSIX compliant on glibc systems.
18303         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
18304         after ungetc.
18305         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
18306         (rpl_fflush): On glibc systems, simply call the system's fflush
18307         function after clearing the ungetc buffer.
18308         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
18309         Instead, lseek only to the end of file, then use the system's fseeko
18310         for the rest. On glibc systems, reset the EOF indicator bit.
18311
18312 2009-01-15  Jim Meyering  <meyering@redhat.com>
18313
18314         openmp.m4: revert quote-adding change, for portability to older autoconf
18315         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
18316         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
18317         Simon Josefsson noticed the problem when using autoconf-2.61.
18318
18319 2009-01-15  Bruno Haible  <bruno@clisp.org>
18320
18321         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
18322         * tests/test-fflush2.c (ASSERT): Always fail.
18323         (main): Add two tests for fflush() after ungetc(), taking into account
18324         the Austin Group's clarification.
18325         Suggested by Eric Blake.
18326
18327 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
18328
18329         mktime.m4: remove K&R-style function prototypes
18330         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
18331         for the Sun C++ compiler.
18332
18333 2009-01-14  Bruno Haible  <bruno@clisp.org>
18334
18335         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
18336         while including <wchar.h>.
18337         * lib/wchar.in.h: In two particular situations on HP-UX, include only
18338         the system's <wchar.h> file.
18339         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
18340
18341 2009-01-14  Bruno Haible  <bruno@clisp.org>
18342
18343         * m4/csharp.m4: Don't mention gettext on the serial number line.
18344         * m4/csharpexec.m4: Likewise.
18345         * m4/eaccess.m4: Likewise.
18346         * m4/javaexec.m4: Likewise.
18347         * m4/sig_atomic_t.m4: Likewise.
18348         * m4/tmpdir.m4: Likewise.
18349         * m4/intldir.m4: Bump gettext version.
18350         * m4/lib-ld.m4: Likewise.
18351
18352 2009-01-14  Bruno Haible  <bruno@clisp.org>
18353
18354         * lib/progname.c (set_program_name): Add more comments.
18355         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
18356
18357 2009-01-14  Simon Josefsson  <simon@josefsson.org>
18358
18359         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
18360         were sys/stat.h does not define it.
18361
18362 2009-01-14  Jim Meyering  <meyering@redhat.com>
18363
18364         many *.m4 files: improve m4 quoting
18365         99% of this change was performed by running the following commands:
18366         git ls-files | grep '\.m4$' | xargs perl -pi \
18367           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
18368           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
18369           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
18370           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
18371         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
18372         The remainder were to add Copyright dates, increment serial numbers,
18373         undo some changes in comments, exclude m4/intl.m4, and add quotes
18374         around the "1" in ",1" where the unusual spacing prohibited the
18375         above regexps from doing the job.  For more details, see
18376         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
18377         * m4/acl.m4: Modified.
18378         * m4/afs.m4: Likewise.
18379         * m4/alloca.m4: Likewise.
18380         * m4/argp.m4: Likewise.
18381         * m4/argz.m4: Likewise.
18382         * m4/atexit.m4: Likewise.
18383         * m4/bison-i18n.m4: Likewise.
18384         * m4/bison.m4: Likewise.
18385         * m4/byteswap.m4: Likewise.
18386         * m4/c-stack.m4: Likewise.
18387         * m4/c-strtod.m4: Likewise.
18388         * m4/calloc.m4: Likewise.
18389         * m4/canonicalize-lgpl.m4: Likewise.
18390         * m4/chown.m4: Likewise.
18391         * m4/clock_time.m4: Likewise.
18392         * m4/codeset.m4: Likewise.
18393         * m4/copy-file.m4: Likewise.
18394         * m4/csharp.m4: Likewise.
18395         * m4/csharpcomp.m4: Likewise.
18396         * m4/csharpexec.m4: Likewise.
18397         * m4/d-ino.m4: Likewise.
18398         * m4/d-type.m4: Likewise.
18399         * m4/dirfd.m4: Likewise.
18400         * m4/double-slash-root.m4: Likewise.
18401         * m4/eaccess.m4: Likewise.
18402         * m4/eealloc.m4: Likewise.
18403         * m4/environ.m4: Likewise.
18404         * m4/errno_h.m4: Likewise.
18405         * m4/euidaccess.m4: Likewise.
18406         * m4/execute.m4: Likewise.
18407         * m4/fatal-signal.m4: Likewise.
18408         * m4/fchdir.m4: Likewise.
18409         * m4/fcntl_h.m4: Likewise.
18410         * m4/fileblocks.m4: Likewise.
18411         * m4/filenamecat.m4: Likewise.
18412         * m4/findprog.m4: Likewise.
18413         * m4/flexmember.m4: Likewise.
18414         * m4/fnmatch.m4: Likewise.
18415         * m4/fopen.m4: Likewise.
18416         * m4/fpending.m4: Likewise.
18417         * m4/fprintf-posix.m4: Likewise.
18418         * m4/free.m4: Likewise.
18419         * m4/frexp.m4: Likewise.
18420         * m4/frexpl.m4: Likewise.
18421         * m4/fsusage.m4: Likewise.
18422         * m4/ftruncate.m4: Likewise.
18423         * m4/gc-camellia.m4: Likewise.
18424         * m4/gc-random.m4: Likewise.
18425         * m4/gc.m4: Likewise.
18426         * m4/getaddrinfo.m4: Likewise.
18427         * m4/getcwd-abort-bug.m4: Likewise.
18428         * m4/getcwd-path-max.m4: Likewise.
18429         * m4/getdate.m4: Likewise.
18430         * m4/getdomainname.m4: Likewise.
18431         * m4/getgroups.m4: Likewise.
18432         * m4/gethostname.m4: Likewise.
18433         * m4/gethrxtime.m4: Likewise.
18434         * m4/getline.m4: Likewise.
18435         * m4/getloadavg.m4: Likewise.
18436         * m4/getndelim2.m4: Likewise.
18437         * m4/getpass.m4: Likewise.
18438         * m4/gettext.m4: Likewise.
18439         * m4/gettime.m4: Likewise.
18440         * m4/gettimeofday.m4: Likewise.
18441         * m4/gnulib-common.m4: Likewise.
18442         * m4/group-member.m4: Likewise.
18443         * m4/host-os.m4: Likewise.
18444         * m4/iconv.m4: Likewise.
18445         * m4/iconv_open.m4: Likewise.
18446         * m4/inet_ntop.m4: Likewise.
18447         * m4/inet_pton.m4: Likewise.
18448         * m4/inline.m4: Likewise.
18449         * m4/intldir.m4: Likewise.
18450         * m4/intlmacosx.m4: Likewise.
18451         * m4/intmax.m4: Likewise.
18452         * m4/intmax_t.m4: Likewise.
18453         * m4/inttypes.m4: Likewise.
18454         * m4/inttypes_h.m4: Likewise.
18455         * m4/inttypes-pri.m4: Likewise.
18456         * m4/isapipe.m4: Likewise.
18457         * m4/isnand.m4: Likewise.
18458         * m4/isnanf.m4: Likewise.
18459         * m4/isnanl.m4: Likewise.
18460         * m4/javacomp.m4: Likewise.
18461         * m4/javaexec.m4: Likewise.
18462         * m4/jm-winsz1.m4: Likewise.
18463         * m4/jm-winsz2.m4: Likewise.
18464         * m4/lchown.m4: Likewise.
18465         * m4/lcmessage.m4: Likewise.
18466         * m4/ldexpl.m4: Likewise.
18467         * m4/lib-ld.m4: Likewise.
18468         * m4/lib-link.m4: Likewise.
18469         * m4/libsigsegv.m4: Likewise.
18470         * m4/link-follow.m4: Likewise.
18471         * m4/localcharset.m4: Likewise.
18472         * m4/locale-fr.m4: Likewise.
18473         * m4/locale-ja.m4: Likewise.
18474         * m4/locale-tr.m4: Likewise.
18475         * m4/locale-zh.m4: Likewise.
18476         * m4/lock.m4: Likewise.
18477         * m4/longlong.m4: Likewise.
18478         * m4/ls-mntd-fs.m4: Likewise.
18479         * m4/lstat.m4: Likewise.
18480         * m4/malloc.m4: Likewise.
18481         * m4/mathl.m4: Likewise.
18482         * m4/mbrtowc.m4: Likewise.
18483         * m4/mbstate_t.m4: Likewise.
18484         * m4/mbswidth.m4: Likewise.
18485         * m4/memchr.m4: Likewise.
18486         * m4/memcmp.m4: Likewise.
18487         * m4/memcpy.m4: Likewise.
18488         * m4/memmem.m4: Likewise.
18489         * m4/memmove.m4: Likewise.
18490         * m4/mempcpy.m4: Likewise.
18491         * m4/memrchr.m4: Likewise.
18492         * m4/memset.m4: Likewise.
18493         * m4/minmax.m4: Likewise.
18494         * m4/mkdir-slash.m4: Likewise.
18495         * m4/mkdtemp.m4: Likewise.
18496         * m4/mktime.m4: Likewise.
18497         * m4/mmap-anon.m4: Likewise.
18498         * m4/mountlist.m4: Likewise.
18499         * m4/nanosleep.m4: Likewise.
18500         * m4/nls.m4: Likewise.
18501         * m4/nocrash.m4: Likewise.
18502         * m4/open.m4: Likewise.
18503         * m4/openat.m4: Likewise.
18504         * m4/openmp.m4: Likewise.
18505         * m4/pathmax.m4: Likewise.
18506         * m4/perl.m4: Likewise.
18507         * m4/physmem.m4: Likewise.
18508         * m4/pipe.m4: Likewise.
18509         * m4/po.m4: Likewise.
18510         * m4/poll.m4: Likewise.
18511         * m4/posixtm.m4: Likewise.
18512         * m4/posixver.m4: Likewise.
18513         * m4/printf-frexp.m4: Likewise.
18514         * m4/printf-frexpl.m4: Likewise.
18515         * m4/printf-posix.m4: Likewise.
18516         * m4/printf-posix-rpl.m4: Likewise.
18517         * m4/printf.m4: Likewise.
18518         * m4/progtest.m4: Likewise.
18519         * m4/putenv.m4: Likewise.
18520         * m4/readline.m4: Likewise.
18521         * m4/readlink.m4: Likewise.
18522         * m4/readutmp.m4: Likewise.
18523         * m4/realloc.m4: Likewise.
18524         * m4/regex.m4: Likewise.
18525         * m4/relocatable.m4: Likewise.
18526         * m4/relocatable-lib.m4: Likewise.
18527         * m4/rename-dest-slash.m4: Likewise.
18528         * m4/rename.m4: Likewise.
18529         * m4/rmdir-errno.m4: Likewise.
18530         * m4/rmdir.m4: Likewise.
18531         * m4/roundf.m4: Likewise.
18532         * m4/roundl.m4: Likewise.
18533         * m4/rpmatch.m4: Likewise.
18534         * m4/save-cwd.m4: Likewise.
18535         * m4/selinux-selinux-h.m4: Likewise.
18536         * m4/setenv.m4: Likewise.
18537         * m4/settime.m4: Likewise.
18538         * m4/sig2str.m4: Likewise.
18539         * m4/sig_atomic_t.m4: Likewise.
18540         * m4/signalblocking.m4: Likewise.
18541         * m4/signbit.m4: Likewise.
18542         * m4/sigpipe.m4: Likewise.
18543         * m4/sockets.m4: Likewise.
18544         * m4/sockpfaf.m4: Likewise.
18545         * m4/st_dm_mode.m4: Likewise.
18546         * m4/stat-time.m4: Likewise.
18547         * m4/stdbool.m4: Likewise.
18548         * m4/stdint.m4: Likewise.
18549         * m4/stdint_h.m4: Likewise.
18550         * m4/stpcpy.m4: Likewise.
18551         * m4/stpncpy.m4: Likewise.
18552         * m4/strcase.m4: Likewise.
18553         * m4/strchrnul.m4: Likewise.
18554         * m4/strcspn.m4: Likewise.
18555         * m4/strdup.m4: Likewise.
18556         * m4/strftime.m4: Likewise.
18557         * m4/strndup.m4: Likewise.
18558         * m4/strnlen.m4: Likewise.
18559         * m4/strpbrk.m4: Likewise.
18560         * m4/strptime.m4: Likewise.
18561         * m4/strsep.m4: Likewise.
18562         * m4/strtod.m4: Likewise.
18563         * m4/strtoimax.m4: Likewise.
18564         * m4/strtok_r.m4: Likewise.
18565         * m4/strtol.m4: Likewise.
18566         * m4/strtoll.m4: Likewise.
18567         * m4/strtoul.m4: Likewise.
18568         * m4/strtoull.m4: Likewise.
18569         * m4/strtoumax.m4: Likewise.
18570         * m4/strverscmp.m4: Likewise.
18571         * m4/threadlib.m4: Likewise.
18572         * m4/timegm.m4: Likewise.
18573         * m4/tm_gmtoff.m4: Likewise.
18574         * m4/tmpdir.m4: Likewise.
18575         * m4/tmpfile.m4: Likewise.
18576         * m4/tzset.m4: Likewise.
18577         * m4/uintmax_t.m4: Likewise.
18578         * m4/unlinkdir.m4: Likewise.
18579         * m4/unlocked-io.m4: Likewise.
18580         * m4/uptime.m4: Likewise.
18581         * m4/userspec.m4: Likewise.
18582         * m4/utimbuf.m4: Likewise.
18583         * m4/utime.m4: Likewise.
18584         * m4/utimes-null.m4: Likewise.
18585         * m4/utimes.m4: Likewise.
18586         * m4/vararrays.m4: Likewise.
18587         * m4/vasnprintf.m4: Likewise.
18588         * m4/vfprintf-posix.m4: Likewise.
18589         * m4/vprintf-posix.m4: Likewise.
18590         * m4/wait-process.m4: Likewise.
18591         * m4/wchar_t.m4: Likewise.
18592         * m4/wint_t.m4: Likewise.
18593         * m4/write-any-file.m4: Likewise.
18594         * m4/yield.m4: Likewise.
18595
18596 2009-01-13  Bruno Haible  <bruno@clisp.org>
18597
18598         Avoid test-copy-file.sh failures when ACL support insufficient.
18599         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
18600         TESTS_ENVIRONMENT.
18601         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
18602         Reported by Jim Meyering.
18603
18604 2009-01-13  Bruno Haible  <bruno@clisp.org>
18605
18606         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
18607         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
18608         * modules/unistdio/u8-printf-parse (Files): Likewise.
18609         * modules/unistdio/u32-printf-parse (Files): Likewise.
18610         * modules/unistdio/ulc-printf-parse (Files): Likewise.
18611
18612 2009-01-13  Simon Josefsson  <simon@josefsson.org>
18613
18614         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
18615         and m4/inttypes_h.m4 too.
18616
18617 2009-01-12  Eric Blake  <ebb9@byu.net>
18618
18619         tests: IRIX 6.2 cc can't compile -0.0 into .data
18620         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
18621         rather than at compile-time.
18622         * tests/test-floorl.c (minus_zero): Likewise.
18623         * tests/test-frexpl.c (minus_zero): Likewise.
18624         * tests/test-isnan.c (minus_zerol): Likewise.
18625         * tests/test-isnanl.h (minus_zero): Likewise.
18626         * tests/test-ldexpl.c (minus_zero): Likewise.
18627         * tests/test-roundl.c (minus_zero): Likewise.
18628         * tests/test-signbit.c (minus_zerol): Likewise.
18629         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
18630         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
18631         * tests/test-truncl.c (minus_zero): Likewise.
18632         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
18633         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
18634         Reported by Tom G. Christensen and Nelson H. F. Beebe.
18635
18636 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
18637
18638         regex: fix glibc bug 9697
18639         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
18640         handling.
18641
18642 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
18643
18644         regex: fix glibc bug 697
18645         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
18646         being NULL also if there are no backreferences.
18647
18648 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
18649
18650         regex: merge glibc changes
18651         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
18652         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
18653         re_string_skip_chars, re_string_reconstruct): Likewise.
18654         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
18655
18656 2009-01-07  Jim Meyering  <meyering@redhat.com>
18657
18658         poll: filter through cppi
18659         * lib/poll.c: Indent cpp directives to reflect nesting.
18660
18661 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
18662
18663         poll: don't return uninitialized
18664         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
18665
18666 2009-01-06  Jeremy Olexa <darkside@gentoo.org>  (tiny change)
18667
18668         avoid compile failure on AIX 6.1
18669         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
18670         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
18671
18672 2009-01-04  Jim Meyering  <meyering@redhat.com>
18673
18674         remove duplicate inclusion of <stdio.h>
18675         * tests/test-fprintf-posix.c: Likewise.
18676         * tests/test-printf-posix.c: Likewise.
18677         * tests/test-snprintf-posix.c: Likewise.
18678         * tests/test-sprintf-posix.c: Likewise.
18679         * tests/test-vasprintf-posix.c: Likewise.
18680         * tests/test-vfprintf-posix.c: Likewise.
18681         * tests/test-vprintf-posix.c: Likewise.
18682         * tests/test-vsnprintf-posix.c: Likewise.
18683         * tests/test-vsprintf-posix.c: Likewise.
18684
18685 2009-01-03  Jim Meyering  <meyering@redhat.com>
18686
18687         gnulib-tool: fix sed-based filtering
18688         * gnulib-tool (func_filter_filelist): Remove extra backslash
18689         in sed_fff_filter definition.
18690
18691 2009-01-02  Jim Meyering  <meyering@redhat.com>
18692
18693         strftime: avoid compilation failure on Solaris 2.6
18694         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
18695         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
18696         Don't #define mbrlen or mbsinit, since now they're guaranteed to
18697         be available.  Reported by Tom G. Christensen.  Details in
18698         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
18699
18700 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18701             Bruno Haible  <bruno@clisp.org>
18702
18703         Speed up gnulib-tool by doing more string processing through shell
18704         built-ins.
18705         * gnulib-tool (fast_func_append): New variable.
18706         (func_remove_prefix, func_remove_suffix): New functions.
18707         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
18708         (func_filter_filelist): New function.
18709         (func_get_dependencies): Use func_remove_suffix instead of sed.
18710         (func_get_automake_snippet): Use func_filter_filelist instead of a
18711         subshell and sed invocation.
18712
18713 2009-01-01  Bruno Haible  <bruno@clisp.org>
18714
18715         Fix a security bug.
18716         * gnulib-tool (func_import, import, update): Don't allow the characters
18717         '"', '$', '`', '\' in macro arguments that become part of commands that
18718         are evaluated.
18719
18720 2009-01-01  Bruno Haible  <bruno@clisp.org>
18721
18722         * gnulib-tool (func_reset_sigpipe): Add more comments.
18723
18724 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18725
18726         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
18727         func_emit_tests_Makefile_am, func_import): Abort loops early if we
18728         already know the answer.
18729
18730 2009-01-01  Jim Meyering  <meyering@redhat.com>
18731
18732         * lib/version-etc.c (version_etc_va): Update copyright year.
18733
18734 2008-12-30  Bruno Haible  <bruno@clisp.org>
18735
18736         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
18737         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
18738         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
18739
18740 2008-12-29  Eric Blake  <ebb9@byu.net>
18741
18742         multiarch: avoid autoconf AC_REQUIRE bug
18743         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
18744         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
18745         2.63 and older.
18746         Reported by Bruno Haible, and analyzed in
18747         http://lists.gnu.org/archive/html/bug-autoconf/2008-12/msg00039.html
18748
18749 2008-12-29  Bruno Haible  <bruno@clisp.org>
18750
18751         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
18752         files in subdirectories correctly.
18753         Reported by Ralf Wildenhues.
18754
18755 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18756
18757         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
18758         rather than 'join FILE -', for Solaris join.
18759
18760 2008-12-29  Bruno Haible  <bruno@clisp.org>
18761
18762         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
18763         quoting.
18764         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
18765         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
18766         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
18767         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
18768         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
18769         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
18770         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
18771         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
18772         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
18773         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
18774         * m4/nls.m4 (AM_NLS): Likewise.
18775         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
18776         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
18777         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
18778         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
18779         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
18780         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
18781         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
18782         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
18783         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
18784         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
18785         * m4/xsize.m4 (gl_XSIZE): Likewise.
18786         Suggested by Jim Meyering.
18787
18788 2008-11-17  Bruce Korb  <bkorb@gnu.org>
18789
18790         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
18791         * lib/parse-duration.c: use a switch instead of cascading if's.
18792
18793 2008-12-29  Eric Blake  <ebb9@byu.net>
18794
18795         wchar.h: supply WEOF on Irix 5.3
18796         * lib/wchar.in.h (wint_t): Also supply WEOF.
18797         * lib/wctype.in.h (wint_t): Likewise.
18798         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
18799         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
18800         Reported by Tom G. Christensen.
18801
18802 2008-12-26  Bruno Haible  <bruno@clisp.org>
18803
18804         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
18805         i486, i586, i686.
18806
18807 2008-12-26  Bruno Haible  <bruno@clisp.org>
18808
18809         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
18810
18811 2008-12-26  Bruno Haible  <bruno@clisp.org>
18812
18813         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
18814         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
18815         not __STDC_CONSTANT_MACROS.
18816         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
18817
18818 2008-12-25  Bruno Haible  <bruno@clisp.org>
18819
18820         Add support for universal builds to vasnprintf.
18821         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
18822         universal builds, guess no.
18823         * modules/vasnprintf-posix (Depends-on): Add multiarch.
18824         * modules/vasprintf-posix (Depends-on): Likewise.
18825         * modules/fprintf-posix (Depends-on): Likewise.
18826         * modules/vfprintf-posix (Depends-on): Likewise.
18827         * modules/snprintf-posix (Depends-on): Likewise.
18828         * modules/vsnprintf-posix (Depends-on): Likewise.
18829         * modules/sprintf-posix (Depends-on): Likewise.
18830         * modules/vsprintf-posix (Depends-on): Likewise.
18831         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
18832         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
18833         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
18834         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
18835         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
18836         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
18837         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
18838
18839         Add support for universal builds to <inttypes.h>.
18840         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
18841         _SCNu64_PREFIX): In Apple
18842         universal builds, define directly, using _LP64.
18843         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
18844         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
18845         * modules/inttypes (Depends-on): Add multiarch.
18846         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
18847
18848         Add support for universal builds to <stdint.h>.
18849         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
18850         universal builds, define directly, using _LP64.
18851         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
18852         Apple universal builds, don't test for the size and suffix of ptrdiff_t
18853         and size_t.
18854         * modules/stdint (Depends-on): Add multiarch.
18855         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
18856
18857         New module 'multiarch'.
18858         * modules/multiarch: New file.
18859         * m4/multiarch.m4: New file.
18860
18861 2008-12-25  Bruno Haible  <bruno@clisp.org>
18862
18863         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
18864
18865 2008-12-25  Bruno Haible  <bruno@clisp.org>
18866
18867         * modules/btowc (License): Relicense under LGPLv2+.
18868         * modules/mbsinit (License): Likewise.
18869         * modules/mbrtowc (License): Likewise.
18870         * modules/wcrtomb (License): Likewise.
18871         * modules/streq (License): Likewise.
18872         Reported by David Lutterkort <lutter@redhat.com>.
18873
18874 2008-12-23  Bruno Haible  <bruno@clisp.org>
18875
18876         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
18877
18878 2008-12-23  Bruno Haible  <bruno@clisp.org>
18879
18880         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
18881         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
18882         GETADDRINFO_LIB, not in LIBS.
18883         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
18884         * modules/canon-host (Link): Likewise.
18885         * NEWS: Mention the change.
18886         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
18887         GETADDRINFO_LIB.
18888
18889 2008-12-22  Bruno Haible  <bruno@clisp.org>
18890
18891         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
18892         * doc/posix-functions/iswalpha_l.texi: Likewise.
18893         * doc/posix-functions/iswblank_l.texi: Likewise.
18894         * doc/posix-functions/iswcntrl_l.texi: Likewise.
18895         * doc/posix-functions/iswctype_l.texi: Likewise.
18896         * doc/posix-functions/iswdigit_l.texi: Likewise.
18897         * doc/posix-functions/iswgraph_l.texi: Likewise.
18898         * doc/posix-functions/iswlower_l.texi: Likewise.
18899         * doc/posix-functions/iswprint_l.texi: Likewise.
18900         * doc/posix-functions/iswpunct_l.texi: Likewise.
18901         * doc/posix-functions/iswspace_l.texi: Likewise.
18902         * doc/posix-functions/iswupper_l.texi: Likewise.
18903         * doc/posix-functions/iswxdigit_l.texi: Likewise.
18904         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
18905         * doc/posix-functions/open_wmemstream.texi: Likewise.
18906         * doc/posix-functions/swscanf.texi: Likewise.
18907         * doc/posix-functions/towctrans_l.texi: Likewise.
18908         * doc/posix-functions/towlower.texi: Likewise.
18909         * doc/posix-functions/towlower_l.texi: Likewise.
18910         * doc/posix-functions/towupper.texi: Likewise.
18911         * doc/posix-functions/towupper_l.texi: Likewise.
18912         * doc/posix-functions/vfwprintf.texi: Likewise.
18913         * doc/posix-functions/vfwscanf.texi: Likewise.
18914         * doc/posix-functions/vswscanf.texi: Likewise.
18915         * doc/posix-functions/vwprintf.texi: Likewise.
18916         * doc/posix-functions/vwscanf.texi: Likewise.
18917         * doc/posix-functions/wcpcpy.texi: Likewise.
18918         * doc/posix-functions/wcpncpy.texi: Likewise.
18919         * doc/posix-functions/wcscasecmp.texi: Likewise.
18920         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
18921         * doc/posix-functions/wcscoll_l.texi: Likewise.
18922         * doc/posix-functions/wcsdup.texi: Likewise.
18923         * doc/posix-functions/wcsncasecmp.texi: Likewise.
18924         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
18925         * doc/posix-functions/wcsnlen.texi: Likewise.
18926         * doc/posix-functions/wcsnrtombs.texi: Likewise.
18927         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
18928         * doc/posix-functions/wctrans_l.texi: Likewise.
18929         * doc/posix-functions/wctype_l.texi: Likewise.
18930         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
18931         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
18932         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
18933         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
18934         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
18935         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
18936         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
18937         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
18938         * doc/glibc-functions/wcschrnul.texi: Likewise.
18939         * doc/glibc-functions/wcsftime_l.texi: Likewise.
18940         * doc/glibc-functions/wcstod_l.texi: Likewise.
18941         * doc/glibc-functions/wcstof_l.texi: Likewise.
18942         * doc/glibc-functions/wcstol_l.texi: Likewise.
18943         * doc/glibc-functions/wcstold_l.texi: Likewise.
18944         * doc/glibc-functions/wcstoll_l.texi: Likewise.
18945         * doc/glibc-functions/wcstoq.texi: Likewise.
18946         * doc/glibc-functions/wcstoul_l.texi: Likewise.
18947         * doc/glibc-functions/wcstoull_l.texi: Likewise.
18948         * doc/glibc-functions/wcstouq.texi: Likewise.
18949         * doc/glibc-functions/wmempcpy.texi: Likewise.
18950
18951 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
18952             Eric Blake  <ebb9@byu.net>
18953             Paolo Bonzini  <bonzini@gnu.org>
18954             Bruno Haible  <bruno@clisp.org>
18955
18956         Make c-stack work on Haiku.
18957         * lib/c-stack.c (SA_ONSTACK): Define fallback.
18958         (c_stack_action): Use SA_ONSTACK flag.
18959
18960 2008-12-22  Bruno Haible  <bruno@clisp.org>
18961
18962         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
18963
18964 2008-12-22  Bruno Haible  <bruno@clisp.org>
18965
18966         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
18967         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
18968         being overridden.
18969         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
18970         New macros.
18971         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
18972         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
18973         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
18974         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
18975
18976 2008-12-22  Bruno Haible  <bruno@clisp.org>
18977
18978         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
18979         from test code.
18980
18981 2008-12-22  Eric Blake  <ebb9@byu.net>
18982
18983         Avoid gcc warnings on cygwin.
18984         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
18985         Avoid unused variable.
18986         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
18987         Likewise.
18988
18989 2008-12-22  Bruno Haible  <bruno@clisp.org>
18990
18991         Remove HAVE_MBRTOWC conditionals.
18992         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
18993         (mbscasecmp): Assume mbrtowc function.
18994         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
18995         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
18996         * lib/mbschr.c: Include mbuiter.h unconditionally.
18997         (mbschr): Assume mbrtowc function.
18998         * lib/mbscspn.c: Include mbuiter.h unconditionally.
18999         (mbscspn): Assume mbrtowc function.
19000         * lib/mbslen.c: Include mbuiter.h unconditionally.
19001         (mbslen): Assume mbrtowc function.
19002         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
19003         (mbsncasecmp): Assume mbrtowc function.
19004         * lib/mbsnlen.c: Include mbiter.h unconditionally.
19005         (mbsnlen): Assume mbrtowc function.
19006         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
19007         (mbspbrk): Assume mbrtowc function.
19008         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
19009         (mbspcasecmp): Assume mbrtowc function.
19010         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
19011         (mbsrchr): Assume mbrtowc function.
19012         * lib/mbssep.c: Include mbuiter.h unconditionally.
19013         (mbssep): Assume mbrtowc function.
19014         * lib/mbsspn.c: Include mbuiter.h unconditionally.
19015         (mbsspn): Assume mbrtowc function.
19016         * lib/mbsstr.c: Include mbuiter.h unconditionally.
19017         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
19018         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
19019         (mbstok_r): Assume mbrtowc function.
19020         * lib/propername.c: Include mbuiter.h unconditionally.
19021         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
19022         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
19023         (trim2): Assume mbrtowc function.
19024         * lib/mbswidth.c (mbsinit): Remove fallback definition.
19025         (mbsnwidth): Assume mbrtowc function.
19026         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
19027         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
19028         fallback definitions.
19029         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
19030
19031 2008-12-22  Bruno Haible  <bruno@clisp.org>
19032
19033         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
19034
19035 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
19036
19037         * modules/regex: Request emulations for the mb*/wc* functions we need.
19038         * m4/regex.m4: Don't look for those functions here.
19039         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
19040
19041 2008-12-22  Bruno Haible  <bruno@clisp.org>
19042
19043         * modules/fnmatch (Depends-on): Remove duplicated dependency.
19044
19045 2008-12-21  Bruno Haible  <bruno@clisp.org>
19046
19047         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
19048         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
19049         (Include): Remove conditionalization.
19050         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
19051         (Include): Remove conditionalization.
19052         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
19053         (Include): Remove conditionalization.
19054         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
19055         * m4/mbfile.m4 (gl_MBFILE): Likewise.
19056         * NEWS: Mention the change.
19057         Reported by Alan Hourihane <alanh@fairlite.co.uk>
19058         via Sergey Poznyakoff <gray@gnu.org.ua>.
19059
19060 2008-12-21  Bruno Haible  <bruno@clisp.org>
19061
19062         * MODULES.html.sh (Extended multibyte and wide character utilities
19063         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
19064         wcrtomb, wcsrtombs.
19065         (Support for systems lacking POSIX:2008): Add accept, bind, close,
19066         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
19067         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
19068         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
19069
19070 2008-12-21  Bruno Haible  <bruno@clisp.org>
19071
19072         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
19073
19074 2008-12-21  Bruno Haible  <bruno@clisp.org>
19075
19076         * modules/wcsnrtombs-tests: New file.
19077         * tests/test-wcsnrtombs1.sh: New file.
19078         * tests/test-wcsnrtombs2.sh: New file.
19079         * tests/test-wcsnrtombs3.sh: New file.
19080         * tests/test-wcsnrtombs4.sh: New file.
19081         * tests/test-wcsnrtombs.c: New file.
19082
19083         New module 'wcsnrtombs'.
19084         * lib/wchar.in.h (wcsnrtombs): New declaration.
19085         * lib/wcsnrtombs.c: New file.
19086         * lib/wcsrtombs-state.c: New file.
19087         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
19088         (internal_state): Remove variable.
19089         * m4/wcsnrtombs.m4: New file.
19090         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
19091         compilation units.
19092         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
19093         HAVE_WCSNRTOMBS.
19094         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
19095         HAVE_WCSNRTOMBS.
19096         * modules/wcsnrtombs: New file.
19097         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
19098         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
19099
19100 2008-12-21  Bruno Haible  <bruno@clisp.org>
19101
19102         * modules/wcsrtombs-tests: New file.
19103         * tests/test-wcsrtombs1.sh: New file.
19104         * tests/test-wcsrtombs2.sh: New file.
19105         * tests/test-wcsrtombs3.sh: New file.
19106         * tests/test-wcsrtombs4.sh: New file.
19107         * tests/test-wcsrtombs.c: New file.
19108
19109         New module 'wcsrtombs'.
19110         * lib/wchar.in.h (wcsrtombs): New declaration.
19111         * lib/wcsrtombs.c: New file.
19112         * m4/wcsrtombs.m4: New file.
19113         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
19114         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
19115         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
19116         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
19117         * modules/wcsrtombs: New file.
19118         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
19119         bugs.
19120
19121 2008-12-21  Bruno Haible  <bruno@clisp.org>
19122
19123         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
19124         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
19125         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
19126         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
19127         if not correct.
19128         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
19129         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
19130         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
19131         m4/locale-zh.m4, m4/codeset.m4.
19132         * doc/posix-functions/wcrtomb.texi: Document the bug.
19133
19134 2008-12-21  Bruno Haible  <bruno@clisp.org>
19135
19136         Work around a btowc() bug on IRIX 6.5.
19137         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
19138         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
19139         REPLACE_WTOBC if not.
19140         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
19141         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
19142         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
19143
19144 2008-12-21  Bruno Haible  <bruno@clisp.org>
19145
19146         * modules/wcrtomb-tests: New file.
19147         * tests/test-wcrtomb.sh: New file.
19148         * tests/test-wcrtomb.c: New file.
19149
19150         New module 'wcrtomb'.
19151         * lib/wchar.in.h (wcrtomb): New declaration.
19152         * lib/wcrtomb.c: New file.
19153         * m4/wcrtomb.m4: New file.
19154         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
19155         HAVE_WCRTOMB.
19156         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
19157         HAVE_WCRTOMB.
19158         * modules/wcrtomb: New file.
19159         * doc/posix-functions/wcrtomb.texi: Mention the new module.
19160
19161 2008-12-21  Bruno Haible  <bruno@clisp.org>
19162
19163         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
19164         * modules/mbsrtowcs (Files): Likewise.
19165         * modules/wctob (Files): Likewise.
19166         * modules/c-strcase-tests (Files): Likewise.
19167         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
19168         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
19169         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
19170         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
19171         * modules/vasnprintf-posix-tests (Files): Likewise.
19172
19173 2008-12-21  William Pursell  <bill.pursell@gmail.com>
19174
19175         gitlog-to-changelog: pass all command-line arguments to git-log
19176         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
19177         it is sometimes convenient to filter the commits in various ways.
19178         gitlog-to-changelog only allows --since to specify a start date,
19179         but git-log itself supports many other filtering mechanisms.
19180         At the moment, I want to filter by branch name.  Rather than
19181         adding a --branch option to gitlog-to-changelog, it seems more
19182         flexible to simply pass all options directly to git-log and let
19183         git do the work.  Notice that this effectively makes --since a
19184         redundant option for gitlog-to-changelog, but removing it would
19185         require current usage to change since calls would then require
19186         an additional '--'.
19187
19188 2008-12-21  Bruno Haible  <bruno@clisp.org>
19189
19190         * modules/mbsnrtowcs-tests: New file.
19191         * tests/test-mbsnrtowcs1.sh: New file.
19192         * tests/test-mbsnrtowcs2.sh: New file.
19193         * tests/test-mbsnrtowcs3.sh: New file.
19194         * tests/test-mbsnrtowcs4.sh: New file.
19195         * tests/test-mbsnrtowcs.c: New file.
19196
19197         New module 'mbsnrtowcs'.
19198         * lib/wchar.in.h (mbsnrtowcs): New declaration.
19199         * lib/mbsnrtowcs.c: New file.
19200         * lib/mbsrtowcs-state.c: New file.
19201         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
19202         (internal_state): Remove variable.
19203         * m4/mbsnrtowcs.m4: New file.
19204         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
19205         compilation units.
19206         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
19207         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
19208         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
19209         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
19210         * modules/mbsnrtowcs: New file.
19211         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
19212         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
19213         portability problem.
19214
19215 2008-12-21  Bruno Haible  <bruno@clisp.org>
19216
19217         Work around mbsrtowcs bug.
19218         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
19219         (gl_FUNC_MBSRTOWCS): Invoke it.
19220         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
19221         m4/locale-zh.m4.
19222         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
19223
19224 2008-12-21  Bruno Haible  <bruno@clisp.org>
19225
19226         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
19227
19228 2008-12-21  Bruno Haible  <bruno@clisp.org>
19229
19230         Update doc for AIX.
19231         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
19232         16-bit wchar_t type.
19233         * doc/posix-functions/btowc.texi: Likewise.
19234         * doc/posix-functions/fgetwc.texi: Likewise.
19235         * doc/posix-functions/fgetws.texi: Likewise.
19236         * doc/posix-functions/fputwc.texi: Likewise.
19237         * doc/posix-functions/fputws.texi: Likewise.
19238         * doc/posix-functions/fwide.texi: Likewise.
19239         * doc/posix-functions/fwprintf.texi: Likewise.
19240         * doc/posix-functions/fwscanf.texi: Likewise.
19241         * doc/posix-functions/getwchar.texi: Likewise.
19242         * doc/posix-functions/getwc.texi: Likewise.
19243         * doc/posix-functions/iswalnum.texi: Likewise.
19244         * doc/posix-functions/iswalpha.texi: Likewise.
19245         * doc/posix-functions/iswblank.texi: Likewise.
19246         * doc/posix-functions/iswcntrl.texi: Likewise.
19247         * doc/posix-functions/iswctype.texi: Likewise.
19248         * doc/posix-functions/iswdigit.texi: Likewise.
19249         * doc/posix-functions/iswgraph.texi: Likewise.
19250         * doc/posix-functions/iswlower.texi: Likewise.
19251         * doc/posix-functions/iswprint.texi: Likewise.
19252         * doc/posix-functions/iswpunct.texi: Likewise.
19253         * doc/posix-functions/iswspace.texi: Likewise.
19254         * doc/posix-functions/iswupper.texi: Likewise.
19255         * doc/posix-functions/iswxdigit.texi: Likewise.
19256         * doc/posix-functions/mbrtowc.texi: Likewise.
19257         * doc/posix-functions/mbsrtowcs.texi: Likewise.
19258         * doc/posix-functions/mbstowcs.texi: Likewise.
19259         * doc/posix-functions/mbtowc.texi: Likewise.
19260         * doc/posix-functions/putwchar.texi: Likewise.
19261         * doc/posix-functions/putwc.texi: Likewise.
19262         * doc/posix-functions/swprintf.texi: Likewise.
19263         * doc/posix-functions/tolower.texi: Likewise.
19264         * doc/posix-functions/toupper.texi: Likewise.
19265         * doc/posix-functions/towctrans.texi: Likewise.
19266         * doc/posix-functions/ungetwc.texi: Likewise.
19267         * doc/posix-functions/vswprintf.texi: Likewise.
19268         * doc/posix-functions/wcrtomb.texi: Likewise.
19269         * doc/posix-functions/wcscat.texi: Likewise.
19270         * doc/posix-functions/wcschr.texi: Likewise.
19271         * doc/posix-functions/wcscmp.texi: Likewise.
19272         * doc/posix-functions/wcscoll.texi: Likewise.
19273         * doc/posix-functions/wcscpy.texi: Likewise.
19274         * doc/posix-functions/wcscspn.texi: Likewise.
19275         * doc/posix-functions/wcsftime.texi: Likewise.
19276         * doc/posix-functions/wcslen.texi: Likewise.
19277         * doc/posix-functions/wcsncat.texi: Likewise.
19278         * doc/posix-functions/wcsncmp.texi: Likewise.
19279         * doc/posix-functions/wcsncpy.texi: Likewise.
19280         * doc/posix-functions/wcspbrk.texi: Likewise.
19281         * doc/posix-functions/wcsrchr.texi: Likewise.
19282         * doc/posix-functions/wcsrtombs.texi: Likewise.
19283         * doc/posix-functions/wcsspn.texi: Likewise.
19284         * doc/posix-functions/wcsstr.texi: Likewise.
19285         * doc/posix-functions/wcstod.texi: Likewise.
19286         * doc/posix-functions/wcstof.texi: Likewise.
19287         * doc/posix-functions/wcstoimax.texi: Likewise.
19288         * doc/posix-functions/wcstok.texi: Likewise.
19289         * doc/posix-functions/wcstold.texi: Likewise.
19290         * doc/posix-functions/wcstoll.texi: Likewise.
19291         * doc/posix-functions/wcstol.texi: Likewise.
19292         * doc/posix-functions/wcstombs.texi: Likewise.
19293         * doc/posix-functions/wcstoull.texi: Likewise.
19294         * doc/posix-functions/wcstoul.texi: Likewise.
19295         * doc/posix-functions/wcstoumax.texi: Likewise.
19296         * doc/posix-functions/wcswidth.texi: Likewise.
19297         * doc/posix-functions/wcsxfrm.texi: Likewise.
19298         * doc/posix-functions/wctob.texi: Likewise.
19299         * doc/posix-functions/wctomb.texi: Likewise.
19300         * doc/posix-functions/wctrans.texi: Likewise.
19301         * doc/posix-functions/wctype.texi: Likewise.
19302         * doc/posix-functions/wcwidth.texi: Likewise.
19303         * doc/posix-functions/wmemchr.texi: Likewise.
19304         * doc/posix-functions/wmemcmp.texi: Likewise.
19305         * doc/posix-functions/wmemcpy.texi: Likewise.
19306         * doc/posix-functions/wmemmove.texi: Likewise.
19307         * doc/posix-functions/wmemset.texi: Likewise.
19308         * doc/posix-functions/wprintf.texi: Likewise.
19309         * doc/posix-functions/wscanf.texi: Likewise.
19310
19311 2008-12-21  Bruno Haible  <bruno@clisp.org>
19312
19313         Update doc for HP-UX 11.11.
19314         * doc/posix-functions/btowc.texi: Clarify that the function is missing
19315         in HP-UX version 11.00, not in all versions of HP-UX 11.
19316         * doc/posix-functions/fwide.texi: Likewise.
19317         * doc/posix-functions/fwprintf.texi: Likewise.
19318         * doc/posix-functions/fwscanf.texi: Likewise.
19319         * doc/posix-functions/inet_ntop.texi: Likewise.
19320         * doc/posix-functions/inet_pton.texi: Likewise.
19321         * doc/posix-functions/mbrlen.texi: Likewise.
19322         * doc/posix-functions/mbrtowc.texi: Likewise.
19323         * doc/posix-functions/mbsinit.texi: Likewise.
19324         * doc/posix-functions/mbsrtowcs.texi: Likewise.
19325         * doc/posix-functions/swprintf.texi: Likewise.
19326         * doc/posix-functions/swscanf.texi: Likewise.
19327         * doc/posix-functions/towctrans.texi: Likewise.
19328         * doc/posix-functions/vfwprintf.texi: Likewise.
19329         * doc/posix-functions/vswprintf.texi: Likewise.
19330         * doc/posix-functions/vwprintf.texi: Likewise.
19331         * doc/posix-functions/wcrtomb.texi: Likewise.
19332         * doc/posix-functions/wcsrtombs.texi: Likewise.
19333         * doc/posix-functions/wcsstr.texi: Likewise.
19334         * doc/posix-functions/wctob.texi: Likewise.
19335         * doc/posix-functions/wctrans.texi: Likewise.
19336         * doc/posix-functions/wmemchr.texi: Likewise.
19337         * doc/posix-functions/wmemcmp.texi: Likewise.
19338         * doc/posix-functions/wmemcpy.texi: Likewise.
19339         * doc/posix-functions/wmemmove.texi: Likewise.
19340         * doc/posix-functions/wmemset.texi: Likewise.
19341         * doc/posix-functions/wprintf.texi: Likewise.
19342         * doc/posix-functions/wscanf.texi: Likewise.
19343
19344 2008-12-21  Bruno Haible  <bruno@clisp.org>
19345
19346         Work around a portability problem.
19347         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
19348         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
19349
19350 2008-12-20  Bruno Haible  <bruno@clisp.org>
19351
19352         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
19353         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
19354         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
19355         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
19356         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
19357
19358         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
19359         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
19360         set.
19361         (GNULIB_defined_mbstate_t): New macro.
19362         (mbsinit): Redefine if REPLACE_MBSINIT is set.
19363         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
19364         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
19365         reuses the system's mbrtowc function but works around the bugs.
19366         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
19367         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
19368         macros.
19369         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
19370         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
19371         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
19372         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
19373         REPLACE_MBSINIT if mbsinit needs to be overridden.
19374         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
19375         REPLACE_MBSINIT, REPLACE_MBRTOWC.
19376         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
19377         REPLACE_MBSINIT, REPLACE_MBRTOWC.
19378         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
19379         m4/locale-zh.m4.
19380         (Depends): Add mbsinit.
19381         * modules/mbsinit (Depends): Add mbrtowc.
19382         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
19383
19384 2008-12-20  Bruno Haible  <bruno@clisp.org>
19385
19386         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
19387         so that there are no conversion errors on AIX.
19388         * tests/test-mbsrtowcs.c (main): LIkewise.
19389
19390 2008-12-20  Bruno Haible  <bruno@clisp.org>
19391
19392         Work around wctob bug on Solaris <= 9.
19393         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
19394         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
19395         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
19396         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
19397         * modules/wctob (Files): Add m4/locale-fr.m4.
19398         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
19399
19400 2008-12-20  Bruno Haible  <bruno@clisp.org>
19401
19402         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
19403         /dev/null.
19404         * tests/test-select-in.sh: Likewise.
19405         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
19406
19407 2008-12-20  Bruno Haible  <bruno@clisp.org>
19408
19409         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
19410         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
19411         Cygwin 1.5.x.
19412
19413 2008-12-20  Bruno Haible  <bruno@clisp.org>
19414
19415         Ensure mbstate_t is defined on HP-UX 11.11.
19416         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
19417         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
19418         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
19419         AC_USE_SYSTEM_EXTENSIONS.
19420         * modules/fnmatch (Depends-on): Add extensions.
19421         * modules/mbrlen (Depends-on): Likewise.
19422         * modules/mbrtowc (Depends-on): Likewise.
19423         * modules/mbsinit (Depends-on): Likewise.
19424         * modules/mbsrtowcs (Depends-on): Likewise.
19425         * modules/mbswidth (Depends-on): Likewise.
19426         * modules/quotearg (Depends-on): Likewise.
19427         * modules/strftime (Depends-on): Likewise.
19428
19429 2008-12-20  Bruno Haible  <bruno@clisp.org>
19430
19431         Ensure wctob is declared on IRIX 6.5.
19432         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
19433         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
19434         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
19435         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
19436         of HAVE_WCTOB.
19437         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
19438         HAVE_WCTOB.
19439         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
19440
19441 2008-12-19  Bruno Haible  <bruno@clisp.org>
19442
19443         * modules/mbsrtowcs-tests: New file.
19444         * tests/test-mbsrtowcs1.sh: New file.
19445         * tests/test-mbsrtowcs2.sh: New file.
19446         * tests/test-mbsrtowcs3.sh: New file.
19447         * tests/test-mbsrtowcs4.sh: New file.
19448         * tests/test-mbsrtowcs.c: New file.
19449
19450         New module 'mbsrtowcs'.
19451         * lib/wchar.in.h (mbsrtowcs): New declaration.
19452         * lib/mbsrtowcs.c: New file.
19453         * m4/mbsrtowcs.m4: New file.
19454         * modules/mbsrtowcs: New file.
19455         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
19456         HAVE_MBSRTOWCS.
19457         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
19458         HAVE_MBSRTOWCS.
19459         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
19460
19461 2008-12-19  Bruno Haible  <bruno@clisp.org>
19462
19463         New module 'mbrlen'.
19464         * lib/wchar.in.h (mbrlen): New declaration.
19465         * lib/mbrlen.c: New file.
19466         * m4/mbrlen.m4: New file.
19467         * modules/mbrlen: New file.
19468         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
19469         HAVE_MBRLEN.
19470         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
19471         HAVE_MBRLEN.
19472         * doc/posix-functions/mbrlen.texi: Document the new module.
19473
19474 2008-12-19  Bruno Haible  <bruno@clisp.org>
19475
19476         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
19477         * modules/mbrtowc (Depends-on): Add verify.
19478         Suggested by Paul Eggert.
19479
19480 2008-12-18  Bruno Haible  <bruno@clisp.org>
19481
19482         * modules/mbsinit-tests: New file.
19483         * tests/test-mbsinit.sh: New file.
19484         * tests/test-mbsinit.c: New file.
19485
19486 2008-12-18  Bruno Haible  <bruno@clisp.org>
19487
19488         * modules/mbrtowc-tests: New file.
19489         * tests/test-mbrtowc1.sh: New file.
19490         * tests/test-mbrtowc2.sh: New file.
19491         * tests/test-mbrtowc3.sh: New file.
19492         * tests/test-mbrtowc4.sh: New file.
19493         * tests/test-mbrtowc.c: New file.
19494
19495         New module 'mbrtowc'.
19496         * lib/wchar.in.h (mbstate_t): Override when the system does not have
19497         mbsinit and mbrtowc.
19498         (mbrtowc): New declaration.
19499         * lib/mbrtowc.c: New file.
19500         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
19501         * modules/mbrtowc: New file.
19502         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
19503         HAVE_MBRTOWC.
19504         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
19505         HAVE_MBRTOWC.
19506         * doc/posix-functions/mbrtowc.texi: Document the new module.
19507
19508 2008-12-18  Bruno Haible  <bruno@clisp.org>
19509
19510         New module 'wctob'.
19511         * lib/wchar.in.h (wctob): New declaration.
19512         * lib/wctob.c: New file.
19513         * m4/wctob.m4: New file.
19514         * modules/wctob: New file.
19515         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
19516         HAVE_WCTOB.
19517         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
19518         * doc/posix-functions/wctob.texi: Document the new module.
19519
19520 2008-12-18  Bruno Haible  <bruno@clisp.org>
19521
19522         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
19523         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
19524
19525 2008-12-18  Simon Josefsson  <simon@josefsson.org>
19526
19527         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
19528         G. Christensen" <tgc@jupiterrise.com>.
19529
19530         * lib/flock.c: Need to include errno.h.  Reported by "Tom
19531         G. Christensen" <tgc@jupiterrise.com>.
19532
19533         * lib/flock.c: Need to include string.h.  Reported by "Tom
19534         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
19535         <ebb9@byu.net>.
19536
19537 2008-12-18  Bruno Haible  <bruno@clisp.org>
19538
19539         * m4/locale-ja.m4: New file, from GNU gettext.
19540
19541 2008-12-17  Bruno Haible  <bruno@clisp.org>
19542
19543         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
19544         Suggested by Eric Blake.
19545
19546 2008-12-17  Bruno Haible  <bruno@clisp.org>
19547
19548         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
19549
19550 2008-12-17  Bruno Haible  <bruno@clisp.org>
19551
19552         * lib/mbsinit.c: Include verify.h. Verify an assumption.
19553         * modules/mbsinit (Depends-on): Add verify.
19554         Suggested by Paul Eggert.
19555
19556 2008-12-17  Bruno Haible  <bruno@clisp.org>
19557
19558         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
19559         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
19560         gl_FUNC_MBRTOWC.
19561         * m4/mbiter.m4 (gl_MBITER): LIkewise.
19562         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
19563         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
19564         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
19565         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
19566         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
19567         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
19568         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
19569         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
19570         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
19571         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
19572         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
19573         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
19574         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
19575         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
19576         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
19577         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
19578         * modules/trim (configure.ac): Likewise.
19579
19580 2008-12-17  Bruno Haible  <bruno@clisp.org>
19581
19582         * modules/btowc-tests: New file.
19583         * tests/test-btowc1.sh: New file.
19584         * tests/test-btowc2.sh: New file.
19585         * tests/test-btowc.c: New file.
19586
19587         New module 'btowc'.
19588         * lib/wchar.in.h (btowc): New declaration.
19589         * lib/btowc.c: New file.
19590         * m4/btowc.m4: New file.
19591         * modules/btowc: New file.
19592         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
19593         HAVE_BTOWC.
19594         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
19595         * doc/posix-functions/btowc.texi: Document the new module.
19596
19597 2008-12-17  Bruno Haible  <bruno@clisp.org>
19598
19599         New module 'mbsinit'.
19600         * lib/wchar.in.h (mbsinit): New declaration.
19601         * lib/mbsinit.c: New file.
19602         * m4/mbsinit.m4: New file.
19603         * modules/mbsinit: New file.
19604         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
19605         HAVE_MBSINIT.
19606         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
19607         HAVE_MBSINIT.
19608         * doc/posix-functions/mbsinit.texi: Document the new module.
19609
19610 2008-12-16  Bruno Haible  <bruno@clisp.org>
19611
19612         * lib/unistd.in.h: Add comment.
19613         * tests/test-environ.c: Don't include <stdlib.h>.
19614
19615 2008-12-16  Bruno Haible  <bruno@clisp.org>
19616
19617         * lib/parse-duration.h (parse_duration): Document return value
19618         convention.
19619         * lib/parse-duration.c: Include specification header first. Add
19620         comments.
19621         (_): Remove macro.
19622         (parse_year_month_day, parse_hour_minute_second): Move side effects
19623         outside of strchr call.
19624         (parse_non_iso8601): Move side effects outside of isspace call.
19625         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
19626         call.
19627
19628 2008-12-16  Bruno Haible  <bruno@clisp.org>
19629
19630         * tests/test-parse-duration.sh: Produce no output when the test
19631         succeeds.
19632
19633 2008-12-16  Bruno Haible  <bruno@clisp.org>
19634
19635         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
19636         expressions.
19637
19638 2008-12-15  Bruno Haible  <bruno@clisp.org>
19639
19640         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
19641         * doc/glibc-functions/flistxattr.texi: Likewise.
19642         * doc/glibc-functions/fopencookie.texi: Likewise.
19643         * doc/glibc-functions/fremovexattr.texi: Likewise.
19644         * doc/glibc-functions/fsetxattr.texi: Likewise.
19645         * doc/glibc-functions/getxattr.texi: Likewise.
19646         * doc/glibc-functions/lgetxattr.texi: Likewise.
19647         * doc/glibc-functions/listxattr.texi: Likewise.
19648         * doc/glibc-functions/llistxattr.texi: Likewise.
19649         * doc/glibc-functions/lremovexattr.texi: Likewise.
19650         * doc/glibc-functions/lsetxattr.texi: Likewise.
19651         * doc/glibc-functions/removexattr.texi: Likewise.
19652         * doc/glibc-functions/setxattr.texi: Likewise.
19653         * doc/posix-functions/open_memstream.texi: Likewise.
19654
19655 2008-12-15  Eric Blake  <ebb9@byu.net>
19656
19657         Update doc for cygwin 1.7.
19658         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
19659         functions.
19660         * doc/posix-functions/fchmodat.texi: Likewise.
19661         * doc/posix-functions/fchownat.texi: Likewise.
19662         * doc/posix-functions/fdopendir.texi: Likewise.
19663         * doc/posix-functions/fmemopen.texi: Likewise.
19664         * doc/posix-functions/freeaddrinfo.texi: Likewise.
19665         * doc/posix-functions/fstatat.texi: Likewise.
19666         * doc/posix-functions/futimens.texi: Likewise.
19667         * doc/posix-functions/gai_strerror.texi: Likewise.
19668         * doc/posix-functions/getaddrinfo.texi: Likewise.
19669         * doc/posix-functions/getnameinfo.texi: Likewise.
19670         * doc/posix-functions/if_freenameindex.texi: Likewise.
19671         * doc/posix-functions/if_indextoname.texi: Likewise.
19672         * doc/posix-functions/if_nameindex.texi: Likewise.
19673         * doc/posix-functions/if_nametoindex.texi: Likewise.
19674         * doc/posix-functions/insque.texi: Likewise.
19675         * doc/posix-functions/linkat.texi: Likewise.
19676         * doc/posix-functions/llrint.texi: Likewise.
19677         * doc/posix-functions/llrintf.texi: Likewise.
19678         * doc/posix-functions/llrintl.texi: Likewise.
19679         * doc/posix-functions/lockf.texi: Likewise.
19680         * doc/posix-functions/lrintl.texi: Likewise.
19681         * doc/posix-functions/mkdirat.texi: Likewise.
19682         * doc/posix-functions/mkfifoat.texi: Likewise.
19683         * doc/posix-functions/mknodat.texi: Likewise.
19684         * doc/posix-functions/mq_close.texi: Likewise.
19685         * doc/posix-functions/mq_getattr.texi: Likewise.
19686         * doc/posix-functions/mq_notify.texi: Likewise.
19687         * doc/posix-functions/mq_open.texi: Likewise.
19688         * doc/posix-functions/mq_receive.texi: Likewise.
19689         * doc/posix-functions/mq_send.texi: Likewise.
19690         * doc/posix-functions/mq_setattr.texi: Likewise.
19691         * doc/posix-functions/mq_timedreceive.texi: Likewise.
19692         * doc/posix-functions/mq_timedsend.texi: Likewise.
19693         * doc/posix-functions/mq_unlink.texi: Likewise.
19694         * doc/posix-functions/open_memstream.texi: Likewise.
19695         * doc/posix-functions/openat.texi: Likewise.
19696         * doc/posix-functions/posix_fadvise.texi: Likewise.
19697         * doc/posix-functions/posix_fallocate.texi: Likewise.
19698         * doc/posix-functions/posix_madvise.texi: Likewise.
19699         * doc/posix-functions/posix_memalign.texi: Likewise.
19700         * doc/posix-functions/posix_openpt.texi: Likewise.
19701         * doc/posix-functions/readlinkat.texi: Likewise.
19702         * doc/posix-functions/remque.texi: Likewise.
19703         * doc/posix-functions/renameat.texi: Likewise.
19704         * doc/posix-functions/rintl.texi: Likewise.
19705         * doc/posix-functions/sem_unlink.texi: Likewise.
19706         * doc/posix-functions/shm_open.texi: Likewise.
19707         * doc/posix-functions/shm_unlink.texi: Likewise.
19708         * doc/posix-functions/signgam.texi: Likewise.
19709         * doc/posix-functions/sigset.texi: Likewise.
19710         * doc/posix-functions/stpcpy.texi: Likewise.
19711         * doc/posix-functions/stpncpy.texi: Likewise.
19712         * doc/posix-functions/strerror.texi: Likewise.
19713         * doc/posix-functions/strtod.texi: Likewise.
19714         * doc/posix-functions/symlinkat.texi: Likewise.
19715         * doc/posix-functions/unlinkat.texi: Likewise.
19716         * doc/posix-functions/utimensat.texi: Likewise.
19717         * doc/glibc-functions/bindresvport.texi: Likewise.
19718         * doc/glibc-functions/dn_expand.texi: Likewise.
19719         * doc/glibc-functions/exp10.texi: Likewise.
19720         * doc/glibc-functions/exp10f.texi: Likewise.
19721         * doc/glibc-functions/fgetxattr.texi: Likewise.
19722         * doc/glibc-functions/flistxattr.texi: Likewise.
19723         * doc/glibc-functions/fopencookie.texi: Likewise.
19724         * doc/glibc-functions/freeifaddrs.texi: Likewise.
19725         * doc/glibc-functions/fremovexattr.texi: Likewise.
19726         * doc/glibc-functions/fsetxattr.texi: Likewise.
19727         * doc/glibc-functions/getifaddrs.texi: Likewise.
19728         * doc/glibc-functions/getxattr.texi: Likewise.
19729         * doc/glibc-functions/lgetxattr.texi: Likewise.
19730         * doc/glibc-functions/listxattr.texi: Likewise.
19731         * doc/glibc-functions/llistxattr.texi: Likewise.
19732         * doc/glibc-functions/lremovexattr.texi: Likewise.
19733         * doc/glibc-functions/lsetxattr.texi: Likewise.
19734         * doc/glibc-functions/pow10.texi: Likewise.
19735         * doc/glibc-functions/pow10f.texi: Likewise.
19736         * doc/glibc-functions/rcmd_af.texi: Likewise.
19737         * doc/glibc-functions/removexattr.texi: Likewise.
19738         * doc/glibc-functions/res_init.texi: Likewise.
19739         * doc/glibc-functions/res_mkquery.texi: Likewise.
19740         * doc/glibc-functions/res_query.texi: Likewise.
19741         * doc/glibc-functions/res_querydomain.texi: Likewise.
19742         * doc/glibc-functions/res_send.texi: Likewise.
19743         * doc/glibc-functions/rresvport_af.texi: Likewise.
19744         * doc/glibc-functions/setxattr.texi: Likewise.
19745         * doc/glibc-functions/strcasestr.texi: Likewise.
19746
19747 2008-12-15  Bruno Haible  <bruno@clisp.org>
19748
19749         Fix compilation error on OSF/1 4.0.
19750         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
19751         <sys/time.h>, simply delegate to the system header.
19752         Reported by Daniel Richard G. <oss@teragram.com>.
19753
19754 2008-12-15  Bruno Haible  <bruno@clisp.org>
19755
19756         * doc/posix-functions/openat.texi: Mention the 'openat' module.
19757         * doc/posix-functions/fchmodat.texi: Likewise.
19758         * doc/posix-functions/fchownat.texi: Likewise.
19759         * doc/posix-functions/fdopendir.texi: Likewise.
19760         * doc/posix-functions/fstatat.texi: Likewise.
19761         * doc/posix-functions/mkdirat.texi: Likewise.
19762         * doc/posix-functions/unlinkat.texi: Likewise.
19763
19764 2008-12-14  Bruno Haible  <bruno@clisp.org>
19765
19766         Update doc for POSIX:2008.
19767         * doc/posix-functions/faccessat.texi: New file.
19768         * doc/posix-functions/fchmodat.texi: New file.
19769         * doc/posix-functions/fchownat.texi: New file.
19770         * doc/posix-functions/fdopendir.texi: New file.
19771         * doc/posix-functions/fstatat.texi: New file.
19772         * doc/posix-functions/futimens.texi: New file.
19773         * doc/posix-functions/linkat.texi: New file.
19774         * doc/posix-functions/mkdirat.texi: New file.
19775         * doc/posix-functions/mkfifoat.texi: New file.
19776         * doc/posix-functions/mknodat.texi: New file.
19777         * doc/posix-functions/open_wmemstream.texi: New file.
19778         * doc/posix-functions/openat.texi: New file.
19779         * doc/posix-functions/psiginfo.texi: New file.
19780         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
19781         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
19782         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
19783         * doc/posix-functions/readlinkat.texi: New file.
19784         * doc/posix-functions/renameat.texi: New file.
19785         * doc/posix-functions/strerror_l.texi: New file.
19786         * doc/posix-functions/symlinkat.texi: New file.
19787         * doc/posix-functions/unlinkat.texi: New file.
19788         * doc/posix-functions/utimensat.texi: New file.
19789         * doc/gnulib.texi (Function Substitutes): Add these subsections.
19790
19791 2008-12-14  Bruno Haible  <bruno@clisp.org>
19792
19793         Update doc for POSIX:2008.
19794         * doc/posix-functions/alphasort.texi: Renamed from
19795         doc/glibc-functions/alphasort.texi.
19796         * doc/posix-functions/dirfd.texi: Renamed from
19797         doc/glibc-functions/dirfd.texi.
19798         * doc/posix-functions/dprintf.texi: Renamed from
19799         doc/glibc-functions/dprintf.texi.
19800         * doc/posix-functions/duplocale.texi: Renamed from
19801         doc/glibc-functions/duplocale.texi.
19802         * doc/posix-functions/fexecve.texi: Renamed from
19803         doc/glibc-functions/fexecve.texi.
19804         * doc/posix-functions/fmemopen.texi: Renamed from
19805         doc/glibc-functions/fmemopen.texi.
19806         * doc/posix-functions/freelocale.texi: Renamed from
19807         doc/glibc-functions/freelocale.texi.
19808         * doc/posix-functions/getdate_err.texi: Renamed from
19809         doc/glibc-functions/getdate_err.texi.
19810         * doc/posix-functions/isalnum_l.texi: Renamed from
19811         doc/glibc-functions/isalnum_l.texi.
19812         * doc/posix-functions/isalpha_l.texi: Renamed from
19813         doc/glibc-functions/isalpha_l.texi.
19814         * doc/posix-functions/isblank_l.texi: Renamed from
19815         doc/glibc-functions/isblank_l.texi.
19816         * doc/posix-functions/iscntrl_l.texi: Renamed from
19817         doc/glibc-functions/iscntrl_l.texi.
19818         * doc/posix-functions/isdigit_l.texi: Renamed from
19819         doc/glibc-functions/isdigit_l.texi.
19820         * doc/posix-functions/isgraph_l.texi: Renamed from
19821         doc/glibc-functions/isgraph_l.texi.
19822         * doc/posix-functions/islower_l.texi: Renamed from
19823         doc/glibc-functions/islower_l.texi.
19824         * doc/posix-functions/isprint_l.texi: Renamed from
19825         doc/glibc-functions/isprint_l.texi.
19826         * doc/posix-functions/ispunct_l.texi: Renamed from
19827         doc/glibc-functions/ispunct_l.texi.
19828         * doc/posix-functions/isspace_l.texi: Renamed from
19829         doc/glibc-functions/isspace_l.texi.
19830         * doc/posix-functions/isupper_l.texi: Renamed from
19831         doc/glibc-functions/isupper_l.texi.
19832         * doc/posix-functions/iswalnum_l.texi: Renamed from
19833         doc/glibc-functions/iswalnum_l.texi.
19834         * doc/posix-functions/iswalpha_l.texi: Renamed from
19835         doc/glibc-functions/iswalpha_l.texi.
19836         * doc/posix-functions/iswblank_l.texi: Renamed from
19837         doc/glibc-functions/iswblank_l.texi.
19838         * doc/posix-functions/iswcntrl_l.texi: Renamed from
19839         doc/glibc-functions/iswcntrl_l.texi.
19840         * doc/posix-functions/iswctype_l.texi: Renamed from
19841         doc/glibc-functions/iswctype_l.texi.
19842         * doc/posix-functions/iswdigit_l.texi: Renamed from
19843         doc/glibc-functions/iswdigit_l.texi.
19844         * doc/posix-functions/iswgraph_l.texi: Renamed from
19845         doc/glibc-functions/iswgraph_l.texi.
19846         * doc/posix-functions/iswlower_l.texi: Renamed from
19847         doc/glibc-functions/iswlower_l.texi.
19848         * doc/posix-functions/iswprint_l.texi: Renamed from
19849         doc/glibc-functions/iswprint_l.texi.
19850         * doc/posix-functions/iswpunct_l.texi: Renamed from
19851         doc/glibc-functions/iswpunct_l.texi.
19852         * doc/posix-functions/iswspace_l.texi: Renamed from
19853         doc/glibc-functions/iswspace_l.texi.
19854         * doc/posix-functions/iswupper_l.texi: Renamed from
19855         doc/glibc-functions/iswupper_l.texi.
19856         * doc/posix-functions/iswxdigit_l.texi: Renamed from
19857         doc/glibc-functions/iswxdigit_l.texi.
19858         * doc/posix-functions/isxdigit_l.texi: Renamed from
19859         doc/glibc-functions/isxdigit_l.texi.
19860         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
19861         doc/glibc-functions/mbsnrtowcs.texi.
19862         * doc/posix-functions/mkdtemp.texi: Renamed from
19863         doc/glibc-functions/mkdtemp.texi.
19864         * doc/posix-functions/newlocale.texi: Renamed from
19865         doc/glibc-functions/newlocale.texi.
19866         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
19867         doc/glibc-functions/nl_langinfo_l.texi.
19868         * doc/posix-functions/open_memstream.texi: Renamed from
19869         doc/glibc-functions/open_memstream.texi.
19870         * doc/posix-functions/opterr.texi: Renamed from
19871         doc/glibc-functions/opterr.texi.
19872         * doc/posix-functions/optind.texi: Renamed from
19873         doc/glibc-functions/optind.texi.
19874         * doc/posix-functions/optopt.texi: Renamed from
19875         doc/glibc-functions/optopt.texi.
19876         * doc/posix-functions/psignal.texi: Renamed from
19877         doc/glibc-functions/psignal.texi.
19878         * doc/posix-functions/scandir.texi: Renamed from
19879         doc/glibc-functions/scandir.texi.
19880         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
19881         doc/glibc-functions/sched_get_priority_min.texi.
19882         * doc/posix-functions/signgam.texi: Renamed from
19883         doc/glibc-functions/signgam.texi.
19884         * doc/posix-functions/stpcpy.texi: Renamed from
19885         doc/glibc-functions/stpcpy.texi.
19886         * doc/posix-functions/stpncpy.texi: Renamed from
19887         doc/glibc-functions/stpncpy.texi.
19888         * doc/posix-functions/strcasecmp_l.texi: Renamed from
19889         doc/glibc-functions/strcasecmp_l.texi.
19890         * doc/posix-functions/strcoll_l.texi: Renamed from
19891         doc/glibc-functions/strcoll_l.texi.
19892         * doc/posix-functions/strfmon_l.texi: Renamed from
19893         doc/glibc-functions/strfmon_l.texi.
19894         * doc/posix-functions/strftime_l.texi: Renamed from
19895         doc/glibc-functions/strftime_l.texi.
19896         * doc/posix-functions/strncasecmp_l.texi: Renamed from
19897         doc/glibc-functions/strncasecmp_l.texi.
19898         * doc/posix-functions/strndup.texi: Renamed from
19899         doc/glibc-functions/strndup.texi.
19900         * doc/posix-functions/strnlen.texi: Renamed from
19901         doc/glibc-functions/strnlen.texi.
19902         * doc/posix-functions/strsignal.texi: Renamed from
19903         doc/glibc-functions/strsignal.texi.
19904         * doc/posix-functions/strxfrm_l.texi: Renamed from
19905         doc/glibc-functions/strxfrm_l.texi.
19906         * doc/posix-functions/timer_gettime.texi: Renamed from
19907         doc/glibc-functions/timer_gettime.texi.
19908         * doc/posix-functions/tolower_l.texi: Renamed from
19909         doc/glibc-functions/tolower_l.texi.
19910         * doc/posix-functions/toupper_l.texi: Renamed from
19911         doc/glibc-functions/toupper_l.texi.
19912         * doc/posix-functions/towctrans_l.texi: Renamed from
19913         doc/glibc-functions/towctrans_l.texi.
19914         * doc/posix-functions/towlower_l.texi: Renamed from
19915         doc/glibc-functions/towlower_l.texi.
19916         * doc/posix-functions/towupper_l.texi: Renamed from
19917         doc/glibc-functions/towupper_l.texi.
19918         * doc/posix-functions/uselocale.texi: Renamed from
19919         doc/glibc-functions/uselocale.texi.
19920         * doc/posix-functions/vdprintf.texi: Renamed from
19921         doc/glibc-functions/vdprintf.texi.
19922         * doc/posix-functions/wcpcpy.texi:
19923         Renamed from doc/glibc-functions/wcpcpy.texi.
19924         * doc/posix-functions/wcpncpy.texi: Renamed from
19925         doc/glibc-functions/wcpncpy.texi.
19926         * doc/posix-functions/wcscasecmp.texi: Renamed from
19927         doc/glibc-functions/wcscasecmp.texi.
19928         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
19929         doc/glibc-functions/wcscasecmp_l.texi.
19930         * doc/posix-functions/wcscoll_l.texi: Renamed from
19931         doc/glibc-functions/wcscoll_l.texi.
19932         * doc/posix-functions/wcsdup.texi: Renamed from
19933         doc/glibc-functions/wcsdup.texi.
19934         * doc/posix-functions/wcsncasecmp.texi: Renamed from
19935         doc/glibc-functions/wcsncasecmp.texi.
19936         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
19937         doc/glibc-functions/wcsncasecmp_l.texi.
19938         * doc/posix-functions/wcsnlen.texi: Renamed from
19939         doc/glibc-functions/wcsnlen.texi.
19940         * doc/posix-functions/wcsnrtombs.texi: Renamed from
19941         doc/glibc-functions/wcsnrtombs.texi.
19942         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
19943         doc/glibc-functions/wcsxfrm_l.texi.
19944         * doc/posix-functions/wctrans_l.texi: Renamed from
19945         doc/glibc-functions/wctrans_l.texi.
19946         * doc/posix-functions/wctype_l.texi: Renamed from
19947         doc/glibc-functions/wctype_l.texi.
19948         * doc/gnulib.texi (Function Substitutes): Add these subsections.
19949         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
19950         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
19951         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
19952         these subsections.
19953         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
19954         Remove sections.
19955
19956 2008-12-14  Bruno Haible  <bruno@clisp.org>
19957
19958         Update doc for POSIX:2008.
19959         * doc/posix-functions/*.texi: Update URL of POSIX specification.
19960
19961 2008-12-14  Bruno Haible  <bruno@clisp.org>
19962
19963         Update doc for POSIX:2008.
19964         * doc/pastposix-functions/bcmp.texi: Renamed from
19965         doc/posix-functions/bcmp.texi.
19966         * doc/pastposix-functions/bcopy.texi: Renamed from
19967         doc/posix-functions/bcopy.texi.
19968         * doc/pastposix-functions/bsd_signal.texi: Renamed from
19969         doc/posix-functions/bsd_signal.texi.
19970         * doc/pastposix-functions/bzero.texi: Renamed from
19971         doc/posix-functions/bzero.texi.
19972         * doc/pastposix-functions/ecvt.texi: Renamed from
19973         doc/posix-functions/ecvt.texi.
19974         * doc/pastposix-functions/fcvt.texi: Renamed from
19975         doc/posix-functions/fcvt.texi.
19976         * doc/pastposix-functions/ftime.texi: Renamed from
19977         doc/posix-functions/ftime.texi.
19978         * doc/pastposix-functions/gcvt.texi: Renamed from
19979         doc/posix-functions/gcvt.texi.
19980         * doc/pastposix-functions/getcontext.texi: Renamed from
19981         doc/posix-functions/getcontext.texi.
19982         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
19983         doc/posix-functions/gethostbyaddr.texi.
19984         * doc/pastposix-functions/gethostbyname.texi: Renamed from
19985         doc/posix-functions/gethostbyname.texi.
19986         * doc/pastposix-functions/getwd.texi: Renamed from
19987         doc/posix-functions/getwd.texi.
19988         * doc/pastposix-functions/h_errno.texi: Renamed from
19989         doc/posix-functions/h_errno.texi.
19990         * doc/pastposix-functions/index.texi: Renamed from
19991         doc/posix-functions/index.texi.
19992         * doc/pastposix-functions/makecontext.texi: Renamed from
19993         doc/posix-functions/makecontext.texi.
19994         * doc/pastposix-functions/mktemp.texi: Renamed from
19995         doc/posix-functions/mktemp.texi.
19996         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
19997         doc/posix-functions/pthread_attr_getstackaddr.texi.
19998         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
19999         doc/posix-functions/pthread_attr_setstackaddr.texi.
20000         * doc/pastposix-functions/rindex.texi: Renamed from
20001         doc/posix-functions/rindex.texi.
20002         * doc/pastposix-functions/scalb.texi: Renamed from
20003         doc/posix-functions/scalb.texi.
20004         * doc/pastposix-functions/setcontext.texi: Renamed from
20005         doc/posix-functions/setcontext.texi.
20006         * doc/pastposix-functions/swapcontext.texi: Renamed from
20007         doc/posix-functions/swapcontext.texi.
20008         * doc/pastposix-functions/ualarm.texi: Renamed from
20009         doc/posix-functions/ualarm.texi.
20010         * doc/pastposix-functions/usleep.texi: Renamed from
20011         doc/posix-functions/usleep.texi.
20012         * doc/pastposix-functions/vfork.texi: Renamed from
20013         doc/posix-functions/vfork.texi.
20014         * doc/pastposix-functions/wcswcs.texi: Renamed from
20015         doc/posix-functions/wcswcs.texi.
20016         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
20017         (Function Substitutes): Update.
20018
20019 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20020
20021         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
20022         m4/strerror.m4.
20023
20024 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20025             Bruno Haible  <bruno@clisp.org>
20026
20027         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
20028
20029 2008-12-13  Bruno Haible  <bruno@clisp.org>
20030
20031         * modules/strtoull (Depends-on): Remove unistd.
20032
20033 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20034
20035         * modules/strtoull (Depends-on): Add stdlib.
20036
20037 2008-12-11  Simon Josefsson  <simon@josefsson.org>
20038
20039         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
20040
20041 2008-12-10  Jim Meyering  <meyering@redhat.com>
20042
20043         gl_ASSERT: don't say assertions are disabled when they're not
20044         * m4/assert.m4 (gl_ASSERT): Do not make configure report
20045         "checking whether to enable assertions... no", when they are in
20046         fact enabled.  This is solely a bug in the output of configure.
20047         In spite of saying "no", NDEBUG was not defined in that case.
20048         Also, as noted by Eric Blake, leave assertions enabled upon
20049         --enable-assert=INVALID.
20050
20051 2008-12-10  Bruno Haible  <bruno@clisp.org>
20052
20053         Change MODULES.html to refer to POSIX:2008 where possible.
20054         * MODULES.html.sh (POSIX2008_URL): New variable.
20055         (posix_headers): Remove sys/timeb, ucontext.
20056         (posix2001_headers): New variable.
20057         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
20058         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
20059         index, makecontext, mktemp, pthread_attr_getstackaddr,
20060         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
20061         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
20062         (posix2001_functions): New variable.
20063         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
20064         otherwise.
20065
20066 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20067
20068         add missing include to parse-duration.c
20069         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
20070         * modules/parse-duration (Depends-on): Add xalloc.
20071
20072         fix sed script reading maint.mk
20073         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
20074         (syntax-check-rules): Use it.
20075
20076 2008-12-09  Bruno Haible  <bruno@clisp.org>
20077
20078         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
20079         MacOS X 10.4/PowerPC.
20080         Reported by Simon Josefsson.
20081
20082 2008-12-08  Jim Meyering  <meyering@redhat.com>
20083
20084         work around mingw's lack of some S_IF definitions
20085         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
20086         Reported by Simon Josefsson.
20087
20088 2008-12-08  Bruno Haible  <bruno@clisp.org>
20089
20090         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
20091         applied to variables. Needed on MacOS X 10.4/PowerPC.
20092         Reported by Simon Josefsson.
20093
20094 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
20095         and Eric Blake  <ebb9@byu.net>
20096
20097         assert: honor --enable-assert
20098         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
20099         order to honor --enable-assert, rather than treating it as a
20100         synonym for --disable-assert.
20101
20102 2008-12-08  Jim Meyering  <meyering@redhat.com>
20103
20104         * lib/posixtm.c: Remove now-useless declaration of mktime.
20105
20106         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
20107
20108 2008-12-07  Bruno Haible  <bruno@clisp.org>
20109
20110         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
20111         test_once): Mark functions as static.
20112         * tests/test-tls.c (test_tls): Likewise.
20113
20114 2008-12-07  Bruno Haible  <bruno@clisp.org>
20115
20116         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
20117         iconv_register_autodetect.
20118
20119 2008-12-07  Jim Meyering  <meyering@redhat.com>
20120
20121         posixtm.c: avoid a warning
20122         * lib/posixtm.c (posixtime): Don't initialize tm0.
20123         It's no longer needed to placate gcc4's -Wuninitialized,
20124         and the attempt to placate would elicit a new warning.
20125
20126         unicodeio.c: mark unused parameters
20127         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
20128         (fallback_failure_callback): Likewise.
20129
20130 2008-12-07  Bruno Haible  <bruno@clisp.org>
20131
20132         * gnulib-tool (func_create_testdir): When building the tests
20133         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
20134         Reported by Simon Josefsson.
20135
20136 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20137
20138         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
20139
20140 2008-12-06  Bruno Haible  <bruno@clisp.org>
20141
20142         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
20143         Suggested by Eric Blake.
20144
20145 2008-12-06  Bruno Haible  <bruno@clisp.org>
20146
20147         Fix a c-stack test failure on MacOS X.
20148         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
20149         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
20150         handler for SIGBUS as well.
20151         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
20152         install a signal handler for SIGBUS as well.
20153         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
20154
20155 2008-12-06  Bruno Haible  <bruno@clisp.org>
20156
20157         Advocacy documentation.
20158         * doc/gnulib-intro.texi (Benefits): New section.
20159         * doc/gnulib.texi: Update.
20160
20161 2008-12-06  Bruno Haible  <bruno@clisp.org>
20162
20163         Document the 'manywarnings' module.
20164         * doc/manywarnings.texi: New file.
20165         * doc/gnulib.texi: Include it.
20166
20167 2008-12-05  Eric Blake  <ebb9@byu.net>
20168
20169         tests: silence some gcc warnings
20170         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
20171         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
20172         type mismatches.
20173
20174 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20175             Bruno Haible  <bruno@clisp.org>
20176
20177         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
20178
20179 2008-11-29  Jim Meyering  <meyering@redhat.com>
20180
20181         unicodeio.c: mark unused parameters
20182         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
20183         (fallback_failure_callback): Likewise.
20184
20185         fts: fix a thinko
20186         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
20187         (set_stat_type): Return S_IF*-valued "type" directly.
20188         Prompted by James Youngman's spotting a related bug.
20189         Confirmed by further testing through find.
20190
20191         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
20192         * lib/fts.c (D_TYPE): Define.
20193         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
20194         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
20195         (s_ifmt_shift_bits): New function.
20196         (set_stat_type): New function.
20197         (fts_build): When not calling fts_stat, call set_stat_type
20198         to propagate dirent.d_type info to fts_read caller.
20199         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
20200         fts_statp->st_mode type information may be valid.
20201
20202 2008-11-28  Simon Josefsson  <simon@josefsson.org>
20203
20204         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
20205         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
20206         <sds@gnu.org>.
20207
20208 2008-11-20  Bruno Haible  <bruno@clisp.org>
20209
20210         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
20211         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
20212         INCLUDE_NEXT.
20213         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
20214         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
20215         * modules/math (Makefile.am): Substitute
20216         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
20217         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
20218
20219 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
20220             Bruno Haible  <bruno@clisp.org>
20221
20222         * lib/stdint.in.h: Define all type macros so that their expansion is
20223         a single typedef'ed token. Fixes a compilation failure in Boost which
20224         does "using ::int8_t;".
20225
20226 2008-11-18  Simon Josefsson  <simon@josefsson.org>
20227
20228         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
20229         gl_MANYWARN_ALL_GCC.
20230         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
20231         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
20232         * modules/manywarnings: New file.
20233         * MODULES.html.sh: Mention manywarnings module.
20234
20235 2008-11-18  Bruno Haible  <bruno@clisp.org>
20236
20237         * doc/gnulib-tool.texi (Unit tests): New section.
20238
20239 2008-11-18  Simon Josefsson  <simon@josefsson.org>
20240
20241         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
20242         paths like 'lib/po/foo.po'.
20243
20244 2008-11-17  Simon Josefsson  <simon@josefsson.org>
20245
20246         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
20247         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
20248
20249 2008-11-17  Simon Josefsson  <simon@josefsson.org>
20250
20251         * m4/warnings.m4: Use CPPFLAGS to really check whether the
20252         parameter works.
20253
20254 2008-11-17  Simon Josefsson  <simon@josefsson.org>
20255
20256         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
20257
20258 2008-11-17  Bruce Korb  <bkorb@gnu.org>
20259
20260         * modules/parse-duration-tests: New file.
20261         * tests/test-parse-duration.sh: New file.
20262         * tests/test-parse-duration.c: New file.
20263
20264         New module 'parse-duration'.
20265         * lib/parse-duration.h: New file.
20266         * lib/parse-duration.c: New file.
20267         * modules/parse-duration: New file.
20268
20269 2008-11-17  Bruno Haible  <bruno@clisp.org>
20270
20271         * tests/test-select-out.sh: Comment out the first pipe test.
20272         Reported by Simon Josefsson.
20273
20274 2008-11-17  Bruno Haible  <bruno@clisp.org>
20275
20276         * modules/getaddrinfo (Depends-on): Add servent, hostent.
20277         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
20278         gl_HOSTENT.
20279
20280 2008-11-17  Bruno Haible  <bruno@clisp.org>
20281
20282         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
20283         -lnetwork and -lnet. Needed for Haiku and BeOS.
20284
20285 2008-11-16  Bruno Haible  <bruno@clisp.org>
20286
20287         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
20288
20289 2008-11-16  Bruno Haible  <bruno@clisp.org>
20290
20291         Avoid test failure on Haiku.
20292         * tests/test-fsync.c: Include <errno.h>.
20293         (main): Don't require that fsync (0) fails.
20294
20295 2008-11-15  Bruno Haible  <bruno@clisp.org>
20296
20297         New module 'hostent'.
20298         * modules/hostent: New file.
20299         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
20300
20301 2008-11-15  Bruno Haible  <bruno@clisp.org>
20302
20303         New module 'servent'.
20304         * modules/servent: New file.
20305         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
20306
20307 2008-11-15  Bruno Haible  <bruno@clisp.org>
20308
20309         Avoid generating same test program with two different rules.
20310         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
20311         test-frexp to test-frexp-nolibm.
20312         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
20313         test-frexpl to test-frexpl-nolibm.
20314
20315 2008-11-15  Bruno Haible  <bruno@clisp.org>
20316
20317         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
20318         $(FREXPL_LIBM).
20319
20320 2008-11-15  Bruno Haible  <bruno@clisp.org>
20321
20322         * lib/netdb.in.h: Activate the definitions also when the system's
20323         <netdb.h> has 'struct addrinfo'.
20324         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
20325         EAI_OVERFLOW or AI_NUMERICSERV.
20326         * doc/posix-headers/netdb.texi: Document the problem.
20327
20328 2008-11-15  Bruno Haible  <bruno@clisp.org>
20329
20330         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
20331
20332         Make the 'sched' module work on platforms where <sched.h> exists but
20333         is incomplete (such as Haiku).
20334         * lib/sched.in.h; Include the system's <sched.h> if it exists.
20335         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
20336         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
20337         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
20338         HAVE_STRUCT_SCHED_PARAM.
20339         * modules/sched (Depends-on): Add include_next.
20340         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
20341         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
20342         * doc/posix-headers/sched.texi: Document the issue.
20343
20344 2008-11-13  Jim Meyering  <meyering@redhat.com>
20345
20346         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
20347         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
20348         test would fail due to the difference in the Report bugs to ...
20349         line.  The expected address is empty, "<>", while the actual
20350         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
20351
20352 2008-11-12  Bruno Haible  <bruno@clisp.org>
20353
20354         lstat: don't compile lstat.c on systems lacking lstat
20355         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
20356         which don't have lstat; this is handled by lib/sys_stat.in.h already.
20357         Reported by Daniel P. Berrange via Jim Meyering.
20358
20359 2008-11-12  Jim Meyering  <meyering@redhat.com>
20360
20361         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
20362
20363 2008-11-12  Simon Josefsson  <simon@josefsson.org>
20364
20365         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
20366         instead.
20367
20368 2008-11-12  Bruno Haible  <bruno@clisp.org>
20369
20370         * lib/unicodeio.c: Include unistr.h.
20371         (utf8_wctomb): Remove function.
20372         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
20373
20374 2008-11-12  Simon Josefsson  <simon@josefsson.org>
20375
20376         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
20377         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
20378         <bruno@clisp.org>.
20379         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
20380
20381 2008-11-12  Simon Josefsson  <simon@josefsson.org>
20382
20383         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
20384         * doc/gnulib.texi: Add section for warnings.
20385
20386 2008-11-11  Bruno Haible  <bruno@clisp.org>
20387
20388         * lib/sockets.h: Add a comment.
20389
20390 2008-11-11  Karl Berry  <karl@gnu.org>
20391
20392         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
20393
20394 2008-11-11  Eric Blake  <ebb9@byu.net>
20395
20396         fdl.texi: avoid git symlinks
20397         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
20398
20399 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
20400
20401         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
20402
20403 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
20404
20405         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
20406         (gl_WARN_ADD): Substitute $2 if literal.
20407
20408 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
20409
20410         * m4/warning.m4: Remove.
20411
20412 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
20413
20414         * m4/warnings.m4: Almost complete rewrite. :-)
20415
20416 2008-11-10  Simon Josefsson  <simon@josefsson.org>
20417
20418         * modules/warnings: New module.
20419         * m4/warnings.m4: New file.
20420         * MODULES.html.sh: Mention warnings module.
20421         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
20422         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
20423
20424 2008-11-10  Eric Blake  <ebb9@byu.net>
20425
20426         fdl.texi: make a symlink to the latest version
20427         * doc/standards.texi: Revert today's earlier change.
20428         * doc/fdl-1.2.texi: Rename from old fdl.texi...
20429         * doc/fdl.texi: ...and replace this with a symlink to the newer
20430         fdl-1.3.texi.
20431
20432 2008-11-10  Bruno Haible  <bruno@clisp.org>
20433
20434         * tests/test-select-fd.c (main): Accept the result file name as fourth
20435         argument.
20436         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
20437         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
20438
20439 2008-11-10  Bruno Haible  <bruno@clisp.org>
20440
20441         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
20442         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
20443         as autoconf-substituted macros.
20444         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
20445         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
20446         gl_NETDB_H_DEFAULTS. Set these variables.
20447         * modules/netdb (Makefile.am): Substitute these variables.
20448
20449 2008-11-10  Eric Blake  <ebb9@byu.net>
20450
20451         standards.texi: include correct file for FDL 1.3
20452         * doc/standards.texi (GNU Free Documentation License): Change
20453         include file to pull in FDL 1.3, not 1.2.
20454
20455         fdl.texi: revert accidental change to license
20456         * doc/fdl.texi: This is FDL 1.2, not 1.3.
20457
20458 2008-11-10  Bruno Haible  <bruno@clisp.org>
20459
20460         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
20461         cross-compiling guesses also when the native compile gives no result.
20462
20463 2008-11-10  Bruno Haible  <bruno@clisp.org>
20464
20465         * lib/spawni.c (__spawni): Force variable into the stack.
20466
20467 2008-11-10  Bruno Haible  <bruno@clisp.org>
20468
20469         Add support for Haiku.
20470         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
20471         glibc and BeOS, but also on Haiku.
20472         * lib/fpurge.c (fpurge): Likewise.
20473         * lib/freadable.c (freadable): Likewise.
20474         * lib/freadahead.c (freadahead): Likewise.
20475         * lib/freading.c (freading): Likewise.
20476         * lib/freadptr.c (freadptr): Likewise.
20477         * lib/freadseek.c (freadptrinc): Likewise.
20478         * lib/fseeko.c (rpl_fseeko): Likewise.
20479         * lib/fseterr.c (fseterr): Likewise.
20480         * lib/fwritable.c (fwritable): Likewise.
20481         * lib/fwriting.c (fwriting): Likewise.
20482         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
20483
20484 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
20485
20486         * lib/config.charset: Treat Haiku like BeOS.
20487
20488 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
20489
20490         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
20491         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
20492
20493 2008-11-08  Bruno Haible  <bruno@clisp.org>
20494
20495         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
20496         AC_CACHE_CHECK.
20497
20498 2008-11-08  Bruno Haible  <bruno@clisp.org>
20499
20500         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
20501
20502 2008-11-08  Bruno Haible  <bruno@clisp.org>
20503
20504         * tests/test-select-fd.c: New file.
20505         * tests/test-select-in.sh: New file.
20506         * tests/test-select-out.sh: New file.
20507         * tests/test-select-stdin.c: New file.
20508         * modules/select-tests (Files): Add the new files.
20509         (Depends-on): Add gettimeofday.
20510         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
20511         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
20512         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
20513
20514 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
20515             Bruno Haible  <bruno@clisp.org>
20516
20517         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
20518
20519 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
20520
20521         * build-aux/pmccabe2html: Added support for C++ source files.
20522
20523 2008-11-05  Ben Pfaff  <blp@gnu.org>
20524
20525         Fix lib/close.c build on Windows.
20526         * modules/close (Files): Add lib/w32sock.h.
20527
20528 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
20529
20530         Accept Bison's NEWS format.
20531         * build-aux/announce-gen (print_news_deltas): Tweak
20532         $re_prefix.
20533
20534 2008-11-04  Bruno Haible  <bruno@clisp.org>
20535
20536         * modules/random_r (Maintainer): Add glibc.
20537
20538 2008-11-04  Simon Josefsson  <simon@josefsson.org>
20539
20540         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
20541         by karl@freefriends.org (Karl Berry).
20542         * doc/alloca.texi: Likewise.
20543         * doc/c-ctype.texi: Likewise.
20544         * doc/c-strcase.texi: Likewise.
20545         * doc/c-strcaseeq.texi: Likewise.
20546         * doc/c-strcasestr.texi: Likewise.
20547         * doc/c-strstr.texi: Likewise.
20548         * doc/c-strtod.texi: Likewise.
20549         * doc/c-strtold.texi: Likewise.
20550         * doc/ctime.texi: Likewise.
20551         * doc/error.texi: Likewise.
20552         * doc/fdl.texi: Likewise.
20553         * doc/gcd.texi: Likewise.
20554         * doc/getdate.texi: Likewise.
20555         * doc/gnulib-intro.texi: Likewise.
20556         * doc/gnulib-tool.texi: Likewise.
20557         * doc/gnulib.texi: Likewise.
20558         * doc/inet_ntoa.texi: Likewise.
20559         * doc/maintain.texi: Likewise.
20560         * doc/make-stds.texi: Likewise.
20561         * doc/quote.texi: Likewise.
20562         * doc/regexprops-generic.texi: Likewise.
20563         * doc/standards.texi: Likewise.
20564         * doc/verify.texi: Likewise.
20565         * doc/visibility.texi: Likewise.
20566         * doc/gnulib.texi (GNU Free Documentation License): Include
20567         fdl-1.3.texi instead of fdl.texi.
20568
20569 2008-11-04  Simon Josefsson  <simon@josefsson.org>
20570
20571         * doc/fdl-1.3.texi: New file, from
20572         <http://www.gnu.org/licenses/fdl-1.3.texi>.
20573         * modules/fdl-1.3: Add.
20574         * MODULES.html.sh: Add fdl-1.3.
20575
20576 2008-11-03  Bruno Haible  <bruno@clisp.org>
20577
20578         Make determination of absolute name of header file work with AIX xlc.
20579         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
20580         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
20581         preprocessing.
20582         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
20583         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
20584
20585 2008-11-03  Simon Josefsson  <simon@josefsson.org>
20586
20587         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
20588         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
20589         <ludo@gnu.org>.
20590
20591 2008-11-02  Bruno Haible  <bruno@clisp.org>
20592
20593         Mark 'strpbrk' obsolete.
20594         * modules/strpbrk (Status, Notice): New sections.
20595         * modules/strtok_r (Depends-on): Add strpbrk.
20596
20597 2008-11-02  Bruno Haible  <bruno@clisp.org>
20598
20599         Mark 'strdup' obsolete.
20600         * modules/strdup (Status, Notice): New sections.
20601         * modules/findprog (Depends-on): Add strdup.
20602         * modules/getaddrinfo (Depends-on): Likewise.
20603         * modules/localename (Depends-on): Likewise.
20604         * modules/relocatable-lib (Depends-on): Likewise.
20605         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
20606         * modules/relocatable-prog (Depends-on): Likewise.
20607         * modules/trim (Depends-on): Likewise.
20608         * modules/unictype/gen-ctype (Depends-on): Likewise.
20609         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
20610
20611 2008-11-02  Bruno Haible  <bruno@clisp.org>
20612
20613         Mark 'strcspn' obsolete.
20614         * modules/strcspn (Status, Notice): New sections.
20615
20616 2008-11-02  Bruno Haible  <bruno@clisp.org>
20617
20618         Mark 'rmdir' obsolete.
20619         * modules/rmdir (Status, Notice): New sections.
20620         * modules/clean-temp (Depends-on): Add rmdir.
20621         * modules/openat (Depends-on): Likewise.
20622
20623 2008-11-02  Bruno Haible  <bruno@clisp.org>
20624
20625         Mark 'raise' obsolete.
20626         * modules/raise (Status, Notice): New sections.
20627         (Include): Specify <signal.h>.
20628         * modules/stdio (Depends-on): Add raise.
20629         * modules/write (Depends-on): Likewise.
20630
20631 2008-11-02  Bruno Haible  <bruno@clisp.org>
20632
20633         Mark 'memset' obsolete.
20634         * modules/memset (Status, Notice): New sections.
20635
20636 2008-11-02  Bruno Haible  <bruno@clisp.org>
20637
20638         Mark 'memmove' obsolete.
20639         * modules/memmove (Status, Notice): New sections.
20640         * modules/argp (Depends-on): Add memmove.
20641         * modules/argz (Depends-on): Likewise.
20642         * modules/canonicalize (Depends-on): Likewise.
20643         * modules/canonicalize-lgpl (Depends-on): Likewise.
20644         * modules/fts (Depends-on): Likewise.
20645         * modules/getcwd (Depends-on): Likewise.
20646         * modules/human (Depends-on): Likewise.
20647         * modules/regex (Depends-on): Likewise.
20648         * modules/striconveh (Depends-on): Likewise.
20649         * modules/trim (Depends-on): Likewise.
20650         * modules/unistr/u8-move (Depends-on): Likewise.
20651         * modules/unistr/u16-move (Depends-on): Likewise.
20652         * modules/unistr/u32-move (Depends-on): Likewise.
20653
20654 2008-11-02  Bruno Haible  <bruno@clisp.org>
20655
20656         Mark 'memcpy' obsolete.
20657         * modules/memcpy (Status, Notice): New sections.
20658
20659 2008-11-02  Bruno Haible  <bruno@clisp.org>
20660
20661         Mark 'memcmp' obsolete.
20662         * modules/memcmp (Status, Notice): New sections.
20663         * modules/argmatch (Depends-on): Add memchr.
20664         * modules/backupfile (Depends-on): Likewise.
20665         * modules/c-strcasestr (Depends-on): Likewise.
20666         * modules/crypto/des (Depends-on): Likewise.
20667         * modules/csharpcomp (Depends-on): Likewise.
20668         * modules/fnmatch (Depends-on): Likewise.
20669         * modules/git-merge-changelog (Depends-on): Likewise.
20670         * modules/isnand (Depends-on): Likewise.
20671         * modules/isnand-nolibm (Depends-on): Likewise.
20672         * modules/isnanf (Depends-on): Likewise.
20673         * modules/isnanf-nolibm (Depends-on): Likewise.
20674         * modules/isnanl (Depends-on): Likewise.
20675         * modules/isnanl-nolibm (Depends-on): Likewise.
20676         * modules/mbchar (Depends-on): Likewise.
20677         * modules/memcoll (Depends-on): Likewise.
20678         * modules/quotearg (Depends-on): Likewise.
20679         * modules/regex (Depends-on): Likewise.
20680         * modules/relocatable-prog (Depends-on): Likewise.
20681         * modules/same (Depends-on): Likewise.
20682         * modules/signbit (Depends-on): Likewise.
20683         * modules/strcasestr-simple (Depends-on): Likewise.
20684         * modules/unictype/gen-ctype (Depends-on): Likewise.
20685         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
20686         * modules/uniname/uniname (Depends-on): Likewise.
20687         * modules/unistr/u8-cmp (Depends-on): Likewise.
20688
20689 2008-11-02  Bruno Haible  <bruno@clisp.org>
20690
20691         Mark 'memchr' obsolete.
20692         * modules/memchr (Status, Notice): New sections.
20693         * modules/argp (Depends-on): Add memchr.
20694         * modules/base64 (Depends-on): Likewise.
20695         * modules/c-strcasestr (Depends-on): Likewise.
20696         * modules/chdir-long (Depends-on): Likewise.
20697         * modules/fnmatch (Depends-on): Likewise.
20698         * modules/getsubopt (Depends-on): Likewise.
20699         * modules/git-merge-changelog (Depends-on): Likewise.
20700         * modules/glob (Depends-on): Likewise.
20701         * modules/strcasestr-simple (Depends-on): Likewise.
20702         * modules/strnlen (Depends-on): Likewise.
20703
20704 2008-11-02  Bruno Haible  <bruno@clisp.org>
20705
20706         Mark 'atexit' obsolete.
20707         * modules/atexit (Status, Notice): New sections.
20708         * modules/chdir-long (Depends-on): Add atexit.
20709         * modules/wait-process (Depends-on): Likewise.
20710
20711 2008-11-02  Bruno Haible  <bruno@clisp.org>
20712
20713         * gnulib-tool: New option --with-obsolete.
20714         (func_usage): Document it.
20715         (func_modules_transitive_closure): Drop obsolete dependencies if
20716         incobsolete is not true.
20717         (func_import): Read and save the incobsolete variable to the cache.
20718
20719 2008-11-02  Bruno Haible  <bruno@clisp.org>
20720
20721         * modules/TEMPLATE-EXTENDED: New field 'Status'.
20722         * gnulib-tool: New option --extract-status.
20723         (func_usage): Document it.
20724         (sed_extract_prog): Recognize it.
20725         (func_get_status): New function.
20726
20727 2008-10-30  Simon Josefsson  <simon@josefsson.org>
20728
20729         * modules/sockets (License): Change from LGPL to LGPLv2+.
20730
20731 2008-10-28  Simon Josefsson  <simon@josefsson.org>
20732
20733         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
20734
20735 2008-10-28  Simon Josefsson  <simon@josefsson.org>
20736
20737         * MODULES.html.sh (Support for systems lacking POSIX:2001):
20738         Mention times and sys_times.
20739         * modules/sys_times, modules/sys_times-tests: New modules.
20740         * modules/times, modules/times-tests: Likewise
20741         * m4/sys_times_h.m4: New file.
20742         * lib/sys_times.in.h: Likewise
20743         * lib/times.c: Likewise.
20744         * tests/test-sys_times.c: Likewise.
20745         * tests/test-times.c: Likewise.
20746         * doc/posix-headers/sys_times.texi: Update.
20747         * doc/posix-functions/times.texi: Update.
20748
20749 2008-10-28  Jim Meyering  <meyering@redhat.com>
20750
20751         * modules/tempname (Depends-on): Add lstat.
20752
20753         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
20754
20755 2008-10-28  Simon Josefsson  <simon@josefsson.org>
20756
20757         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
20758         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
20759         using idiom used elsewhere in gnulib.
20760
20761 2008-10-27  Jim Meyering  <meyering@redhat.com>
20762
20763         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
20764
20765 2008-10-27  Simon Josefsson  <simon@josefsson.org>
20766
20767         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
20768         TESTS_ENVIRONMENT, for shell scripts that needs to call built
20769         programs.
20770         * tests/test-argp-2.sh: Use $EXEEXT when needed.
20771
20772 2008-10-27  Simon Josefsson  <simon@josefsson.org>
20773
20774         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
20775
20776 2008-10-27  Bruno Haible  <bruno@clisp.org>
20777
20778         * tests/test-lstat.c: Include <stdio.h>.
20779
20780 2008-10-27  Simon Josefsson  <simon@josefsson.org>
20781
20782         * modules/lstat-tests: New module.
20783         * tests/test-lstat.c: New file.
20784
20785 2008-10-26  Jim Meyering  <meyering@redhat.com>
20786
20787         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
20788
20789 2008-10-26  Simon Josefsson  <simon@josefsson.org>
20790             Bruno Haible  <bruno@clisp.org>
20791
20792         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
20793         * modules/configmake (Include): Add a note that the include must come
20794         after all system headers.
20795         * lib/javaversion.c: Include configmake.h after all other includes.
20796
20797 2008-10-26  Bruno Haible  <bruno@clisp.org>
20798
20799         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
20800         HAVE_STRUCT_RANDOM_DATA to 1.
20801         (gl_STDLIB_H): Simplify.
20802
20803 2008-10-26  Simon Josefsson  <simon@josefsson.org>
20804
20805         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
20806         substitute HAVE_STRUCT_RANDOM_DATA.
20807         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
20808         random_data.
20809         * modules/stdlib (Makefile.am): Substitute
20810         HAVE_STRUCT_RANDOM_DATA.
20811
20812 2008-10-26  Simon Josefsson  <simon@josefsson.org>
20813
20814         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
20815         * doc/gnulib-intro.texi (Copyright): Likewise.
20816
20817 2008-10-26  Simon Josefsson  <simon@josefsson.org>
20818
20819         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
20820         findings.
20821
20822 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
20823             Bruno Haible  <bruno@clisp.org>
20824
20825         * lib/unistd.in.h: Include <winsock2.h>.
20826         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
20827         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
20828         Provide dummy declarations.
20829         (gethostname): Override.
20830         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
20831         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
20832         gl_PREREQ_SYS_H_WINSOCK2.
20833         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
20834         * doc/posix-functions/gethostname.texi: More details.
20835
20836 2008-10-25  Bruno Haible  <bruno@clisp.org>
20837
20838         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
20839         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
20840         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
20841
20842         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
20843         here ...
20844         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
20845         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
20846         gl_UNISTD_H_DEFAULTS.
20847
20848 2008-10-25  Eric Blake  <ebb9@byu.net>
20849
20850         signbit: avoid spurious compiler failure
20851         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
20852         declarations inside function.
20853
20854 2008-10-24  Simon Josefsson  <simon@josefsson.org>
20855             Bruno Haible  <bruno@clisp.org>
20856
20857         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
20858         * modules/random_r (Depends-on): Add stdint.
20859
20860 2008-10-24  Bruno Haible  <bruno@clisp.org>
20861
20862         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
20863         Eggert.
20864         * modules/strerror (License): Likewise.
20865
20866 2008-10-24  Jim Meyering  <meyering@redhat.com>
20867
20868         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
20869         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
20870
20871 2008-10-24  Eric Blake  <ebb9@byu.net>
20872
20873         getgroups: fix compilation when getgroups is available
20874         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
20875         but with <config.h> override of getgroups disabled.
20876
20877 2008-10-24  Simon Josefsson  <simon@josefsson.org>
20878
20879         * doc/gnulib.texi (Header files): Add note about C++ problems.
20880         Explained by Bruno Haible <bruno@clisp.org>.
20881
20882 2008-10-23  Bruno Haible  <bruno@clisp.org>
20883
20884         Define a dummy SA_NODEFER macro on Interix.
20885         * lib/signal.in.h (SA_NODEFER): Define fallback.
20886         Reported by Aleksey Cheusov <cheusov@tut.by> via
20887         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
20888
20889 2008-10-23  Bruno Haible  <bruno@clisp.org>
20890
20891         * modules/freadahead (License): Change to LGPLv2+.
20892         Suggested by Simon Josefsson.
20893
20894 2008-10-23  Jim Meyering  <meyering@redhat.com>
20895
20896         random_r: new module
20897         * modules/random_r: New file.
20898         * m4/random_r.m4: New file.
20899         * lib/random_r.c: New file, from glibc.
20900         * modules/random_r-tests: New file.
20901         * tests/test-random_r.c: New file.
20902         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
20903          Declare.
20904         (RAND_MAX): Define.
20905         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
20906         * modules/stdlib: Substitute them, too.
20907         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
20908         * doc/glibc-functions/initstate_r.texi: Mention the new module.
20909         * doc/glibc-functions/random_r.texi: Likewise.
20910         * doc/glibc-functions/setstate_r.texi: Likewise.
20911         * doc/glibc-functions/srandom_r.texi: Likewise.
20912         * config/srclist.txt: Mention it.
20913
20914 2008-10-23  David Lutterkort  <lutter@redhat.com>
20915
20916         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
20917         link requirement
20918
20919 2008-10-23  Jim Meyering  <meyering@redhat.com>
20920
20921         selinux-h: mark parameters of stub functions as intentionally unused
20922         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
20923         * lib/se-context.in.h: Likewise.
20924
20925 2008-10-22  Simon Josefsson  <simon@josefsson.org>
20926
20927         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
20928
20929 2008-10-22  Simon Josefsson  <simon@josefsson.org>
20930
20931         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
20932
20933 2008-10-22  Eric Blake  <ebb9@byu.net>
20934
20935         glthread/thread: avoid compiler warning
20936         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
20937         Add unreachable abort to silence compiler.
20938
20939 2008-10-22  Eric Blake  <ebb9@byu.net>
20940
20941         netdb: also supply struct addrinfo for cygwin 1.5.x
20942         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
20943         older cygwin.
20944         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
20945         cygwin.
20946         * doc/posix-headers/netdb.texi (netdb.h): Document this.
20947
20948 2008-10-22  Bruno Haible  <bruno@clisp.org>
20949
20950         * users.txt: Update entry about pspp.
20951
20952 2008-10-21  Bruno Haible  <bruno@clisp.org>
20953
20954         Simplification.
20955         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
20956         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
20957
20958         Simplification.
20959         * lib/ioctl.c (ioctl): Don't undefine.
20960         * lib/socket.c (socket): Don't undefine.
20961
20962         Remove unused module indicator macros.
20963         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
20964         GNULIB_$1 as a C macro.
20965
20966         * doc/posix-functions/close.texi: Undo last change.
20967         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
20968         Windows platforms.
20969
20970 2008-10-21  Bruno Haible  <bruno@clisp.org>
20971
20972         Add gethostname() declaration to <unistd.h>.
20973         * lib/unistd.in.h (gethostname): New declaration.
20974         * lib/gethostname.c: Include <unistd.h>.
20975         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
20976         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
20977         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
20978         and HAVE_GETHOSTNAME.
20979         * modules/gethostname (Depends-on): Add unistd.
20980         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
20981         (Include): Specify <unistd.h>.
20982         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
20983         HAVE_GETHOSTNAME.
20984         * tests/test-gethostname.c: Include <unistd.h> first.
20985
20986 2008-10-21  Bruno Haible  <bruno@clisp.org>
20987
20988         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
20989         * modules/select-tests (Depends-on): Likewise.
20990         Reported by Simon Josefsson.
20991
20992 2008-10-21  Simon Josefsson  <simon@josefsson.org>
20993
20994         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
20995         * lib/accept.c: New file, based on winsock.c.
20996         * lib/bind.c: New file, based on winsock.c.
20997         * lib/connect.c: New file, based on winsock.c.
20998         * lib/getpeername.c: New file, based on winsock.c.
20999         * lib/getsockname.c: New file, based on winsock.c.
21000         * lib/getsockopt.c: New file, based on winsock.c.
21001         * lib/ioctl.c: New file, based on winsock.c.
21002         * lib/listen.c: New file, based on winsock.c.
21003         * lib/recv.c: New file, based on winsock.c.
21004         * lib/recvfrom.c: New file, based on winsock.c.
21005         * lib/send.c: New file, based on winsock.c.
21006         * lib/sendto.c: New file, based on winsock.c.
21007         * lib/setsockopt.c: New file, based on winsock.c.
21008         * lib/shutdown.c: New file, based on winsock.c.
21009         * lib/socket.c: New file, based on winsock.c.
21010         * lib/w32sock.h: New file, based on winsock.c.
21011         * lib/winsock.c: Remove file.
21012         * modules/accept: Likewise.
21013         * modules/bind: Likewise.
21014         * modules/connect: Likewise.
21015         * modules/getpeername: Likewise.
21016         * modules/getsockname: Likewise.
21017         * modules/getsockopt: Likewise.
21018         * modules/ioctl: Likewise.
21019         * modules/listen: Likewise.
21020         * modules/recv: Likewise.
21021         * modules/recvfrom: Likewise.
21022         * modules/send: Likewise.
21023         * modules/sendto: Likewise.
21024         * modules/setsockopt: Likewise.
21025         * modules/shutdown: Likewise.
21026         * modules/socket: Use socket.c instead of winsock.c.
21027         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
21028         * doc/posix-functions/accept.texi: Doc fix.
21029         * doc/posix-functions/bind.texi: Doc fix.
21030         * doc/posix-functions/close.texi: Doc fix.
21031         * doc/posix-functions/connect.texi: Doc fix.
21032         * doc/posix-functions/getpeername.texi: Doc fix.
21033         * doc/posix-functions/getsockname.texi: Doc fix.
21034         * doc/posix-functions/getsockopt.texi: Doc fix.
21035         * doc/posix-functions/ioctl.texi: Doc fix.
21036         * doc/posix-functions/listen.texi: Doc fix.
21037         * doc/posix-functions/recv.texi: Doc fix.
21038         * doc/posix-functions/recvfrom.texi: Doc fix.
21039         * doc/posix-functions/send.texi: Doc fix.
21040         * doc/posix-functions/sendto.texi: Doc fix.
21041         * doc/posix-functions/setsockopt.texi: Doc fix.
21042         * doc/posix-functions/shutdown.texi: Doc fix.
21043         * doc/posix-functions/socket.texi: Doc fix.
21044
21045 2008-10-20  Bruno Haible  <bruno@clisp.org>
21046
21047         Take into account the role of SIGABRT_COMPAT on Windows 2008.
21048         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
21049         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
21050         as an alias for SIGABRT.
21051         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
21052         (sigaction): Map it to SIGABRT.
21053         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
21054
21055 2008-10-20  Bruno Haible  <bruno@clisp.org>
21056
21057         * lib/fts.c: Don't include lstat.h.
21058         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
21059
21060         Move the lstat() declaration to <sys/stat.h>.
21061         * lib/lstat.h: Remove file.
21062         * lib/sys_stat.in.h: Add special invocation convention.
21063         (lstat): New declaration.
21064         * lib/lstat.c (orig_lstat): New function.
21065         (rpl_lstat): Use orig_lstat instead of lstat.
21066         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
21067         AC_C_INLINE. Set REPLACE_LSTAT.
21068         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
21069         and REPLACE_LSTAT.
21070         * modules/lstat (Files): Remove lib/lstat.h.
21071         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
21072         (Include): Specify <sys/stat.h> instead of lstat.h.
21073         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
21074         REPLACE_LSTAT.
21075         * NEWS: Mention the change.
21076
21077 2008-10-20  Bruno Haible  <bruno@clisp.org>
21078
21079         * modules/posix_spawn-tests: New file.
21080         * tests/test-posix_spawn3.c: New file.
21081
21082 2008-10-20  Bruno Haible  <bruno@clisp.org>
21083
21084         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
21085         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
21086         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
21087         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
21088         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
21089
21090 2008-10-20  Bruno Haible  <bruno@clisp.org>
21091
21092         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
21093         of posix_spawn on AIX 5.3.
21094
21095 2008-10-20  Bruno Haible  <bruno@clisp.org>
21096
21097         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
21098
21099 2008-10-20  Bruno Haible  <bruno@clisp.org>
21100
21101         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
21102         of AC_LANG_PROGRAM.
21103
21104 2008-10-20  Simon Josefsson  <simon@josefsson.org>
21105
21106         * lib/netdb.in.h: Don't define GNU specific constants until they
21107         are supported or needed.  Reported by Bruno Haible
21108         <bruno@clisp.org>.
21109
21110 2008-10-20  Simon Josefsson  <simon@josefsson.org>
21111
21112         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
21113
21114 2008-10-20  Simon Josefsson  <simon@josefsson.org>
21115
21116         * lib/getaddrinfo.h: Remove file.
21117         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
21118         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
21119         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
21120         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
21121         * modules/netdb: Substitute GNULIB_GETADDRINFO.
21122         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
21123         * tests/test-getaddrinfo.c: Likewise.
21124         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
21125         * NEWS: Mention change.
21126
21127 2008-10-19  Bruno Haible  <bruno@clisp.org>
21128
21129         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
21130
21131 2008-10-19  Bruno Haible  <bruno@clisp.org>
21132
21133         * lib/wait-process.c: Include simply <sys/wait.h>.
21134         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
21135         WIFSTOPPED): Remove fallback definitions.
21136         * modules/wait-process (Depends-on): Add sys_wait.
21137
21138         New module 'sys_wait'.
21139         * modules/sys_wait: New file.
21140         * lib/sys_wait.in.h: New file, partially copied from
21141         lib/wait-process.c.
21142         * m4/sys_wait_h.m4: New file.
21143         * doc/posix-headers/sys_wait.texi: Mention the new module.
21144
21145 2008-10-19  Bruno Haible  <bruno@clisp.org>
21146
21147         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
21148
21149 2008-10-19  Bruno Haible  <bruno@clisp.org>
21150
21151         Assume that waitpid() fills an 'int' status, not a 'union wait'.
21152         * lib/wait-process.c (WAIT_T): Remove type.
21153         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
21154         (wait_subprocess): Update.
21155
21156 2008-10-19  Bruno Haible  <bruno@clisp.org>
21157
21158         New module 'atoll'.
21159         * modules/atoll: New file.
21160         * lib/stdlib.in.h (atoll): New declaration.
21161         * lib/atoll.c: New file, from glibc with modifications.
21162         * m4/atoll.m4: New file.
21163         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
21164         HAVE_ATOLL.
21165         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
21166         * doc/posix-functions/atoll.texi: Mention the new module.
21167
21168 2008-10-19  Bruno Haible  <bruno@clisp.org>
21169
21170         Add strtoull() declaration to <stdlib.h>.
21171         * lib/stdlib.in.h (strtoull): New declaration.
21172         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
21173         Set HAVE_STRTOULL.
21174         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
21175         HAVE_STRTOULL.
21176         * modules/strtoull (Depends-on): Add stdlib.
21177         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
21178         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
21179         HAVE_STRTOULL.
21180
21181 2008-10-19  Bruno Haible  <bruno@clisp.org>
21182
21183         Add strtoll() declaration to <stdlib.h>.
21184         * lib/stdlib.in.h (strtoll): New declaration.
21185         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
21186         Set HAVE_STRTOLL.
21187         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
21188         HAVE_STRTOLL.
21189         * modules/strtoll (Depends-on): Add stdlib.
21190         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
21191         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
21192
21193 2008-10-19  Bruno Haible  <bruno@clisp.org>
21194
21195         * modules/bcopy (Depends-on): Add strings.
21196         (Include): Specify <strings.h>.
21197
21198 2008-10-19  Bruno Haible  <bruno@clisp.org>
21199
21200         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
21201
21202 2008-10-19  Bruno Haible  <bruno@clisp.org>
21203
21204         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
21205         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
21206         mingw.
21207
21208 2008-10-19  Bruno Haible  <bruno@clisp.org>
21209
21210         * lib/atanl.c: Don't include isnanl.h.
21211         * lib/cosl.c: Likewise.
21212         * lib/ldexpl.c: Likewise.
21213         * lib/logl.c: Likewise.
21214         * lib/sinl.c: Likewise.
21215         * lib/sqrtl.c: Likewise.
21216         * lib/tanl.c: Likewise.
21217
21218         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
21219         * lib/isnanf.h: Remove file.
21220         * lib/isnand.h: Remove file.
21221         * lib/isnanl.h: Remove file.
21222         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
21223         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
21224         macros.
21225         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
21226         HAVE_ISNANF, don't define it as a C macro.
21227         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
21228         HAVE_ISNAND, don't define it as a C macro.
21229         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
21230         HAVE_ISNANL, don't define it as a C macro.
21231         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
21232         HAVE_ISNAN[FDL].
21233         * modules/isnanf (Files): Remove lib/isnanf.h.
21234         (Depends-on): Add math.
21235         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
21236         (Include): Specify <math.h> instead of isnanf.h.
21237         * modules/isnand (Files): Remove lib/isnand.h.
21238         (Depends-on): Add math.
21239         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
21240         (Include): Specify <math.h> instead of isnand.h.
21241         * modules/isnanl (Files): Remove lib/isnanl.h.
21242         (Depends-on): Add math.
21243         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
21244         (Include): Specify <math.h> instead of isnanl.h.
21245         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
21246         HAVE_ISNAN[FDL].
21247         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
21248         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
21249         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
21250         * NEWS: Mention the change.
21251
21252 2008-10-18  Bruno Haible  <bruno@clisp.org>
21253
21254         Add getusershell(), setusershell(), endusershell() declarations to
21255         <unistd.h>.
21256         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
21257         declarations.
21258         * lib/getusershell.c: Include unistd.h.
21259         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
21260         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
21261         HAVE_GETUSERSHELL.
21262         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
21263         and HAVE_GETUSERSHELL.
21264         * modules/getusershell (Depends-on): Add unistd, extensions.
21265         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
21266         (Include): Specify <unistd.h>.
21267         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
21268         HAVE_GETUSERSHELL.
21269
21270 2008-10-18  Bruno Haible  <bruno@clisp.org>
21271
21272         Add a getloadavg() declaration to <stdlib.h>.
21273         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
21274         getloadavg declaration.
21275         (getloadavg): New declaration.
21276         * lib/getloadavg.c: Include <stdlib.h> first.
21277         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
21278         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
21279         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
21280         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
21281         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
21282         * modules/getloadavg (Depends-on): Add stdlib, extensions.
21283         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
21284         (Include): Specify <stdlib.h>.
21285         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
21286         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
21287
21288 2008-10-18  Bruno Haible  <bruno@clisp.org>
21289
21290         * lib/dirchownmod.c: Don't include lchmod.h.
21291
21292         Move the lchmod() declaration to <sys/stat.h>.
21293         * lib/lchmod.h: Remove file.
21294         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
21295         (lchmod): New declaration, moved here from lib/lchown.h.
21296         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
21297         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
21298         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
21299         and HAVE_LCHMOD.
21300         * modules/lchmod (Files): Remove lib/lchmod.h.
21301         (Depends-on): Add sys_stat, extensions.
21302         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
21303         (Include): Specify <sys/stat.h> instead of lchmod.h.
21304         * modules/sys_stat (Depends-on): Add link-warning.
21305         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
21306         definition of GL_LINK_WARNING.
21307         * NEWS: Mention the change.
21308
21309 2008-10-18  Bruno Haible  <bruno@clisp.org>
21310
21311         * lib/fchdir.c: Don't include dirfd.h.
21312         * lib/fts.c: Likewise.
21313         * lib/getcwd.c: Likewise.
21314         * lib/glob.c: Likewise.
21315
21316         Move the dirfd() declaration to <dirent.h>.
21317         * lib/dirfd.h: Remove file.
21318         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
21319         (dirfd): New declaration.
21320         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
21321         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
21322         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
21323         HAVE_DECL_DIRFD.
21324         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
21325         HAVE_DECL_DIRFD.
21326         * modules/dirfd (Files): Remove lib/dirfd.h.
21327         (Depends-on): Add dirent, extensions.
21328         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
21329         (Include): Specify <dirent.h> instead of dirfd.h.
21330         * modules/dirent (Depends-on): Add link-warning.
21331         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
21332         definition of GL_LINK_WARNING.
21333         * NEWS: Mention the change.
21334
21335 2008-10-18  Bruno Haible  <bruno@clisp.org>
21336
21337         Move the euidaccess() declaration to <unistd.h>.
21338         * lib/euidaccess.h: Remove file.
21339         * lib/unistd.in.h (euidaccess): New declaration.
21340         * lib/euidaccess.c: Don't include euidaccess.h.
21341         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
21342         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
21343         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
21344         and HAVE_EUIDACCESS.
21345         * modules/euidaccess (Files): Remove lib/euidaccess.h.
21346         (Depends-on): Add unistd.
21347         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
21348         (Include): Specify <unistd.h> instead of euidaccess.h.
21349         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
21350         HAVE_EUIDACCESS.
21351         * NEWS: Mention the change.
21352
21353 2008-10-18  Bruno Haible  <bruno@clisp.org>
21354
21355         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
21356
21357         Move the getdomainname() declaration to <unistd.h>.
21358         * lib/getdomainname.h: Remove file.
21359         * lib/unistd.in.h (getdomainname): New declaration.
21360         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
21361         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
21362         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
21363         HAVE_GETDOMAINNAME.
21364         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
21365         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
21366         * modules/getdomainname (Files): Remove lib/getdomainname.h.
21367         (Depends-on): Add unistd, extensions.
21368         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
21369         (Includes): Specify <unistd.h> instead of getdomainname.h.
21370         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
21371         HAVE_GETDOMAINNAME.
21372         * NEWS: Mention the change.
21373
21374 2008-10-18  Bruno Haible  <bruno@clisp.org>
21375
21376         * modules/dirent: New file.
21377         * m4/dirent_h.m4: New file.
21378         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
21379         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
21380         * modules/fchdir (Files): Remove lib/dirent.in.h.
21381         (Depends-on): Add dirent.
21382         (Makefile.am): Move rules to modules/dirent.
21383         * doc/posix-headers/dirent.texi: Mention the new module.
21384
21385 2008-10-18  Bruno Haible  <bruno@clisp.org>
21386
21387         Avoid -Wunused-parameter warnings in public gnulib header files.
21388         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
21389         macro.
21390         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
21391
21392 2008-10-18  Bruno Haible  <bruno@clisp.org>
21393
21394         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
21395         * doc/glibc-functions/error.texi: Mention the module 'error'.
21396         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
21397         * doc/glibc-functions/getdomainname.texi: Mention the module
21398         'getdomainname'.
21399         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
21400         * doc/glibc-functions/getpagesize.texi: Mention the module
21401         'getpagesize'.
21402         * doc/glibc-functions/getusershell.texi: Mention the module
21403         'getusershell'.
21404         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
21405         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
21406         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
21407         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
21408         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
21409         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
21410         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
21411         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
21412         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
21413         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
21414         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
21415         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
21416         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
21417         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
21418
21419 2008-10-17  Bruno Haible  <bruno@clisp.org>
21420
21421         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
21422         HP-UX and IRIX, use -0.0L.
21423         * tests/test-ceill.c (minus_zero): Likewise.
21424         * tests/test-floorl.c (minus_zero): Likewise.
21425         * tests/test-frexpl.c (minus_zero): Likewise.
21426         * tests/test-isnan.c (minus_zerol): Likewise.
21427         * tests/test-isnanl.h (minus_zero): Likewise.
21428         * tests/test-ldexpl.c (minus_zero): Likewise.
21429         * tests/test-roundl.c (minus_zero): Likewise.
21430         * tests/test-signbit.c (minus_zerol): Likewise.
21431         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
21432         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
21433         * tests/test-truncl.c (minus_zero): Likewise.
21434         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
21435         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
21436         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
21437         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
21438
21439 2008-10-17  Bruno Haible  <bruno@clisp.org>
21440
21441         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
21442         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
21443         that it gets activated only for gcc >= 3.0.
21444         * lib/dirent.in.h: Likewise.
21445         * lib/errno.in.h: Likewise.
21446         * lib/fcntl.in.h: Likewise.
21447         * lib/float.in.h: Likewise.
21448         * lib/iconv.in.h: Likewise.
21449         * lib/inttypes.in.h: Likewise.
21450         * lib/locale.in.h: Likewise.
21451         * lib/math.in.h: Likewise.
21452         * lib/netdb.in.h: Likewise.
21453         * lib/netinet_in.in.h: Likewise.
21454         * lib/search.in.h: Likewise.
21455         * lib/signal.in.h: Likewise.
21456         * lib/spawn.in.h: Likewise.
21457         * lib/stdarg.in.h: Likewise.
21458         * lib/stdint.in.h: Likewise.
21459         * lib/stdio.in.h: Likewise.
21460         * lib/stdlib.in.h: Likewise.
21461         * lib/string.in.h: Likewise.
21462         * lib/strings.in.h: Likewise.
21463         * lib/sys_file.in.h: Likewise.
21464         * lib/sys_ioctl.in.h: Likewise.
21465         * lib/sys_select.in.h: Likewise.
21466         * lib/sys_socket.in.h: Likewise.
21467         * lib/sys_stat.in.h: Likewise.
21468         * lib/sys_time.in.h: Likewise.
21469         * lib/sysexits.in.h: Likewise.
21470         * lib/time.in.h: Likewise.
21471         * lib/unistd.in.h: Likewise.
21472         * lib/wchar.in.h: Likewise.
21473         * lib/wctype.in.h: Likewise.
21474         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
21475
21476 2008-10-17  Jim Meyering  <meyering@redhat.com>
21477
21478         ignore-value: don't depend on inline module
21479         * modules/ignore-value (Depends-on): Remove 'inline'.
21480         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
21481         Suggestion from Bruno Haible.
21482
21483 2008-10-17  Bruno Haible  <bruno@clisp.org>
21484
21485         New implementation of condition variables for Win32.
21486         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
21487         (gl_linked_waitqueue_t): New type.
21488         (gl_cond_t): Use it.
21489         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
21490         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
21491         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
21492         (glthread_cond_init_func, glthread_cond_wait_func,
21493         glthread_cond_timedwait_func, glthread_cond_signal_func,
21494         glthread_cond_broadcast_func, glthread_cond_destroy_func):
21495         Reimplemented on the basis of gl_linked_waitqueue_t.
21496         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
21497         gl_waitqueue_t.
21498         (gl_rwlock_t): Update.
21499         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
21500
21501 2008-10-17  Simon Josefsson  <simon@josefsson.org>
21502
21503         * modules/recvfrom (Depends-on): Add dependency on getpeername.
21504         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
21505
21506 2008-10-17  Jim Meyering  <meyering@redhat.com>
21507
21508         ignore-value: new module
21509         * modules/ignore-value: New file.
21510         * lib/ignore-value.h: New file.
21511         * MODULES.html.sh (Compiler warning management): New section,
21512         just for this module.  More to come.
21513
21514 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
21515
21516         open-safer.c: avoid 'signed and unsigned in conditional...' warning
21517         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
21518         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
21519
21520 2008-10-16  Jim Meyering  <meyering@redhat.com>
21521
21522         openat-die.c: avoid 'no previous prototype' warning
21523         * lib/openat-die.c: Include "openat.h".
21524         Reported by Reuben Thomas <rrt@sc3d.org>.
21525
21526 2008-10-16  Simon Josefsson  <simon@josefsson.org>
21527
21528         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
21529         * lib/netdb.in.h: Fix typo.
21530         Reported by Bruno Haible  <bruno@clisp.org>
21531
21532         * lib/netdb.in.h: Include sys/socket.h for platforms without
21533         netdb.h, to get structures like hostent on MinGW.
21534         * modules/netdb (Depends-on): Add sys_socket.
21535
21536 2008-10-15  Simon Josefsson  <simon@josefsson.org>
21537
21538         * modules/netdb, modules/netdb-tests: New file.
21539         * m4/netdb_h.m4: New file.
21540         * lib/netdb.in.h: Add, currently just an empty file pending
21541         definitions.
21542         * tests/test-netdb.c: New file.
21543         * doc/posix-headers/netdb.texi: Mention that we replace it if
21544         needed.
21545         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
21546         netdb.
21547
21548 2008-10-15  Simon Josefsson  <simon@josefsson.org>
21549
21550         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
21551         with code.
21552
21553 2008-10-13  Bruno Haible  <bruno@clisp.org>
21554
21555         * lib/glthread/cond.c (glthread_cond_wait_func,
21556         glthread_cond_timedwait_func): Add a comment.
21557
21558 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
21559
21560         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
21561         * tests/test-select.c: Likewise,
21562
21563 2008-10-13  Bruno Haible  <bruno@clisp.org>
21564
21565         * lib/glthread/cond.c (glthread_cond_wait_func,
21566         glthread_cond_timedwait_func): Fix variable name.
21567         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
21568
21569 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
21570
21571         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
21572         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
21573         struct sockaddr.sa_len.
21574         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
21575
21576 2008-10-13  Simon Josefsson  <simon@josefsson.org>
21577
21578         * build-aux/pmccabe2html: Add css and css_url parameters.
21579
21580 2008-10-12  Bruno Haible  <bruno@clisp.org>
21581
21582         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
21583         calling aclx_get.
21584         Reported by Rainer Tammer <tammer@tammer.net>.
21585
21586 2008-10-12  Bruno Haible  <bruno@clisp.org>
21587
21588         Use msvcrt aware primitives for creation/termination of Win32 threads.
21589         * lib/glthread/thread.c: Include <process.h>.
21590         (glthread_create_func): Use _beginthreadex instead of CreateThread.
21591         (wrapper_func): Update signature.
21592         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
21593
21594 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
21595             Bruno Haible  <bruno@clisp.org>
21596
21597         Provide a Win32 implementation of the 'cond' module.
21598         * lib/glthread/cond.h [USE_WIN32]: New implementation.
21599         * lib/glthread/cond.c (glthread_cond_init_func,
21600         glthread_cond_wait_func, glthread_cond_timedwait_func,
21601         glthread_cond_signal_func, glthread_cond_broadcast_func,
21602         glthread_cond_destroy_func) [USE_WIN32]: New functions.
21603         * modules/cond (Dependencies): Add gettimeofday.
21604
21605 2008-10-11  Bruno Haible  <bruno@clisp.org>
21606
21607         Make sleep work on older versions of mingw.
21608         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
21609         only whether it exists.
21610         * doc/posix-functions/sleep.texi: Mention the problem with older
21611         versions of mingw.
21612
21613 2008-10-11  Bruno Haible  <bruno@clisp.org>
21614
21615         New module 'shutdown'.
21616         * modules/shutdown: New file.
21617         * lib/sys_socket.in.h (shutdown): New declaration.
21618         * lib/winsock.c (shutdown): New function.
21619         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
21620         GNULIB_SHUTDOWN.
21621         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
21622         * doc/posix-functions/shutdown.texi: Document the new module.
21623
21624 2008-10-11  Jim Meyering  <meyering@redhat.com>
21625
21626         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
21627
21628 2008-10-11  Bruno Haible  <bruno@clisp.org>
21629
21630         New module 'fclose'.
21631         * modules/fclose: New file.
21632         * lib/stdio.in.h (fclose): New declaration.
21633         * lib/fclose.c: New file.
21634         * m4/fclose.m4: New file.
21635         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
21636         REPLACE_FCLOSE.
21637         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
21638         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
21639         REPLACE_FCLOSE.
21640         * modules/close (Depends-on): fclose.
21641         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
21642
21643 2008-10-11  Bruno Haible  <bruno@clisp.org>
21644
21645         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
21646         set errno and don't call _close.
21647
21648 2008-10-10  Bruno Haible  <bruno@clisp.org>
21649
21650         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
21651         ACL, not afterwards. Fixes test failure on Cygwin.
21652
21653 2008-10-09  Ben Pfaff  <blp@gnu.org>
21654
21655         * build-aux/announce-gen: Fix gnulib version related part of usage
21656         message.  Die with a useful error message if no tarballs are
21657         found.
21658
21659 2008-10-10  Jim Meyering  <meyering@redhat.com>
21660
21661         bootstrap: use git's --depth=N option only if it's supported
21662         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
21663         recognize the --depth option.  Reported by Pádraig Brady.
21664
21665 2008-10-09  Bruno Haible  <bruno@clisp.org>
21666
21667         New module 'ioctl'.
21668         * modules/ioctl: New file.
21669         * lib/sys_socket.in.h (ioctl): Remove declaration.
21670         * lib/winsock.c: Include <sys/ioctl.h>.
21671         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
21672         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
21673         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
21674         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
21675         * doc/posix-functions/ioctl.texi: Mention the new module.
21676
21677 2008-10-09  Bruno Haible  <bruno@clisp.org>
21678
21679         New module 'sys_ioctl'.
21680         * lib/sys_ioctl.in.h: New file.
21681         * m4/sys_ioctl_h.m4: New file.
21682         * modules/sys_ioctl: New file.
21683         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
21684
21685 2008-10-09  Bruno Haible  <bruno@clisp.org>
21686
21687         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
21688         * lib/winsock.c: Include <stdarg.h>.
21689         (rpl_ioctl): Change to second argument 'int' and then varargs.
21690
21691 2008-10-09  Bruno Haible  <bruno@clisp.org>
21692
21693         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
21694         when the sys_socket module is present and the system has <winsock2.h>.
21695
21696 2008-10-09  Bruno Haible  <bruno@clisp.org>
21697
21698         * doc/posix-functions/close.texi: Mention module 'close' instead of
21699         module 'sys_socket'.
21700
21701 2008-10-09  Bruno Haible  <bruno@clisp.org>
21702
21703         * doc/glibc-headers/sys_ioctl.texi: New file.
21704         * doc/gnulib.texi: Include it.
21705
21706 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
21707             Bruno Haible  <bruno@clisp.org>
21708
21709         Combine the two replacements of 'close'.
21710         * lib/sys_socket.in.h (close): Define to a reminder to include
21711         <unistd.h>.
21712         (_gl_close_fd_maybe_socket): New declaration.
21713         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
21714         * lib/winsock.c (close): Remove undefinition.
21715         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
21716         needed for the gnulib module 'close'.
21717         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
21718         define to an error symbol or to a warning, if suitable.
21719         * lib/close.c: Include <sys/socket.h>.
21720         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
21721         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
21722         UNISTD_H_HAVE_WINSOCK2_H.
21723         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
21724         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
21725         UNISTD_H_HAVE_WINSOCK2_H.
21726         * modules/sys_socket (Files): Add m4/unistd_h.m4.
21727         (configure.ac): Set a module indicator.
21728         (Makefile.am): Substitute GNULIB_CLOSE.
21729         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
21730         * modules/poll-tests (Depends-on): Add close.
21731         * modules/select-tests (Depends-on): Likewise.
21732
21733 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
21734             Bruno Haible  <bruno@clisp.org>
21735
21736         New module 'close'.
21737         * modules/close: New file.
21738         * lib/unistd.in.h (close): Move declaration out of the
21739         FCHDIR_REPLACEMENT scope.
21740         (_gl_unregister_fd): New declaration.
21741         * lib/close.c: New file.
21742         * lib/fchdir.c (rpl_close): Remove function.
21743         * m4/close.m4: New file.
21744         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
21745         close.
21746         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
21747         REPLACE_CLOSE.
21748         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
21749         REPLACE_CLOSE.
21750         * modules/fchdir (Depends-on): Add close.
21751
21752 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
21753             Bruno Haible  <bruno@clisp.org>
21754
21755         * lib/fcntl.in.h (open): Simplify conditionals.
21756         (_gl_register_fd): New declaration.
21757         * lib/fchdir.c (rpl_open): Remove function.
21758         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
21759         also.
21760         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
21761         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
21762         open.
21763
21764 2008-10-09  Jim Meyering  <meyering@redhat.com>
21765
21766         GNUmakefile: use the more name-space-friendly "_version"
21767         * top/GNUmakefile (_dummy): Update.
21768         (_version): Rename from "version".
21769
21770 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
21771             Bruno Haible  <bruno@clisp.org>
21772
21773         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
21774         rpl_close.
21775         (_gl_register_fd): New function, extracted from rpl_open.
21776         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
21777         (rpl_open, rpl_opendir): Use _gl_register_fd.
21778
21779 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
21780
21781         Fix organization of 'open' replacement.
21782         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
21783         (gl_FUNC_OPEN): Use it.
21784         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
21785
21786 2008-10-08  Bruno Haible  <bruno@clisp.org>
21787
21788         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
21789
21790 2008-10-08  Simon Josefsson  <simon@josefsson.org>
21791
21792         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
21793         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
21794         listen).
21795
21796 2008-10-08  Eric Blake  <ebb9@byu.net>
21797
21798         GNUmakefile: add 'make version' target
21799         * top/GNUmakefile (_curr-ver): Split version update rules...
21800         (version): ...into a target.
21801
21802 2008-10-07  Bruno Haible  <bruno@clisp.org>
21803
21804         Use a more portable replacement expression for -0.0L.
21805         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
21806         instead of -0.0L. Fix m4 quotation.
21807
21808         * tests/test-signbit.c: Include <float.h>.
21809         (minus_zero): New variable.
21810         (test_signbitl): Use minus_zero instead of -zero.
21811         * modules/signbit-tests (Depends-on): Add float.
21812
21813         * tests/test-ceill.c: Include <float.h>.
21814         (zero): Remove variable.
21815         (minus_zero): New variable.
21816         (main): Use minus_zero instead of -zero.
21817         * modules/ceill-tests (Depends-on): Add float.
21818
21819         * tests/test-floorl.c: Include <float.h>.
21820         (zero): Remove variable.
21821         (minus_zero): New variable.
21822         (main): Use minus_zero instead of -zero.
21823         * modules/floorl-tests (Depends-on): Add float.
21824
21825         * tests/test-roundl.c: Include <float.h>.
21826         (zero): Remove variable.
21827         (minus_zero): New variable.
21828         (main): Use minus_zero instead of -zero.
21829         * modules/roundl-tests (Depends-on): Add float.
21830
21831         * tests/test-truncl.c: Include <float.h>.
21832         (zero): Remove variable.
21833         (minus_zero): New variable.
21834         (main): Use minus_zero instead of -zero.
21835         * modules/truncl-tests (Depends-on): Add float.
21836
21837         * tests/test-frexpl.c (zero): Remove variable.
21838         (minus_zero): New variable.
21839         (main): Use minus_zero instead of -zero.
21840         * modules/frexpl-tests (Depends-on): Add float.
21841
21842         * tests/test-isnan.c (zerol): Remove variable.
21843         (minus_zerol): New variable.
21844         (test_long_double): Use minus_zerol instead of -zerol.
21845         * modules/isnan-tests (Depends-on): Add float.
21846
21847         * tests/test-isnanl.h (zero): Remove variable.
21848         (minus_zero): New variable.
21849         (main): Use minus_zero instead of -zero.
21850         * modules/isnanl-nolibm-tests (Depends-on): Add float.
21851         * modules/isnanl-tests (Depends-on): Add float.
21852
21853         * tests/test-ldexpl.c (zero): Remove variable.
21854         (minus_zero): New variable.
21855         (main): Use minus_zero instead of -zero.
21856         * modules/ldexpl-tests (Depends-on): Add float.
21857
21858         * tests/test-snprintf-posix.h (zerol): Remove variable.
21859         (minus_zerol): New variable.
21860         (test_function): Use minus_zerol instead of -zerol.
21861         * modules/snprintf-posix-tests (Depends-on): Add float.
21862         * modules/vsnprintf-posix-tests (Depends-on): Add float.
21863
21864         * tests/test-sprintf-posix.h (zerol): Remove variable.
21865         (minus_zerol): New variable.
21866         (test_function): Use minus_zerol instead of -zerol.
21867         * modules/sprintf-posix-tests (Depends-on): Add float.
21868         * modules/vsprintf-posix-tests (Depends-on): Add float.
21869
21870         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
21871         (minus_zerol): New variable.
21872         (test_function): Use minus_zerol instead of -zerol.
21873         * modules/vasnprintf-posix-tests (Depends-on): Add float.
21874
21875         * tests/test-vasprintf-posix.c (zerol): Remove variable.
21876         (minus_zerol): New variable.
21877         (test_function): Use minus_zerol instead of -zerol.
21878         * modules/vasprintf-posix-tests (Depends-on): Add float.
21879
21880 2008-10-07  Simon Josefsson  <simon@josefsson.org>
21881
21882         * MODULES.html.sh (Support for building documentation): Mention
21883         pmccabe2html.  Sort entries.
21884
21885         Add pmccabe2html module, from gnupdf.
21886         * build-aux/pmccabe.css: New file.
21887         * build-aux/pmccabe2html: New file.
21888         * m4/pmccabe2html.m4: New file.
21889         * modules/pmccabe2html: New file.
21890
21891 2008-10-07  Richard W.M. Jones <rjones@redhat.com>
21892
21893         flock: new module
21894         * MODULES.html.sh: Add to list of modules.
21895         * lib/flock.c: flock implementation for Windows and Unix systems
21896         which have fcntl.
21897         * doc/glibc-functions/flock.texi: Update documentation.
21898         * lib/sys_file.in.h: <sys/file.h> header file.
21899         * m4/flock.m4: M4 macros.
21900         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
21901         * modules/flock: flock module.
21902         * modules/flock-tests: flock tests module.
21903         * modules/sys_file: sys/file.h module.
21904         * tests/test-flock.c: test suite for flock.
21905
21906 2008-10-06  Jim Meyering  <meyering@redhat.com>
21907
21908         bootstrap: check for LT_INIT more portably still ;-)
21909         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
21910         Spotted by Bruno Haible.
21911
21912 2008-10-06  Eric Blake  <ebb9@byu.net>
21913
21914         test-signbit: avoid tripping Irix cc bug on -0.0L
21915         * tests/test-signbit.c (minus_zerol): Delete, and replace with
21916         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
21917         entire testsuite consistent and avoids an Irix 6.2 bug.
21918
21919 2008-10-05  Bruno Haible  <bruno@clisp.org>
21920             Jim Meyering  <jim@meyering.net>
21921
21922         Add an option for ignoring EPIPE during close_stdout.
21923         * lib/closeout.h: Include <stdbool.h>.
21924         (close_stdout_set_ignore_EPIPE): New declaration.
21925         * lib/closeout.c: Include <stdbool.h>.
21926         (ignore_EPIPE): New variable.
21927         (close_stdout_set_ignore_EPIPE): New function.
21928         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
21929         * lib/close-stream.c (close_stream): Mention the possible EPIPE
21930         failure.
21931         * modules/closeout (Depends-on): Add stdbool.
21932
21933 2008-10-05  Bruno Haible  <bruno@clisp.org>
21934
21935         * modules/accept: New file.
21936         * modules/bind: New file.
21937         * modules/connect: New file.
21938         * modules/getpeername: New file.
21939         * modules/getsockname: New file.
21940         * modules/getsockopt: New file.
21941         * modules/listen: New file.
21942         * modules/recv: New file.
21943         * modules/recvfrom: New file.
21944         * modules/send: New file.
21945         * modules/sendto: New file.
21946         * modules/setsockopt: New file.
21947         * modules/socket: New file.
21948         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
21949         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
21950         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
21951         the particular module is requested. Add a link warning when the
21952         particular module is not requested.
21953         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
21954         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
21955         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
21956         the particular module is requested.
21957         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
21958         gl_SYS_SOCKET_H_DEFAULTS): New macros.
21959         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
21960         * modules/sys_socket (Depends-on): Add link-warning.
21961         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
21962         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
21963         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
21964         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
21965         GL_LINK_WARNING.
21966         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
21967         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
21968         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
21969         * doc/posix-functions/getpeername.texi: Mention the new module
21970         'getpeername'.
21971         * doc/posix-functions/getsockname.texi: Mention the new module
21972         'getsockname'.
21973         * doc/posix-functions/getsockopt.texi: Mention the new module
21974         'getsockopt'.
21975         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
21976         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
21977         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
21978         * doc/posix-functions/send.texi: Mention the new module 'send'.
21979         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
21980         * doc/posix-functions/setsockopt.texi: Mention the new module
21981         'setsockopt'.
21982         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
21983         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
21984         listen, connect, accept.
21985         * modules/select-tests (Depends-on): Likewise.
21986
21987 2008-10-05  Bruno Haible  <bruno@clisp.org>
21988
21989         * lib/winsock.c (strerror): Remove unused #undef.
21990         (rpl_close): Remove unused local variable.
21991
21992         * modules/sys_socket (Depends-on); Add errno.
21993
21994 2008-10-05  Bruno Haible  <bruno@clisp.org>
21995
21996         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
21997         (select): Add a link warning when the 'select' module is not used.
21998         * modules/sys_select (Depends-on): Add link-warning.
21999         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
22000         Suggested by Paolo Bonzini.
22001
22002 2008-10-05  Jim Meyering  <meyering@redhat.com>
22003
22004         bootstrap: check for LT_INIT more portably
22005         * build-aux/bootstrap: Avoid using grep -E, since it's not
22006         portable enough.  Suggestion from Bruno Haible.
22007
22008 2008-10-05  Bruno Haible  <bruno@clisp.org>
22009
22010         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
22011         as being fixed by gnulib.
22012
22013 2008-10-05  Bruno Haible  <bruno@clisp.org>
22014
22015         * modules/select-tests: New file, mostly copied from
22016         modules/sys_select-tests.
22017         * tests/test-select.c: New file, mostly copied from
22018         tests/test-sys_select.c.
22019         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
22020         * modules/sys_select-tests (Depends-on): Remove all dependencies.
22021         (Makefile.am): Remove test_sys_select_LDADD.
22022
22023         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
22024         to an undefined symbol, for an error message.
22025         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
22026         (gl_SYS_SELECT_H_DEFAULTS): New macro.
22027         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
22028         winsock-select.c here.
22029         * modules/sys_select (Files): Remove lib/winsock-select.c.
22030         (Depends-on): Remove alloca.
22031         (Makefile.am): Substitute GNULIB_SELECT.
22032         * modules/select: New file.
22033         * doc/posix-functions/select.texi: Update.
22034
22035 2008-10-05  Bruno Haible  <bruno@clisp.org>
22036
22037         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
22038         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
22039         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
22040         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
22041         getdtablesize.
22042         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
22043         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
22044
22045 2008-10-05  Bruno Haible  <bruno@clisp.org>
22046
22047         * modules/getdtablesize-tests: New file.
22048         * tests/test-getdtablesize.c: New file.
22049
22050         New module 'getdtablesize'.
22051         * lib/unistd.in.h (getdtablesize): New declaration.
22052         * lib/getdtablesize.c: New file.
22053         * m4/getdtablesize.m4: New file.
22054         * modules/getdtablesize: New file.
22055         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
22056         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
22057         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
22058         HAVE_GETDTABLESIZE.
22059         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
22060
22061 2008-10-05  Bruno Haible  <bruno@clisp.org>
22062
22063         * modules/sched (Makefile.am): Fix typo.
22064         Reported by Simon Josefsson.
22065
22066 2008-10-05  Jim Meyering  <meyering@redhat.com>
22067
22068         bootstrap: check for LT_INIT, too
22069         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
22070         are deprecated.  Suggestion from Ralf Wildenhues.
22071
22072 2008-10-05  Bruno Haible  <bruno@clisp.org>
22073
22074         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
22075         overriding them by ours.
22076         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
22077
22078 2008-10-05  Jim Meyering  <meyering@redhat.com>
22079
22080         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
22081         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
22082         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
22083
22084 2008-10-04  Bruno Haible  <bruno@clisp.org>
22085
22086         * modules/dup2 (License): Change to LGPLv2+.
22087         * modules/sleep (License): Likewise.
22088         * modules/perror (License): Likewise.
22089         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
22090         Blake.
22091         * modules/signal (License): Likewise.
22092         * modules/sigprocmask (License): Likewise.
22093         * modules/raise (License): Change to LGPLv2+, with approval by Jim
22094         Meyering.
22095
22096 2008-10-04  Bruno Haible  <bruno@clisp.org>
22097
22098         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
22099         Reported by Rainer Tammer <tammer@tammer.net>.
22100
22101 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
22102             Bruno Haible  <bruno@clisp.org>
22103
22104         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
22105         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
22106         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
22107
22108 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
22109
22110         filevercmp: new module
22111         * lib/filevercmp.h: New function filevercmp comparing version strings.
22112         * lib/filevercmp.c: Implementation of filevercmp function.
22113         * modules/filevercmp: Module metadata.
22114         * tests/test-filevercmp.c: Unit test for new module.
22115         * modules/filevercmp-tests: Unit test metadata.
22116         * MODULES.html.sh: Add filevercmp module.
22117
22118 2008-10-03  Bruno Haible  <bruno@clisp.org>
22119
22120         * lib/c-ctype.h: Add comment.
22121         Reported by Jim Meyering.
22122
22123 2008-10-02  Bruno Haible  <bruno@clisp.org>
22124
22125         * modules/posix_spawn-internal (Depends-on): Add 'open'.
22126
22127 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
22128
22129         * build-aux/bootstrap: Allow renaming bootstrap, and change the
22130         name of bootstrap.conf accordingly.
22131
22132 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
22133
22134         * build-aux/bootstrap: Install git-merge-changelog configuration
22135         items into .gitconfig if needed.
22136
22137 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
22138
22139         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
22140         git repository, and initialize/update it accordingly.
22141
22142 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
22143
22144         * modules/fsync-tests: New file.
22145         * tests/test-fsync.c: New file.
22146
22147         New module 'fsync'.
22148         * lib/fsync.c: New file.
22149         * m4/fsync.m4: New file.
22150         * modules/fsync: New file.
22151         * lib/unistd.in.h (fsync): New declaration.
22152         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
22153         GNULIB_FSYNC and HAVE_FSYNC.
22154         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
22155         * MODULES.html.sh (posix_functions): Add fsync.
22156         * doc/posix-functions/fsync.texi: Mention the new module.
22157
22158 2008-10-02  Jim Meyering  <meyering@redhat.com>
22159
22160         fts.c: sync with similar code from coreutils' remove.c
22161         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
22162         Guard also with "#if defined __linux__", since for now at least,
22163         this code is Linux-kernel-specific.
22164
22165 2008-10-02  Jim Meyering  <meyering@redhat.com>
22166
22167         fts: bug fixes
22168         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
22169         Include <sys/vfs.h>, not <sys/statfs.h>.
22170
22171         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
22172         Include <sys/vfs.h>, not <sys/statfs.h>.
22173
22174 2008-10-01  Bruno Haible  <bruno@clisp.org>
22175
22176         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
22177         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
22178         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
22179         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
22180         * doc/posix-functions/posix_spawnp.texi: Likewise.
22181         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
22182         whether posix_spawn actually works.
22183         * m4/pipe.m4 (gl_PIPE): Likewise.
22184         * modules/execute (Files): Add m4/posix_spawn.m4.
22185         * modules/pipe (Files): Add m4/posix_spawn.m4.
22186         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
22187
22188 2008-10-01  Jim Meyering  <meyering@redhat.com>
22189
22190         remove trailing spaces
22191         * NEWS: Likewise.
22192         * lib/poll.c (poll): Likewise.
22193         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
22194         * lib/winsock.c (rpl_close): Likewise.
22195         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
22196         * modules/yield: Likewise.
22197         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
22198         * tests/test-sys_select.c (connect_to_socket): Likewise.
22199
22200         fts.c: adjust a new interface to be more generally useful
22201         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
22202         (fts_build): Adjust caller.
22203
22204 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
22205
22206         * modules/cond-tests: New file.
22207         * tests/test-cond.c: New file.
22208
22209 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
22210             Bruno Haible  <bruno@clisp.org>
22211
22212         * modules/cond (Dependencies): Add errno, time.
22213         * lib/glthread/cond.h: Include <time.h>.
22214         (gl_cond_define, gl_cond_define_initialized): Use the same definition
22215         across platforms.
22216
22217 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
22218             Bruno Haible  <bruno@clisp.org>
22219
22220         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
22221
22222 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
22223             Bruno Haible  <bruno@clisp.org>
22224
22225         * modules/tls-tests (Depends-on): Add thread, yield.
22226         (configure.ac): Remove all checks.
22227         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
22228         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
22229         gl_thread_self): Remove definitions. Include glthread/thread.h and
22230         glthread/yield.h instead.
22231         (test_tls): Pass an additional NULL argument to gl_thread_join.
22232
22233 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
22234             Bruno Haible  <bruno@clisp.org>
22235
22236         * modules/lock-tests (Depends-on): Add thread, yield.
22237         (configure.ac): Remove all checks.
22238         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
22239         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
22240         gl_thread_self): Remove definitions. Include glthread/thread.h and
22241         glthread/yield.h instead.
22242         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
22243         additional NULL argument to gl_thread_join.
22244
22245 2008-09-30  Bruno Haible  <bruno@clisp.org>
22246
22247         Fix the Win32 implementation of the 'thread' module.
22248         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
22249         pointer type.
22250         (gl_thread_self): Invoke gl_thread_self_func.
22251         (gl_thread_self_func): New declaration.
22252         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
22253         (do_init_self_key, init_self_key): New functions.
22254         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
22255         Remove some fields.
22256         (running_threads, running_lock): Remove variables.
22257         (get_current_thread_handle): New function.
22258         (gl_thread_self_func, wrapper_func, glthread_create_func,
22259         glthread_join_func, gl_thread_exit_func): Largely rewritten and
22260         simplified.
22261
22262 2008-09-30  Bruno Haible  <bruno@clisp.org>
22263
22264         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
22265         files.
22266
22267 2008-09-30  Jim Meyering  <meyering@redhat.com>
22268
22269         fts.m4: correct the test for statfs.f_type
22270         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
22271         when checking for statfs.f_type.
22272
22273 2008-09-15  Simon Josefsson  <simon@josefsson.org>
22274
22275         tests: avoid some compiler warnings
22276         * tests/test-memchr.c (main): Pass NULL indirectly.
22277         * tests/test-getdate.c (main): Remove unused variable 'ret'.
22278
22279 2008-09-29  Ondřej Vašík  <ovasik@redhat.com>
22280
22281         getdate.y: disallow countable dayshifts like "4 yesterday ago"
22282         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
22283         exactly specified dayshifts.
22284         (dayshift): New rule.
22285         (rel): Add dayshift.
22286         (relative_time_table) [tomorrow, yesterday, today, now]:
22287         Use tDAY_SHIFT in place of tDAY_UNIT.
22288         * tests/test-getdate.c: Add tests for now-disallowed countable
22289         dayshifts, e.g., "4 yesterday ago".
22290
22291 2008-09-29  Bruno Haible  <bruno@clisp.org>
22292
22293         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
22294         * tests/test-posix_spawn1.in.sh: Renamed from
22295         tests/test-posix_spawn.in.sh.
22296         * tests/test-posix_spawn2.c: New file.
22297         * tests/test-posix_spawn2.in.sh: New file.
22298         * modules/posix_spawnp-tests (Files): Update.
22299         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
22300
22301 2008-09-29  Bruno Haible  <bruno@clisp.org>
22302
22303         Propagate effects of putenv/setenv/unsetenv to child processes.
22304         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
22305         * lib/pipe.c (create_pipe): Likewise.
22306
22307 2008-09-29  Bruno Haible  <bruno@clisp.org>
22308
22309         Enable use of shell scripts as executables in mingw.
22310         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
22311         run the program as a shell script.
22312         * lib/pipe.c (create_pipe): Likewise.
22313         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
22314         resulting array.
22315
22316 2008-09-29  Eric Blake  <ebb9@byu.net>
22317
22318         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
22319
22320 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
22321
22322         * doc/posix-functions/accept.texi: Update mingw problems.
22323         * doc/posix-functions/bind.texi: Update mingw problems.
22324         * doc/posix-functions/close.texi: Update mingw problems.
22325         * doc/posix-functions/connect.texi: Update mingw problems.
22326         * doc/posix-functions/getpeername.texi: Update mingw problems.
22327         * doc/posix-functions/getsockname.texi: Update mingw problems.
22328         * doc/posix-functions/getsockopt.texi: Update mingw problems.
22329         * doc/posix-functions/ioctl.texi: Update mingw problems.
22330         * doc/posix-functions/listen.texi: Update mingw problems.
22331         * doc/posix-functions/recv.texi: Update mingw problems.
22332         * doc/posix-functions/recvfrom.texi: Update mingw problems.
22333         * doc/posix-functions/select.texi: Update mingw problems.
22334         * doc/posix-functions/send.texi: Update mingw problems.
22335         * doc/posix-functions/sendto.texi: Update mingw problems.
22336         * doc/posix-functions/setsockopt.texi: Update mingw problems.
22337         * doc/posix-functions/socket.texi: Update mingw problems.
22338
22339 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
22340             Bruno Haible  <bruno@clisp.org>
22341
22342         * lib/sys_select.in.h: Include sys/time.h.
22343         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
22344         * modules/sys_select: Depend on sys_time.
22345         * tests/test-sys_select.c: Test that sys/select.h defines struct
22346         timeval fully.
22347
22348 2008-09-29  Bruno Haible  <bruno@clisp.org>
22349
22350         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
22351         * lib/sys_select.in.h: Likewise.
22352
22353 2008-09-29  Bruno Haible  <bruno@clisp.org>
22354
22355         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
22356
22357 2008-09-29  Bruno Haible  <bruno@clisp.org>
22358
22359         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
22360         Set LIBSOCKET instead of augmenting LIBS.
22361         * modules/sockets (Link): New section.
22362         * modules/sockets-tests (test_sockets_LDADD): New variable.
22363         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
22364         * modules/poll-tests (test_poll_LDADD): New variable.
22365         * NEWS: Document the change.
22366
22367 2008-09-29  Bruno Haible  <bruno@clisp.org>
22368
22369         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
22370         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
22371         ARPA_INET_H directly.
22372         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
22373
22374 2008-09-28  Bruno Haible  <bruno@clisp.org>
22375
22376         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
22377         from gl_HEADER_SYS_SOCKET.
22378         (gl_HEADER_SYS_SOCKET): Invoke it.
22379         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
22380
22381 2008-09-28  Bruno Haible  <bruno@clisp.org>
22382
22383         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
22384         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
22385         Needed on OSF/1 4.0.
22386
22387 2008-09-28  Bruno Haible  <bruno@clisp.org>
22388
22389         Override open more carefully.
22390         * lib/open.c (orig_open): New function.
22391         (rpl_open): Use orig_open instead of open.
22392         * lib/fcntl.in.h: Add special invocation convention.
22393         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
22394         (gl_FUNC_OPEN): Invoke it.
22395
22396         Override freopen more carefully.
22397         * lib/freopen.c (orig_freopen): New function.
22398         (rpl_freopen): Use orig_freopen instead of freopen.
22399         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
22400         (gl_FUNC_FREOPEN): Invoke it.
22401
22402         Override fopen more carefully.
22403         * lib/fopen.c (orig_fopen): New function.
22404         (rpl_fopen): Use orig_fopen instead of fopen.
22405         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
22406         (gl_FUNC_FOPEN): Invoke it.
22407         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
22408
22409 2008-09-28  Bruno Haible  <bruno@clisp.org>
22410
22411         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
22412         SIGPIPE.
22413
22414 2008-09-28  Bruno Haible  <bruno@clisp.org>
22415
22416         * tests/test-sigaction.c (handler, main): Disable the check whether
22417         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
22418         glibc systems with LinuxThreads.
22419
22420 2008-09-28  Bruno Haible  <bruno@clisp.org>
22421
22422         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
22423
22424         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
22425         with AIX xlc.
22426         * lib/fcntl.in.h (open): Likewise.
22427         Reported by Rainer Tammer <tammer@tammer.net>.
22428
22429 2008-09-28  Bruno Haible  <bruno@clisp.org>
22430
22431         * modules/posix_spawnp-tests: New file.
22432         * tests/test-posix_spawn.c: New file.
22433         * tests/test-posix_spawn.in.sh: New file.
22434
22435         New module 'posix_spawnp'.
22436         * modules/posix_spawnp: New file.
22437         * lib/spawnp.c: New file, from GNU libc with modifications.
22438         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
22439
22440         New module 'posix_spawn'.
22441         * modules/posix_spawn: New file.
22442         * lib/spawn.c: New file, from GNU libc with modifications.
22443         * doc/posix-functions/posix_spawn.texi: Mention the new module.
22444
22445         New module 'posix_spawnattr_destroy'.
22446         * modules/posix_spawnattr_destroy: New file.
22447         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
22448         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
22449         module.
22450
22451         New module 'posix_spawnattr_setsigmask'.
22452         * modules/posix_spawnattr_setsigmask: New file.
22453         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
22454         modifications.
22455         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
22456         new module.
22457
22458         New module 'posix_spawnattr_getsigmask'.
22459         * modules/posix_spawnattr_getsigmask: New file.
22460         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
22461         modifications.
22462         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
22463         new module.
22464
22465         New module 'posix_spawnattr_setsigdefault'.
22466         * modules/posix_spawnattr_setsigdefault: New file.
22467         * lib/spawnattr_setdefault.c: New file, from GNU libc with
22468         modifications.
22469         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
22470         new module.
22471
22472         New module 'posix_spawnattr_getsigdefault'.
22473         * modules/posix_spawnattr_getsigdefault: New file.
22474         * lib/spawnattr_getdefault.c: New file, from GNU libc with
22475         modifications.
22476         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
22477         new module.
22478
22479         New module 'posix_spawnattr_setschedpolicy'.
22480         * modules/posix_spawnattr_setschedpolicy: New file.
22481         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
22482         modifications.
22483         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
22484         new module.
22485
22486         New module 'posix_spawnattr_getschedpolicy'.
22487         * modules/posix_spawnattr_getschedpolicy: New file.
22488         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
22489         modifications.
22490         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
22491         new module.
22492
22493         New module 'posix_spawnattr_setschedparam'.
22494         * modules/posix_spawnattr_setschedparam: New file.
22495         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
22496         modifications.
22497         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
22498         new module.
22499
22500         New module 'posix_spawnattr_getschedparam'.
22501         * modules/posix_spawnattr_getschedparam: New file.
22502         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
22503         modifications.
22504         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
22505         new module.
22506
22507         New module 'posix_spawnattr_setpgroup'.
22508         * modules/posix_spawnattr_setpgroup: New file.
22509         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
22510         modifications.
22511         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
22512         module.
22513
22514         New module 'posix_spawnattr_getpgroup'.
22515         * modules/posix_spawnattr_getpgroup: New file.
22516         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
22517         modifications.
22518         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
22519         module.
22520
22521         New module 'posix_spawnattr_setflags'.
22522         * modules/posix_spawnattr_setflags: New file.
22523         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
22524         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
22525         module.
22526
22527         New module 'posix_spawnattr_getflags'.
22528         * modules/posix_spawnattr_getflags: New file.
22529         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
22530         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
22531         module.
22532
22533         New module 'posix_spawnattr_init'.
22534         * modules/posix_spawnattr_init: New file.
22535         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
22536         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
22537         module.
22538
22539         New module 'posix_spawn_file_actions_destroy'.
22540         * modules/posix_spawn_file_actions_destroy: New file.
22541         * lib/spawn_faction_destroy.c: New file, from GNU libc with
22542         modifications.
22543         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
22544         the new module.
22545
22546         New module 'posix_spawn_file_actions_addopen'.
22547         * modules/posix_spawn_file_actions_addopen: New file.
22548         * lib/spawn_faction_addopen.c: New file, from GNU libc with
22549         modifications.
22550         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
22551         the new module.
22552
22553         New module 'posix_spawn_file_actions_adddup2'.
22554         * modules/posix_spawn_file_actions_adddup2: New file.
22555         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
22556         modifications.
22557         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
22558         the new module.
22559
22560         New module 'posix_spawn_file_actions_addclose'.
22561         * modules/posix_spawn_file_actions_addclose: New file.
22562         * lib/spawn_faction_addclose.c: New file, from GNU libc with
22563         modifications.
22564         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
22565         the new module.
22566
22567         New module 'posix_spawn_file_actions_init'.
22568         * modules/posix_spawn_file_actions_init: New file.
22569         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
22570         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
22571         new module.
22572
22573         New module 'posix_spawn-internal'.
22574         * modules/posix_spawn-internal: New file.
22575         * lib/spawn_int.h: New file, from GNU libc with modifications.
22576         * lib/spawni.c: New file, from GNU libc with modifications.
22577         * m4/posix_spawn.m4: New file.
22578
22579         New module 'spawn'.
22580         * modules/spawn: New file.
22581         * lib/spawn.in.h: New file, from GNU libc with modifications.
22582         * m4/spawn_h.m4: New file.
22583         * doc/posix-headers/spawn.texi: Mention the new module.
22584
22585 2008-09-28  Bruno Haible  <bruno@clisp.org>
22586
22587         * modules/sched-tests: New file.
22588         * tests/test-sched.c: New file.
22589
22590         New module 'sched'.
22591         * modules/sched: New file.
22592         * lib/sched.in.h: New file.
22593         * m4/sched_h.m4: New file.
22594         * doc/posix-headers/sched.texi: Mention the new module.
22595
22596 2008-09-27  Eric Blake  <ebb9@byu.net>
22597
22598         Fix previous patch, and tweak references to $0.
22599         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
22600         (func_version, func_gnulib_dir): Don't call this program
22601         gnulib-tool.
22602         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
22603         with using $0 in function.
22604         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
22605         (func_fatal_error): Reuse the name the user invoked us with.
22606
22607 2008-09-27  Bruno Haible  <bruno@clisp.org>
22608
22609         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
22610         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
22611         (gl_ICONV_H): Not here.
22612         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
22613         instead of assigning ICONV_H directly.
22614
22615         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
22616         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
22617         WCHAR_H directly.
22618
22619 2008-09-27  Bruno Haible  <bruno@clisp.org>
22620
22621         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
22622         * modules/arpa_inet (Depends-on): Add link-warning.
22623         (Makefile.am): Insert the definition of GL_LINK-WARNING.
22624         * modules/unistd (Makefile.am): Likewise.
22625
22626 2008-09-26  Bruno Haible  <bruno@clisp.org>
22627
22628         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
22629         variables.
22630         (func_version): Essentially copied from gnulib-tool.
22631         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
22632         func_readlink): Copied from gnulib-tool.
22633
22634 2008-09-26  Bruno Haible  <bruno@clisp.org>
22635
22636         * gnulib-tool (func_version): Change directory to $gnulib_dir before
22637         invoking git-version-gen.
22638
22639 2008-09-26  Bruno Haible  <bruno@clisp.org>
22640
22641         * posix-modules: Update to directory names changed on 2008-01-19.
22642         Remove commas in output before splitting into words. No more need to
22643         avoid 'ftruncate' since 2007-02-19.
22644
22645 2008-09-26  Bruno Haible  <bruno@clisp.org>
22646
22647         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
22648
22649 2008-09-26  Bruno Haible  <bruno@clisp.org>
22650
22651         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
22652         * modules/fwriteerror (Depends-on): Add errno.
22653
22654 2008-09-26  Bruno Haible  <bruno@clisp.org>
22655
22656         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
22657         * tests/test-vc-list-files-cvs.sh: Likewise.
22658
22659 2008-09-26  Bruno Haible  <bruno@clisp.org>
22660
22661         * doc/posix-headers/sys_resource.texi: Reorder items.
22662
22663 2008-09-26  Jim Meyering  <meyering@redhat.com>
22664
22665         fts: tweak inode comparison function
22666         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
22667         inode numbers, as documented.
22668
22669         fts: sort dirent entries on inode number before traversing
22670         This avoids a quadratic, seek-related performance penalty when
22671         operating on a directory containing many entries (measurable at 10k;
22672         3.5 hours at 2 million entries with a cold cache) on certain types
22673         of file systems, including ext3 and ext4, but not tmpfs.
22674         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
22675         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
22676         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
22677         (fs_handles_readdir_ordered_dirents_efficiently): New function.
22678         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
22679         (fts_build): Set the stat.st_ino member from D_INO.
22680         If it is likely to be useful, sort dirent entries on inode number.
22681
22682         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
22683         and the struct statfs.f_type member.
22684         * modules/fts (Depends-on): Add d-ino.
22685
22686 2008-09-26  Bruno Haible  <bruno@clisp.org>
22687
22688         * modules/sigpipe-die (Depends-on): Add sigpipe.
22689
22690         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
22691         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
22692         and GNULIB_STDIO_H_SIGPIPE are set.
22693         * lib/stdio-write.c: New file.
22694         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
22695         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
22696         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
22697         REPLACE_STDIO_WRITE_FUNCS.
22698         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
22699         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
22700         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
22701         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
22702         * modules/stdio (Files): Add lib/stdio-write.c.
22703         (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
22704         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
22705         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
22706         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
22707         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
22708         REPLACE_FPRINTF_POSIX.
22709         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
22710         REPLACE_PRINTF_POSIX.
22711         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
22712         REPLACE_VFPRINTF_POSIX.
22713         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
22714         REPLACE_VPRINTF_POSIX.
22715         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
22716         SIGPIPE issue.
22717         * doc/posix-functions/fputc.texi: Likewise.
22718         * doc/posix-functions/fputs.texi: Likewise.
22719         * doc/posix-functions/fwrite.texi: Likewise.
22720         * doc/posix-functions/printf.texi: Likewise.
22721         * doc/posix-functions/putc.texi: Likewise.
22722         * doc/posix-functions/putchar.texi: Likewise.
22723         * doc/posix-functions/puts.texi: Likewise.
22724         * doc/posix-functions/vfprintf.texi: Likewise.
22725         * doc/posix-functions/vprintf.texi: Likewise.
22726
22727         * modules/safe-write (Depends-on): Add write.
22728
22729         * modules/sigpipe-tests: New file.
22730         * tests/test-sigpipe.c: New file.
22731         * tests/test-sigpipe.sh: New file.
22732
22733         * modules/write: New file.
22734         * lib/unistd.in.h: Include <sys/types.h>.
22735         (write): New declaration.
22736         * lib/write.c: New file.
22737         * m4/write.m4: New file.
22738         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
22739         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
22740         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
22741         GNULIB_WRITE, REPLACE_WRITE.
22742         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
22743         and the SIGPIPE issue.
22744
22745         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
22746         (raise): New declaration.
22747         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
22748         (ext_signal): New function.
22749         (rpl_raise): New function.
22750         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
22751         GNULIB_SIGNAL_H_SIGPIPE.
22752         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
22753         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
22754
22755         * modules/sigpipe: New file.
22756         * m4/sigpipe.m4: New file.
22757
22758 2008-09-25  Derek Price  <derek@ximbiot.com>
22759             Bruno Haible  <bruno@clisp.org>
22760
22761         * gnulib-tool (func_import): Report all license incompatibilities, not
22762         just the first one.
22763
22764 2008-09-25  Bruno Haible  <bruno@clisp.org>
22765
22766         * gnulib-tool (func_import): When computing the edits, consider not
22767         only the Makefile.ams that exist but also those that will be generated.
22768
22769 2008-09-25  Simon Josefsson  <simon@josefsson.org>
22770
22771         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
22772         fixes gnulib-tool --test warning about duplicate dependency.
22773
22774 2008-09-25  Bruno Haible  <bruno@clisp.org>
22775
22776         * gnulib-tool: Don't ask the user to perform edits in the generated
22777         Makefile.ams.
22778         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
22779         apply to the Makefile.am being generated.
22780         (func_emit_tests_Makefile_am): Execute edits that apply to the
22781         Makefile.am being generated.
22782         (func_import): Setup list of Makefile.am edits before emitting the
22783         Makefile.ams, not at the end.
22784         (func_create_testdir): Update.
22785         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
22786
22787 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
22788
22789         * gnulib-tool (func_import): Store the --tests-base option in the
22790         comment in gnulib-cache.m4.
22791
22792 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
22793
22794         * NEWS: Document increased portability that sys_select now provides.
22795
22796         * lib/sys_select.in.h: Install select wrapper.
22797         * lib/sys_socket.in.h: Use more descriptive name when there is no
22798         select wrapper.
22799         * lib/winsock-select.c: New.
22800         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
22801         Require gl_HEADER_SYS_SOCKET.
22802         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
22803         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
22804         * tests/test-sys_select.c: Add functional tests.
22805
22806 2008-09-24  Eric Blake  <ebb9@byu.net>
22807
22808         open, fopen: close fd leak in last patch
22809         * lib/open.c (rpl_open): Close fd before returning error.
22810         * lib/fopen.c (rpl_fopen): Close fd before returning error.
22811         * doc/posix-functions/open.texi (open): Document that Irix also
22812         has the bug.
22813         * doc/posix-functions/fopen.texi (fopen): Likewise.
22814         Reported by Paolo Bonzini.
22815
22816 2008-09-24  Bruno Haible  <bruno@clisp.org>
22817
22818         Ensure that a filename ending in a slash cannot be used to access a
22819         non-directory.
22820         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
22821         to check whether it's really a directory.
22822         * lib/fopen.c: Include fcntl.h, unistd.h.
22823         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
22824         and fdopen().
22825         * modules/fopen (Depends-on): Add unistd.
22826         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
22827         * tests/test-fopen.c (main): Likewise.
22828         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
22829         * doc/posix-functions/fopen.texi: Likewise.
22830         Reported by Eric Blake.
22831
22832 2008-09-23  Eric Blake  <ebb9@byu.net>
22833
22834         c-stack: avoid compiler optimizations when provoking overflow
22835         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
22836         recursion harder to optimize, to ensure a stack overflow occurs.
22837         * tests/test-c-stack.c (recurse): Likewise.
22838         Borrowed from libsigsegv.
22839
22840         c-stack: work around Irix sigaltstack bug
22841         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
22842         whether sigaltstack uses wrong end of stack_t (copied in part from
22843         libsigsegv).
22844         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
22845         Irix bug, without requiring an over-allocation.
22846         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
22847         bug.
22848
22849         fopen: document mingw bug on directories
22850         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
22851         not allowing a stream visiting a directory, even though reading
22852         from such a stream is not portable.
22853
22854 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
22855
22856         * lib/poll.c: Rewrite.
22857         * modules/poll: Depend on alloca.
22858
22859 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
22860
22861         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
22862         instead define prototypes for a full set of wrappers.  Ensure
22863         that Cygwin does not use the compatibility code, which is only
22864         for MinGW.
22865         * lib/winsock.c: New.
22866         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
22867         * modules/sys_socket: Add lib/winsock.c.
22868
22869         * modules/poll-tests: Add errno and perror.
22870         * tests/test-poll.c: Use ioctl, not ioctlsocket.
22871
22872 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
22873
22874         * tests/test-poll.c: Downgrade minimum needed Winsock version.
22875
22876 2008-09-23  Bruno Haible  <bruno@clisp.org>
22877
22878         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
22879         * doc/glibc-functions/*: Likewise.
22880
22881 2008-09-23  Simon Josefsson  <simon@josefsson.org>
22882
22883         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
22884         success.
22885
22886 2008-09-22  Eric Blake  <ebb9@byu.net>
22887             Bruno Haible  <bruno@clisp.org>
22888
22889         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
22890         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
22891         supply %A but mishandle pseudo-NaN.
22892         Reported by Simon Josefsson.
22893
22894 2008-09-21  Bruno Haible  <bruno@clisp.org>
22895
22896         * tests/test-lock.c (main): Tweak skip message.
22897         * tests/test-tls.c (main): Likewise.
22898
22899 2008-09-21  Bruno Haible  <bruno@clisp.org>
22900
22901         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
22902         whether 'struct sigaction' has sa_sigaction here...
22903         (gl_PREREQ_SIG_HANDLER_H): ... not here.
22904         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
22905
22906 2008-09-21  Bruno Haible  <bruno@clisp.org>
22907
22908         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
22909         section.
22910         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
22911         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
22912         the new section.
22913         (Support for obsolete systems lacking POSIX:2001): New section.
22914         (String handling <string.h>): Move strdup to the new section.
22915         Suggested by Simon Josefsson and Paolo Bonzini.
22916
22917 2008-09-21  Bruno Haible  <bruno@clisp.org>
22918
22919         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
22920         exponents in %e and %g results on 'long double'. Needed for mingw's
22921         improved *printf functions.
22922         * tests/test-vasprintf-posix.c (test_function): Likewise.
22923         * tests/test-snprintf-posix.h (test_function): Likewise.
22924         * tests/test-sprintf-posix.h (test_function): Likewise.
22925         Reported by Eric Blake.
22926
22927 2008-09-21  Bruno Haible  <bruno@clisp.org>
22928
22929         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
22930         * tests/test-sprintf-posix.h (test_function): Likewise.
22931
22932 2008-09-21  Bruno Haible  <bruno@clisp.org>
22933
22934         * modules/getpass (Depends-on): Add strdup-posix.
22935
22936         New module 'strdup-posix'.
22937         * modules/strdup-posix: New file.
22938         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
22939         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
22940         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
22941         REPLACE_STRDUP.
22942         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
22943         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
22944         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
22945         strdup-posix.
22946
22947         * modules/strdup (Depends-on): Remove malloc-posix.
22948
22949 2008-09-20  Bruno Haible  <bruno@clisp.org>
22950
22951         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
22952         Wildenhues.
22953
22954 2008-09-20  Bruno Haible  <bruno@clisp.org>
22955
22956         Ensure that wint_t gets defined on IRIX 5.3.
22957         * lib/wchar.in.h (wint_t): Define if not defined by the system.
22958         * lib/wctype.in.h (wint_t): Likewise.
22959         (__wctype_wint_t): Remove type.
22960         (isw*): Use wint_t instead of __wctype_wint_t.
22961         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
22962         * modules/wchar (Files): Add m4/wint_t.m4.
22963         (Makefile.am): Substitute HAVE_WINT_T.
22964         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
22965         * tests/test-wctype.c: Check that wint_t is defined.
22966         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
22967         * doc/posix-headers/wctype.texi: Likewise.
22968         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
22969
22970 2008-09-18  Bruno Haible  <bruno@clisp.org>
22971
22972         * gnulib-tool (func_exit): Update comment.
22973
22974 2008-09-18  Simon Josefsson  <simon@josefsson.org>
22975
22976         * modules/getaddrinfo (Depends-on): Remove strdup, this module
22977         assumes strdup exists and does not depend on strdup to return
22978         ENOMEM on out of memory conditions.
22979
22980 2008-09-18  Bruno Haible  <bruno@clisp.org>
22981
22982         * lib/vasnprintf.c (VASNPRINTF): When printing ±0.0L in
22983         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
22984         digits for the exponent.
22985
22986 2008-09-18  Jim Meyering  <meyering@redhat.com>
22987             Bruno Haible  <bruno@clisp.org>
22988
22989         * lib/vasnprintf.c (decimal_point_char): Define also if
22990         NEED_PRINTF_INFINITE_LONG_DOUBLE.
22991
22992 2008-09-16  Bruno Haible  <bruno@clisp.org>
22993         and Eric Blake  <ebb9@byu.net>
22994
22995         vasnprintf: support Irix 5.3
22996         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
22997         that mishandle long double infinity.
22998         Reported by Tom G. Christensen.
22999
23000 2008-09-16  Bruno Haible  <bruno@clisp.org>
23001
23002         * doc/glibc-functions/scandir.texi: Mention the function is missing on
23003         Solaris 9.
23004         * doc/glibc-functions/alphasort.texi: Likewise.
23005         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
23006
23007 2008-09-16  Jim Meyering  <meyering@redhat.com>
23008
23009         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
23010         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
23011         a umask modification leak out of a subshell.  Otherwise, the
23012         opensolaris /bin/sh would be accepted and thus cause unwarranted
23013         failures in the coreutils test suite.
23014
23015 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
23016
23017         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
23018         to succeed.
23019
23020 2008-09-16  Jim Meyering  <meyering@redhat.com>
23021
23022         avoid spurious test failure when library is built without ACL support
23023         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
23024         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
23025         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
23026         * tests/test-copy-acl.sh: Likewise.
23027
23028 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
23029
23030         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
23031         based on character occurrence counts.
23032
23033 2008-09-15  Eric Blake  <ebb9@byu.net>
23034
23035         tests: avoid some compiler warnings
23036         * tests/test-memchr.c (main): Pass NULL indirectly.
23037         * tests/test-closein.c (main): Avoid unused variable.
23038
23039 2008-09-15  Bruno Haible  <bruno@clisp.org>
23040
23041         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
23042         are missing on OpenBSD 4.0 individually.
23043         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
23044
23045 2008-09-15  Bruno Haible  <bruno@clisp.org>
23046
23047         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
23048         * doc/posix-functions/strerror.texi: Mention also Cygwin.
23049         * doc/posix-functions/perror.texi: Likewise.
23050         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
23051         is missing.
23052         Reported by Eric Blake.
23053
23054         * lib/errno.in.h: Use replacement values >= 2000.
23055         Reported by Eric Blake.
23056
23057 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
23058
23059         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
23060         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
23061         limit.
23062         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
23063         compareseq was aborted.
23064
23065 2008-09-14  Bruno Haible  <bruno@clisp.org>
23066
23067         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
23068         yvec_edit_count.
23069         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
23070         (fstrcmp_bounded): Simplify result computation accordingly.
23071
23072 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
23073
23074         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
23075         (fstrcmp): Define in terms of fstrcmp_bounded.
23076         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
23077         lower_bound argument.
23078         Return quickly if the result is certainly < lower_bound.
23079         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
23080
23081 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
23082
23083         * lib/diffseq.h (EARLY_ABORT): New macro.
23084         (compareseq): Change return type to bool. Return true when EARLY_ABORT
23085         evaluates to true.
23086
23087 2008-09-14  Bruno Haible  <bruno@clisp.org>
23088
23089         * modules/perror-tests: New file.
23090         * tests/test-perror.sh: New file.
23091         * tests/test-perror.c: New file.
23092
23093         New module 'perror'.
23094         * lib/stdio.in.h (perror): New declaration.
23095         * lib/perror.c: New file.
23096         * m4/perror.m4: New file.
23097         * modules/perror: New file.
23098         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
23099         * doc/posix-functions/perror.texi: Mention the perror module.
23100         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
23101         REPLACE_PERROR.
23102         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
23103         REPLACE_PERROR.
23104
23105 2008-09-14  Bruno Haible  <bruno@clisp.org>
23106
23107         * modules/stdio (Makefile.am): Reorder to match the order in
23108         lib/stdio.in.h.
23109         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
23110
23111 2008-09-13  Bruno Haible  <bruno@clisp.org>
23112
23113         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
23114
23115 2008-09-13  Bruno Haible  <bruno@clisp.org>
23116
23117         Extend strerror to cover the added errno values.
23118         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
23119         (rpl_strerror): Provide error messages for the added errno values and
23120         for the WSA* values.
23121         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
23122         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
23123         strerror.
23124         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
23125         * modules/strerror (Depends-on): Add errno.
23126         * doc/posix-functions/strerror.texi: Document the change.
23127         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
23128         and EOVERFLOW.
23129
23130 2008-09-13  Bruno Haible  <bruno@clisp.org>
23131
23132         * modules/EOVERFLOW: Remove file.
23133         * m4/eoverflow.m4: Remove file.
23134         * modules/EOVERFLOW-tests: Remove file.
23135         * tests/test-EOVERFLOW.c: Remove file.
23136         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
23137         * modules/ftell (Depends-on): Likewise.
23138         * modules/getdelim (Depends-on): Likewise.
23139         * modules/getugroups (Depends-on): Likewise.
23140         * modules/poll (Depends-on): Likewise.
23141         * modules/snprintf (Depends-on): Likewise.
23142         * modules/sprintf-posix (Depends-on): Likewise.
23143         * modules/vasnprintf (Depends-on): Likewise.
23144         * modules/vasprintf (Depends-on): Likewise.
23145         * modules/vfprintf-posix (Depends-on): Likewise.
23146         * modules/vsnprintf (Depends-on): Likewise.
23147         * modules/vsprintf-posix (Depends-on): Likewise.
23148         * modules/xvasprintf (Depends-on): Likewise.
23149         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
23150         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
23151         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
23152         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
23153         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
23154         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
23155         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
23156         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
23157         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
23158         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
23159         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
23160         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
23161         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
23162         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
23163         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
23164         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
23165         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
23166         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
23167         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
23168         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
23169         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
23170         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
23171         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
23172         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
23173         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
23174         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
23175         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
23176         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
23177         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
23178         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
23179         * MODULES.html.sh: Remove EOVERFLOW.
23180         * NEWS: Mention the change.
23181
23182 2008-09-13  Bruno Haible  <bruno@clisp.org>
23183
23184         * modules/errno-tests: New file.
23185         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
23186
23187         * lib/errno.in.h: New file.
23188         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
23189         * modules/errno: New file.
23190         * doc/posix-headers/errno.texi: Update documentation.
23191         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
23192
23193 2008-09-13  Bruno Haible  <bruno@clisp.org>
23194
23195         * tests/test-poll.c: Use #if for native Windows, rather than testing
23196         __MSVCRT__.
23197
23198 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
23199             Bruno Haible  <bruno@clisp.org>
23200
23201         * lib/glob.c: Don't include <pwd.h> on native Windows.
23202         (WINDOWS32): New macro.
23203         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
23204
23205 2008-09-13  Bruno Haible  <bruno@clisp.org>
23206
23207         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
23208         (ETIMEDOUT): Remove macro.
23209         (glthread_cond_timedwait_multithreaded): New declaration.
23210         (glthread_cond_timedwait): Use it.
23211         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
23212         (glthread_cond_timedwait_multithreaded): New function.
23213
23214 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
23215
23216         * modules/poll-tests: Do not check for io.h.
23217         * tests/test-poll.c: Check for __MSVCRT__ instead.
23218
23219 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
23220
23221         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
23222         * modules/poll-tests: Add inet_pton, stdbool, sockets.
23223         * tests/test-poll.c: Use them.  Use _pipe on Windows.
23224
23225 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
23226
23227         * modules/poll-tests: New.
23228         * tests/test-poll.c: New.
23229
23230 2008-09-12  Eric Blake  <ebb9@byu.net>
23231
23232         frexp: test for NetBSD failure on -0.0
23233         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
23234         not all, bugs from NetBSD 3.0 have been fixed.
23235         * doc/posix-functions/frexp.texi (frexp): Document bug.
23236         Reported by Thomas Klausner.
23237
23238         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
23239         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
23240         literal -0.0.
23241         Reported by Jonathan C. Patschke <jp@centtech.com>.
23242
23243 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
23244
23245         * lib/glthread/cond.h: Use dummy implementation also if
23246         USE_WIN32_THREADS.
23247
23248 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
23249
23250         * modules/fnmatch-posix (License): Change to LGPLv2+.
23251         * modules/fnmatch-gnu (License): Likewise.
23252
23253 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
23254
23255         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
23256
23257 2008-09-11  Jim Meyering  <meyering@redhat.com>
23258
23259         * users.txt: Add gtk-vnc.
23260
23261 2008-09-08  Simon Josefsson  <simon@josefsson.org>
23262
23263         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
23264         rotate amounts.
23265
23266         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
23267         required for 16-bit and 8-bit rotates.
23268         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
23269         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
23270         UINT8_MAX instead of hard-coded constants.
23271         Suggested by Paul Eggert.
23272
23273 2008-09-07  Bruno Haible  <bruno@clisp.org>
23274
23275         * tests/test-striconveh.c (main): Check behaviour when converting from
23276         UTF-7.
23277
23278         Make striconveh work better with stateful encodings.
23279         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
23280         that iconv does not increment the inptr when returning -1/EINVAL.
23281
23282 2008-09-07  Bruno Haible  <bruno@clisp.org>
23283
23284         * build-aux/config.rpath: Update according to libtool-2.2.6.
23285         * build-aux/config.libpath: Likewise.
23286
23287 2008-09-06  Bruno Haible  <bruno@clisp.org>
23288
23289         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
23290         * lib/freadptr.c (freadptr): Likewise.
23291         * lib/freadseek.c (freadptrinc): Likewise.
23292         Reported by Simon Josefsson.
23293
23294 2008-09-06  Bruno Haible  <bruno@clisp.org>
23295
23296         * modules/freadptr (License): Change to LGPLv2+.
23297         * modules/freadseek (License): Likewise.
23298         Suggested by Eric Blake.
23299
23300         * modules/memchr2 (License): Change to LGPLv2+.
23301         Approved by Eric Blake.
23302
23303 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
23304             Bruno Haible  <bruno@clisp.org>
23305
23306         Make gnulib-tool work with native 'sed' on AIX.
23307         * gnulib-tool (sed_noop): New variable.
23308         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
23309         func_add_or_update, func_create_testdir): Use it to initialize sed
23310         script variables.
23311         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
23312
23313 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
23314             Bruno Haible  <bruno@clisp.org>
23315
23316         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
23317         also works after #include directives.
23318
23319 2008-09-04  Ondřej Vašík  <ovasik@redhat.com>
23320
23321         getdate.y: reject an out-of-range timezone value
23322         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
23323         the range [-24...+24].  When specified with only one or two digits,
23324         * tests/test-getdate.c: Tests for the fix.
23325         * doc/getdate.texi: Document this change.
23326
23327 2008-09-03  Bruno Haible  <bruno@clisp.org>
23328
23329         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
23330
23331 2008-09-02  Simon Josefsson  <simon@josefsson.org>
23332
23333         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
23334         <bruce.korb@gmail.com> with ideas from Ben Pfaff
23335         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
23336         Blake <ebb9@byu.net>.
23337
23338         * tests/test-bitrotate.c: Add more test vectors.
23339
23340 2008-09-02  Eric Blake  <ebb9@byu.net>
23341
23342         vasnprintf-posix: handle large precision via %.*d
23343         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
23344         when handling it ourselves.
23345         * tests/test-vasnprintf-posix.c (test_function): Add test.
23346         * tests/test-snprintf-posix.h (test_function): Likewise.
23347         * tests/test-sprintf-posix.h (test_function): Likewise.
23348         * tests/test-vasprintf-posix.c (test_function): Likewise.
23349         Reported by Alain Guibert.
23350
23351 2008-09-01  Eric Blake  <ebb9@byu.net>
23352
23353         c-stack: make configure-time check more robust
23354         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
23355         successful sigaction call.
23356         Reported by Tom G. Christensen.
23357
23358 2008-09-01  Bruno Haible  <bruno@clisp.org>
23359
23360         New module 'findprog-lgpl'.
23361         * modules/findprog-lgpl: New file.
23362         * lib/findprog-lgpl.c: New file.
23363         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
23364         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
23365         to decide whether to use strdup or xstrdup, concatenated_filename or
23366         xconcatenated_filename.
23367
23368 2008-09-01  Bruno Haible  <bruno@clisp.org>
23369
23370         Split module 'concat-filename' into 'concat-filename' (LGPL) and
23371         'xconcat-filename' (GPL).
23372         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
23373         (License): Change to LGPLv2+.
23374         * modules/xconcat-filename: New file.
23375         * lib/concat-filename.h (concatenated_filename): Change specification.
23376         (xconcatenated_filename): New declaration.
23377         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
23378         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
23379         memory situations.
23380         * lib/xconcat-filename.c: New file.
23381         * NEWS: Mention the change.
23382         * lib/findprog.c: Include concat-filename.h, not filename.h.
23383         (find_in_path): Use xconcatenated_filename instead of
23384         concatenated_filename.
23385         * lib/javacomp.c: Include concat-filename.h, not filename.h.
23386         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
23387         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
23388         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
23389         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
23390         instead of concatenated_filename.
23391         * lib/javaexec.c: Include concat-filename.h, not filename.h.
23392         (execute_java_class): Use xconcatenated_filename instead of
23393         concatenated_filename.
23394         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
23395         * modules/javacomp (Depends-on): Likewise.
23396         * modules/javaexec (Depends-on): Likewise.
23397
23398 2008-09-01  Bruno Haible  <bruno@clisp.org>
23399
23400         Split module 'filename' into 'filename' and 'concat-filename'.
23401         * modules/filename: Keep only lib/filename.h.
23402         (License): Change to LGPLv2+.
23403         * modules/concat-filename: New file, extracted from modules/filename.
23404         * lib/filename.h (concatenated_filename): Remove declaration.
23405         * lib/concat-filename.h: New file, extracted from lib/filename.h.
23406         * lib/concat-filename.c: Include concat-filename.h.
23407         * NEWS: Mention the change.
23408
23409 2008-09-01  Simon Josefsson  <simon@josefsson.org>
23410
23411         * lib/bitrotate.h (rotl8, rotr8): Add.
23412
23413         * modules/bitrotate (configure.ac): Need
23414         AC_REQUIRE([AC_C_INLINE]).
23415         (Description): Mention stdint.h.  Reported by Bruno Haible
23416         <bruno@clisp.org>.
23417
23418         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
23419         Paolo Bonzini <bonzini@gnu.org>.
23420
23421 2008-08-31  Bruno Haible  <bruno@clisp.org>
23422
23423         Assume Solaris specific bi-arch conventions on Solaris systems.
23424         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
23425         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
23426         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
23427         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
23428         like acl_libdirstem.
23429         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
23430         acl_libdirstem.
23431         * NEWS: Mention the change.
23432         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
23433
23434 2008-08-31  Jim Meyering  <meyering@redhat.com>
23435
23436         * lib/strftime.h: Add comments describing the two added arguments.
23437
23438         remove duplicate #include directives
23439         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
23440         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
23441
23442 2008-08-31  Bruno Haible  <bruno@clisp.org>
23443
23444         New module 'sigpipe-die'.
23445         * modules/sigpipe-die: New file.
23446         * lib/sigpipe-die.h: New file.
23447         * lib/sigpipe-die.c: New file.
23448         * MODULES.html.sh (Signal handling): Add sigpipe-die.
23449
23450 2008-08-31  Bruno Haible  <bruno@clisp.org>
23451
23452         Don't override previously installed signal handlers.
23453         * lib/fatal-signal.c (saved_sigactions): New variable.
23454         (uninstall_handlers): Reset the signal to the saved handler, not
23455         to SIG_DFL (except when ignored).
23456         (install_handlers): Save the previous handlers.
23457
23458 2008-08-30  Bruno Haible  <bruno@clisp.org>
23459
23460         * gnulib-tool (func_reset_sigpipe): New function.
23461         (func_get_automake_snippet, func_modules_transitive_closure,
23462         func_import): Invoke it before a join command that reads from stdin,
23463         to avoid "echo: write error: Broken pipe" error messages on stderr.
23464         Reported by Sam Steingold <sds@gnu.org>.
23465
23466 2008-08-30  Bruno Haible  <bruno@clisp.org>
23467
23468         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
23469         Code copied from m4/open.m4.
23470         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
23471         access and the filename ends in a slash. Code copied from lib/open.c.
23472         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
23473         * tests/test-fopen.c (main): Check against bug with trailing slash.
23474
23475 2008-08-29  Bruno Haible  <bruno@clisp.org>
23476
23477         Avoid some "gcc -pedantic" warnings.
23478         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
23479         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
23480         * lib/dirent.in.h: Likewise.
23481         * lib/fcntl.in.h: Likewise.
23482         * lib/float.in.h: Likewise.
23483         * lib/iconv.in.h: Likewise.
23484         * lib/inttypes.in.h: Likewise.
23485         * lib/locale.in.h: Likewise.
23486         * lib/math.in.h: Likewise.
23487         * lib/netinet_in.in.h: Likewise.
23488         * lib/search.in.h: Likewise.
23489         * lib/signal.in.h: Likewise.
23490         * lib/stdarg.in.h: Likewise.
23491         * lib/stdint.in.h: Likewise.
23492         * lib/stdio.in.h: Likewise.
23493         * lib/stdlib.in.h: Likewise.
23494         * lib/string.in.h: Likewise.
23495         * lib/strings.in.h: Likewise.
23496         * lib/sys_select.in.h: Likewise.
23497         * lib/sys_socket.in.h: Likewise.
23498         * lib/sys_stat.in.h: Likewise.
23499         * lib/sys_time.in.h: Likewise.
23500         * lib/sysexits.in.h: Likewise.
23501         * lib/time.in.h: Likewise.
23502         * lib/unistd.in.h: Likewise.
23503         * lib/wchar.in.h: Likewise.
23504         * lib/wctype.in.h: Likewise.
23505         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
23506         * modules/fchdir (Makefile.am): Likewise.
23507         * modules/fcntl (Makefile.am): Likewise.
23508         * modules/float (Makefile.am): Likewise.
23509         * modules/iconv_open (Makefile.am): Likewise.
23510         * modules/inttypes (Makefile.am): Likewise.
23511         * modules/locale (Makefile.am): Likewise.
23512         * modules/math (Makefile.am): Likewise.
23513         * modules/netinet_in (Makefile.am): Likewise.
23514         * modules/search (Makefile.am): Likewise.
23515         * modules/signal (Makefile.am): Likewise.
23516         * modules/stdarg (Makefile.am): Likewise.
23517         * modules/stdint (Makefile.am): Likewise.
23518         * modules/stdio (Makefile.am): Likewise.
23519         * modules/stdlib (Makefile.am): Likewise.
23520         * modules/string (Makefile.am): Likewise.
23521         * modules/strings (Makefile.am): Likewise.
23522         * modules/sys_select (Makefile.am): Likewise.
23523         * modules/sys_socket (Makefile.am): Likewise.
23524         * modules/sys_stat (Makefile.am): Likewise.
23525         * modules/sys_time (Makefile.am): Likewise.
23526         * modules/sysexits (Makefile.am): Likewise.
23527         * modules/time (Makefile.am): Likewise.
23528         * modules/unistd (Makefile.am): Likewise.
23529         * modules/wchar (Makefile.am): Likewise.
23530         * modules/wctype (Makefile.am): Likewise.
23531         Reported by Reuben Thomas <rrt@sc3d.org>.
23532
23533 2008-08-29  Bruno Haible  <bruno@clisp.org>
23534
23535         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
23536         any more.
23537
23538 2008-08-29  Simon Josefsson  <simon@josefsson.org>
23539
23540         * MODULES.html.sh (Misc): Add bitrotate.
23541
23542         * modules/bitrotate: New file.
23543
23544         * lib/bitrotate.h: New file.
23545
23546         * modules/bitrotate-tests: New file.
23547
23548         * tests/test-bitrotate.c: New file.
23549
23550         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
23551         on the bitrotate module.
23552
23553         * lib/arctwo.c: Use new bitrotate module.
23554
23555 2008-08-29  Jim Meyering  <meyering@redhat.com>
23556
23557         bootstrap: merge changes from coreutils
23558         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
23559         of copied files.  Remove a kludge, now that this is fixed.
23560         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
23561         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
23562         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
23563
23564 2008-08-29  Bruno Haible  <bruno@clisp.org>
23565
23566         * MODULES.html.sh: Remove --cvs-urls option.
23567
23568 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
23569
23570         maint.mk: adjust to file name change
23571         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
23572
23573 2008-08-28  Jim Meyering  <meyering@redhat.com>
23574
23575         * modules/getndelim2 (License): Relicense to LGPLv2+.
23576         Approved by Richard Stallman for the version of 1995, and by
23577         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
23578
23579 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
23580
23581         * lib/getdelim.c (flockfile, funlockfile): Make all of them
23582         dummy if one is not available.  Do not touch them if
23583         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
23584         (getc_maybe_unlocked): New.
23585         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
23586
23587 2008-08-26  Eric Blake  <ebb9@byu.net>
23588
23589         doc/INSTALL: resync from autoconf
23590         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
23591         (INSTALL_PRELUDE): Delete; this is done more efficiently by
23592         moving...
23593         * install.texi [!autoconf]: ...here.  Resync from autoconf.
23594         * INSTALL: Regenerate.
23595         * INSTALL.ISO: New file.
23596         * INSTALL.UTF-8: Likewise.
23597
23598 2008-08-26  Jim Meyering  <meyering@redhat.com>
23599
23600         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
23601         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
23602         these definitions conditional, so that they may be overridden, too.
23603
23604 2008-08-26  Bruno Haible  <bruno@clisp.org>
23605
23606         Generate INSTALL file variants with prettier quotes.
23607         * doc/Makefile (INSTALL_PRELUDE): New macro.
23608         (INSTALL): Use it.
23609         (INSTALL.ISO, INSTALL.UTF-8): New rules.
23610
23611 2008-08-26  Bruno Haible  <bruno@clisp.org>
23612
23613         Run makeinfo in an English locale.
23614         * doc/Makefile (MAKEINFO): New variable.
23615
23616 2008-08-26  Bruno Haible  <bruno@clisp.org>
23617
23618         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
23619         Suggested by Eric Blake.
23620
23621 2008-08-25  Bruno Haible  <bruno@clisp.org>
23622
23623         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
23624
23625 2008-08-25  Eric Blake  <ebb9@byu.net>
23626
23627         c-stack: test that stack overflow can be caught
23628         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
23629         that platform allows handling stack overflow; at least OS/2 EMX
23630         has sigaltstack, but crashes before transferring control to
23631         handler on stack overflow.
23632         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
23633         check for HAVE_STACK_OVERFLOW_HANDLING.
23634         Reported by Elbert Pol.
23635
23636 2008-08-25  Bruno Haible  <bruno@clisp.org>
23637
23638         * doc/posix-functions/strftime.texi: Fix description of strftime
23639         module.
23640
23641 2008-08-24  Bruno Haible  <bruno@clisp.org>
23642
23643         * tests/uniwidth/test-uc_width2.c: New file.
23644         * tests/uniwidth/test-uc_width2.sh: New file.
23645         * modules/uniwidth/width-tests (Files): Add the new files.
23646         (TESTS): Add uniwidth/test-uc_width2.sh.
23647         (TESTS_ENVIRONMENT): New variable.
23648         (check_PROGRAMS): Add test-uc_width2.
23649         (test_uc_width2_SOURCES): New variable.
23650
23651         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
23652         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
23653         not 0x00AB.
23654         Reported by Alexander V. Lukyanov <lav@netis.ru>.
23655
23656 2008-08-22  Eric Blake  <ebb9@byu.net>
23657
23658         test-lock, test-tls: mention why a test is skipped
23659         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
23660         skipped.
23661         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
23662
23663         count-one-bits: relax license
23664         * modules/count-one-bits (License): Relicense to LGPLv2+.
23665         Suggested by Ludovic Courtès, approved by Ben Pfaff.
23666
23667 2008-08-22  Andreas Schwab  <schwab@suse.de>
23668
23669         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
23670         Remove spurious space in assignment.
23671
23672 2008-08-21  Simon Josefsson  <simon@josefsson.org>
23673
23674         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
23675         Paul Eggert <eggert@CS.UCLA.EDU>.
23676
23677 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
23678
23679         * modules/gettext: Add m4/threadlib.m4.
23680
23681 2008-08-19  Eric Blake  <ebb9@byu.net>
23682
23683         test-c-stack: fix compilation failure on FreeBSD 5.0
23684         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
23685         headers before <sys/resource.h>.
23686         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
23687         the bug.
23688         Reported by Nelson H. F. Beebe.
23689
23690         strverscmp: migrate from "strverscmp.h" to <string.h>
23691         * modules/string (Makefile.am): Add new hooks.
23692         * modules/strverscmp (Files): Remove strverscmp.h.
23693         (Depends-on): Add string.
23694         (configure.ac): Add indicator.
23695         (Include): Mention new header.
23696         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
23697         defaults.
23698         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
23699         results.
23700         * lib/strverscmp.h: Delete.
23701         * lib/string.in.h (strverscmp): Provide declaration, when needed.
23702         * tests/test-strverscmp.c (includes): Adjust client.
23703         * lib/check-version.c (includes): Likewise.
23704         * NEWS: Document the change.
23705
23706         strverscmp: add unit test
23707         * modules/strverscmp-tests: New file.
23708         * tests/test-strverscmp.c: Likewise.
23709
23710 2008-08-19  Simon Josefsson  <simon@josefsson.org>
23711
23712         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
23713         regarding Windows crypto stuff, from Mono.
23714
23715 2008-08-19  Adam Strzelecki <ono@java.pl>  (tiny change)
23716
23717         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
23718         if present, for intel RND.  Return error on failures.
23719
23720 2008-08-18  Ben Pfaff  <blp@gnu.org>
23721
23722         gitlog-to-changelog: give better diagnostic for failed pipe-open
23723         * build-aux/gitlog-to-changelog: Improve error message: suggest
23724         that the version of Git may be too old.
23725
23726 2008-08-18  Simon Josefsson  <simon@josefsson.org>
23727
23728         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
23729         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
23730
23731 2008-08-18  Bruno Haible  <bruno@clisp.org>
23732
23733         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
23734         pthread_in_use().
23735
23736 2008-08-18  Bruno Haible  <bruno@clisp.org>
23737
23738         * lib/glthread/threadlib.c: Include <pthread.h>.
23739
23740 2008-08-18  Bruno Haible  <bruno@clisp.org>
23741
23742         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
23743         glthread_recursive_lock_* macros.
23744         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
23745         Fix syntax error.
23746
23747 2008-08-18  Bruno Haible  <bruno@clisp.org>
23748
23749         * lib/glthread/thread.c: Avoid forcing a context switch right after
23750         thread creation.
23751
23752 2008-08-17  Bruno Haible  <bruno@clisp.org>
23753
23754         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
23755         * lib/glthread/thread.h: Provide Win32 specific implementation.
23756         * modules/thread (Files): Add lib/glthread/thread.c.
23757         (Depends-on): Add lock.
23758         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
23759
23760 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
23761
23762         New module 'yield'.
23763         * modules/yield: New file.
23764         * lib/glthread/yield.h: New file.
23765         * m4/yield.m4: New file.
23766         * MODULES.html.sh (Multithreading): Add yield.
23767
23768 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
23769
23770         New module 'thread'.
23771         * modules/thread: New file.
23772         * lib/glthread/thread.h: New file.
23773         * m4/thread.m4: New file.
23774         * MODULES.html.sh (Multithreading): Add thread.
23775
23776 2008-08-17  Bruno Haible  <bruno@clisp.org>
23777
23778         * lib/glthread/lock.h: Include <stdlib.h> always.
23779         * lib/glthread/tls.h: Likewise.
23780         * lib/glthread/cond.h: Likewise.
23781
23782 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
23783
23784         New module 'cond'.
23785         * modules/cond: New file.
23786         * lib/glthread/cond.h: New file.
23787         * lib/glthread/cond.c: New file.
23788         * m4/cond.m4: New file.
23789         * MODULES.html.sh (Multithreading): Add cond.
23790
23791 2008-08-16  Eric Blake  <ebb9@byu.net>
23792
23793         c-stack: fix regression on Irix 5.3 from 2008-06-21
23794         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
23795         sa_sigaction...
23796         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
23797         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
23798         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
23799         * modules/signal (Makefile.am): Use the value.
23800         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
23801         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
23802         * doc/posix-headers/signal.texi (signal.h): Document this
23803         portability issue.
23804         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
23805         Reported by Tom G. Christensen.
23806
23807 2008-08-17  Bruno Haible  <bruno@clisp.org>
23808
23809         New module 'threadlib'.
23810         * modules/threadlib: New file.
23811         * lib/glthread/threadlib.c: New file, extracted from
23812         lib/glthread/lock.c.
23813         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
23814         functions.
23815         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
23816         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
23817         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
23818         macros.
23819         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
23820         (gl_DISABLE_THREADS): Remove macro.
23821         * modules/lock (Files): Remove build-aux/config.rpath.
23822         (Depends-on): Remove havelib. Add threadlib.
23823         (configure.ac-early): Remove section.
23824         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
23825         * modules/tls (Depends-on): Remove lock. Add threadlib.
23826         (Link): New section, copied from threadlib.
23827         * MODULES.html.sh (Multithreading): Add threadlib.
23828
23829 2008-08-14  Bruno Haible  <bruno@clisp.org>
23830
23831         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
23832         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
23833         glthread_rwlock_unlock, glthread_rwlock_destroy,
23834         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
23835         glthread_recursive_lock_destroy): Define as macros always.
23836         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
23837         glthread_lock_lock.
23838         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
23839         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
23840         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
23841         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
23842         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
23843         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
23844         (glthread_recursive_lock_lock_func): Renamed from
23845         glthread_recursive_lock_lock.
23846         (glthread_recursive_lock_unlock_func): Renamed from
23847         glthread_recursive_lock_unlock.
23848         (glthread_recursive_lock_destroy_func): Renamed from
23849         glthread_recursive_lock_destroy.
23850
23851 2008-08-14  Bruno Haible  <bruno@clisp.org>
23852
23853         * lib/glthread/lock.h: Renamed from lib/lock.h.
23854         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
23855         * lib/glthread/tls.h: Renamed from lib/tls.h.
23856         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
23857         * lib/fstrcmp.c: Update includes.
23858         * lib/strsignal.c: Update includes.
23859         * modules/lock (Files, Makefile.am): Update.
23860         (Include): Change to "glthread/lock.h".
23861         * modules/tls (Files, Makefile.am): Update.
23862         (Include): Change to "glthread/tls.h".
23863         * tests/test-lock.c: Update includes.
23864         * tests/test-tls.c: Update includes.
23865         * NEWS: Mention the renamed header files.
23866
23867 2008-08-11  Jim Meyering  <meyering@redhat.com>
23868
23869         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
23870
23871 2008-08-11  Eric Blake  <ebb9@byu.net>
23872
23873         test-c-stack: avoid C99-ism
23874         * tests/test-c-stack.c (main): Fix whitespace, move declaration
23875         before statement.
23876         Reported by Alain Guibert.
23877
23878 2008-08-10  Jim Meyering  <meyering@redhat.com>
23879
23880         ensure that return value of uinttostr et al are not ignored
23881         * lib/inttostr.h (__GNUC_PREREQ): Define.
23882         (__attribute_warn_unused_result__): Define.
23883         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
23884
23885 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
23886
23887         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
23888         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
23889
23890 2008-08-07  Jim Meyering  <meyering@redhat.com>
23891
23892         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
23893
23894         * modules/mkstemp (License): Relicense under LGPLv2+.
23895         * modules/tempname (License): Likewise.
23896
23897 2008-08-06  Bruno Haible  <bruno@clisp.org>
23898
23899         * lib/poll.c (poll): Further micro-optimization.
23900
23901 2008-08-06  Jim Meyering  <meyering@redhat.com>
23902
23903         inet_pton.c: use locale-independent tolower
23904         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
23905         (inet_pton6): Use c_tolower rather than tolower.
23906         * modules/inet_pton (Depends-on): Add c-ctype.
23907
23908 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
23909
23910         * lib/poll.c (poll): Avoid division when timeout is 0, cache
23911         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
23912
23913 2008-08-06  Jim Meyering  <meyering@redhat.com>
23914
23915         * modules/inet_pton (License): Relicense under LGPLv2+.
23916
23917 2008-08-03  Bruno Haible  <bruno@clisp.org>
23918
23919         Additional non-aborting API for lock and tls.
23920         * lib/lock.h: Include <errno.h>.
23921         (glthread_lock_init): New macro/function.
23922         (gl_lock_init): Define as wrapper around glthread_lock_init.
23923         (glthread_lock_lock): New macro/function.
23924         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
23925         (glthread_lock_unlock): New macro/function.
23926         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
23927         (glthread_lock_destroy): New macro/function.
23928         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
23929         (glthread_rwlock_init): New macro/function.
23930         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
23931         (glthread_rwlock_rdlock): New macro/function.
23932         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
23933         (glthread_rwlock_wrlock): New macro/function.
23934         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
23935         (glthread_rwlock_unlock): New macro/function.
23936         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
23937         (glthread_rwlock_destroy): New macro/function.
23938         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
23939         (glthread_recursive_lock_init): New macro/function.
23940         (gl_recursive_lock_init): Define as wrapper around
23941         glthread_recursive_lock_init.
23942         (glthread_recursive_lock_lock): New macro/function.
23943         (gl_recursive_lock_lock): Define as wrapper around
23944         glthread_recursive_lock_lock.
23945         (glthread_recursive_lock_unlock): New macro/function.
23946         (gl_recursive_lock_unlock): Define as wrapper around
23947         glthread_recursive_lock_unlock.
23948         (glthread_recursive_lock_destroy): New macro/function.
23949         (gl_recursive_lock_destroy): Define as wrapper around
23950         glthread_recursive_lock_destroy.
23951         (glthread_once): New macro/function.
23952         (gl_once): Define as wrapper around glthread_once.
23953         Update function declarations.
23954         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
23955         glthread_rwlock_init. Return error code.
23956         (glthread_rwlock_rdlock_multithreaded): Renamed from
23957         glthread_rwlock_rdlock. Return error code.
23958         (glthread_rwlock_wrlock_multithreaded): Renamed from
23959         glthread_rwlock_wrlock. Return error code.
23960         (glthread_rwlock_unlock_multithreaded): Renamed from
23961         glthread_rwlock_unlock. Return error code.
23962         (glthread_rwlock_destroy_multithreaded): Renamed from
23963         glthread_rwlock_destroy. Return error code.
23964         (glthread_recursive_lock_init_multithreaded): Renamed from
23965         glthread_recursive_lock_init. Return error code.
23966         (glthread_recursive_lock_lock_multithreaded): Renamed from
23967         glthread_recursive_lock_lock. Return error code.
23968         (glthread_recursive_lock_unlock_multithreaded): Renamed from
23969         glthread_recursive_lock_unlock. Return error code.
23970         (glthread_recursive_lock_destroy_multithreaded): Renamed from
23971         glthread_recursive_lock_destroy. Return error code.
23972         (glthread_once_call): Make static.
23973         (glthread_once_multithreaded): Renamed from glthread_once.
23974         * lib/tls.h: Include <errno.h>.
23975         (glthread_tls_key_init): New macro/function.
23976         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
23977         (glthread_tls_set): New macro/function.
23978         (gl_tls_set): Define as wrapper around glthread_tls_set.
23979         (glthread_tls_key_destroy): New macro/function.
23980         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
23981         Update function declarations.
23982         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
23983         glthread_tls_get.
23984         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
23985
23986 2008-08-04  Eric Blake  <ebb9@byu.net>
23987
23988         gnumakefile: use space, not TAB, outside of targets
23989         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
23990
23991 2008-08-02  Jim Meyering  <meyering@redhat.com>
23992
23993         getdate.y: avoid locale-dependent date parsing failure
23994         In Turkish locales, getdate would fail to recognize keywords
23995         containing a lowercase "i".  The solution is not to rely on
23996         locale-sensitive case-conversion.
23997         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
23998         (lookup_word): Use c_toupper in place of toupper.
23999         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
24000         Reported by Vefa Bicakci <bicave@superonline.com> in
24001         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
24002         * modules/getdate (Depends-on): Add c-ctype.
24003
24004 2008-08-02  Bruno Haible  <bruno@clisp.org>
24005
24006         * gnulib-tool (func_import): When updating or creating a .gitignore
24007         file, prepend each added line with a slash, and ignore leading slashes
24008         from the existing lines.
24009         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
24010
24011 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
24012
24013         Portability fix for GNU make 3.79.1.
24014         * top/GNUmakefile: Avoid 'else COND', which older GNU make
24015         versions do not understand.
24016
24017 2008-08-01  Bruno Haible  <bruno@clisp.org>
24018
24019         Work around bug of HP-UX 10.20 cc with -0.0 literal.
24020         * tests/test-isnanf.h (zero): New variable.
24021         (main): Avoid literal -0.0f.
24022         * tests/test-isnand.h (zero): New variable.
24023         (main): Avoid literal -0.0.
24024         * tests/test-isnanl.h (zero): New variable.
24025         (main): Avoid literal -0.0L.
24026         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
24027         (test_float, test_double, test_long_double): Avoid literals -0.0f,
24028         -0.0, -0.0L.
24029         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
24030         (test_signbitd): Avoid literal -0.0.
24031         (test_signbitl): Avoid literal -0.0L.
24032         * tests/test-ceilf1.c (zero): New variable.
24033         (main): Avoid literal -0.0f.
24034         * tests/test-ceill.c (zero): New variable.
24035         (main): Avoid literal -0.0L.
24036         * tests/test-floorf1.c (zero): New variable.
24037         (main): Avoid literal -0.0f.
24038         * tests/test-floorl.c (zero): New variable.
24039         (main): Avoid literal -0.0L.
24040         * tests/test-roundf1.c (zero): New variable.
24041         (main): Avoid literal -0.0f.
24042         * tests/test-round1.c (zero): New variable.
24043         (main): Avoid literal -0.0.
24044         * tests/test-roundl.c (zero): New variable.
24045         (main): Avoid literal -0.0L.
24046         * tests/test-truncf1.c (zero): New variable.
24047         (main): Avoid literal -0.0f.
24048         * tests/test-trunc1.c (zero): New variable.
24049         (main): Avoid literal -0.0.
24050         * tests/test-truncl.c (zero): New variable.
24051         (main): Avoid literal -0.0L.
24052         * tests/test-frexp.c (zero): New variable.
24053         (main): Avoid literal -0.0.
24054         * tests/test-frexpl.c (zero): New variable.
24055         (main): Avoid literal -0.0L.
24056         * tests/test-ldexpl.c (zero): New variable.
24057         (main): Avoid literal -0.0L.
24058         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
24059         (zerod, zerol): New variables.
24060         (test_function): Avoid literals -0.0, -0.0L.
24061         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
24062         (zerod, zerol): New variables.
24063         (test_function): Avoid literals -0.0, -0.0L.
24064         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
24065         (zerod, zerol): New variables.
24066         (test_function): Avoid literals -0.0, -0.0L.
24067         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
24068         (zerod, zerol): New variables.
24069         (test_function): Avoid literals -0.0, -0.0L.
24070         * tests/test-strtod.c (zero): New variable.
24071         (main): Avoid literal -0.0.
24072         Reported by Jonathan C. Patschke <jp@centtech.com>.
24073
24074 2008-07-31  Jim Meyering  <meyering@redhat.com>
24075
24076         sha256.h: correct definition of SHA224_DIGEST_SIZE
24077         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
24078         Reported by Paulie Pena IV <paulie4@gmail.com>.
24079         Define as 224 / 8, rather than as a literal.
24080         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
24081         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
24082         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
24083
24084 2008-07-31  Bruno Haible  <bruno@clisp.org>
24085
24086         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
24087         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
24088         Reported by Jonathan Patschke <jp@centtech.com>.
24089
24090 2008-07-31  Bruno Haible  <bruno@clisp.org>
24091
24092         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
24093         Reported by Paolo Bonzini <bonzini@gnu.org>.
24094
24095 2008-07-30  Eric Blake  <ebb9@byu.net>
24096
24097         test-strtod: allow compilation without -lm
24098         * tests/test-strtod.c (main): Avoid link dependence on fabs.
24099         Reported by Dennis Clarke <blastwave@gmail.com>.
24100
24101 2008-07-28  Jim Meyering  <meyering@redhat.com>
24102
24103         bootstrap: work also when there are no .po files in po/
24104         * build-aux/bootstrap (update_po_files): Complete the change
24105         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
24106
24107 2008-07-27  Jim Meyering  <meyering@redhat.com>
24108
24109         * users.txt: Add zile.
24110
24111 2008-07-26  Ben Pfaff  <blp@gnu.org>
24112
24113         Add missing dependencies on new m4/exponent[fdl].m4 files.
24114         * modules/isnanf-nolibm: Add m4/exponentf.m4.
24115         * modules/isnand-nolibm: Add m4/exponentd.m4.
24116         * modules/isnanl-nolibm: Add m4/exponentl.m4.
24117         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
24118         m4/isnan[fdl].m4, because the macros actually used moved.
24119         Reported by Jim Meyering.
24120
24121 2008-07-14  Ben Pfaff  <blp@gnu.org>
24122
24123         Add isinf module.
24124         * lib/isinf.c: New file.
24125         * lib/math.in.h: Define isinf macro if we have decided to replace
24126         it.
24127         * m4/isinf.m4: New file.
24128         * m4/math_h.m4: Initialize and substitute variables for isinf
24129         module.
24130         * modules/isinf: New file.
24131         * modules/isinf-tests: New file.
24132         * modules/math: Add substitutions for new module.
24133         * tests/test-isinf.c: New file.
24134         * doc/posix-functions/isinf.texi: Mention new module.
24135         * MODULES.html.sh: Mention new module.
24136
24137 2008-07-14  Ben Pfaff  <blp@gnu.org>
24138
24139         Factor out some macros for use by additional modules.
24140         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
24141         exponentf.m4.
24142         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
24143         exponentd.m4.
24144         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
24145         file exponentl.m4.
24146         * m4/exponentf.m4: New file.
24147         * m4/exponentd.m4: New file.
24148         * m4/exponentl.m4: New file.
24149         * modules/isnanf: Use new file m4/exponentf.m4.
24150         * modules/isnand: Use new file m4/exponentd.m4.
24151         * modules/isnanl: Use new file m4/exponentl.m4.
24152
24153 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
24154
24155         mktime.c: normalize tp->tm_isdst value to -1/0/1.
24156         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
24157         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
24158         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
24159
24160         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
24161         readlink on platforms without PATH_MAX.
24162
24163 2008-07-21  Eric Blake  <ebb9@byu.net>
24164
24165         Warn, not fail, on stale version.
24166         * top/GNUmakefile (_curr-ver): Tone down previous patch.
24167
24168         Don't allow installation with stale devel version number.
24169         * top/GNUmakefile (_is-install-target): New macro.
24170         (_curr-ver): Forbid installation with stale version number.
24171
24172 2008-07-20  Bruno Haible  <bruno@clisp.org>
24173
24174         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
24175         TESTS_ENVIRONMENT.
24176         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
24177
24178 2008-07-20  Bruno Haible  <bruno@clisp.org>
24179
24180         * lib/c-stack.h (c_stack_action): Add documentation.
24181         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
24182
24183 2008-07-20  Bruno Haible  <bruno@clisp.org>
24184
24185         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
24186         * modules/readlink (License): Likewise.
24187
24188 2008-07-17  Eric Blake  <ebb9@byu.net>
24189
24190         * modules/c-stack (Link): Fix typo.
24191
24192         Make c-stack use libsigsegv, when available.
24193         * modules/c-stack (Depends-on): Add libsigsegv.
24194         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
24195         needed.
24196         * lib/c-stack.c (SIGSTKSZ): Define fallback.
24197         (segv_handler, overflow_handler, c_stack_action)
24198         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
24199         implementation when libsigsegv is available, but only when using
24200         the library is necessary.
24201         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
24202         comment, explaining why XSI check fails on Linux.
24203         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
24204         * tests/test-c-stack2.sh: Tweak skip message.
24205         * NEWS: Document new link-time requirements.
24206
24207 2008-07-16  Eric Blake  <ebb9@byu.net>
24208
24209         c-stack: Expose false positives when not using libsigsegv.
24210         * modules/c-stack-tests (Files): Expand test.
24211         * tests/test-c-stack.c (main): Add means to conditionally trigger
24212         non-overflow SIGSEGV.
24213         * tests/test-c-stack2.sh: New file.
24214
24215 2008-07-14  Bruno Haible  <bruno@clisp.org>
24216
24217         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
24218         Reported by Eric Blake.
24219
24220 2008-07-14  Sam Steingold  <sds@gnu.org>
24221             Bruno Haible  <bruno@clisp.org>
24222
24223         New module libsigsegv.
24224         * modules/libsigsegv: New file.
24225         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
24226         modifications.
24227         * MODULES.html.sh (Signal handling): New section.
24228
24229 2008-07-14  Bruno Haible  <bruno@clisp.org>
24230
24231         * modules/unictype/ctype-* (Description): Add the word "function".
24232         Improves the resulting doc in MODULES.html.
24233
24234 2008-07-12  Ben Pfaff  <blp@gnu.org>
24235
24236         Add longlong module.
24237         * modules/longlong: New file.
24238
24239 2008-07-12  Bruno Haible  <bruno@clisp.org>
24240
24241         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
24242         to empty.
24243
24244 2008-07-10  Ben Pfaff  <blp@gnu.org>
24245
24246         Add isnan module.
24247         * doc/posix-functions/isnan.texi: Mention new module.
24248         * lib/math.in.h: Define isnan macro if we have decided to replace
24249         it.
24250         * m4/isnan.m4: New file.
24251         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
24252         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
24253         also.
24254         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
24255         redundancy.
24256         * m4/math_h.m4: Initialize and substitute variables for isnan
24257         module.
24258         * modules/isnan: New file.
24259         * modules/isnan-tests: New file.
24260         * modules/math: Add substitutions for new module.
24261         * tests/test-isnan.c: New file.
24262         * MODULES.html.sh: Mention new module.
24263
24264 2008-07-10  Ben Pfaff  <blp@gnu.org>
24265
24266         Add isnanf module.
24267         * lib/isnanf.m4: New file.
24268         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
24269         (gl_HAVE_ISNANF_IN_LIBM): New macro.
24270         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
24271         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
24272         * modules/isnanf: New file.
24273         * modules/isnanf-tests: New file.
24274         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
24275         files.
24276         * tests/test-isnanf-nolibm.c: factored most of its contents into
24277         new file tests/test-isnanf.h.
24278         * tests/test-isnanf.h: New file.
24279         * tests/test-isnanf.c: New file.
24280         * MODULES.html.sh: Mention new module.
24281         * doc/glibc-functions/isnanf.texi: Mention new module.
24282
24283 2008-07-10  Ben Pfaff  <blp@gnu.org>
24284
24285         Add isnand module.
24286         * lib/isnand.h: New file.
24287         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
24288         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
24289         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
24290         functionality also.
24291         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
24292         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
24293         (gl_HAVE_ISNAND_IN_LIBM): New macro.
24294         * modules/isnand: New file.
24295         * modules/isnand-tests: New file.
24296         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
24297         files.
24298         * tests/test-isnand-nolibm.c: factored most of its contents into
24299         new file tests/test-isnand.h.
24300         * tests/test-isnand.h: New file.
24301         * tests/test-isnand.c: New file.
24302         * MODULES.html.sh: Mention new module.
24303
24304 2008-07-10  Ben Pfaff  <blp@gnu.org>
24305
24306         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
24307         * lib/isnand.h: Rename lib/isnand-nolibm.h.
24308         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
24309         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
24310         * modules/isnanf-nolibm: Update references to renamed files.
24311         * modules/isnand-nolibm: Likewise.
24312         * modules/isnanf-nolibm-tests: Likewise.
24313         * modules/isnand-nolibm-tests: Likewise.
24314         * lib/frexp.c: Likewise.
24315         * lib/isfinite.c: Likewise.
24316         * lib/signbitd.c: Likewise.
24317         * lib/signbitf.c: Likewise.
24318         * lib/vasnprintf.c: Likewise.
24319         * tests/test-ceilf1.c: Likewise.
24320         * tests/test-ceilf2.c: Likewise.
24321         * tests/test-floorf1.c: Likewise.
24322         * tests/test-floorf2.c: Likewise.
24323         * tests/test-frexp.c: Likewise.
24324         * tests/test-round1.c: Likewise.
24325         * tests/test-round2.c: Likewise.
24326         * tests/test-roundf1.c: Likewise.
24327         * tests/test-strtod.c: Likewise.
24328         * tests/test-trunc1.c: Likewise.
24329         * tests/test-trunc2.c: Likewise.
24330         * tests/test-truncf1.c: Likewise.
24331         * tests/test-truncf2.c: Likewise.
24332         * NEWS: Mention the renamed header files.
24333
24334 2008-07-11  Jim Meyering  <meyering@redhat.com>
24335
24336         vc-list-files: make the last-resort awk code more portable
24337         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
24338         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
24339         does not support it.
24340
24341 2008-07-10  Eric Blake  <ebb9@byu.net>
24342
24343         Work with tar's bootstrap.
24344         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
24345         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
24346         an m4 comment.
24347
24348 2008-07-09  Jim Meyering  <meyering@redhat.com>
24349
24350         posix-shell.m4: fix typo that made this test malfunction
24351         * m4/posix-shell.m4: Remove capitalization in variable name.
24352
24353 2008-07-08  Bruno Haible  <bruno@clisp.org>
24354
24355         * m4/onceonly.m4: Update comments.
24356         Reported by Ben Pfaff <blp@cs.stanford.edu>.
24357
24358 2008-07-04  Jim Meyering  <meyering@redhat.com>
24359
24360         * users.txt: Add vc-dwim.
24361         (bison, coreutils): Use the gitweb URL.
24362
24363 2008-07-03  Jim Meyering  <meyering@redhat.com>
24364
24365         * users.txt: Add libffcall.  From Sam Steingold.
24366
24367 2008-07-03  Ondřej Vašík  <ovasik@redhat.com>
24368
24369         getdate.y: do not ignore TZ with relative day, month or year offset
24370         * lib/getdate.y (get_date): Move the tz-handling block to follow the
24371         relative-date-handling, since otherwise, the latter would clobber the
24372         sole output (an updated Start value) of the tz-handling block.
24373         * tests/test-getdate.c: Tests for the fix
24374
24375 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
24376
24377         Recognize 'foo_LIBRARIES += libgnu.a'.
24378         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
24379         makefile snippet has already specified an installation location,
24380         also using '+='.
24381
24382 2008-07-02  Ondřej Vašík  <ovasik@redhat.com>
24383
24384         getdate.y: factor out common actions
24385         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
24386         Use them in place of open-coded actions.
24387
24388 2008-07-01  Simon Josefsson  <simon@josefsson.org>
24389
24390         Add self-test for getdate module.
24391         * modules/getdate-tests: New file.
24392         * tests/test-getdate.c: New file.
24393
24394 2008-06-29  Bruno Haible  <bruno@clisp.org>
24395
24396         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
24397         .gitignore.
24398         Reported by Sylvain Beucler <beuc@beuc.net>.
24399
24400 2008-06-29  Bruno Haible  <bruno@clisp.org>
24401
24402         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
24403         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
24404
24405 2008-06-29  Bruno Haible  <bruno@clisp.org>
24406
24407         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
24408         EXTRA_DIST.
24409         Reported by Sylvain Beucler <beuc@beuc.net>.
24410
24411 2008-06-26  Jim Meyering  <meyering@redhat.com>
24412
24413         make several modules depend on the "open" module
24414         This provides slightly increased consistency when opening-for-write
24415         the name of a non-directory spelled with a trailing slash.
24416         * modules/chdir-safer: Likewise.
24417         * modules/chown: Likewise.
24418         * modules/clean-temp: Likewise.
24419         * modules/copy-file: Likewise.
24420         * modules/fchdir: Likewise.
24421         * modules/fcntl-safer: Likewise.
24422         * modules/pipe: Likewise.
24423         * modules/utime: Likewise.
24424         Prompted by Eric Blake and Bruno Haible.
24425
24426 2008-06-24  Andreas Schwab  <schwab@suse.de>
24427
24428         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
24429         literals can be used as initializers for global variables.
24430
24431 2008-06-23  Eric Blake  <ebb9@byu.net>
24432
24433         Make gnulib-cache.m4 easier to diff.
24434         * gnulib-tool (func_import): Allow newlines when reading cached
24435         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
24436
24437 2008-06-23  Bruno Haible  <bruno@clisp.org>
24438
24439         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
24440         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
24441         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
24442         m4/signalblocking.m4.
24443         (gl_PREREQ_SIGACTION): Don't invoke it.
24444         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
24445         gl_PREREQ_SIG_HANDLER_H.
24446         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
24447         Don't check for sigaction here.
24448
24449 2008-06-23  Bruno Haible  <bruno@clisp.org>
24450
24451         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
24452         (install_handlers): Don't set the SA_RESETHAND flag.
24453
24454 2008-06-23  Bruno Haible  <bruno@clisp.org>
24455
24456         * m4/sigaction.m4: Comment fixes.
24457         * lib/signal.in.h: Likewise.
24458
24459 2008-06-23  Eric Blake  <ebb9@byu.net>
24460
24461         Fix typo.
24462         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
24463
24464         Avoid SA_ namespace.
24465         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
24466         Reported by Ralf Wildenhues.
24467
24468         Avoid test failure due to SA_RESTORER.
24469         * tests/test-sigaction.c (SA_MASK): New macro.
24470         (main): Avoid failing due to extension flags being set.
24471         Reported by Jim Meyering.
24472
24473         Revert use of sig-handler.h in sigprocmask.c.
24474         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
24475         it requires the existence of struct sigaction.
24476         * lib/sigprocmask.c (handler_t): Restore typedef.
24477         (rpl_signal, old_handlers): Use local type.
24478
24479 2008-06-22  Bruno Haible  <bruno@clisp.org>
24480
24481         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
24482         conditionally.
24483         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
24484
24485 2008-06-22  Bruno Haible  <bruno@clisp.org>
24486
24487         * doc/posix-functions/siginterrupt.texi: Move note.
24488
24489         * lib/signal.in.h (SA_RESTART): New macro.
24490         * lib/sigaction.c: Update comment.
24491
24492         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
24493
24494         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
24495         (gl_PREREQ_SIGPROCMASK): Invoke it.
24496         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
24497
24498         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
24499
24500         * lib/sigprocmask.c: Update a comment.
24501
24502 2008-06-21  Eric Blake  <ebb9@byu.net>
24503
24504         Use sigaction module rather than signal().
24505         * modules/c-stack (Depends-on): Add sigaction.
24506         * modules/fatal-signal (Depends-on): Likewise.
24507         * modules/nanosleep (Depends-on): Likewise.
24508         * modules/sigprocmask (Files): Add sig-handler.h.
24509         * modules/sigaction (Files): Likewise.
24510         * lib/sig-handler.h (get_handler): New file, suggested by Paul
24511         Eggert.
24512         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
24513         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
24514         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
24515         (init_fatal_signals): Likewise.
24516         * lib/nanosleep.c (rpl_nanosleep): Likewise.
24517         (siginterrupt): Delete fallback.
24518         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
24519         instead.
24520         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
24521         siginterrupt.
24522
24523         New module sigaction, for mingw.
24524         * modules/sigaction: New module...
24525         * modules/sigaction-tests: ...and its test.
24526         * m4/sigaction.m4: New file.
24527         * lib/sigaction.c: Likewise.
24528         * tests/test-sigaction.c: Likewise.
24529         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
24530         * modules/signal (Makefile.am): Likewise.
24531         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
24532         needed.
24533         * doc/posix-headers/signal.texi (signal.h): Mention provided
24534         types.
24535         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
24536         that sigaction is preferable.
24537         * doc/posix-functions/sigaction.texi (sigaction): Mention new
24538         module.
24539         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
24540         sigaction.
24541
24542         Improve robustness of sigprocmask by overriding signal.
24543         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
24544         is in use.
24545         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
24546         (SIGKILL, SIGSTOP): Provide fallbacks.
24547         (rpl_signal): Implement.
24548         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
24549         signal can be called inside handlers.
24550
24551         Fix nanosleep module on mingw.
24552         * modules/nanosleep (Depends-on): Add sys_select.
24553         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
24554
24555         Fix licensing of sigprocmask.
24556         * modules/raise (License): Relicense as LGPL.
24557
24558 2008-06-21  Bruno Haible  <bruno@clisp.org>
24559
24560         * lib/propername.c (proper_name_utf8): Don't use the transliterated
24561         result if it contains question marks.
24562         Reported by Michael Geng <linux@michaelgeng.de>.
24563
24564 2008-06-19  Bruno Haible  <bruno@clisp.org>
24565
24566         Fix CVS-ism.
24567         * doc/gnulib.texi: Include updated-stamp.texi.
24568         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
24569         (updated-stamp.texi): New rule.
24570         (gnulib.info): Depend on it.
24571         * doc/.gitignore: Add updated-stamp.texi.
24572         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
24573
24574 2008-06-19  Bruno Haible  <bruno@clisp.org>
24575
24576         * doc/Makefile (gnulib.info): Update and simplify dependencies.
24577         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
24578
24579 2008-06-19  Eric Blake  <ebb9@byu.net>
24580
24581         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
24582         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
24583         Reported by Stepan Kasal.
24584
24585 2008-06-18  Bruno Haible  <bruno@clisp.org>
24586
24587         * lib/fatal-signal.c (init_fatal_signals): Add comment.
24588         Reported by Eric Blake.
24589
24590 2008-06-18  Eric Blake  <ebb9@byu.net>
24591
24592         Work around cygwin 1.5.25 strsignal bug.
24593         * tests/test-strsignal.c: Allow for const char *.
24594         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
24595
24596 2008-06-18  Simon Josefsson  <simon@josefsson.org>
24597
24598         * users.txt: Update URL to article and add author/date
24599         information.
24600
24601 2008-06-17  Bruno Haible  <bruno@clisp.org>
24602
24603         New macro gl_DISABLE_THREADS.
24604         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
24605         if the user did not pass --enable-threads or --disable-threads option.
24606         (gl_DISABLE_THREADS): New macro.
24607         Reported by Eric Blake <ebb9@byu.net>.
24608
24609 2008-06-17  Bruno Haible  <bruno@clisp.org>
24610
24611         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
24612         when the macro ignores it.
24613         Based on a patch by Eric Blake <ebb9@byu.net>.
24614
24615 2008-06-17  Bruno Haible  <bruno@clisp.org>
24616
24617         * modules/tls (License): Change to LGPLv2+.
24618         Reported by Eric Blake.
24619
24620 2008-06-17  Eric Blake  <ebb9@byu.net>
24621
24622         Simplify c-stack prerequisites.
24623         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
24624         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
24625         no longer requires <ucontext.h> to exist.  Optimize setrlimit
24626         check.
24627         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
24628         <sys/resource.h>.
24629
24630         Move c-stack test into testsuite.
24631         * modules/c-stack-tests: New file.
24632         * lib/c-stack.c [DEBUG]: Move test program...
24633         * tests/test-c-stack.c: ...into this new file.  Skip rather than
24634         fail test if sigaltstack is lacking.
24635         * tests/test-c-stack.sh: New driver file.
24636
24637 2008-06-16  Eric Blake  <ebb9@byu.net>
24638
24639         Use raise module consistently.
24640         * modules/fatal-signal (Depends-on): Add raise.
24641         * modules/sigprocmask (Depends-on): Likewise.
24642         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
24643         * lib/sigprocmask.c (sigprocmask): Likewise.
24644         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
24645         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
24646
24647         Fix compliance bug in sigpending.
24648         * lib/sigprocmask.c (sigpending): Return pending array via
24649         parameter, not return value.
24650
24651 2008-06-14  Eric Blake  <ebb9@byu.net>
24652
24653         Improve obstack-printf test code.
24654         * tests/test-obstack-printf.c (test_function): Fix comment, and
24655         simplify usage of obstack_* in macros.  Add a test for coverage.
24656         Reported by Bruno Haible.
24657
24658 2008-06-14  Bruno Haible  <bruno@clisp.org>
24659
24660         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
24661         array size as a constant, not as a const variable.
24662         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
24663         AC_USE_SYSTEM_EXTENSIONS.
24664         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
24665         Test whether the obstack_printf function actually exists.
24666         * modules/obstack-printf (Depends-on): Add extensions.
24667         (Include): Remove obstack.h.
24668         * modules/obstack-printf-posix (Depends-on): Add extensions.
24669         (Include): Remove obstack.h.
24670
24671 2008-06-13  Eric Blake  <ebb9@byu.net>
24672
24673         Add obstack-printf and obstack-printf-posix modules.
24674         * modules/obstack-printf: New file.
24675         * modules/obstack-printf-posix: Likewise.
24676         * MODULES.html.sh (Misc): Mention them.
24677         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
24678         Likewise.
24679         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
24680         Likewise.
24681         * modules/stdio (Makefile.am): Accomodate new modules.
24682         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
24683         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
24684         Declare.
24685         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
24686         functions.
24687         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
24688         (gl_REPLACE_OBSTACK_PRINTF): New macros
24689         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
24690         * tests/test-obstack-printf.c: New file.
24691         * modules/obstack-printf-tests: Likewise.
24692         * modules/obstack-printf-posix-tests: Likewise.
24693
24694 2008-06-11  Bruno Haible  <bruno@clisp.org>
24695
24696         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
24697         * lib/open.c: Include errno.h.
24698         (open): Fail when attempting to write to a file that has a trailing
24699         slash.
24700         * tests/test-open.c (main): Test against trailing slash bug.
24701         * doc/posix-functions/open.texi: Mention the trailing slash bug.
24702
24703 2008-06-10  Bruno Haible  <bruno@clisp.org>
24704
24705         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
24706         for $? to work inside the trap command, with various /bin/sh-s.
24707         * tests/test-vc-list-files-cvs.sh: Likewise.
24708
24709 2008-06-10  Bruno Haible  <bruno@clisp.org>
24710
24711         * lib/acl-internal.h: Don't include gettext.h here.
24712         * lib/set-mode-acl.c: Include gettext.h here.
24713         * lib/copy-acl.c: Likewise.
24714
24715 2008-06-10  Bruno Haible  <bruno@clisp.org>
24716
24717         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
24718         * lib/wait-process.c (wait_subprocess): Likewise.
24719         * lib/execute.h (execute): Add termsigp argument.
24720         * lib/execute.c (execute): Likewise.
24721         * lib/csharpcomp.c (compile_csharp_using_pnet,
24722         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
24723         * lib/csharpexec.c (execute_csharp_using_pnet,
24724         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
24725         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
24726         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
24727         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
24728         is_jikes_present): Update.
24729         * lib/javaexec.c (execute_java_class): Update.
24730         * lib/javaversion.c (execute_and_read_line): Update.
24731         * NEWS: Document the changes.
24732         Reported by Eric Blake.
24733
24734 2008-06-10  Eric Blake  <ebb9@byu.net>
24735
24736         Add missing include.
24737         * tests/test-strstr.c (includes): Add <signal.h>.
24738         * tests/test-strcasestr.c (includes): Likewise.
24739         * tests/test-memmem.c (includes): Likewise.
24740
24741 2008-06-10  Bruno Haible  <bruno@clisp.org>
24742
24743         * lib/wait-process.c (wait_subprocess): Add an assertion.
24744
24745 2008-06-10  Bruno Haible  <bruno@clisp.org>
24746
24747         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
24748
24749 2008-06-10  Bruno Haible  <bruno@clisp.org>
24750
24751         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
24752         using alarm().
24753         * tests/test-strcasestr.c (main): Likewise.
24754         * tests/test-strstr.c (main): Likewise.
24755
24756 2008-06-09  Bruno Haible  <bruno@clisp.org>
24757
24758         Work around the Solaris 10 ACE ACLs ABI change.
24759         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
24760         declare if ACL_NO_TRIVIAL is present.
24761         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
24762         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
24763         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
24764         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
24765         define if ACL_NO_TRIVIAL is present.
24766         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
24767         and use the current ABI.
24768         (file_has_acl): Use same #if condition as elsewhere.
24769         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
24770         in use, and use the current ABI.
24771         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
24772         Reported by Jim Meyering.
24773
24774 2008-06-09  Eric Blake  <ebb9@byu.net>
24775
24776         Work around environments that (stupidly) ignore SIGALRM.
24777         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
24778         before using alarm().
24779         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
24780         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
24781         Reported by Ian Beckwith <ianb@erislabs.net>.
24782
24783         Produce autobuild blurb earlier in log.
24784         * modules/autobuild (configure.ac-early): Move AB_INIT here.
24785
24786 2008-06-09  Jim Meyering  <meyering@redhat.com>
24787         and Ondřej Vašík  <ovasik@redhat.com>
24788
24789         utimens.c: correct kernel bug work-around
24790         Ondřej Vašík found that the invalid return value of 280 indicates
24791         failure, not success, and the kernel bug we're trying to work
24792         around affects not just the utimensat call, but also the fallback
24793         futimens call.
24794         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
24795         not success.
24796         [HAVE_FUTIMENS]: Use the same work-around, here.
24797
24798 2008-06-09  Jim Meyering  <meyering@redhat.com>
24799
24800         add more guards around definition of ACE_-related code
24801         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
24802         ALLOW and ACE_OWNER are also defined.
24803
24804 2008-06-08  Bruno Haible  <bruno@clisp.org>
24805
24806         * lib/acl-internal.h: Add me as co-author.
24807         * lib/file-has-acl.c: Likewise.
24808         * lib/set-mode-acl.c: Likewise.
24809         * lib/copy-acl.c: Likewise.
24810
24811 2008-06-08  Bruno Haible  <bruno@clisp.org>
24812
24813         Add support for AIX ACLs.
24814         * lib/acl-internal.h (acl_nontrivial): New declaration.
24815         * lib/file-has-acl.c (acl_nontrivial): New function.
24816         (file_has_acl): Add implementation using AIX 4 ACL API.
24817         * lib/set-mode-acl.c (qset_acl): Likewise.
24818         * lib/copy-acl.c (qcopy_acl): Likewise.
24819
24820 2008-06-08  Bruno Haible  <bruno@clisp.org>
24821
24822         Add support for HP-UX ACLs.
24823         * lib/acl-internal.h (acl_nontrivial): New declaration.
24824         * lib/file-has-acl.c (acl_nontrivial): New function.
24825         (file_has_acl): Add implementation using HP-UX 11 ACL API.
24826         * lib/set-mode-acl.c (qset_acl): Likewise.
24827         * lib/copy-acl.c (qcopy_acl): Likewise.
24828
24829 2008-06-08  Bruno Haible  <bruno@clisp.org>
24830
24831         Add support for Cygwin ACLs.
24832         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
24833         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
24834         the chmod_or_fchmod call.
24835         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
24836
24837 2008-06-08  Bruno Haible  <bruno@clisp.org>
24838
24839         Fix bug with setuid modes in Solaris 10+ code.
24840         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
24841         succeeded, when the mode contains some special bits.
24842
24843 2008-06-08  Bruno Haible  <bruno@clisp.org>
24844
24845         Add support for Solaris 7..10 ACLs.
24846         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
24847         declarations.
24848         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
24849         functions.
24850         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
24851         * lib/set-mode-acl.c (qset_acl): Likewise.
24852         * lib/copy-acl.c (qcopy_acl): Likewise.
24853
24854 2008-06-08  Bruno Haible  <bruno@clisp.org>
24855
24856         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
24857         declaration.
24858         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
24859         (acl_access_nontrivial): Remove MacOS X case.
24860         (file_has_acl): Use acl_extended_nontrivial.
24861         * lib/copy-acl.c (qcopy_acl): Likewise.
24862
24863 2008-06-08  Bruno Haible  <bruno@clisp.org>
24864
24865         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
24866
24867 2008-06-08  Jim Meyering  <meyering@redhat.com>
24868
24869         * modules/acl (Maintainer): Add Bruno Haible.
24870
24871 2008-06-07  Bruno Haible  <bruno@clisp.org>
24872
24873         Improve support for Tru64 ACLs.
24874         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
24875         ACL on OSF/1.
24876
24877 2008-06-07  Bruno Haible  <bruno@clisp.org>
24878
24879         Add support for MacOS X ACLs.
24880         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
24881         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
24882         * lib/set-mode-acl.c (qset_acl): Likewise.
24883         * lib/copy-acl.c (qcopy_acl): Likewise.
24884
24885 2008-06-07  Bruno Haible  <bruno@clisp.org>
24886
24887         Fix memory leak introduced on 2008-05-22.
24888         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
24889         use.
24890
24891 2008-06-07  Bruno Haible  <bruno@clisp.org>
24892
24893         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
24894         to construct an empty ACL.
24895
24896 2008-06-07  Bruno Haible  <bruno@clisp.org>
24897
24898         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
24899         precisely.
24900         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
24901
24902 2008-06-07  Bruno Haible  <bruno@clisp.org>
24903
24904         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
24905         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
24906
24907 2008-06-07  Bruno Haible  <bruno@clisp.org>
24908
24909         * doc/posix-functions/_setjmp.texi: Explain the use of this function
24910         regardless of POSIX.
24911         * doc/posix-functions/_longjmp.texi: Likewise.
24912         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
24913         SystemV platform in this case.
24914
24915 2008-06-06  Eric Blake  <ebb9@byu.net>
24916
24917         Document abort() bugs.
24918         * doc/posix-functions/abort.texi (abort): Mention anomalies.
24919
24920         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
24921         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
24922         sigsetjmp.
24923         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
24924         siglongjmp, but only as a macro.
24925         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
24926         is obsolete.
24927         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
24928
24929         Tweak documentation to cover cygwin argz bugs.
24930         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
24931         argz bug fix; no code change needed since no cygwin releases
24932         occurred between the last fix and the bug being tested.
24933         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
24934         module and recently fixed cygwin bugs.
24935         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
24936         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
24937         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
24938         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
24939         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
24940         Likewise.
24941         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
24942         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
24943         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
24944         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
24945         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
24946         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
24947         Likewise.
24948
24949         Avoid gcc warning on cygwin.
24950         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
24951         !ACL_NO_TRIVIAL]: Avoid unused variable.
24952
24953 2008-06-05  Eric Blake  <ebb9@byu.net>
24954
24955         Be tolerant of UNKNOWN version in gnulib-tool test dir.
24956         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
24957         git-version-gen fails to come up with a version.
24958         Reported by Simon Josefsson.
24959
24960 2008-06-05  Jim Meyering  <meyering@redhat.com>
24961             Paul Eggert  <eggert@cs.ucla.edu>
24962
24963         utimens.c: work around a probable Linux kernel bug
24964         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
24965         appears to be a kernel bug that causes utimensat to return 280
24966         instead of 0, indicating success.
24967
24968 2008-06-04  Bruno Haible  <bruno@clisp.org>
24969
24970         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
24971         2008-06-01 commit.
24972
24973 2008-06-04  Bruno Haible  <bruno@clisp.org>
24974
24975         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
24976         * lib/file-has-acl.c (acl_access_nontrivial): New function.
24977         (file_has_acl): Use it. Save errno afterwards.
24978         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
24979
24980 2008-06-03  Bruno Haible  <bruno@clisp.org>
24981
24982         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
24983         draft code. Simplify #ifs.
24984         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
24985         Put Solaris code after POSIX-draft code. Fix comments regarding
24986         Solaris 10, HP-UX. Mention Cygwin.
24987         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
24988
24989 2008-06-03  Eric Blake  <ebb9@byu.net>
24990
24991         Provide fallback for older kernels.
24992         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
24993         Provide runtime fallback if kernel lacks support.
24994         Reported by Mike Frysinger.
24995
24996 2008-06-02  Bruno Haible  <bruno@clisp.org>
24997
24998         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
24999         it exists.
25000
25001 2008-06-02  Bruno Haible  <bruno@clisp.org>
25002
25003         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
25004         * lib/copy-acl.c (qcopy_acl): Update comment.
25005
25006 2008-06-02  Bruno Haible  <bruno@clisp.org>
25007
25008         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
25009         like ACL APIs.
25010
25011 2008-06-02  Bruno Haible  <bruno@clisp.org>
25012
25013         * tests/test-file-has-acl.sh: Use different code for Cygwin.
25014         * tests/test-set-mode-acl.sh: Likewise.
25015         * tests/test-copy-acl.sh: Likewise.
25016         * tests/test-copy-file.sh: Likewise.
25017
25018 2008-06-02  Bruno Haible  <bruno@clisp.org>
25019
25020         * tests/test-file-has-acl.sh: Remove unused code.
25021
25022 2008-06-01  Bruno Haible  <bruno@clisp.org>
25023
25024         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
25025         (copy_acl): Just a wrapper around qcopy_acl that emits the error
25026         messages.
25027         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
25028
25029 2008-06-01  Bruno Haible  <bruno@clisp.org>
25030
25031         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
25032         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
25033         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
25034         APIs.
25035         * modules/acl-tests (configure.ac): Remove tests now contained in
25036         m4/acl.m4.
25037
25038 2008-06-02  Jim Meyering  <meyering@redhat.com>
25039
25040         announce-gen: use a better key-server host name
25041         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
25042         it may be more consistently reliable.  Suggested by Werner Koch
25043         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
25044
25045 2008-06-01  Bruno Haible  <bruno@clisp.org>
25046
25047         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
25048         Reported by Voroskoi Andras <voroskoi@gmail.com>.
25049
25050 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
25051
25052         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
25053
25054 2008-06-01  Bruno Haible  <bruno@clisp.org>
25055
25056         New ACL tests.
25057         * tests/test-file-has-acl.sh: New file.
25058         * tests/test-file-has-acl.c: New file.
25059         * tests/test-set-mode-acl.sh: New file.
25060         * tests/test-set-mode-acl.c: New file.
25061         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
25062         * tests/test-copy-acl.c: New file.
25063         * modules/acl-tests: New file, based on modules/copy-file-tests.
25064         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
25065         (Depends-on): Add acl-tests.
25066         (configure.ac): Remove checks.
25067         (Makefile.am): Don't create test-sameacls program here any more.
25068
25069 2008-06-01  Bruno Haible  <bruno@clisp.org>
25070
25071         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
25072         * tests/test-sameacls.c: Include progname.h.
25073         (main): Invoke set_program_name. Portability fixes for MacOS X,
25074         Solaris, HP-UX.
25075
25076 2008-06-01  Bruno Haible  <bruno@clisp.org>
25077
25078         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
25079         function.
25080         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
25081
25082 2008-06-01  Bruno Haible  <bruno@clisp.org>
25083
25084         * modules/rpmatch (Depends-on): Add strdup.
25085
25086 2008-06-01  Bruno Haible  <bruno@clisp.org>
25087
25088         * lib/pipe.c: Include unistd-safer.h.
25089         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
25090         * modules/pipe (Depends-on): Add unistd-safer.
25091
25092 2008-05-30  Simon Josefsson  <simon@josefsson.org>
25093
25094         * modules/autobuild (configure.ac): Call AB_INIT.
25095
25096 2008-05-30  Simon Josefsson  <simon@josefsson.org>
25097
25098         * tests/test-getaddrinfo.c: Don't print debug messages by default.
25099         Suggested by Bruno Haible <bruno@clisp.org>.
25100
25101 2008-05-30  Simon Josefsson  <simon@josefsson.org>
25102
25103         * tests/test-base64.c: Cast size_t to unsigned long when invoking
25104         printf.  Use %lu instead of %d.  Reported by Bruno Haible
25105         <bruno@clisp.org>.
25106
25107 2008-05-29  Eric Blake  <ebb9@byu.net>
25108
25109         Prefer new POSIX 200x interfaces over futimesat.
25110         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
25111         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
25112         when available.
25113         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
25114
25115 2008-05-28  Bruno Haible  <bruno@clisp.org>
25116
25117         * modules/stpcpy (License): Change to LGPLv2+.
25118         Requested by David Lutterkort <dlutter@redhat.com>.
25119
25120 2008-05-27  Bruno Haible  <bruno@clisp.org>
25121
25122         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
25123         current mingw.
25124         Reported by Jose E. Marchesi <jemarch@gnu.org>.
25125
25126 2008-05-27  Bruno Haible  <bruno@clisp.org>
25127
25128         * modules/iconv_open (Link): New section, from module 'iconv'.
25129         * modules/striconv (Link): Likewise.
25130         * modules/striconveh (Link): Likewise.
25131         * modules/xstriconv (Link): Likewise.
25132         * modules/unicodeio (Link): Likewise.
25133         * modules/propername (Link): Likewise.
25134         Reported by Jim Meyering.
25135
25136 2008-05-26  Jim Meyering  <meyering@redhat.com>
25137
25138         sha256: do not artificially restrict buffer length to be < 2^32
25139         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
25140         uint32_t to size_t.
25141         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
25142         to match.
25143
25144         avoid unaligned access errors, e.g., on sparc
25145         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
25146         direct access through a possibly-unaligned uint64* pointer.
25147         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
25148         direct access through a possibly-unaligned uint32* pointer.
25149         Prompted by this patch from Tom "spot" Callaway:
25150         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
25151
25152         sha512.c: fix typo in comment
25153         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
25154
25155 2008-05-25  Bruno Haible  <bruno@clisp.org>
25156
25157         * lib/set-mode-acl.c: Renamed from lib/acl.c.
25158         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
25159         (Makefile.am): Update lib_SOURCES.
25160
25161 2008-05-25  Bruno Haible  <bruno@clisp.org>
25162
25163         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
25164
25165 2008-05-25  Jim Meyering  <meyering@redhat.com>
25166
25167         useless-if-before-free: freed expr may have white-space differences
25168         * build-aux/useless-if-before-free: Recognize cases in which the
25169         freed expression differs from the tested one in embedded white
25170         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
25171         $1 was used, so we can't make any regexp shy.  Improved tests now
25172         detect this.
25173
25174         useless-if-before-free: accept white space in the expression.
25175         * build-aux/useless-if-before-free: For now, any white space
25176         in the expression must be identical in the free argument.
25177
25178         useless-if-before-free: efficiency tweak
25179         * build-aux/useless-if-before-free: Make the expression-matching
25180         regexp "shy".
25181         Make the *outer* regexp shy, not the expr-matching one.
25182
25183         update code-in-comment to accept cast of free arg
25184         * build-aux/useless-if-before-free: Update regexp.
25185
25186 2008-05-25  Bruno Haible  <bruno@clisp.org>
25187
25188         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
25189         * modules/copy-file-tests (Files, Makefile.am): Update.
25190         * tests/test-copy-file.c (func_test_copy): Update.
25191
25192 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
25193
25194         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
25195
25196 2008-05-23  Bruno Haible  <bruno@clisp.org>
25197
25198         Improve support for ACLs on OSF/1.
25199         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
25200         Remove fallback for unknown flavors of ACLs.
25201
25202 2008-05-22  Bruno Haible  <bruno@clisp.org>
25203
25204         Add support for ACLs on OSF/1.
25205         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
25206         replacements.
25207         (acl_free_text): New macro fallback.
25208         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
25209         acl_free.
25210         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
25211         acl_free_text function. Require AC_C_INLINE.
25212
25213 2008-05-22  Bruno Haible  <bruno@clisp.org>
25214
25215         Make copy_acl work on MacOS X 10.5.
25216         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
25217         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
25218         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
25219         If MODE_INSIDE_ACL, don't assume that every system has the same text
25220         representation for ACLs as FreeBSD.
25221         * lib/copy-acl.c (copy_acl): Add support for platforms with
25222         !MODE_INSIDE_ACL.
25223         * lib/file-has-acl.c (file_has_acl): Likewise.
25224         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
25225         FreeBSD, MacOS X, or IRIX, respectively.
25226
25227 2008-05-22  Bruno Haible  <bruno@clisp.org>
25228
25229         * lib/acl.h: Don't include <sys/acl.h>.
25230         (GETACLCNT): Move fallback to lib/acl-internal.h.
25231         * lib/acl-internal.h: Include <sys/acl.h> here.
25232         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
25233
25234 2008-05-22  Bruno Haible  <bruno@clisp.org>
25235
25236         Split off copy_acl function to separate file.
25237         * lib/copy-acl.c: New file, extracted from lib/acl.c.
25238         * lib/acl.c (copy_acl): Moved function to separate file.
25239         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
25240         * modules/acl (Files): Add lib/copy-acl.c.
25241         (Makefiles.am): Augment lib_SOURCES.
25242
25243 2008-05-22  Bruno Haible  <bruno@clisp.org>
25244
25245         * modules/copy-file-tests: New file.
25246         * tests/test-copy-file.sh: New file.
25247         * tests/test-copy-file.c: New file.
25248         * tests/test-copy-file-sameacls.c: New file.
25249
25250 2008-05-22  Eric Blake  <ebb9@byu.net>
25251
25252         Avoid gcc warning.
25253         * tests/test-memcmp.c (main): Pass NULL indirectly.
25254
25255 2008-05-21  Bruno Haible  <bruno@clisp.org>
25256
25257         Add reference doc about ACLs.
25258         * doc/acl-resources.txt: New file.
25259         * doc/acl-cygwin.txt: New file.
25260
25261 2008-05-21  Bruno Haible  <bruno@clisp.org>
25262
25263         Avoid one more warning from gcc.
25264         * lib/vasnprintf.c (IF_LINT): Update comments.
25265         (VASNPRINTF): Use it also for the 'prefix' array initializer.
25266
25267 2008-05-21  Jim Meyering  <meyering@redhat.com>
25268
25269         avoid a warning from gcc
25270         * lib/vasnprintf.c (IF_LINT): Define.
25271         (scale10_round_decimal_long_double):
25272         Use it to avoid a "may be used uninitialized" warning.
25273         (scale10_round_decimal_double): Likewise.
25274
25275 2008-05-21  Simon Josefsson  <simon@josefsson.org>
25276
25277         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
25278         declared.
25279
25280 2008-05-20  Bruno Haible  <bruno@clisp.org>
25281
25282         * tests/test-memcmp.c (main): Test also the sign of the result. Test
25283         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
25284
25285 2008-05-20  Simon Josefsson  <simon@josefsson.org>
25286
25287         * modules/memcmp-tests: New file.
25288         * tests/test-memcmp.c: New file.
25289
25290 2008-05-19  Bruno Haible  <bruno@clisp.org>
25291
25292         * modules/propername (Notice, configure.ac): Put quoted "..." into
25293         --keyword option.
25294         * lib/propername.h: Update comments accordingly.
25295         Reported by Eric Blake.
25296
25297 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
25298
25299         * modules/getpass-gnu (Depends-on): Add fseeko.
25300
25301 2008-05-19  Simon Josefsson  <simon@josefsson.org>
25302
25303         * modules/base64-tests: New file.
25304
25305 2008-05-19  Bo Borgerson <gigabo@gmail.com>
25306
25307         * lib/base64.c (base64_decode_ctx): If a decode context structure
25308         was passed in use it to ignore newlines.  If a context structure
25309         was _not_ passed in, continue to treat newlines as garbage (this
25310         is the historical behavior).  Formerly base64_decode.
25311         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
25312         takes a decode context structure.
25313         * lib/base64.h (base64_decode): Macro for four-argument calls.
25314         (base64_decode_alloc): Likewise.
25315         * lib/base64.c (base64_decode_ctx): If a decode context structure
25316         was passed in use it to ignore newlines.  If a context structure
25317         was _not_ passed in, continue to treat newlines as garbage (this
25318         is the historical behavior).  Formerly base64_decode.
25319         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
25320         takes a decode context structure.
25321         * lib/base64.h (base64_decode): Macro for four-argument calls.
25322         (base64_decode_alloc): Likewise.
25323
25324 2008-05-19  Jim Meyering  <meyering@redhat.com>
25325
25326         avoid a warning from gcc
25327         * lib/trim.c (IF_LINT): Define.
25328         (trim2): Use it to avoid a "may be used uninitialized" warning.
25329
25330         Fix doc typo.
25331         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
25332
25333 2008-05-19  Bruno Haible  <bruno@clisp.org>
25334
25335         * doc/glibc-functions/getpass.texi: Document limits of other
25336         implementations.
25337
25338 2008-05-19  Simon Josefsson  <simon@josefsson.org>
25339             Bruno Haible <bruno@clisp.org>
25340
25341         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
25342
25343 2008-05-18  Bruno Haible  <bruno@clisp.org>
25344
25345         * modules/propername: New file, from GNU gettext.
25346         * lib/propername.h: New file, from GNU gettext.
25347         * lib/propername.c: New file, from GNU gettext.
25348         * MODULES.html.sh (Internationalization functions): Add propername.
25349
25350 2008-05-16  Jim Meyering  <meyering@redhat.com>
25351             Bruno Haible  <bruno@clisp.org>
25352
25353         Avoid some warnings from "gcc -Wshadow".
25354         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
25355
25356 2008-05-15  Eric Blake  <ebb9@byu.net>
25357
25358         Extend previous patch to cygwin 1.7.0.
25359         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
25360         fast implementation in cygwin >= 1.7.0.
25361         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
25362         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
25363
25364 2008-05-15  Bruno Haible  <bruno@clisp.org>
25365
25366         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
25367         implementation in glibc >= 2.9.
25368         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
25369         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
25370
25371 2008-05-15  Bruno Haible  <bruno@clisp.org>
25372
25373         * MODULES.html.sh (Internationalization functions): Remove linebreak.
25374         (Unicode string functions): Add unilbrk/*.
25375         Reported by Karl Berry.
25376
25377 2008-05-15  Eric Blake  <ebb9@byu.net>
25378
25379         Fix violation of <stdbool.h> replacement in regex.
25380         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
25381         * lib/regexec.c (re_search_internal): Likewise.
25382         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
25383
25384 2008-05-15  Jim Meyering  <meyering@redhat.com>
25385
25386         avoid distracting test output when git or cvs is not found
25387         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
25388         * tests/test-vc-list-files-git.sh: Likewise.
25389
25390 2008-05-15  Eric Blake  <ebb9@byu.net>
25391
25392         Glibc finally accepted the memmem speedup code, bugzilla #5514.
25393         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
25394         glibc version.
25395         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
25396         * doc/posix-functions/strstr.texi (strstr): Likewise.
25397         * lib/str-two-way.h (MAX): Sychronize with glibc.
25398
25399 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
25400
25401         * lib/regcomp.c (optimize_utf8): Add a note on why we test
25402         opr.ctx_type.
25403         (calc_first): Initialize constraint field.
25404         (duplicate_node_closure): Use it instead of special casing ANCHORS.
25405         Fix grammar.
25406         (duplicate_node): Merge constraint field for all node types.
25407         (calc_eclosure_iter): Look at constraint field for all node types.
25408         * lib/regex_internal.c (create_cd_newstate): Don't look at
25409         opr.ctx_type.
25410
25411 2008-05-14  Bruno Haible  <bruno@clisp.org>
25412
25413         Help GCC to do better code generation.
25414         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
25415         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
25416         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
25417         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
25418         Declare with attribute 'malloc' if supported.
25419
25420 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
25421
25422         use "echo STR|wc -c" rather than unportable "expr length STR"
25423         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
25424         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
25425
25426 2008-05-14  Jim Meyering  <meyering@redhat.com>
25427
25428         use dd ibs=$n count=1 ... rather than less-portable head -c$n
25429         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
25430         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
25431         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
25432         via Collin Lasse.
25433
25434 2008-05-14  Eric Blake  <ebb9@byu.net>
25435
25436         Avoid quadratic growth in gl_LIBSOURCES.
25437         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
25438         Suggested by Bruno Haible.
25439
25440         Test xmemdup0.
25441         * modules/xmemdup0-tests: New file.
25442         * tests/test-xmemdup0.c: Likewise.
25443
25444 2008-05-13  Eric Blake  <ebb9@byu.net>
25445
25446         Split xmemdup0 into its own module.
25447         * modules/xmemdup0: New file.
25448         * lib/xmemdup0.h: Likewise.
25449         * lib/xmemdup0.c: Likewise.
25450         * MODULES.html.sh (Memory management functions): Add xmemdup0.
25451         * lib/xalloc.h (xmemdup0): Remove.
25452         * lib/xmalloc.c (xmemdup0): Likewise.
25453
25454 2008-05-13  Eric Blake  <ebb9@byu.net>
25455             Bruno Haible  <bruno@clisp.org>
25456
25457         Reduce number of forks required during autoconf.
25458         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
25459         and gl_LIBSOURCES_DIR.
25460         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
25461         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
25462         m4_syscmd per file.
25463         <m4_foreach_w>: Move...
25464         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
25465
25466 2008-05-13  Eric Blake  <ebb9@byu.net>
25467
25468         * gnulib-tool: Fix various comment typos.
25469
25470 2008-05-12  Bruno Haible  <bruno@clisp.org>
25471
25472         Tailor the linebreaking algorithm.
25473         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
25474
25475 2008-05-12  Bruno Haible  <bruno@clisp.org>
25476
25477         Update to Unicode 5.0.0.
25478         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
25479         LBP_JV, LBP_JT. Redistribute values.
25480         (unilbrk_table): Change size.
25481         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
25482         Unicode TR#14 rev. 22.
25483         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
25484         LBP_JV, LBP_JT. Redistribute values.
25485         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
25486         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
25487         Update.
25488         * lib/unilbrk/lbrkprop1.h: Regenerated.
25489         * lib/unilbrk/lbrkprop2.h: Regenerated.
25490         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
25491         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
25492         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
25493         Likewise.
25494         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
25495         Likewise.
25496         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
25497         result.
25498         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
25499         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
25500         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
25501         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
25502         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
25503         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
25504
25505 2008-05-11  Bruno Haible  <bruno@clisp.org>
25506
25507         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
25508
25509 2008-05-11  Bruno Haible  <bruno@clisp.org>
25510
25511         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
25512         * modules/unilbrk/gen-lbrk: New file.
25513
25514 2008-05-11  Bruno Haible  <bruno@clisp.org>
25515
25516         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
25517         * m4/sha512.m4 (gl_SHA512): Likewise.
25518
25519 2008-05-11  Jim Meyering  <meyering@redhat.com>
25520
25521         New modules: crypto/sha256, crypto/sha512 (from coreutils)
25522         * modules/crypto/sha256: New file.
25523         * modules/crypto/sha512: Likewise.
25524         * lib/sha256.c: Likewise.
25525         * lib/sha256.h: Likewise.
25526         * lib/sha512.c: Likewise.
25527         * lib/sha512.h: Likewise.
25528         * lib/u64.h: Likewise.
25529         * m4/sha256.m4: Likewise.
25530         * m4/sha512.m4: Likewise.
25531         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
25532
25533 2008-05-10  Bruno Haible  <bruno@clisp.org>
25534
25535         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
25536         (Input/Output <stdio.h>): Add xprintf.
25537         (Signal handling <signal.h>): Add strsignal.
25538         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
25539         (Core language properties): Add func.
25540         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
25541         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
25542         strings.
25543         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
25544         (Input/output): New section.
25545         (File system functions): Add openat-die, stat-macros.
25546         (Networking functions): Add sockets.
25547         (Unicode string functions): Add unictype/*.
25548         (Support for building libraries and executables): Add gperf.
25549         (Support for building documentation): Add agpl-3.0.
25550         (Misc): Add nocrash.
25551
25552 2008-05-10  Bruno Haible  <bruno@clisp.org>
25553
25554         * modules/unictype/gen-ctype: New file.
25555
25556 2008-05-10  Jim Meyering  <meyering@redhat.com>
25557
25558         Make chdir-safer.c more efficient on a system with no symlinks.
25559         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
25560         also if ELOOP is zero.  Suggested by Bruno Haible.
25561
25562         Make chdir-safer.c slightly safer.
25563         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
25564         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
25565
25566         Avoid compile failure on systems without ELOOP (like mingw).
25567         * lib/chdir-safer.c (ELOOP): Define if not already defined.
25568         Reported by Bruno Haible.
25569
25570 2008-05-10  Bruno Haible  <bruno@clisp.org>
25571
25572         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
25573         (is_utf8_encoding): Use a case-insensitive comparison.
25574         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
25575         streq.
25576
25577 2008-05-10  Bruno Haible  <bruno@clisp.org>
25578
25579         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
25580         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
25581         * lib/unilbrk/ulc-common.h (iconv_string_length,
25582         iconv_string_keeping_offsets): Remove declarations.
25583         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
25584         Don't include <iconv.h>, streq.h, xsize.h.
25585         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
25586         conversion.
25587         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
25588         <iconv.h>, streq.h, xsize.h.
25589         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
25590         conversion.
25591         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
25592         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
25593         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
25594         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
25595
25596 2008-05-10  Bruno Haible  <bruno@clisp.org>
25597
25598         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
25599         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
25600
25601         * modules/unilbrk/u32-width-linebreaks-tests: New file.
25602         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
25603
25604         * modules/unilbrk/u16-width-linebreaks-tests: New file.
25605         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
25606
25607         * modules/unilbrk/u8-width-linebreaks-tests: New file.
25608         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
25609
25610         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
25611         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
25612
25613         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
25614         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
25615
25616         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
25617         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
25618
25619         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
25620         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
25621
25622 2008-05-10  Bruno Haible  <bruno@clisp.org>
25623
25624         Split up 'linebreak' module.
25625         * lib/unilbrk.h: New file, based on lib/linebreak.h.
25626         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
25627         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
25628         modifications.
25629         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
25630         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
25631         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
25632         lib/linebreak.c.
25633         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
25634         lib/linebreak.c.
25635         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
25636         lib/linebreak.c.
25637         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
25638         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
25639         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
25640         lib/linebreak.c.
25641         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
25642         lib/linebreak.c.
25643         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
25644         lib/linebreak.c.
25645         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
25646         lib/linebreak.c.
25647         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
25648         lib/linebreak.c.
25649         * modules/unilbrk/base: New file.
25650         * modules/unilbrk/tables: New file.
25651         * modules/unilbrk/u8-possible-linebreaks: New file.
25652         * modules/unilbrk/u16-possible-linebreaks: New file.
25653         * modules/unilbrk/u32-possible-linebreaks: New file.
25654         * modules/unilbrk/ulc-common: New file.
25655         * modules/unilbrk/ulc-possible-linebreaks: New file.
25656         * modules/unilbrk/u8-width-linebreaks: New file.
25657         * modules/unilbrk/u16-width-linebreaks: New file.
25658         * modules/unilbrk/u32-width-linebreaks: New file.
25659         * modules/unilbrk/ulc-width-linebreaks: New file.
25660         * lib/linebreak.h: Remove file.
25661         * lib/linebreak.c: Remove file.
25662         * m4/linebreak.m4: Remove file.
25663         * modules/linebreak: Remove file.
25664         * NEWS: Mention the changes.
25665
25666 2008-05-09  Eric Blake  <ebb9@byu.net>
25667
25668         Add xmemdup0.
25669         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
25670         implementation.
25671         * lib/xmalloc.c (xmemdup0): New C implementation.
25672
25673 2008-05-08  Bruno Haible  <bruno@clisp.org>
25674
25675         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
25676
25677 2008-05-07  Eric Blake  <ebb9@byu.net>
25678
25679         Support cross-compilation of <wctype.h>.
25680         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
25681         AC_CACHE_CHECK.
25682
25683 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
25684
25685         * build-aux/vc-list-files: Add support for bzr.
25686
25687 2008-05-03  Jim Meyering  <meyering@redhat.com>
25688
25689         avoid failed assertion with tight malloc
25690         * tests/test-getndelim2.c: Correct an off-by-one assertion.
25691
25692 2008-05-03  Simon Josefsson  <simon@josefsson.org>
25693
25694         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
25695         are needed from arpa/inet.h.
25696         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
25697         Reported by Bruno Haible.
25698
25699 2008-05-02  Jim Meyering  <meyering@redhat.com>
25700
25701         avoid compilation error on FreeBSD 6
25702         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
25703
25704 2008-05-01  Jim Meyering  <meyering@redhat.com>
25705
25706         useless-if-before-free: correct --help's exit status description
25707         * build-aux/useless-if-before-free (usage): Like grep, exit 0
25708         for one or more matches, etc.  Reported by Bruno Haible.
25709
25710         vc-list-files: make the stand-alone gnulib test work
25711         * modules/vc-list-files-tests (configure.ac):
25712         Define and AC_SUBST abs_aux_dir.
25713         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
25714         $(abs_top_srcdir) to each script and having each of them
25715         duplicate the work of setting PATH, set PATH here, using
25716         the new variable, abs_aux_dir instead.
25717         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
25718         * tests/test-vc-list-files-git.sh: Likewise.
25719         Reported by Bruno Haible.
25720
25721 2008-05-01  Bruno Haible  <bruno@clisp.org>
25722
25723         * lib/getndelim2.c (getndelim2): Fix newsize computation during
25724         reallocation. Rename 'done' to 'found_delimiter'.
25725
25726 2008-05-01  Jim Meyering  <meyering@redhat.com>
25727
25728         vc-list-files: accommodate /bin/sh like the one from Solaris 10
25729         * build-aux/vc-list-files: Use `...`, not $(...).
25730
25731 2008-04-30  Jim Meyering  <meyering@redhat.com>
25732
25733         add tests for vc-list-files
25734         * modules/vc-list-files-tests: New module.
25735         * tests/test-vc-list-files-cvs.sh: New file.
25736         * tests/test-vc-list-files-git.sh: New file.
25737
25738         avoid a warning from gcc
25739         * lib/getndelim2.c (IF_LINT): Define.
25740         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
25741
25742         vc-list-files: work properly with build-aux/cvsu, too
25743         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
25744         to all cvs-based clauses.
25745
25746         vc-list-files: work properly in the CVS+awk case, too
25747         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
25748
25749         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
25750         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
25751         take more than one file argument, so .  Add quotes, just in case $dir
25752         ever contains a shell meta-character.  Prompted by Soren Hansen in
25753         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
25754
25755 2008-04-29  Eric Blake  <ebb9@byu.net>
25756
25757         Optimize getndelim2 to use block operations when possible.
25758         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
25759         freadseek, and memchr2.
25760         * lib/getndelim2.c (getndelim2): Use them for block reads.
25761
25762 2008-04-29  Bruno Haible  <bruno@clisp.org>
25763
25764         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
25765         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
25766         * modules/inet_ntop (Depends-on): Add extensions.
25767         * modules/inet_pton (Depends-on): Likewise.
25768         Reported by Simon Josefsson.
25769
25770 2008-04-29  Jim Meyering  <meyering@redhat.com>
25771
25772         When the is more than one match in a block, match all of them.
25773         * build-aux/useless-if-before-free: Iterate through each block
25774         until there are no more matches.
25775
25776         Fix broken useless-if-before-free script.
25777         * build-aux/useless-if-before-free: Fix typo: missing "?" after
25778         the expression to match cast of argument to free-like function.
25779
25780 2008-04-29  Eric Blake  <ebb9@byu.net>
25781
25782         Use new header.
25783         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
25784
25785 2008-04-29  Jim Meyering  <meyering@redhat.com>
25786
25787         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
25788         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
25789         by gnulib to exist and to declare e.g., inet_ntop.
25790         Don't include "inet_ntop.h", now removed.
25791
25792         * m4/arpa_inet_h.m4: Remove trailing blanks.
25793
25794 2008-04-29  Eric Blake  <ebb9@byu.net>
25795
25796         Silence valgrind on safe reads beyond potential array bounds.
25797         * lib/rawmemchr.valgrind: New file.
25798         * lib/strchrnul.valgrind: Likewise.
25799         * modules/rawmemchr (Files): Distribute new file.
25800         * modules/strchrnul (Files): Likewise.
25801         Suggested by Bruno Haible.
25802
25803 2008-04-29  Bruno Haible  <bruno@clisp.org>
25804
25805         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
25806         (inet_ntop, inet_pton): Change portability warning's wording.
25807         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
25808         Invoke gl_CHECK_NEXT_HEADERS.
25809         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
25810         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
25811         set ARPA_INET_H.
25812         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
25813         * modules/arpa_inet (Description): No longer only for systems that
25814         lack it.
25815         (Depends-on): Add include_next.
25816         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
25817         HAVE_ARPA_INET_H.
25818
25819 2008-04-29  Jim Meyering  <meyering@redhat.com>
25820
25821         * modules/mkdir (License): Re-license as LGPLv2+.
25822
25823 2008-04-29  Bruno Haible  <bruno@clisp.org>
25824
25825         * modules/rawmemchr (Maintainer): Set to Eric.
25826         * modules/strchrnul (Maintainer): Likewise.
25827
25828 2008-04-29  Simon Josefsson  <simon@josefsson.org>
25829
25830         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
25831         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
25832
25833         * modules/arpa_inet (arpa/inet.h): Use them.
25834
25835 2008-04-28  Eric Blake  <ebb9@byu.net>
25836
25837         Test getndelim2.
25838         * modules/getndelim2-tests: New file.
25839         * tests/test-getndelim2.c: Likewise.
25840         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
25841         stream.
25842         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
25843
25844         * MODULES.html.sh: Document new module.
25845
25846 2008-04-20  Bruno Haible  <bruno@clisp.org>
25847
25848         * lib/c-stack.c (die): Use raise.
25849         * modules/c-stack (Depends-on): Add raise.
25850
25851 2008-04-28  Bruno Haible  <bruno@clisp.org>
25852
25853         Expect rpmatch to be declared.
25854         * lib/yesno.c (rpmatch): Remove declaration.
25855
25856         Declare rpmatch.
25857         * lib/stdlib.in.h (rpmatch): New declaration.
25858         * lib/rpmatch.c: Include <stdlib.h> first.
25859         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
25860         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
25861         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
25862         HAVE_RPMATCH.
25863         * modules/rpmatch (Depends-on): Add stdlib, extensions.
25864         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
25865         (Include): Set to <stdlib.h>.
25866         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
25867         HAVE_RPMATCH.
25868         * NEWS: Document the change.
25869
25870 2008-04-28  Bruno Haible  <bruno@clisp.org>
25871
25872         Change rpmatch to use nl_langinfo when appropriate.
25873         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
25874         (N_): New macro.
25875         (localized_pattern): New function/macro.
25876         (try): Remove match, nomatch arguments. Copy the pattern into safe
25877         memory before caching it.
25878         (rpmatch): Use localized_pattern. Add translator comments.
25879         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
25880         Suggested by Eric Blake.
25881         * modules/rpmatch (Depends-on): Add stdbool.
25882
25883 2008-04-28  Eric Blake  <ebb9@byu.net>
25884
25885         Add rawmemchr module, matching glibc.
25886         * modules/string (Makefile.am): New indicator.
25887         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
25888         * lib/string.in.h (rawmemchr): Declare when appropriate.
25889         * modules/rawmemchr: New file.
25890         * m4/rawmemchr.m4: Likewise.
25891         * lib/rawmemchr.c: Likewise.
25892         * modules/rawmemchr-tests: Likewise.
25893         * tests/test-rawmemchr.c: Likewise.
25894         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
25895         module.
25896         * modules/strchrnul (Depends-on): Add rawmemchr.
25897         * lib/strchrnul.c (strchrnul): Optimize a corner case.
25898
25899         Whitespace cleanup.
25900         * tests/test-strchrnul.c: Reindent.
25901         * lib/strchrnul.c: Likewise.
25902
25903         Optimize and test strchrnul.
25904         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
25905         * modules/strchrnul-tests: New file.
25906         * tests/test-strchrnul.c: Likewise.
25907
25908         Remove intprops dependency.
25909         * modules/memchr (Depends-on): Remove intprops.
25910         * modules/memrchr (Depends-on): Likewise.
25911         * modules/memchr2 (Depends-on): Likewise.
25912         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
25913         * lib/memrchr.c (__memrchr): Likewise.
25914         * lib/memrchr2.c (memchr2): Likewise.
25915         Reported by Simon Josefsson.
25916
25917 2008-04-28  Simon Josefsson  <simon@josefsson.org>
25918
25919         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
25920         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
25921
25922 2008-04-28  Simon Josefsson  <simon@josefsson.org>
25923
25924         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
25925
25926         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
25927
25928         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
25929
25930         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
25931         declarations.
25932         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
25933
25934         * m4/inet_pton.m4: Don't check for header files.
25935
25936         * m4/inet_ntop.m4: Don't check for header files.
25937
25938 2008-04-28  Simon Josefsson  <simon@josefsson.org>
25939
25940         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
25941         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
25942         trigger for cygwin).
25943         Reported by Bruno Haible  <bruno@clisp.org>.
25944
25945 2008-04-28  Bruno Haible  <bruno@clisp.org>
25946
25947         * doc/posix-functions/strdup.texi: Mention mingw problem.
25948
25949 2008-04-27  Bruno Haible  <bruno@clisp.org>
25950
25951         * modules/stat-time-tests (Depends-on): Add sleep.
25952         * tests/test-stat-time.c (force_unlink): New function.
25953         (cleanup): Use it.
25954         (test_mtime): Remove the ctime related tests.
25955         (test_ctime): New function, containing the ctime related tests.
25956         (main): Call test_ctime, except on native Windows platforms.
25957
25958 2008-04-27  Bruno Haible  <bruno@clisp.org>
25959
25960         * lib/rpmatch.c (rpmatch): Add some comments.
25961         Reported by James Youngman <jay@gnu.org>.
25962
25963 2008-04-27  Bruno Haible  <bruno@clisp.org>
25964
25965         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
25966         quiet NaNs.
25967
25968 2008-04-27  Bruno Haible  <bruno@clisp.org>
25969
25970         Make test-yesno.sh work on mingw.
25971         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
25972         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
25973         (main): Set stdin to binary mode.
25974         * modules/yesno-tests (Depends-on): Add binary-io.
25975
25976 2008-04-27  Bruno Haible  <bruno@clisp.org>
25977
25978         Fix 'isfinite' on x86, x86_64, ia64 platforms.
25979         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
25980         argument that lie outside the IEEE 854 domain.
25981         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
25982         (gl_ISFINITE): Use it.
25983         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
25984
25985 2008-04-27  Bruno Haible  <bruno@clisp.org>
25986
25987         Allow local renaming in config.h.
25988         * lib/memrchr.c (memrchr): Don't undefine outside libc.
25989
25990 2008-04-27  Bruno Haible  <bruno@clisp.org>
25991
25992         * lib/memchr.c (__memchr): Change type of 'i'.
25993         * lib/memchr2.c (memchr2): Likewise.
25994
25995 2008-04-26  Eric Blake  <ebb9@byu.net>
25996         and Bruno Haible  <bruno@clisp.org>
25997
25998         Optimize and test memrchr.
25999         * modules/memrchr (Depends-on): Add intprops.
26000         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
26001         * modules/memrchr-tests: New file.
26002         * tests/test-memrchr.c: New file.
26003
26004 2008-04-26  Bruno Haible  <bruno@clisp.org>
26005
26006         Add tentative support for DragonFly BSD.
26007         * lib/stdio-impl.h: Add macros for DragonFly BSD.
26008         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
26009         fp.
26010         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
26011         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
26012         * lib/fpurge.c (fpurge): Likewise.
26013         * lib/freadable.c (freaadable): Likewise.
26014         * lib/freadahead.c (freadahead): Likewise.
26015         * lib/freading.c (freading): Likewise.
26016         * lib/freadptr.c (freadptr): Likewise.
26017         * lib/freadseek.c (freadptrinc): Likewise.
26018         * lib/fseeko.c (fseeko): Likewise.
26019         * lib/fseterr.c (fseterr): Likewise.
26020         * lib/fwritable.c (fwritable): Likewise.
26021         * lib/fwriting.c (fwriting): Likewise.
26022
26023 2008-04-26  Bruno Haible  <bruno@clisp.org>
26024
26025         * lib/stdio-impl.h: New file.
26026         * lib/fbufmode.c: Include stdio-impl.h.
26027         (fbufmode): Use fp_, remove redundant #defines.
26028         * lib/fflush.c: Include stdio-impl.h.
26029         (clear_ungetc_buffer): Remove redundant #defines.
26030         * lib/fpurge.c: Include stdio-impl.h.
26031         (fpurge): Remove redundant #defines.
26032         * lib/freadable.c: Include stdio-impl.h.
26033         (freadable): Remove redundant #defines.
26034         * lib/freadahead.c: Include stdio-impl.h.
26035         (freadahead): Remove redundant #defines.
26036         * lib/freading.c: Include stdio-impl.h.
26037         (freading): Remove redundant #defines.
26038         * lib/freadptr.c: Include stdio-impl.h.
26039         (freadptr): Remove redundant #defines.
26040         * lib/freadseek.c: Include stdio-impl.h.
26041         (freadptrinc): Remove redundant #defines.
26042         * lib/fseeko.c: Include stdio-impl.h.
26043         (rpl_fseeko): Remove redundant #defines.
26044         * lib/fseterr.c: Include stdio-impl.h.
26045         (fseterr): Remove redundant #defines.
26046         * lib/fwritable.c: Include stdio-impl.h.
26047         (fwritable: Remove redundant #defines.
26048         * lib/fwriting.c: Include stdio-impl.h.
26049         (fwriting): Remove redundant #defines.
26050         * modules/fbufmode (Files): Add lib/stdio-impl.h.
26051         * modules/fflush (Files): Likewise.
26052         * modules/fpurge (Files): Likewise.
26053         * modules/freadable (Files): Likewise.
26054         * modules/freadahead (Files): Likewise.
26055         * modules/freading (Files): Likewise.
26056         * modules/freadptr (Files): Likewise.
26057         * modules/freadseek (Files): Likewise.
26058         * modules/fseeko (Files): Likewise.
26059         * modules/fseterr (Files): Likewise.
26060         * modules/fwritable (Files): Likewise.
26061         * modules/fwriting (Files): Likewise.
26062
26063 2008-04-26  Bruno Haible  <bruno@clisp.org>
26064
26065         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
26066         restore_seek_optimization, update_fpos_cache): New functions, extracted
26067         from rpl_fflush.
26068         (rpl_fflush): Use them.
26069         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
26070         (gl_REPLACE_FFLUSH): Use it.
26071
26072 2008-04-26  Bruno Haible  <bruno@clisp.org>
26073
26074         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
26075         on Solaris.
26076         * tests/test-xstrtoimax.sh: Likewise.
26077         * tests/test-xstrtoumax.sh: Likewise.
26078         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
26079
26080 2008-04-26  Bruno Haible  <bruno@clisp.org>
26081
26082         * modules/memchr-tests: New file.
26083         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
26084
26085 2008-04-26  Eric Blake  <ebb9@byu.net>
26086             Bruno Haible  <bruno@clisp.org>
26087
26088         * lib/memchr.c: Include intprops.h.
26089         (__memchr): Optimize parallel detection of matching bytes. Rename local
26090         variables. Add explanatory comments.
26091
26092 2008-04-26  Bruno Haible  <bruno@clisp.org>
26093
26094         Fix module 'memchr', broken since 2000-10-28.
26095         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
26096
26097 2008-04-26  Bruno Haible  <bruno@clisp.org>
26098
26099         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
26100         comments.
26101
26102 2008-04-25  Eric Blake  <ebb9@byu.net>
26103
26104         Use native fstatat on cygwin 1.7.0.
26105         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
26106         first.
26107
26108 2008-04-23  Eric Blake  <ebb9@byu.net>
26109
26110         Improve memchr2 performance.
26111         * lib/memchr2.c (memchr2): Further optimize parallel detection of
26112         NUL bytes.
26113         * modules/memchr2 (Depends-on): Use intprops.h.
26114
26115 2008-04-23  Simon Josefsson  <simon@josefsson.org>
26116
26117         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
26118         an inline function instead of a CPP macro.  Patch by Ben Pfaff
26119         <blp@cs.stanford.edu>.
26120
26121 2008-04-23  Simon Josefsson  <simon@josefsson.org>
26122
26123         * lib/arpa_inet.in.h: New file.
26124
26125         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
26126         (Makefile.am): Sed in substitute header file.
26127
26128         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
26129         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
26130
26131         * modules/inet_ntop (configure.ac): Use
26132         gl_ARPA_INET_MODULE_INDICATOR.
26133
26134         * modules/inet_pton (configure.ac): Use
26135         gl_ARPA_INET_MODULE_INDICATOR.
26136
26137 2008-04-22  Jim Meyering  <meyering@redhat.com>
26138
26139         * modules/verify (License): Re-license as LGPLv2+.
26140
26141 2008-04-22  Simon Josefsson  <simon@josefsson.org>
26142
26143         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
26144         parameter to void* as per POSIX standard (MinGW uses char*).
26145
26146 2008-04-21  Bruno Haible  <bruno@clisp.org>
26147
26148         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
26149         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
26150         Define to replacements if REPLACE_ISWCNTRL is 1.
26151         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
26152         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
26153         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
26154         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
26155         what it fixes.
26156         * doc/posix-functions/iswalpha.texi: Likewise.
26157         * doc/posix-functions/iswblank.texi: Likewise.
26158         * doc/posix-functions/iswcntrl.texi: Likewise.
26159         * doc/posix-functions/iswdigit.texi: Likewise.
26160         * doc/posix-functions/iswgraph.texi: Likewise.
26161         * doc/posix-functions/iswlower.texi: Likewise.
26162         * doc/posix-functions/iswprint.texi: Likewise.
26163         * doc/posix-functions/iswpunct.texi: Likewise.
26164         * doc/posix-functions/iswspace.texi: Likewise.
26165         * doc/posix-functions/iswupper.texi: Likewise.
26166         * doc/posix-functions/iswxdigit.texi: Likewise.
26167         Reported by Alain Guibert.
26168
26169 2008-04-21  Bruno Haible  <bruno@clisp.org>
26170
26171         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
26172         Patch by Alain Guibert.
26173
26174 2008-04-21  Bruno Haible  <bruno@clisp.org>
26175
26176         Fix test failures on mingw.
26177         * tests/test-xstrtol.c (print_no_progname): New function.
26178         (main): Install it in error_print_progname hook.
26179         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
26180         * tests/test-xstrtoimax.sh: Likewise.
26181         * tests/test-xstrtoumax.sh: Likewise.
26182
26183 2008-04-21  Bruno Haible  <bruno@clisp.org>
26184
26185         Fix test failure on mingw.
26186         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
26187
26188 2008-04-21  Bruno Haible  <bruno@clisp.org>
26189
26190         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
26191         Actually assign a value.
26192
26193 2008-04-20  Bruno Haible  <bruno@clisp.org>
26194
26195         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
26196         take 2.
26197         * lib/canonicalize.c (canonicalize_file_name): Elide if the
26198         'canonicalize-lgpl' module is also used.
26199         * lib/canonicalize-lgpl.c: Undo last change.
26200         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
26201
26202 2008-04-20  Bruno Haible  <bruno@clisp.org>
26203
26204         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
26205         config.h. Provide _mkdir based fallback for mingw.
26206         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
26207         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
26208         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
26209         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
26210         rather than defining mkdir in config.h.
26211         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
26212         (gl_SYS_STAT_H_DEFAULTS): New macro.
26213         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
26214         HAVE_IO_H any more.
26215         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
26216         HAVE_DECL_MKDIR and HAVE_IO_H.
26217
26218 2008-04-20  Bruno Haible  <bruno@clisp.org>
26219
26220         * lib/isapipe.c: Port to native Windows platforms.
26221
26222 2008-04-20  Bruno Haible  <bruno@clisp.org>
26223
26224         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
26225
26226 2008-04-21  Eric Blake  <ebb9@byu.net>
26227
26228         Work around preprocessors that don't handle UINTMAX_MAX.
26229         * lib/memchr2.c (memchr2): Avoid embedded #if.
26230         Reported by Alain Guibert, fix suggested by Bruno Haible.
26231
26232 2008-04-21  Simon Josefsson  <simon@josefsson.org>
26233
26234         * doc/posix-functions/strftime.texi (strftime): Explain better
26235         Windows incompatibility.  Suggested by Micah Cowan
26236         <micah@cowan.name>.
26237
26238 2008-04-20  Bruno Haible  <bruno@clisp.org>
26239
26240         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
26241         unistr/u8-mblen.
26242
26243 2008-04-20  Bruno Haible  <bruno@clisp.org>
26244
26245         Fix test failure on platforms with non-GNU iconv.
26246         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
26247         (U_TO_U8): Use it, rather than u16_to_u8.
26248         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
26249         units at the end of the input string.
26250         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
26251
26252 2008-04-20  Bruno Haible  <bruno@clisp.org>
26253
26254         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
26255         when the resulting length is 0.
26256         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
26257
26258 2008-04-20  Bruno Haible  <bruno@clisp.org>
26259
26260         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
26261         works.
26262         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
26263
26264 2008-04-20  Bruno Haible  <bruno@clisp.org>
26265
26266         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
26267         * modules/tsearch-tests (configure.ac): Test for initstate function.
26268
26269 2008-04-20  Bruno Haible  <bruno@clisp.org>
26270
26271         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
26272         for nlink_t if missing.
26273         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
26274
26275 2008-04-19  Bruno Haible  <bruno@clisp.org>
26276
26277         Work around snprintf bug on Linux libc5.
26278         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
26279         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
26280         gl_SNPRINTF_SIZE1.
26281         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
26282         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
26283         that test failed.
26284         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
26285         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
26286         * modules/snprintf (Files): Add m4/printf.m4.
26287         * modules/vsnprintf (Files): Likewise.
26288         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
26289         * doc/posix-functions/vsnprintf.texi: Likewise.
26290
26291 2008-04-19  Bruno Haible  <bruno@clisp.org>
26292
26293         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
26294         from 0.0058 to less than 10^-7.
26295
26296 2008-04-19  Bruno Haible  <bruno@clisp.org>
26297
26298         Fix rounding when a precision is given.
26299         * lib/vasnprintf.c (is_borderline): New function.
26300         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
26301         9...9x.
26302         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
26303         %e, %g.
26304         * tests/test-vasprintf-posix.c (test_function): Likewise.
26305         * tests/test-snprintf-posix.h (test_function): Likewise.
26306         * tests/test-sprintf-posix.h (test_function): Likewise.
26307         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
26308         * tests/test-printf-posix.h (test_function): Likewise.
26309         * tests/test-printf-posix.output: Update.
26310         Reported by John Darrington <john@darrington.wattle.id.au> via
26311         Ben Pfaff <blp@cs.stanford.edu>.
26312
26313 2008-04-18  Simon Josefsson  <simon@josefsson.org>
26314
26315         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
26316         Suggested by Bruno Haible <bruno@clisp.org>.
26317
26318 2008-04-17  Bruno Haible  <bruno@clisp.org>
26319
26320         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
26321         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
26322         implementation.
26323         Patch by Bruce Merry <bmerry@gmail.com>.
26324
26325 2008-04-17  Simon Josefsson  <simon@josefsson.org>
26326
26327         * doc/posix-functions/strftime.texi (strftime): Mention that %e
26328         doesn't work under Windows.
26329
26330 2008-04-16  Bruno Haible  <bruno@clisp.org>
26331
26332         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
26333         New macros.
26334         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
26335         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
26336         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
26337         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
26338         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
26339         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
26340         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
26341         macros.
26342         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
26343         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
26344         Northern Sotho, Uighur.
26345
26346 2008-04-16  Bruno Haible  <bruno@clisp.org>
26347
26348         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
26349         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
26350         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
26351         Reported by Daniel Bergström <daniel@octocode.com>.
26352
26353 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
26354             Bruno Haible  <bruno@clisp.org>
26355
26356         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
26357         function.
26358         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
26359         New functions, mostly extracted from gl_locale_name_default.
26360         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
26361
26362 2008-04-16  Eric Blake  <ebb9@byu.net>
26363
26364         Adjust strtod detection to catch glibc 2.7 bug.
26365         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
26366         Reported by John Gatewood Ham.
26367
26368 2008-04-16  Bruno Haible  <bruno@clisp.org>
26369
26370         Add tentative support for Linux libc5.
26371         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
26372         * lib/fpurge.c (fpurge): Likewise.
26373         * lib/freadable.c (freadable): Likewise.
26374         * lib/freadahead.c (freadahead): Likewise.
26375         * lib/freading.c (freading): Likewise.
26376         * lib/freadptr.c (freadptr): Likewise.
26377         * lib/freadseek.c (freadptrinc): Likewise.
26378         * lib/fseeko.c (rpl_fseeko): Likewise.
26379         * lib/fseterr.c (fseterr): Likewise.
26380         * lib/fwritable.c (fwritable): Likewise.
26381         * lib/fwriting.c (fwriting): Likewise.
26382         Reported by Alain Guibert <alguibert+bts@free.fr>.
26383
26384 2008-04-15  Bruno Haible  <bruno@clisp.org>
26385
26386         * modules/mathl (configure.ac): Define module indicator.
26387
26388 2008-04-15  Bruno Haible  <bruno@clisp.org>
26389
26390         * lib/logl.c (logl): Remove unused variables.
26391
26392 2008-04-15  Bruno Haible  <bruno@clisp.org>
26393
26394         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
26395         fails.
26396
26397 2008-04-15  Bruno Haible  <bruno@clisp.org>
26398
26399         * lib/trim.c (trim2): Fix argument of isspace() macro.
26400
26401 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
26402
26403         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
26404         to 0.
26405         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
26406
26407 2008-04-14  Bruno Haible  <bruno@clisp.org>
26408
26409         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
26410         AC_LANG_PROGRAM argument.
26411         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
26412         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
26413         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
26414         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
26415         * m4/math_h.m4 (gl_MATH_H): Likewise.
26416         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
26417         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
26418         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
26419         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
26420         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
26421         * m4/regex.m4 (gl_REGEX): Likewise.
26422         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
26423         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
26424         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
26425         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
26426         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
26427         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
26428         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
26429         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
26430
26431 2008-04-14  Jim Meyering  <meyering@redhat.com>
26432
26433         test-strtod: fix typos: s/abs/fabs/
26434         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
26435
26436 2008-04-13  Bruno Haible  <bruno@clisp.org>
26437
26438         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
26439         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
26440         module is also used and while not building the reloc-wrapper.
26441
26442 2008-04-13  Bruno Haible  <bruno@clisp.org>
26443
26444         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
26445
26446 2008-04-13  Bruno Haible  <bruno@clisp.org>
26447
26448         Fix AIX compilation failure introduced on 2008-04-02.
26449         * tests/test-frexp.c (exp): Undefine before redefining.
26450         * tests/test-frexpl.c (exp): Likewise.
26451
26452 2008-04-13  Bruno Haible  <bruno@clisp.org>
26453
26454         Work around a HP-UX stdio bug.
26455         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
26456         * tests/test-ftello.c (main): Likewise.
26457         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
26458         * doc/posix-functions/ftello.texi: Likewise.
26459
26460 2008-04-13  Bruno Haible  <bruno@clisp.org>
26461
26462         Make test-signbit pass on HP-UX/hppa.
26463         * tests/test-signbit.c (minus_zerol): New variable.
26464         (test_signbitl): Use it.
26465
26466 2008-04-13  Bruno Haible  <bruno@clisp.org>
26467
26468         Make truncl work on OSF/1 4.0.
26469         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
26470         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
26471         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
26472         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
26473         HAVE_DECL_TRUNCL.
26474         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
26475         HAVE_DECL_TRUNCL.
26476         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
26477
26478 2008-04-13  Bruno Haible  <bruno@clisp.org>
26479
26480         * lib/unictype.h: Remove trailing comma from enumeration definitions.
26481
26482 2008-04-13  Bruno Haible  <bruno@clisp.org>
26483
26484         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
26485         expression, so as to avoid HP-UX 11 cc compiler bug.
26486
26487 2008-04-13  Bruno Haible  <bruno@clisp.org>
26488
26489         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
26490
26491 2008-04-13  Bruno Haible  <bruno@clisp.org>
26492
26493         * lib/git-merge-changelog.c: Remove empty declaration outside of
26494         functions.
26495
26496 2008-04-13  Bruno Haible  <bruno@clisp.org>
26497
26498         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
26499
26500 2008-04-13  Bruno Haible  <bruno@clisp.org>
26501
26502         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
26503         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
26504         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
26505         also if it exists but lacks definitions of the SHUT_* macros.
26506         * modules/sys_socket (Description): Update.
26507         Reported by Elbert Pol <e.pol@chello.nl>.
26508
26509 2008-04-13  Bruno Haible  <bruno@clisp.org>
26510
26511         * lib/localcharset.c (OS2): Don't redefine if already defined.
26512         Reported by Elbert Pol <e.pol@chello.nl>.
26513
26514 2008-04-13  Bruno Haible  <bruno@clisp.org>
26515
26516         * lib/binary-io.h [__EMX__]: Include <io.h>.
26517         Reported by Elbert Pol <e.pol@chello.nl>.
26518
26519 2008-04-12  Bruno Haible  <bruno@clisp.org>
26520
26521         * lib/fpucw.h: Enable the definitions also for x86_64.
26522         Needed for NetBSD/x86_64.
26523         Reported by Thomas Klausner <tk@giga.or.at>.
26524
26525 2008-04-12  Bruno Haible  <bruno@clisp.org>
26526
26527         * tests/test-strtod.c: Include isnand.h.
26528         (main): Use isnand instead of isnan.
26529         Reported by Jim Meyering.
26530
26531 2008-04-12  Bruno Haible  <bruno@clisp.org>
26532
26533         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
26534         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
26535
26536 2008-04-12  Jim Meyering  <meyering@redhat.com>
26537
26538         * m4/math_h.m4 (gl_MATH_H): Fix typos.
26539
26540 2008-04-12  Bruno Haible  <bruno@clisp.org>
26541
26542         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
26543         Reported by Elbert Pol <e.pol@chello.nl>.
26544
26545 2008-04-12  Eric Blake  <ebb9@byu.net>
26546
26547         Work around Solaris 10 math.h bug.
26548         * m4/math_h.m4 (gl_MATH_H): Check for bug.
26549         (gl_MATH_H_DEFAULTS): Set up default.
26550         * modules/math (Makefile.am): Replace new indicators.
26551         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
26552         * tests/test-math.c (main): Test this.
26553         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
26554         * doc/posix-headers/math.texi (math.h): Mention bug.
26555         Reported by Nelson H. F. Beebe and Jim Meyering.
26556
26557 2008-04-11  Bruno Haible  <bruno@clisp.org>
26558
26559         Adapt to future versions of Apple GCC.
26560         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
26561         Reported by Peter O'Gorman <peter@pogma.com>.
26562
26563 2008-04-11  Bruno Haible  <bruno@clisp.org>
26564
26565         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
26566
26567 2008-04-11  Bruno Haible  <bruno@clisp.org>
26568
26569         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
26570
26571         * modules/getaddrinfo-tests (Makefile.am): Define
26572         test_getaddrinfo_LDADD.
26573
26574 2008-04-11  Bruno Haible  <bruno@clisp.org>
26575
26576         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
26577         (init): Fix syntax error.
26578         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
26579         is declared.
26580
26581 2008-04-11  Bruno Haible  <bruno@clisp.org>
26582
26583         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
26584         * modules/glob (Depends-on): Add stdbool.
26585
26586 2008-04-11  Bruno Haible  <bruno@clisp.org>
26587
26588         * lib/trim.c: Include <string.h>.
26589
26590 2008-04-11  Eric Blake  <ebb9@byu.net>
26591
26592         Avoid compile failure on OS/2.
26593         * lib/regex_internal.h (internal_function): Disable optimization
26594         on OS/2 (__EMX__), where it caused compiler error.
26595         Reported by Elbert Pol.
26596
26597 2008-04-11  Bruno Haible  <bruno@clisp.org>
26598
26599         Flush the standard error stream before aborting. Needed on mingw.
26600         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
26601         * tests/test-array_list.c (ASSERT): Likewise.
26602         * tests/test-array_oset.c (ASSERT): Likewise.
26603         * tests/test-avltree_list.c (ASSERT): Likewise.
26604         * tests/test-avltree_oset.c (ASSERT): Likewise.
26605         * tests/test-avltreehash_list.c (ASSERT): Likewise.
26606         * tests/test-binary-io.c (ASSERT): Likewise.
26607         * tests/test-byteswap.c (ASSERT): Likewise.
26608         * tests/test-c-ctype.c (ASSERT): Likewise.
26609         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
26610         * tests/test-c-strcasestr.c (ASSERT): Likewise.
26611         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
26612         * tests/test-c-strstr.c (ASSERT): Likewise.
26613         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
26614         * tests/test-canonicalize.c (ASSERT): Likewise.
26615         * tests/test-carray_list.c (ASSERT): Likewise.
26616         * tests/test-ceilf1.c (ASSERT): Likewise.
26617         * tests/test-ceilf2.c (ASSERT): Likewise.
26618         * tests/test-ceill.c (ASSERT): Likewise.
26619         * tests/test-count-one-bits.c (ASSERT): Likewise.
26620         * tests/test-fbufmode.c (ASSERT): Likewise.
26621         * tests/test-fflush2.c (ASSERT): Likewise.
26622         * tests/test-floorf1.c (ASSERT): Likewise.
26623         * tests/test-floorf2.c (ASSERT): Likewise.
26624         * tests/test-floorl.c (ASSERT): Likewise.
26625         * tests/test-fopen.c (ASSERT): Likewise.
26626         * tests/test-fpending.c (ASSERT): Likewise.
26627         * tests/test-fprintf-posix.c (ASSERT): Likewise.
26628         * tests/test-fpurge.c (ASSERT): Likewise.
26629         * tests/test-freadable.c (ASSERT): Likewise.
26630         * tests/test-freadahead.c (ASSERT): Likewise.
26631         * tests/test-freading.c (ASSERT): Likewise.
26632         * tests/test-freadptr.c (ASSERT): Likewise.
26633         * tests/test-freadptr2.c (ASSERT): Likewise.
26634         * tests/test-freadseek.c (ASSERT): Likewise.
26635         * tests/test-freopen.c (ASSERT): Likewise.
26636         * tests/test-frexp.c (ASSERT): Likewise.
26637         * tests/test-frexpl.c (ASSERT): Likewise.
26638         * tests/test-fseek.c (ASSERT): Likewise.
26639         * tests/test-fseeko.c (ASSERT): Likewise.
26640         * tests/test-fstrcmp.c (ASSERT): Likewise.
26641         * tests/test-ftell.c (ASSERT): Likewise.
26642         * tests/test-ftello.c (ASSERT): Likewise.
26643         * tests/test-func.c (ASSERT): Likewise.
26644         * tests/test-fwritable.c (ASSERT): Likewise.
26645         * tests/test-fwriting.c (ASSERT): Likewise.
26646         * tests/test-getdelim.c (ASSERT): Likewise.
26647         * tests/test-getline.c (ASSERT): Likewise.
26648         * tests/test-i-ring.c (ASSERT): Likewise.
26649         * tests/test-iconv-utf.c (ASSERT): Likewise.
26650         * tests/test-iconv.c (ASSERT): Likewise.
26651         * tests/test-isfinite.c (ASSERT): Likewise.
26652         * tests/test-isnand.c (ASSERT): Likewise.
26653         * tests/test-isnanf.c (ASSERT): Likewise.
26654         * tests/test-isnanl.h (ASSERT): Likewise.
26655         * tests/test-ldexpl.c (ASSERT): Likewise.
26656         * tests/test-linked_list.c (ASSERT): Likewise.
26657         * tests/test-linkedhash_list.c (ASSERT): Likewise.
26658         * tests/test-localename.c (ASSERT): Likewise.
26659         * tests/test-lseek.c (ASSERT): Likewise.
26660         * tests/test-mbscasecmp.c (ASSERT): Likewise.
26661         * tests/test-mbscasestr1.c (ASSERT): Likewise.
26662         * tests/test-mbscasestr2.c (ASSERT): Likewise.
26663         * tests/test-mbscasestr3.c (ASSERT): Likewise.
26664         * tests/test-mbscasestr4.c (ASSERT): Likewise.
26665         * tests/test-mbschr.c (ASSERT): Likewise.
26666         * tests/test-mbscspn.c (ASSERT): Likewise.
26667         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
26668         * tests/test-mbspbrk.c (ASSERT): Likewise.
26669         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
26670         * tests/test-mbsrchr.c (ASSERT): Likewise.
26671         * tests/test-mbsspn.c (ASSERT): Likewise.
26672         * tests/test-mbsstr1.c (ASSERT): Likewise.
26673         * tests/test-mbsstr2.c (ASSERT): Likewise.
26674         * tests/test-mbsstr3.c (ASSERT): Likewise.
26675         * tests/test-memchr2.c (ASSERT): Likewise.
26676         * tests/test-memmem.c (ASSERT): Likewise.
26677         * tests/test-open.c (ASSERT): Likewise.
26678         * tests/test-printf-frexp.c (ASSERT): Likewise.
26679         * tests/test-printf-frexpl.c (ASSERT): Likewise.
26680         * tests/test-printf-posix.c (ASSERT): Likewise.
26681         * tests/test-quotearg.c (ASSERT): Likewise.
26682         * tests/test-rbtree_list.c (ASSERT): Likewise.
26683         * tests/test-rbtree_oset.c (ASSERT): Likewise.
26684         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
26685         * tests/test-round1.c (ASSERT): Likewise.
26686         * tests/test-roundf1.c (ASSERT): Likewise.
26687         * tests/test-roundl.c (ASSERT): Likewise.
26688         * tests/test-signbit.c (ASSERT): Likewise.
26689         * tests/test-sleep.c (ASSERT): Likewise.
26690         * tests/test-snprintf-posix.c (ASSERT): Likewise.
26691         * tests/test-snprintf.c (ASSERT): Likewise.
26692         * tests/test-sprintf-posix.c (ASSERT): Likewise.
26693         * tests/test-stat-time.c (ASSERT): Likewise.
26694         * tests/test-strcasestr.c (ASSERT): Likewise.
26695         * tests/test-strerror.c (ASSERT): Likewise.
26696         * tests/test-striconv.c (ASSERT): Likewise.
26697         * tests/test-striconveh.c (ASSERT): Likewise.
26698         * tests/test-striconveha.c (ASSERT): Likewise.
26699         * tests/test-strsignal.c (ASSERT): Likewise.
26700         * tests/test-strstr.c (ASSERT): Likewise.
26701         * tests/test-strtod.c (ASSERT): Likewise.
26702         * tests/test-trunc1.c (ASSERT): Likewise.
26703         * tests/test-trunc2.c (ASSERT): Likewise.
26704         * tests/test-truncf1.c (ASSERT): Likewise.
26705         * tests/test-truncf2.c (ASSERT): Likewise.
26706         * tests/test-truncl.c (ASSERT): Likewise.
26707         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
26708         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
26709         * tests/test-vasnprintf.c (ASSERT): Likewise.
26710         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
26711         * tests/test-vasprintf.c (ASSERT): Likewise.
26712         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
26713         * tests/test-vprintf-posix.c (ASSERT): Likewise.
26714         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
26715         * tests/test-vsnprintf.c (ASSERT): Likewise.
26716         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
26717         * tests/test-wcwidth.c (ASSERT): Likewise.
26718         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
26719         * tests/test-xprintf-posix.c (ASSERT): Likewise.
26720         * tests/test-xvasprintf.c (ASSERT): Likewise.
26721         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
26722         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
26723         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
26724         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
26725         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
26726         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
26727         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
26728         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
26729         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
26730         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
26731         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
26732         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
26733         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
26734         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
26735         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
26736         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
26737         * tests/unictype/test-block_list.c (ASSERT): Likewise.
26738         * tests/unictype/test-block_of.c (ASSERT): Likewise.
26739         * tests/unictype/test-block_test.c (ASSERT): Likewise.
26740         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
26741         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
26742         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
26743         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
26744         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
26745         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
26746         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
26747         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
26748         * tests/unictype/test-combining.c (ASSERT): Likewise.
26749         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
26750         * tests/unictype/test-digit.c (ASSERT): Likewise.
26751         * tests/unictype/test-mirror.c (ASSERT): Likewise.
26752         * tests/unictype/test-numeric.c (ASSERT): Likewise.
26753         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
26754         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
26755         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
26756         * tests/unictype/test-scripts.c (ASSERT): Likewise.
26757         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
26758         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
26759         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
26760         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
26761         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
26762         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
26763         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
26764         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
26765         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
26766         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
26767         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
26768         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
26769         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
26770         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
26771         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
26772         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
26773         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
26774         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
26775         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
26776         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
26777         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
26778         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
26779         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
26780         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
26781         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
26782         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
26783         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
26784         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
26785         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
26786         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
26787         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
26788         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
26789         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
26790         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
26791         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
26792         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
26793         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
26794         Reported by Eric Blake.
26795
26796 2008-04-11  Bruno Haible  <bruno@clisp.org>
26797
26798         * lib/wchar.in.h: Tweak comment.
26799
26800 2008-04-11  Bruno Haible  <bruno@clisp.org>
26801
26802         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
26803         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
26804         gl_COMMON.
26805         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
26806
26807 2008-04-11  Bruno Haible  <bruno@clisp.org>
26808
26809         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
26810
26811 2008-04-11  Simon Josefsson  <simon@josefsson.org>
26812
26813         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
26814         of attempting to use non-existing /dev/*random.  Based on patch
26815         from Adam Strzelecki <ono@java.pl> in
26816         <http://lists.gnu.org/archive/html/help-gsasl/2008-02/msg00000.html>.
26817
26818 2008-04-08  Bruno Haible  <bruno@clisp.org>
26819
26820         Add tentative support for emx+gcc.
26821         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
26822         * lib/fpurge.c (fpurge): Likewise.
26823         * lib/freadable.c (freadable): Likewise.
26824         * lib/freadahead.c (freadahead): Likewise.
26825         * lib/freading.c (freading): Likewise.
26826         * lib/freadptr.c (freadptr): Likewise.
26827         * lib/freadseek.c (freadptrinc): Likewise.
26828         * lib/fseeko.c (rpl_fseeko): Likewise.
26829         * lib/fseterr.c (fseterr): Likewise.
26830         * lib/fwritable.c (fwritable): Likewise.
26831         * lib/fwriting.c (fwriting): Likewise.
26832         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
26833
26834 2008-04-09  Eric Blake  <ebb9@byu.net>
26835
26836         Avoid some autoconf warnings.
26837         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
26838         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
26839         * m4/afs.m4 (gl_AFS): Likewise.
26840         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
26841         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
26842         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
26843         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
26844         (gl_INTEGER_TYPE_SUFFIX): Likewise.
26845         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
26846         (AC_CHECK_DECLS_ONCE): Likewise.
26847         Rename file...
26848         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
26849         gnulib-tool requires autoconf 2.59 or better.
26850         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
26851
26852 2008-04-08  Eric Blake  <ebb9@byu.net>
26853
26854         Use 'git describe --match' if present (added in git 1.5.5).
26855         * build-aux/git-version-gen: Limit result to tags that match 'v*'
26856         if possible.
26857
26858 2008-04-08  Bruno Haible  <bruno@clisp.org>
26859
26860         Add tentative support for OpenServer.
26861         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
26862         _ptr, _cnt.
26863         * lib/fpurge.c (fpurge): Likewise.
26864         * lib/freadable.c (freadable): Likewise.
26865         * lib/freadahead.c (freadahead): Likewise.
26866         * lib/freading.c (freading): Likewise.
26867         * lib/freadptr.c (freadptr): Likewise.
26868         * lib/freadseek.c (freadptrinc): Likewise.
26869         * lib/fseeko.c (rpl_fseeko): Likewise.
26870         * lib/fseterr.c (fseterr): Likewise.
26871         * lib/fwritable.c (fwritable): Likewise.
26872         * lib/fwriting.c (fwriting): Likewise.
26873         Reported by Roger Cornelius <rac@tenzing.org> and
26874         Brian K. White <brian@aljex.com>.
26875
26876 2008-04-06  Jim Meyering  <meyering@redhat.com>
26877
26878         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
26879
26880 2008-04-06  Bruno Haible  <bruno@clisp.org>
26881
26882         Avoid possible error with non-ASCII bytes in UTF-8 locales.
26883         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
26884         * tests/test-printf-posix.sh: Likewise.
26885         * tests/test-vfprintf-posix.sh: Likewise.
26886         * tests/test-vprintf-posix.sh: Likewise.
26887         * tests/test-xprintf-posix.sh: Likewise.
26888
26889 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26890
26891         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
26892         hide error from 'ls', needed on OS/2.
26893         Report by Elbert Pol <elbert.pol@gmail.com>.
26894
26895 2008-04-04  Eric Blake  <ebb9@byu.net>
26896
26897         Make test-fseeko.c failures meaningful.
26898         * tests/test-fseeko.c: Print line number on failure.
26899         * tests/test-fseek.c: Likewise.
26900         Reported by Nelson H. F. Beebe.
26901
26902         Improve strtod bug detection check.
26903         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
26904         required for Solaris 10.
26905         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
26906
26907 2008-04-04  Bruno Haible  <bruno@clisp.org>
26908
26909         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
26910         by m4/setenv.m4.
26911
26912 2008-04-03  Eric Blake  <ebb9@byu.net>
26913
26914         Ensure sane .version contents.
26915         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
26916         version string.
26917         * build-aux/git-version-gen: Improve documentation.
26918
26919         Make GNU make output nicer.
26920         * top/GNUmakefile [!_have-Makefile]: Add dependency on
26921         MAKECMDGOALS to enforce message for all command line targets.  Set
26922         srcdir for use in maint.mk.
26923
26924         Another maintainer tweak.
26925         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
26926         a target that regenerates version.
26927
26928 2008-04-03  Jim Meyering  <meyering@redhat.com>
26929
26930         vc-list-files: don't cause coreutils "make po-check" failure
26931         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
26932
26933 2008-04-03  Eric Blake  <ebb9@byu.net>
26934
26935         Allow VPATH usage of vc-list-files.
26936         * build-aux/vc-list-files (scriptversion): Add timestamp.
26937         (options): Add --help, --version, -C.
26938         (CVS): Support installed cvsu.
26939
26940 2008-04-02  Bruno Haible  <bruno@clisp.org>
26941
26942         Avoid some "statement with no effect" warnings from gcc.
26943         * tests/test-wctype.c (main): Explicitly ignore unused values.
26944         Reported by Jim Meyering.
26945
26946 2008-04-02  Jim Meyering  <meyering@redhat.com>
26947
26948         Avoid some warnings from "gcc -Wshadow".
26949         * tests/test-frexp.c (exp): Define to a different identifier.
26950         * tests/test-frexpl.c (exp): Likewise.
26951
26952 2008-04-03  Jim Meyering  <meyering@redhat.com>
26953
26954         bootstrap: remove dangling *.[ch] symlinks from lib
26955         * build-aux/bootstrap [dangling symlink removal]: Move find's
26956         -depth option to precede all others, to avoid a warning.
26957         Remove *.[ch] files too, and from "$source_base" (usually lib/).
26958
26959 2008-04-02  Bruno Haible  <bruno@clisp.org>
26960
26961         Avoid some warnings from "gcc -Wshadow".
26962         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
26963         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
26964         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
26965         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
26966         Reported by Jim Meyering.
26967
26968 2008-04-01  Bruno Haible  <bruno@clisp.org>
26969
26970         Fix test to work on IRIX 6.5 with cc.
26971         * tests/test-math.c (numeric_equal): New function.
26972         (main): Use it.
26973
26974 2008-04-01  Bruno Haible  <bruno@clisp.org>
26975
26976         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
26977
26978 2008-04-01  Bruno Haible  <bruno@clisp.org>
26979
26980         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
26981         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
26982         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
26983         (Depends-on): Remove math.
26984
26985         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
26986         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
26987         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
26988         (Depends-on): Remove math.
26989
26990         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
26991         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
26992         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
26993         (Depends-on): Remove math.
26994         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
26995         (Depends-on): Remove math.
26996
26997         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
26998         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
26999         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
27000         (Depends-on): Remove math.
27001         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
27002         (Depends-on): Remove math.
27003
27004         * tests/test-round1.c: Include nan.h.
27005         (main): Use NaNd instead of NAN.
27006         * modules/round-tests (Files): Add tests/nan.h.
27007
27008         * tests/test-trunc1.c: Include nan.h.
27009         (main): Use NaNd instead of NAN.
27010         * modules/trunc-tests (Files): Add tests/nan.h.
27011
27012         * tests/test-roundf1.c: Include nan.h.
27013         (main): Use NaNf instead of NAN.
27014         * modules/roundf-tests (Files): Add tests/nan.h.
27015
27016         * tests/test-truncf1.c: Include nan.h.
27017         (main): Use NaNf instead of NAN.
27018         * modules/truncf-tests (Files): Add tests/nan.h.
27019
27020         * tests/test-ceilf1.c: Include nan.h.
27021         (main): Use NaNf instead of NAN.
27022         * modules/ceilf-tests (Files): Add tests/nan.h.
27023
27024         * tests/test-floorf1.c: Include nan.h.
27025         (main): Use NaNf instead of NAN.
27026         * modules/floorf-tests (Files): Add tests/nan.h.
27027
27028         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
27029         (main): Use NaNf instead of NAN.
27030         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
27031
27032         * tests/test-isnand.c: Include nan.h instead of <math.h>.
27033         (main): Use NaNd instead of NAN.
27034         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
27035
27036         * tests/test-frexp.c: Include nan.h.
27037         (main): Use NaNd instead of NAN.
27038         * modules/frexp-tests (Files): Add tests/nan.h.
27039
27040         * lib/isnan.c: Don't include <math.h>.
27041         (FUNC): Don't use NAN macro.
27042         * modules/isnand-nolibm (Depends-on): Remove math.
27043         * modules/isnanf-nolibm (Depends-on): Remove math.
27044         * modules/isnanl (Depends-on): Remove math.
27045         * modules/isnanl-nolibm (Depends-on): Remove math.
27046
27047         * tests/nan.h: New file.
27048
27049 2008-04-01  Eric Blake  <ebb9@byu.net>
27050
27051         Fix typos.
27052         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
27053         values to be the right type.
27054
27055         For now, cater to gnulib strtod inaccuracies.
27056         * tests/test-strtod.c (main): Allow 1-ulp error on expected
27057         fractional results.  While not as nice from a QoI perspective, it
27058         is a quicker patch than correctly implementing decimal to binary
27059         rounding.
27060
27061 2008-03-31  Eric Blake  <ebb9@byu.net>
27062
27063         Guarantee a definition of NAN.
27064         * lib/math.in.h (NAN): Define if missing.
27065         * tests/test-math.c (main): Test it.
27066         * doc/posix-headers/math.texi (math.h): Document this.
27067         * lib/isnan.c (rpl_isnand): Use it.
27068         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
27069         * tests/test-floorf1.c (NaN): Likewise.
27070         * tests/test-frexp.c (NaN): Likewise.
27071         * tests/test-isnand.c (NaN): Likewise.
27072         * tests/test-isnanf.c (NaN): Likewise.
27073         * tests/test-round1.c (NaN): Likewise.
27074         * tests/test-roundf1.c (NaN): Likewise.
27075         * tests/test-snprintf-posix.h (NaN): Likewise.
27076         * tests/test-sprintf-posix.h (NaN): Likewise.
27077         * tests/test-trunc1.c (NaN): Likewise.
27078         * tests/test-truncf1.c (NaN): Likewise.
27079         * tests/test-vasnprintf-posix.c (NaN): Likewise.
27080         * tests/test-vasprintf-posix.c (NaN): Likewise.
27081         * modules/isnand-nolibm (Depends-on): Add math.
27082         * modules/isnanf-nolibm (Depends-on): Likewise.
27083         * modules/isnanl (Depends-on): Likewise.
27084         * modules/isnanl-nolibm (Depends-on): Likewise.
27085         * modules/snprintf-posix-tests (Depends-on): Likewise.
27086         * modules/sprintf-posix-tests (Depends-on): Likewise.
27087         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
27088         * modules/vsprintf-posix-tests (Depends-on): Likewise.
27089         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
27090         * modules/vasprintf-posix-tests (Depends-on): Likewise.
27091
27092 2008-03-31  Bruno Haible  <bruno@clisp.org>
27093
27094         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
27095         * doc/posix-functions/strtod.texi: Likewise.
27096
27097 2008-03-31  Bruno Haible  <bruno@clisp.org>
27098
27099         * tests/test-strtod.c (main): Don't use C99 syntax.
27100
27101 2008-03-31  Bruno Haible  <bruno@clisp.org>
27102
27103         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
27104         Reported by Eric Blake.
27105
27106 2008-03-31  Jim Meyering  <meyering@redhat.com>
27107
27108         Don't compare actual signbit return values.
27109         * tests/test-strtod.c (main): Rather, compare only their
27110         zero/non-zero nature.
27111
27112 2008-03-31  Eric Blake  <ebb9@byu.net>
27113
27114         More strtod documentation.
27115         * doc/posix-functions/strtod.texi (strtod): Interpret more test
27116         failures as distinct bugs.
27117
27118 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
27119
27120         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
27121         Problem reported by Erik Benada in
27122         <http://lists.gnu.org/archive/html/bug-gnulib/2008-03/msg00249.html>.
27123
27124 2008-03-30  Bruno Haible  <bruno@clisp.org>
27125
27126         * tests/test-strtod.c: Add comments about which assertion fails on which
27127         platform.
27128         * doc/posix-functions/strtod.texi: Add info about many more platforms.
27129
27130 2008-03-30  Eric Blake  <ebb9@byu.net>
27131
27132         Test signbit behavior on zeros.
27133         * tests/test-signbit.c (test_signbitf): Add tests for zero.
27134         (test_signbitd, test_signbitl): Likewise.
27135
27136         More strtod touchups.
27137         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
27138         sign of negative underflow, for now.  Use .5, not .1.
27139         * doc/posix-functions/strtod.texi (strtod): Mention these
27140         limitations.
27141         Reported by Jim Meyering.
27142
27143 2008-03-30  Bruno Haible  <bruno@clisp.org>
27144
27145         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
27146         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
27147
27148 2008-03-30  Bruno Haible  <bruno@clisp.org>
27149
27150         Avoid failure when attempting to return empty iconv results on some
27151         platforms.
27152         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
27153         allocation, don't report ENOMEM when the resulting string is empty.
27154
27155 2008-03-30  Bruno Haible  <bruno@clisp.org>
27156
27157         Fix buffer overrun.
27158         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
27159         Don't consider the width for tmp_length. Check count against tmp_length
27160         before doing the padding. Ensure enough allocation during padding.
27161
27162 2008-03-30  Eric Blake  <ebb9@byu.net>
27163
27164         strtod touchups.
27165         * lib/strtod.c (strtod): Avoid compiler warnings.
27166         Reported by Jim Meyering.
27167
27168 2008-03-30  Bruno Haible  <bruno@clisp.org>
27169
27170         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
27171         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
27172         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
27173         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
27174         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
27175         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
27176         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
27177         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
27178
27179         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
27180         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
27181         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
27182         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
27183         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
27184         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
27185         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
27186         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
27187
27188         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
27189         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
27190         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
27191         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
27192         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
27193         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
27194         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
27195         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
27196
27197         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
27198         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
27199
27200         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
27201         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
27202
27203         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
27204         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
27205
27206         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
27207         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
27208         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
27209
27210         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
27211         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
27212         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
27213
27214         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
27215         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
27216         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
27217
27218         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
27219         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
27220         * modules/vasprintf (Depends-on): Add EOVERFLOW.
27221
27222         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
27223         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
27224         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
27225         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
27226         (Depends-on): Add EOVERFLOW.
27227         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
27228         (Depends-on): Add EOVERFLOW.
27229         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
27230         (Depends-on): Add EOVERFLOW.
27231         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
27232         (Depends-on): Add EOVERFLOW.
27233         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
27234         (Depends-on): Add EOVERFLOW.
27235         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
27236         (Depends-on): Add EOVERFLOW.
27237         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
27238         (Depends-on): Add EOVERFLOW.
27239         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
27240         (Depends-on): Add EOVERFLOW.
27241
27242         * lib/sprintf.c (EOVERFLOW): Remove fallback.
27243         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
27244         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
27245
27246         * lib/snprintf.c (EOVERFLOW): Remove fallback.
27247         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
27248         * modules/snprintf (Depends-on): Add EOVERFLOW.
27249
27250         * lib/poll.c (EOVERFLOW): Remove fallback.
27251         * modules/poll (Depends-on): Add EOVERFLOW.
27252
27253         * lib/getugroups.c (EOVERFLOW): Remove fallback.
27254         * modules/getugroups (Depends-on): Add EOVERFLOW.
27255
27256         * lib/getdelim.c (EOVERFLOW): Remove fallback.
27257         * modules/getdelim (Depends-on): Add EOVERFLOW.
27258
27259         * lib/ftell.c (EOVERFLOW): Remove fallback.
27260         * modules/ftell (Depends-on): Add EOVERFLOW.
27261
27262         * lib/fprintf.c (EOVERFLOW): Remove fallback.
27263         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
27264         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
27265
27266         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
27267
27268         * modules/EOVERFLOW-tests: New file.
27269         * tests/test-EOVERFLOW.c: New file.
27270
27271         * modules/EOVERFLOW: New file.
27272         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
27273
27274 2008-03-30  Bruno Haible  <bruno@clisp.org>
27275
27276         Fix bug introduced on 2007-06-10.
27277         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
27278         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
27279
27280 2008-03-30  Bruno Haible  <bruno@clisp.org>
27281
27282         Improve freadseek's efficiency after ungetc.
27283         * lib/freadseek.c: Include freadahead.h.
27284         (freadptrinc): New function, extracted from freadseek.
27285         (freadseek): Use it in a loop. Use freadahead to determine the number
27286         of loop iterations.
27287         * modules/freadseek (Depends-on): Add freadahead.
27288         (configure.ac): Require AC_C_INLINE.
27289
27290 2008-03-30  Bruno Haible  <bruno@clisp.org>
27291
27292         * lib/freadseek.c (freadseek): Don't ignore the return value of
27293         freadptr.
27294
27295 2008-03-29  Eric Blake  <ebb9@byu.net>
27296
27297         Add hex float support.
27298         * modules/strtod (Depends-on): Add c-ctype.
27299         (Link): Mention POW_LIB.
27300         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
27301         whitespace between 'e' and exponent.
27302         * tests/test-strtod.c (main): Enable hex float tests.
27303         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
27304         now provides.
27305
27306         Document various strtod bugs, with some fixes.
27307         * doc/posix-functions/strtod.texi (strtod): Document bugs with
27308         "-0x", "inf", "nan", and hex constants.
27309         * doc/posix-functions/atof.texi (atof): Likewise.
27310         * modules/stdlib (Makefile.am): Support strtod.
27311         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
27312         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
27313         detect additional strtod bugs.
27314         * lib/stdlib.in.h (rpl_strtod): Add declarations.
27315         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
27316         bool where appropriate.  Parse 'inf' and 'nan'.
27317         * tests/test-strtod.c: New file.
27318         * modules/strtod (Depends-on): Add stdbool, stdlib.
27319         (configure.ac): Turn on module indicator.
27320         * modules/strtod-tests: New module.
27321
27322 2008-03-29  Eric Blake  <ebb9@byu.net>
27323
27324         Fix ftell on mingw.
27325         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
27326         * modules/ftell-tests (Depends-on): Add binary-io.
27327         * modules/ftello-tests (Depends-on): Likewise.
27328         * tests/test-ftell.c (main): Enhance test to cover behavior after
27329         ungetc.  Enforce binary mode.
27330         * tests/test-ftello.c (main): Likewise.
27331
27332         Pass test-freadseek on cygwin.
27333         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
27334         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
27335         ungetc buffer.
27336
27337         * tests/test-fflush2.c (main): Fix typo.
27338
27339 2008-03-29  Bruno Haible  <bruno@clisp.org>
27340
27341         * tests/test-fflush2.c (main): Temporarily disable the contents of
27342         this test.
27343         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
27344         Reported by Eric Blake.
27345
27346 2008-03-28  Simon Josefsson  <simon@josefsson.org>
27347
27348         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
27349         (GC_SHA224_DIGEST_SIZE): Add.
27350
27351         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
27352         (gc_hash_digest_length): Likewise.
27353         (gc_hash_buffer): Likewise.
27354
27355 2008-03-25  Bruno Haible  <bruno@clisp.org>
27356
27357         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
27358         detail which gettext release to use.
27359         Reported by Simon Josefsson.
27360
27361 2008-03-26  Jim Meyering  <meyering@redhat.com>
27362
27363         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
27364         * modules/gnumakefile (clean-GNUmakefile): Also, use
27365         test ... && ... || : syntax rather than if-then ... fi.
27366
27367         gnumakefile: Don't double-quote-expand $(VPATH) value.
27368         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
27369
27370 2008-03-24  Eric Blake  <ebb9@byu.net>
27371
27372         Alter GNUmakefile to install into top directory.
27373         * modules/maintainer-makefile: Split, and add dependency...
27374         * modules/gnumakefile: to this new module.
27375         * build-aux/GNUmakefile: Move...
27376         * top/GNUmakefile: ...here.
27377         * build-aux/maint.mk: Move...
27378         * top/maint.mk: ...here.
27379         * MODULES.html.sh (Support for maintaining...): Document new
27380         module.
27381
27382 2008-03-23  Bruno Haible  <bruno@clisp.org>
27383
27384         * gnulib-tool: New options --vc-files, --no-vc-files.
27385         (func_usage): Document them.
27386         (vc_files): New variable.
27387         (func_import): Consider vc_files.
27388         (func_create_testdir): Set vc_files to empty.
27389         Suggested by Jim Meyering and Karl Berry.
27390
27391 2008-03-23  Bruno Haible  <bruno@clisp.org>
27392
27393         Fix regex compilation error on HP-UX 11.
27394         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
27395         * modules/regex (Files): Add m4/mbstate_t.m4.
27396         Reported by Ton Voon <ton.voon@altinity.com>.
27397
27398 2008-03-23  Bruno Haible  <bruno@clisp.org>
27399
27400         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
27401
27402 2008-03-23  Eric Blake  <ebb9@byu.net>
27403             Bruno Haible  <bruno@clisp.org>
27404
27405         Install files from top/ in the destination directory.
27406         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
27407         augmentation also for the files from top/.
27408         (func_import, func_create_testdir): Rewrite file names:
27409         top/filename -> filename.
27410
27411 2008-03-23  Bruno Haible  <bruno@clisp.org>
27412
27413         Tweak "gnulib --version" output.
27414         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
27415
27416 2008-03-23  Bruno Haible  <bruno@clisp.org>
27417
27418         Tweak "gnulib --version" output.
27419         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
27420         rather than contents of ChangeLog, when possible.
27421
27422 2008-03-21  Eric Blake  <ebb9@byu.net>
27423
27424         More --version tweaks.
27425         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
27426         date of last ChangeLog entry.
27427
27428 2008-03-21  Jim Meyering  <meyering@redhat.com>
27429
27430         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
27431
27432 2008-03-20  Eric Blake  <ebb9@byu.net>
27433
27434         VPATH fix.
27435         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
27436
27437 2008-03-20  Simon Josefsson  <simon@josefsson.org>
27438
27439         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
27440         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
27441
27442 2008-03-20  Eric Blake  <ebb9@byu.net>
27443
27444         Sync GNUmakefile with coreutils.
27445         * build-aux/GNUmakefile (have-Makefile): Rename...
27446         (_have-Makefile): ...to this, for namespace consideration.
27447         (GNUmakefile.cfg): Include, if present.
27448         (_autoreconf): Define a default.
27449         (_is-dist-target): New rule for rebuilds to pick up intra-release
27450         version.
27451         (maint-cfg.mk): Rename...
27452         (cfg.mk): ...to this.
27453
27454 2008-03-18  Jim Meyering  <meyering@redhat.com>
27455
27456         New script and module: mktempd
27457         * MODULES.html.sh (maint+release support): Add mktempd.
27458         * build-aux/mktempd: New file.
27459         * modules/mktempd: New file.
27460
27461 2008-03-15  Jim Meyering  <meyering@redhat.com>
27462
27463         Undo last change.
27464         * lib/sha1.c, lib/md5.c: 63 != ~63.
27465         Reported by Andreas Schwab.
27466
27467         sha1.c, md5.c: Hoist a redundant expression.
27468         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
27469         "ctx->buflen" only once, before calling *_process_block.
27470         * lib/md5.c (md5_process_bytes): Likewise.
27471
27472 2008-03-14  Eric Blake  <ebb9@byu.net>
27473
27474         Bump copyright year in files generated by gnulib-tool.
27475         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
27476         gnulib-tool, rather than hard-coding it.
27477
27478         Fix 'gnulib-tool --version' output to work with git.
27479         * gnulib-tool (func_gnulib_dir): New function, extracted from...
27480         (startup): ...here.
27481         (func_version): Use it to invoke git-version-gen, rather than
27482         relying on CVS keyword expansion.  Modernize wording.
27483         (cvsdatestamp, last_checkin_date, version): Kill unused
27484         variables.
27485
27486 2008-03-12  Jim Meyering  <meyering@redhat.com>
27487
27488         Recognize optional cast of the argument to free.
27489         * build-aux/useless-if-before-free: Update regexps.
27490
27491         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
27492
27493 2008-03-11  Bruno Haible  <bruno@clisp.org>
27494
27495         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
27496         by a single package.
27497         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
27498         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
27499         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
27500         Reported by Sam Steingold <sds@gnu.org>.
27501
27502 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
27503
27504         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
27505         repositories.
27506
27507 2008-03-11  Bruno Haible  <bruno@clisp.org>
27508
27509         Avoid conflicts between local macro definitions.
27510         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
27511         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
27512
27513 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
27514             Bruno Haible  <bruno@clisp.org>
27515
27516         Make va_copy work with some version of xlc on AIX 5.1.
27517         * lib/stdarg.in.h: New file.
27518         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
27519         On AIX, use a <stdarg.h> file substitute.
27520         * modules/stdarg (Files): Add lib/stdarg.in.h.
27521         (Depends-on): Add include_next.
27522         (Makefile.am): Build a stdarg.h substitute if requested.
27523         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
27524
27525 2008-03-10  Bruno Haible  <bruno@clisp.org>
27526
27527         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
27528         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
27529         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
27530
27531 2008-03-10  Bruno Haible  <bruno@clisp.org>
27532
27533         * modules/stdlib (Depends-on): Add include_next, remove
27534         absolute-header.
27535
27536 2008-03-09  Bruno Haible  <bruno@clisp.org>
27537
27538         * lib/freadahead.h (freadahead): Document more precisely.
27539         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
27540         the sum of both buffer sizes.
27541         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
27542         * NEWS: Document the change.
27543
27544 2008-03-09  Bruno Haible  <bruno@clisp.org>
27545
27546         Extend freadptr to return also the buffer size.
27547         * lib/freadptr.h (freadptr): Add sizep argument.
27548         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
27549         (freadptr): Add sizep argument. Determine buffer size like freadahead
27550         does.
27551         * tests/test-freadptr.c: Don't include freadahead.h.
27552         (main): Adapt for new calling convention of freadptr.
27553         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
27554         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
27555         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
27556         tests/test-freadptr2.sh.
27557         (Depends): Remove freadahead.
27558         (TESTS): Add test-freadptr2.sh.
27559         (check_PROGRAMS): Add test-freadptr2.
27560
27561 2008-03-09  Bruno Haible  <bruno@clisp.org>
27562
27563         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
27564         Report and solution by Simon Josefsson.
27565
27566 2008-03-06  Bruno Haible  <bruno@clisp.org>
27567
27568         Make fflush after ungetc work on BSD platforms.
27569         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
27570         * tests/test-fflush2.c: New file.
27571         * tests/test-fflush2.sh: New file.
27572         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
27573         tests/test-fflush2.c.
27574         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
27575         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
27576
27577 2008-03-06  Eric Blake  <ebb9@byu.net>
27578
27579         Likewise for ftello.
27580         * modules/ftello (Dependencies): Add extensions.
27581         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
27582
27583 2008-03-06  Bruno Haible  <bruno@clisp.org>
27584
27585         * modules/fseeko (Dependencies): Add extensions.
27586         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
27587         Needed on glibc systems.
27588
27589 2008-03-06  Bruno Haible  <bruno@clisp.org>
27590
27591         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
27592         email address.
27593         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
27594
27595 2008-03-06  Bruno Haible  <bruno@clisp.org>
27596
27597         * users.txt: Add libgnupdf.
27598
27599 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
27600
27601         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
27602         (Header File Substitutes, Function Substitutes,
27603         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
27604         (Build robot for gnulib): Fix typo.
27605
27606 2008-03-06  Bruno Haible  <bruno@clisp.org>
27607
27608         * doc/gnulib-tool.texi (VCS Issues): Small updates.
27609         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
27610
27611 2008-03-06  Bruno Haible  <bruno@clisp.org>
27612
27613         * doc/func.texi: New file, extracted from doc/gnulib.texi.
27614         * doc/gnulib.texi: Include it.
27615
27616 2008-03-06  Simon Josefsson  <simon@josefsson.org>
27617
27618         * modules/func (License): Change license to unlimited; there was
27619         no LGPL parts in the module anyway.
27620
27621 2008-03-06  Simon Josefsson  <simon@josefsson.org>
27622
27623         * modules/__func__: Renamed to modules/func.
27624         * modules/__func__-tests: Renamed to modules/func-tests.
27625         * tests/test-__func__.c: Renamed to tests/test-func.c.
27626         * m4/__func__.m4: Renamed to m4/func.m4.
27627         * doc/gnulib.texi (__func__): Section renamed to func.
27628         Suggested by Eric Blake <ebb9@byu.net>.
27629
27630 2008-03-06  Simon Josefsson  <simon@josefsson.org>
27631
27632         * doc/gnulib.texi (__func__): Use C99 terminology when talking
27633         about __func__.  Make example self-contained.  Suggested by Eric
27634         Blake <ebb9@byu.net>.
27635
27636         * tests/test-__func__.c (main): Avoid extraneous () around __func.
27637         Suggested by Eric Blake <ebb9@byu.net>.
27638
27639 2008-03-06  Simon Josefsson  <simon@josefsson.org>
27640
27641         * modules/__func__: New file.
27642         * modules/__func__-tests: New file.
27643         * tests/test-__func__.c: New file.
27644         * m4/__func__.m4: New file.
27645         * doc/gnulib.texi (__func__): Document __func__ module.
27646
27647 2008-03-05  Simon Josefsson  <simon@josefsson.org>
27648
27649         * modules/byteswap (License): Re-license as LGPLv2+.
27650
27651 2008-03-05  Simon Josefsson  <simon@josefsson.org>
27652
27653         * doc/Makefile: Add pdf target.
27654
27655 2008-03-05  Simon Josefsson  <simon@josefsson.org>
27656
27657         * modules/inline (License): Use 'unlimited', since there are only
27658         *.m4 files in this module.
27659
27660 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
27661             Bruno Haible  <bruno@clisp.org>
27662
27663         Add support for HP C 7.1 on OpenVMS 8.3.
27664         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
27665
27666 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
27667
27668         Update VMS specifics.
27669         * lib/getopt.c [VMS]: Remove include of unixlib.h.
27670
27671 2008-03-02  Jim Meyering  <meyering@redhat.com>
27672
27673         Remove the last dependency on the "free" module.
27674         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
27675         Reported by Bob Proulx.
27676
27677         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
27678
27679         Remove useless "if" tests before free.  Deprecate "free" module.
27680         * doc/posix-functions/free.texi: Mention that this
27681         module is no longer useful.
27682         * modules/free (Notice): Say this module is obsolete.
27683         * modules/readutmp (Depends-on): Remove free.
27684         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
27685         * lib/putenv.c (putenv): Likewise.
27686         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
27687         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
27688         * tests/test-c-strcasestr.c (main): Likewise.
27689         * tests/test-c-strstr.c (main): Likewise.
27690         * tests/test-mbscasestr1.c (main): Likewise.
27691         * tests/test-mbscasestr2.c (main): Likewise.
27692         * tests/test-mbsstr1.c (main): Likewise.
27693         * tests/test-mbsstr2.c (main): Likewise.
27694         * tests/test-memmem.c (main): Likewise.
27695         * tests/test-strcasestr.c (main): Likewise.
27696         * tests/test-striconv.c (main): Likewise.
27697         * tests/test-striconveh.c (main): Likewise.
27698         * tests/test-striconveha.c (main): Likewise.
27699         * tests/test-strstr.c (main): Likewise.
27700
27701         * build-aux/git-version-gen: Adjust a comment and the Usage string.
27702
27703         bootstrap: sync from coreutils again
27704         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
27705
27706 2008-03-01  Jim Meyering  <meyering@redhat.com>
27707
27708         bootstrap: sync from coreutils
27709         * build-aux/bootstrap (update_po_files): Copy a .po file into place
27710         also when the target doesn't exist.
27711
27712 2008-03-01  Eric Blake  <ebb9@byu.net>
27713
27714         Fix bugs in last patch.
27715         * lib/memchr2.c (memchr2): Fix typo.
27716         * tests/test-memchr2.c: Test previous bug, and don't use GNU
27717         extension.
27718         Reported by Bruce Korb.
27719
27720         New module 'memchr2'.
27721         * modules/memchr2: New file.
27722         * modules/memchr2-tests: Likewise.
27723         * lib/memchr2.h: Likewise.
27724         * lib/memchr2.c: Likewise, based on memchr.c.
27725         * tests/test-memchr2.c: New test.
27726         * MODULES.html.sh (String handling): Add memchr2.
27727
27728 2008-02-29  Bruno Haible  <bruno@clisp.org>
27729
27730         * modules/freadseek-tests: New file.
27731         * tests/test-freadseek.sh: New file.
27732         * tests/test-freadseek.c: New file.
27733
27734         New module 'freadseek'.
27735         * modules/freadseek: New file.
27736         * lib/freadseek.h: New file.
27737         * lib/freadseek.c: New file.
27738         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
27739
27740 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
27741
27742         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
27743         wydawca.
27744
27745         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
27746         program_invocation_name and program_invocation_short_name are
27747         present.
27748
27749 2008-02-28  Bruno Haible  <bruno@clisp.org>
27750
27751         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
27752         * tests/test-freadptr.sh: Also test non-seekable stdin.
27753
27754 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
27755
27756         * build-aux/bootstrap (source_base, m4_base)
27757         (doc_base, tests_base): New variables.
27758         (gnulib_tool_options): Do not hardcode base directories, use
27759         the above variables instead.
27760
27761 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
27762
27763         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
27764
27765 2008-02-28  Bruno Haible  <bruno@clisp.org>
27766
27767         * modules/freadptr-tests: New file.
27768         * tests/test-freadptr.sh: New file.
27769         * tests/test-freadptr.c: New file.
27770
27771         New module 'freadptr'.
27772         * modules/freadptr: New file.
27773         * lib/freadptr.h: New file.
27774         * lib/freadptr.c: New file.
27775         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
27776
27777 2008-02-26  Karl Berry  <karl@freefriends.org>
27778
27779         Sync from Libtool:
27780         * libltdl/argz.c (argz_add, argz_count): New functions.
27781         * libltdl/argz.in.h: Declare them.
27782         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
27783
27784 2008-02-22  Bruno Haible  <bruno@clisp.org>
27785
27786         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
27787         is a pointer type.  Needed for HP-UX 10.
27788         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
27789         * doc/posix-functions/gmtime_r.texi: Likewise.
27790         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
27791
27792 2008-02-24  Bruno Haible  <bruno@clisp.org>
27793
27794         * modules/environ-tests: New file.
27795         * tests/test-environ.c: New file.
27796
27797         New module 'environ'.
27798         * modules/environ: New file.
27799         * lib/unistd.in.h (environ): New declaration.
27800         * m4/environ.m4: New file.
27801         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
27802         after use.
27803         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
27804         HAVE_DECL_ENVIRON.
27805         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
27806         HAVE_DECL_ENVIRON.
27807         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
27808         wrong claim that 'environ' is missing on some systems.
27809         * modules/execute (Depends-on): Add environ.
27810         * lib/execute.c (environ): Remove fallback declaration.
27811         * modules/pipe (Depends-on): Add environ.
27812         * lib/pipe.c (environ): Remove fallback declaration.
27813         * modules/setenv (Depends-on): Add environ.
27814         * lib/setenv.c (environ): Remove fallback declaration.
27815         * modules/unsetenv (Depends-on): Add environ.
27816         * lib/unsetenv.c (environ): Remove fallback declaration.
27817         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
27818         m4/environ.m4.
27819         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
27820         (gl_PREREQ_UNSETENV): Likewise.
27821
27822 2008-02-24  Bruno Haible  <bruno@clisp.org>
27823
27824         * doc/posix-functions/environ.texi: Document the MacOS X problem.
27825
27826 2008-02-20  Bob Proulx  <bob@proulx.com>
27827
27828         Enable use of older two part flavor 'git describe'.
27829         * build-aux/git-version-gen: If using the older two part flavor of
27830         git version then recreate the third part now present in the
27831         newer three part flavor of git describe.
27832
27833 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
27834
27835         * lib/fts.c (fts_build): Typo correction to comment.
27836
27837 2008-02-17  Bruno Haible  <bruno@clisp.org>
27838
27839         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
27840         generating no-op conflicts.
27841
27842 2008-02-17  Bruno Haible  <bruno@clisp.org>
27843
27844         Speed up by 10%.
27845         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
27846         result_entries, rather than an index-based loop.
27847
27848 2008-02-17  Bruno Haible  <bruno@clisp.org>
27849
27850         Speed up by 25%.
27851         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
27852         'hashcode_cached'.
27853         (entry_create): New function.
27854         (entry_hashcode): Use the cached hashcode if possible.
27855         (read_changelog_file, try_split_merged_entry): Use entry_create.
27856
27857 2008-02-17  Bruno Haible  <bruno@clisp.org>
27858
27859         Speed up from O(n^2) to O(n) for long ChangeLog files.
27860         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
27861         (read_changelog_file): Change implementation of entries_reversed list
27862         to rbtreehash.
27863         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
27864
27865 2008-02-17  Bruno Haible  <bruno@clisp.org>
27866
27867         New option --split-merged-entry.
27868         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
27869         (find_paragraph_end, try_split_merged_entry): New functions.
27870         (long_options): Add option --split-merged-entry.
27871         (usage): Document option --split-merged-entry.
27872         (main): Implement option --split-merged-entry.
27873         Reported by Eric Blake.
27874
27875 2008-02-17  Bruno Haible  <bruno@clisp.org>
27876
27877         * lib/git-merge-changelog.c: Include c-strstr.h.
27878         (main): Support the "git pull --rebase" situation.
27879         * modules/git-merge-changelog (Depends-on): Add c-strstr.
27880         Reported by Eric Blake.
27881
27882 2008-02-16  Eric Blake  <ebb9@byu.net>
27883
27884         Avoid doubling \ in common case of "c-maybe" quoting style.
27885         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
27886         eliding outer quotes.
27887         * lib/quotearg.h: Document this.
27888         * tests/test-quotearg.c (result_strings, inputs, results_g)
27889         (flag_results, locale_results): Test it by adding a new string to
27890         each test group.
27891         (compare_strings): Test new string.
27892
27893 2008-02-13  Eric Blake  <ebb9@byu.net>
27894
27895         Avoid trigraph quoting in default output.
27896         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
27897         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
27898         unless explicitly requested.
27899         * tests/test-quotearg.c (flag_results, main): Add additional tests.
27900
27901 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
27902
27903         Don't rely on signed integer overflowing to negative value.
27904         * lib/getugroups.c (getugroups): Include <limits.h>.
27905         Instead, compare against INT_MAX, and increment only if the test passes.
27906
27907 2008-02-13  Jim Meyering  <meyering@redhat.com>
27908         and Eric Blake  <ebb9@byu.net>
27909
27910         Avoid shadowing warning and compile errors on Linux.
27911         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
27912         forwarding macros on Linux.
27913         (dcgettext): Define a stub, for Linux.
27914         (results_g, main): Avoid warnings.
27915
27916 2008-02-12  Eric Blake  <ebb9@byu.net>
27917
27918         Silence warning in last patch.
27919         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
27920
27921         Quotearg part 4: add tests, fix c-maybe colon quoting.
27922         * lib/quotearg.h: Improve documentation.
27923         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
27924         escapes when adding outer quotes.  When quoting trigraphs, use
27925         valid C notation.  When quoting NUL, omit extra characters if next
27926         character is not digit.  Alter prototype.
27927         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
27928         callers.
27929         * modules/quotearg-tests: New module.
27930         * tests/test-quotearg.c: New test.
27931
27932 2008-02-07  Eric Blake  <ebb9@byu.net>
27933
27934         Quotearg part 3: add flag to control outer quote elision.
27935         * lib/quotearg.h (c_maybe_quoting_style): New style.
27936         (enum quoting_flags): Better documentation of flags.
27937         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
27938         c-maybe style.
27939         (quotearg_buffer_restyled): Handle new flag to elide outer
27940         quotes.
27941
27942         Quotearg part 2: add flag that can control NUL elision.
27943         * lib/quotearg.h (set_quoting_flags): New prototype.
27944         * lib/quotearg.c (struct quoting_options): Add flag field.
27945         (set_quoting_flags): New function.
27946         (quotearg_buffer_restyled): Add flags parameter.
27947         (quotearg_alloc_mem): Set the flag if length cannot be returned.
27948         (quotearg_n_options): Set the flag, since length cannot be
27949         returned.
27950         (quoting_options_from_style): Default flags correctly.
27951
27952         Quotearg part 1: more wrappers, restore quotearg_char state.
27953         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
27954         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
27955         (quotearg_colon_mem): New wrappers.
27956         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
27957         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
27958         functions.
27959         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
27960         (quotearg_colon_mem): New functions.
27961
27962 2008-02-11  Bruno Haible  <bruno@clisp.org>
27963
27964         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
27965         library in the current directory: it does not work with parallel make.
27966         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
27967
27968 2008-02-11  Bruno Haible  <bruno@clisp.org>
27969
27970         * .gitattributes: New file.
27971
27972 2008-02-11  Jim Meyering  <meyering@redhat.com>
27973
27974         useless-if-before-free: Fix reversed exit values.
27975         * build-aux/useless-if-before-free: Use correct values
27976         for EXIT_MATCH and EXIT_NO_MATCH.
27977
27978         * build-aux/useless-if-before-free: Close stdout carefully.
27979
27980 2008-02-10  Bruno Haible  <bruno@clisp.org>
27981
27982         New module 'git-merge-changelog'.
27983         * modules/git-merge-changelog: New file.
27984         * lib/git-merge-changelog.c: New file.
27985
27986 2008-02-10  Jim Meyering  <meyering@redhat.com>
27987
27988         useless-if-before-free: New option: --list (-l).
27989
27990         useless-if-before-free: Don't exit immediately upon open failure.
27991         * build-aux/useless-if-before-free: Exit 2 for errors.
27992         Upon failure to open a file, don't exit immediately.
27993         Rather, just warn and continue with any remaining files.
27994
27995 2008-02-10  Bruno Haible  <bruno@clisp.org>
27996
27997         New abstract list operation 'node_set_value'.
27998         * lib/gl_list.h (gl_list_node_set_value): New function.
27999         (struct gl_list_implementation): New field node_set_value.
28000         * lib/gl_list.c (gl_list_node_set_value): New function.
28001         * lib/gl_array_list.c (gl_array_node_set_value): New function.
28002         (gl_array_list_implementation): Update.
28003         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
28004         (gl_carray_list_implementation): Update.
28005         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
28006         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
28007         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
28008         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
28009         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
28010         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
28011         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
28012         Update.
28013         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
28014         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
28015         (gl_sublist_list_implementation): Update.
28016
28017 2008-02-10  Bruno Haible  <bruno@clisp.org>
28018
28019         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
28020         Needed when ELEMENT is #defined to 'some_type *'.
28021
28022 2008-02-10  Jim Meyering  <meyering@redhat.com>
28023
28024         New script and module: useless-if-before-free
28025         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
28026         * build-aux/useless-if-before-free: New file.
28027         * modules/useless-if-before-free: New file.
28028
28029         * build-aux/gitlog-to-changelog: Use committer date, not author date.
28030
28031         xstrtol_error: Fix typo.
28032         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
28033         s/exit_failure/exit_status/.
28034
28035 2008-02-09  Jim Meyering  <meyering@redhat.com>
28036
28037         New script and module: gitlog-to-changelog
28038         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
28039         * modules/gitlog-to-changelog: New file.
28040         * build-aux/gitlog-to-changelog: New file.
28041
28042 2008-02-08  Jim Meyering  <meyering@redhat.com>
28043
28044         Avoid two "parameter unused" warnings.
28045         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
28046         Mark "st" as used.
28047
28048         Use "git COMMAND", not "git-COMMAND".
28049         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
28050         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
28051         * build-aux/git-version-gen: Use "git status", not "git-status".
28052
28053 2008-02-07  Bruno Haible  <bruno@clisp.org>
28054
28055         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
28056         Avoids a crash on Windows Vista.
28057         Reported by Adam Strzelecki <ono@java.pl> via
28058         Simon Josefsson <simon@josefsson.org>.
28059
28060 2008-02-06  Bruno Haible  <bruno@clisp.org>
28061
28062         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
28063         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
28064         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
28065         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
28066         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
28067         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
28068         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
28069         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
28070         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
28071         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
28072         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
28073         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
28074         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
28075         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
28076         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
28077         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
28078         left-adjust flag.
28079         * tests/test-snprintf-posix.h (test_function): Likewise.
28080         * tests/test-sprintf-posix.h (test_function): Likewise.
28081         * tests/test-vasprintf-posix.c (test_function): Likewise.
28082         * doc/posix-functions/fprintf.texi: Update.
28083         * doc/posix-functions/printf.texi: Update.
28084         * doc/posix-functions/snprintf.texi: Update.
28085         * doc/posix-functions/sprintf.texi: Update.
28086         * doc/posix-functions/vfprintf.texi: Update.
28087         * doc/posix-functions/vprintf.texi: Update.
28088         * doc/posix-functions/vsnprintf.texi: Update.
28089         * doc/posix-functions/vsprintf.texi: Update.
28090         Reported by Peter Fales <psfales@alcatel-lucent.com>.
28091
28092 2008-02-06  Bruno Haible  <bruno@clisp.org>
28093
28094         Fix bug introduced on 2008-01-26.
28095         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
28096
28097 2008-02-06  Bruno Haible  <bruno@clisp.org>
28098
28099         Fix bug introduced on 2007-06-10.
28100         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
28101         !NEED_PRINTF_FLAG_ZERO.
28102
28103 2008-02-05  Peter O'Gorman <pogma@thewrittenword.com>
28104
28105         getloadavg: use libperfstat on AIX5
28106         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
28107
28108 2008-02-03  Bruno Haible  <bruno@clisp.org>
28109
28110         * lib/diffseq.h: Add comments about required #includes.
28111         Reported by Michael Biggs <gnulib@doubleplum.net>.
28112
28113 2008-02-01  Bruno Haible  <bruno@clisp.org>
28114
28115         * users.txt: Add gnuit.
28116
28117 2008-01-31  Bruno Haible  <bruno@clisp.org>
28118
28119         * lib/md4.c (set_uint32): Mark as inline.
28120         * lib/md5.c (set_uint32): Likewise.
28121         * lib/sha1.c (set_uint32): Likewise.
28122         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
28123         * m4/md5.m4 (gl_MD5): Likewise.
28124         * m4/sha1.m4 (gl_SHA1): Likewise.
28125
28126 2008-01-31  Jim Meyering  <meyering@redhat.com>
28127
28128         Use "sizeof VAR", rather than a literal "4".
28129         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
28130         * lib/md4.c (md4_read_ctx): Likewise.
28131         * lib/sha1.c (sha1_read_ctx): Likewise.
28132
28133 2008-01-31  Simon Josefsson  <simon@josefsson.org>
28134
28135         * tests/test-sha1.c: New file, based on test-md5.c.
28136
28137         * modules/crypto/sha1-tests: New file.
28138
28139 2008-01-31  Simon Josefsson  <simon@josefsson.org>
28140
28141         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
28142
28143 2008-01-31  Jim Meyering  <meyering@redhat.com>
28144
28145         Prefer "sizeof v" over the equivalent "4".
28146         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
28147         * lib/md5.c (set_uint32): Likewise.
28148         * lib/sha1.c (set_uint32): Likewise.
28149
28150 2008-01-31  Simon Josefsson  <simon@josefsson.org>
28151
28152         * lib/sha1.c (set_uint32): Mark function as static.
28153
28154 2008-01-31  Simon Josefsson  <simon@josefsson.org>
28155
28156         md2: clarify comments to say that alignment is not required.
28157         * lib/md2.h: Remove warning about alignment in comment.
28158         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
28159         never been required.
28160
28161 2008-01-31  Simon Josefsson  <simon@josefsson.org>
28162
28163         md4: adapt alignment constraint fix from sha1.
28164         * lib/md4.c (set_uint32): New function, from sha1.c
28165         (md4_read_ctx): Use it.
28166         (md4_finish_ctx): Doc fix.
28167         * lib/md4.h: Doc fix.
28168
28169 2008-01-31  Simon Josefsson  <simon@josefsson.org>
28170
28171         md5: adapt alignment constraint fix from sha1.
28172         * lib/md5.c (set_uint32): New function, from sha1.c
28173         (md5_read_ctx): Use it.
28174         (md5_finish_ctx): Doc fix.
28175         * lib/md5.h: Doc fix.
28176
28177 2008-01-30  Peter Palfrader  <weasel@debian.org>
28178
28179         sha1: remove the result buffer alignment constraint
28180         * lib/sha1.c (set_uint32): New function.
28181         (sha1_read_ctx): Rewrite to remove the result buffer alignment
28182         constraint.
28183         (sha1_finish_ctx): Remove comment warning about alignment constraint.
28184         * lib/sha1.h: Likewise.
28185
28186 2008-01-30  Andreas Schwab  <schwab@suse.de>
28187             Bruno Haible  <bruno@clisp.org>
28188
28189         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
28190         correct definition of LDBL_MIN_EXP.
28191
28192 2008-01-30  Karl Berry  <karl@gnu.org>
28193
28194         * config/srclist-update: try to preserve x bit on updates.
28195         * config/srclistvars.sh: update for karl.
28196
28197 2008-01-29  Jim Meyering  <meyering@redhat.com>
28198
28199         vasnprintf.c: Avoid warning about unused label
28200         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
28201         "overflow" label definition and associated code with the
28202         same cpp condition that guards the sole use of that label.
28203
28204 2008-01-26  Bruno Haible  <bruno@clisp.org>
28205
28206         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
28207         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
28208         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
28209         * lib/isnanl-nolibm.h (isnanl): Likewise.
28210         Reported by Paul Eggert <eggert@cs.ucla.edu>.
28211
28212 2008-01-26  Bruno Haible  <bruno@clisp.org>
28213
28214         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
28215         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
28216
28217 2008-01-26  Bruno Haible  <bruno@clisp.org>
28218
28219         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
28220         GCC >= 4.0 built-in.
28221         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
28222
28223 2008-01-26  Bruno Haible  <bruno@clisp.org>
28224
28225         Rename isnan, applicable to 'double' only, to isnand.
28226         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
28227         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
28228         (configure.ac): Update.
28229         (Include): Replace "isnan.h" with "isnand.h".
28230         * m4/isnand.m4: Renamed from m4/isnan.m4.
28231         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
28232         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
28233         instead of isnan.c.
28234         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
28235         instead of HAVE_ISNAN_IN_LIBC.
28236         (isnand): Renamed from isnan.
28237         * lib/isnand.c: New file.
28238         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
28239         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
28240         (Makefile.am): Update.
28241         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
28242         Include isnand.h instead of isnan.h.
28243         (main): Test isnand instead of isnan.
28244         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
28245         isnan-nolibm.
28246         * modules/frexp (Depends-on): Likewise.
28247         * modules/frexp-tests (Depends-on): Likewise.
28248         * modules/frexp-nolibm (Depends-on): Likewise.
28249         * modules/frexp-nolibm-tests (Depends-on): Likewise.
28250         * modules/isfinite (Depends-on): Likewise.
28251         * modules/round-tests (Depends-on): Likewise.
28252         * modules/signbit (Depends-on): Likewise.
28253         * modules/signbit-tests (Depends-on): Likewise.
28254         * modules/snprintf-posix (Depends-on): Likewise.
28255         * modules/sprintf-posix (Depends-on): Likewise.
28256         * modules/trunc-tests (Depends-on): Likewise.
28257         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
28258         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
28259         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
28260         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
28261         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
28262         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
28263         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
28264         * modules/vasnprintf-posix (Depends-on): Likewise.
28265         * modules/vasprintf-posix (Depends-on): Likewise.
28266         * modules/vfprintf-posix (Depends-on): Likewise.
28267         * modules/vsnprintf-posix (Depends-on): Likewise.
28268         * modules/vsprintf-posix (Depends-on): Likewise.
28269         * lib/frexp.c: Include isnand.h instead of isnan.h.
28270         (ISNAN): Set to isnand instead of isnan.
28271         * lib/isfinite.c: Include isnand.h instead of isnan.h.
28272         (gl_isfinited): Use isnand instead of isnan.
28273         * lib/signbitd.c: Include isnand.h instead of isnan.h.
28274         (gl_signbitd): Use isnand instead of isnan.
28275         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
28276         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
28277         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
28278         (main): Use isnand instead of isnan.
28279         * tests/test-round1.c: Include isnand.h.
28280         (main): Use isnand instead of isnan.
28281         * tests/test-round2.c: Include isnand.h instead of isnan.h.
28282         (ISNAN): Set to isnand instead of isnan.
28283         * tests/test-trunc1.c: Include isnand.h.
28284         (main): Use isnand instead of isnan.
28285         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
28286         (equal): Use isnand instead of isnan.
28287         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
28288         isnand-nolibm.
28289         * NEWS: Mention the change.
28290
28291 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
28292             Bruno Haible  <bruno@clisp.org>
28293
28294         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
28295         the GCC builtins for signbits are present and set
28296         REPLACE_SIGNBIT_USING_GCC if so.
28297         * lib/math.in.h (signbit): Define using GCC builtins if
28298         REPLACE_SIGNBIT_USING_GCC is set.
28299         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
28300         REPLACE_SIGNBIT_USING_GCC.
28301         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
28302
28303 2008-01-25  Jim Meyering  <meyering@redhat.com>
28304
28305         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
28306         * lib/poll.c: Include <config.h>, not "config.h".
28307         * tests/test-getaddrinfo.c: Likewise.
28308
28309 2008-01-25  Simon Josefsson  <simon@josefsson.org>
28310
28311         * modules/sockets-tests: New file.
28312
28313 2008-01-24  Simon Josefsson  <simon@josefsson.org>
28314
28315         * modules/sockets: New module, can be used to call WSA_Startup and
28316         WSA_Cleanup when needed.
28317
28318         * lib/sockets.h, lib/sockets.c: New files.
28319
28320         * m4/sockets.m4: New file.
28321
28322         * tests/test-sockets.c: New file.
28323
28324 2008-01-19  Bruno Haible  <bruno@clisp.org>
28325
28326         * doc/posix-headers: Renamed from doc/headers.
28327         * doc/posix-functions: Renamed from doc/functions.
28328         * doc/gnulib.texi: Update.
28329
28330 2008-01-19  Bruno Haible  <bruno@clisp.org>
28331
28332         * doc/glibc-functions/strcasestr.texi: Include contents of
28333         doc/functions/strcasestr.texi, fixing the list of platforms.
28334         * doc/functions/strcasestr.texi: Remove file.
28335
28336 2008-01-19  Bruno Haible  <bruno@clisp.org>
28337
28338         * doc/glibc-functions/memmem.texi: Include contents of
28339         doc/functions/memmem.texi.
28340         * doc/functions/memmem.texi: Remove file.
28341
28342 2008-01-18  Bruno Haible  <bruno@clisp.org>
28343
28344         * doc/glibc-functions/*.texi: New files.
28345         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
28346         to use the new files.
28347
28348 2008-01-17  Bruno Haible  <bruno@clisp.org>
28349
28350         * tests/test-gethostname.c (main): Fix printf statement.
28351
28352 2008-01-17  Simon Josefsson  <simon@josefsson.org>
28353
28354         * modules/gethostname-tests: New file.
28355
28356         * tests/test-gethostname.c: New file.
28357
28358 2008-01-17  Simon Josefsson  <simon@josefsson.org>
28359
28360         * lib/gethostname.c: Include string.h unconditionally, strncpy is
28361         used by the UNAME case.  Reported by Bruno Haible
28362         <bruno@clisp.org>.
28363
28364 2008-01-17  Eric Blake  <ebb9@byu.net>
28365
28366         Convert c-strcasestr to be more efficient.
28367         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
28368         (Depends-on): Add c-strcase, remove malloca, strnlen.
28369         * tests/test-c-strcasestr.c (main): Enhance test.
28370         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
28371
28372 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
28373
28374         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
28375         Use it in creating po/Makevars.
28376
28377 2008-01-15  Simon Josefsson  <simon@josefsson.org>
28378
28379         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
28380         Applications that requires it should initialize libgcrypt
28381         manually.
28382
28383 2008-01-16  Simon Josefsson  <simon@josefsson.org>
28384
28385         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
28386
28387 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
28388
28389         Fix problem with getdate on mingw32 reported by Simon Josefsson
28390         in <http://lists.gnu.org/archive/html/bug-gnulib/2008-01/msg00192.html>.
28391         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
28392         tzname", when deciding whether to declare tzname.
28393         * lib/strftime.c (tzname): Likewise.
28394
28395 2008-01-15  Bruno Haible  <bruno@clisp.org>
28396
28397         Work around a MacOS X 10.5 bug in frexpl().
28398         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
28399         * doc/functions/frexpl.texi: Document the bug.
28400         Reported by Elias Pipping <pipping@gentoo.org>.
28401
28402 2008-01-14  Eric Blake  <ebb9@byu.net>
28403
28404         Touch up previous patch.
28405         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
28406         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
28407
28408         Convert strcasestr module to use Two-Way algorithm.
28409         * modules/strcasestr-simple: New module, based on the old
28410         strcasestr, but with Two-Way rather than KMP.
28411         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
28412         * lib/string.in.h (rpl_strcasestr): Declare.
28413         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
28414         performance.
28415         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
28416         * modules/string (Makefile.am): Support strcasestr.
28417         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
28418         * modules/strcasestr-tests (Depends-on): Check for alarm.
28419         * tests/test-strcasestr.c: Augment test.
28420         * lib/str-two-way.h: Clean up stray macro.
28421         * NEWS: Document new module.
28422         * MODULES.html.sh (string handling): Likewise.
28423         * doc/functions/strcasestr.texi: New file.
28424         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
28425         here, since it is not a POSIX function.
28426
28427 2008-01-14  Colin Watson  <cjwatson@debian.org>
28428             Bruno Haible  <bruno@clisp.org>
28429
28430         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
28431         works fine; if not, set REPLACE_STRSIGNAL.
28432         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
28433         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
28434         REPLACE_STRSIGNAL.
28435         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
28436         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
28437         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
28438
28439 2008-01-14  Bruno Haible  <bruno@clisp.org>
28440
28441         * modules/strsignal (Include): Change to <string.h>.
28442
28443 2008-01-14  Colin Watson  <cjwatson@debian.org>
28444
28445         * modules/argp (Notice): Add a notice recommending to change
28446         XGETTEXT_OPTIONS.
28447         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
28448
28449 2008-01-13  Colin Watson  <cjwatson@debian.org>
28450
28451         * modules/strsignal-tests: New file.
28452         * tests/test-strsignal.c: New file.
28453
28454         * lib/strsignal.c: New file, from glibc with modifications.
28455         * lib/siglist.h: New file, from glibc with modifications.
28456         * lib/string.in.h (strsignal): New declaration.
28457         * m4/strsignal.m4: New file.
28458         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
28459         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
28460         * modules/strsignal: New file.
28461         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
28462         HAVE_DECL_STRSIGNAL.
28463
28464 2008-01-13  Bruno Haible  <bruno@clisp.org>
28465
28466         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
28467         locale encoding is not ASCII. Needed for OpenBSD 4.0.
28468         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
28469         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
28470
28471 2008-01-13  Bruno Haible  <bruno@clisp.org>
28472
28473         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
28474         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
28475         * lib/argp.h (__attribute__): Likewise.
28476         * lib/c-stack.c (__attribute__): Likewise.
28477         * lib/error.h (__attribute__): Likewise.
28478         * lib/fts.c (__attribute__): Likewise.
28479         * lib/openat.h (__attribute__): Likewise.
28480         * lib/stdio.in.h (__attribute__): Likewise.
28481         * lib/string.in.h (__attribute__): Likewise.
28482         * lib/utimens.c (__attribute__): Likewise.
28483         * lib/vasnprintf.h (__attribute__): Likewise.
28484         * lib/xalloc.h (__attribute__): Likewise.
28485         * lib/xprintf.h (__attribute__): Likewise.
28486         * lib/xstrtol.h (__attribute__): Likewise.
28487         * lib/xvasprintf.h (__attribute__): Likewise.
28488
28489 2008-01-12  Bruno Haible  <bruno@clisp.org>
28490
28491         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
28492         * doc/glibc-headers/a.out.texi: New file.
28493         * doc/glibc-headers/aliases.texi: New file.
28494         * doc/glibc-headers/alloca.texi: New file.
28495         * doc/glibc-headers/ar.texi: New file.
28496         * doc/glibc-headers/argp.texi: New file.
28497         * doc/glibc-headers/argz.texi: New file.
28498         * doc/glibc-headers/byteswap.texi: New file.
28499         * doc/glibc-headers/crypt.texi: New file.
28500         * doc/glibc-headers/endian.texi: New file.
28501         * doc/glibc-headers/envz.texi: New file.
28502         * doc/glibc-headers/err.texi: New file.
28503         * doc/glibc-headers/error.texi: New file.
28504         * doc/glibc-headers/execinfo.texi: New file.
28505         * doc/glibc-headers/fpu_control.texi: New file.
28506         * doc/glibc-headers/fstab.texi: New file.
28507         * doc/glibc-headers/fts.texi: New file.
28508         * doc/glibc-headers/getopt.texi: New file.
28509         * doc/glibc-headers/ieee754.texi: New file.
28510         * doc/glibc-headers/ifaddrs.texi: New file.
28511         * doc/glibc-headers/libintl.texi: New file.
28512         * doc/glibc-headers/mcheck.texi: New file.
28513         * doc/glibc-headers/mntent.texi: New file.
28514         * doc/glibc-headers/obstack.texi: New file.
28515         * doc/glibc-headers/paths.texi: New file.
28516         * doc/glibc-headers/printf.texi: New file.
28517         * doc/glibc-headers/pty.texi: New file.
28518         * doc/glibc-headers/resolv.texi: New file.
28519         * doc/glibc-headers/shadow.texi: New file.
28520         * doc/glibc-headers/sysexits.texi: New file.
28521         * doc/glibc-headers/ttyent.texi: New file.
28522
28523 2008-01-12  Jim Meyering  <meyering@redhat.com>
28524
28525         announce-gen: emit Gnulib's git-based version string.
28526         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
28527         New option --gnulib-version=V, where V is expected to be
28528         the output of running git describe in the gnulib directory.
28529         (get_tool_versions): Request feedback on xdelta.  I suspect it's
28530         not useful, and plan to stop publishing an xdelta file with each
28531         coreutils release.
28532
28533         * build-aux/announce-gen: Also check for lzma-compressed files.
28534
28535 2008-01-11  Bruno Haible  <bruno@clisp.org>
28536
28537         * tests/test-memmem.c (main): Increase maximum allowed time.
28538         * tests/test-strstr.c (main): Likewise.
28539
28540 2008-01-11  Bruno Haible  <bruno@clisp.org>
28541
28542         * doc/functions/memmem.texi: Add more precisions about platforms.
28543         * doc/functions/strstr.texi: Likewise.
28544
28545 2008-01-10  Eric Blake  <ebb9@byu.net>
28546
28547         * m4/strstr.m4: Delete cruft from copy-n-paste.
28548         Reported by Bruno Haible.
28549
28550 2008-01-10  Bruno Haible  <bruno@clisp.org>
28551
28552         Make c-strstr rely on strstr.
28553         * lib/c-strstr.c: Don't include str-kmp.h.
28554         (c_strstr): Define in terms of strstr.
28555         * modules/c-strstr (Files): Remove lib/str-kmp.h.
28556         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
28557
28558 2008-01-10  Bruno Haible  <bruno@clisp.org>
28559
28560         * doc/gnulib.texi (String Functions in C Locale): New section.
28561         * doc/c-ctype.texi: New file.
28562         * doc/c-strcase.texi: New file.
28563         * doc/c-strcaseeq.texi: New file.
28564         * doc/c-strcasestr.texi: New file.
28565         * doc/c-strstr.texi: New file.
28566         * doc/c-strtod.texi: New file.
28567         * doc/c-strtold.texi: New file.
28568
28569 2008-01-10  Eric Blake  <ebb9@byu.net>
28570
28571         * lib/relocatable.h: Fix a comment.
28572
28573 2008-01-10  Eric Blake  <ebb9@byu.net>
28574
28575         Share two-way algorithm.
28576         * lib/str-two-way.h: New file, merged from...
28577         * lib/memmem.c: ...here...
28578         * lib/strstr.c: ...and here.
28579         * modules/memmem (Files): Use it.
28580         * modules/strstr (Files): Likewise.
28581
28582         Avoid quadratic strstr implementations.
28583         * lib/strstr.c: New file.
28584         * m4/strstr.m4: Likewise.
28585         * modules/strstr: Likewise.
28586         * modules/strstr-tests: Likewise.
28587         * tests/test-strstr.c: Likewise.
28588         * lib/string.in.h (rpl_strstr): Declare.
28589         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
28590         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
28591         * modules/string (Makefile.am): Likewise.
28592         * MODULES.html.sh (string handling): Mention new module.
28593         * doc/functions/strstr.texi (strstr): Document the bug.
28594
28595 2008-01-10  Bruno Haible  <bruno@clisp.org>
28596
28597         * lib/relocatable.h (relocate): State whether result is freshly
28598         allocated or not.
28599         * lib/relocatable.c (relocate): Return a freshly allocated string
28600         instead of a pointer to a privately held string.
28601         Reported by Sylvain Beucler <beuc@gnu.org>.
28602
28603 2008-01-10  Colin Watson  <cjwatson@debian.org>
28604
28605         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
28606         s/S_ISNLK/S_ISLNK/.
28607
28608 2008-01-09  Bruno Haible  <bruno@clisp.org>
28609
28610         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
28611         and other files.
28612         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
28613         if it's only a guess.
28614         * modules/memmem: Simplify by depending on memmem-simple.
28615
28616 2008-01-09  Bruno Haible  <bruno@clisp.org>
28617
28618         Work around OpenBSD 4.0 tdelete() bug.
28619         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
28620         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
28621         macros and don't redefine the enum values.
28622         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
28623         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
28624         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
28625
28626 2008-01-09  Bruno Haible  <bruno@clisp.org>
28627
28628         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
28629         (main): Don't perform the tests if setlocale did not install a UTF-8
28630         locale. Needed on OpenBSD 4.0.
28631         * modules/wcwidth-tests (Depends-on): Add localcharset.
28632
28633 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
28634
28635         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
28636         See <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00149.html>.
28637         * NEWS: announce this.
28638         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
28639
28640 2008-01-09  Simon Josefsson  <simon@josefsson.org>
28641         and Eric Blake  <ebb9@byu.net>
28642
28643         Add memmem-simple module.
28644         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
28645         (gl_FUNC_MEMMEM): Separate performance from presence checks.
28646         * modules/memmem-simple: New file.
28647         * modules/memmem (Description): Tweak.
28648         * MODULES.html.sh (string handling): Mention new module.
28649         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
28650         addressed by memmem-simple.
28651         * NEWS: Document the difference.
28652
28653 2008-01-09  Eric Blake  <ebb9@byu.net>
28654
28655         Give gcc some memmem optimization hints.
28656         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
28657         (strcasestr): Declare as pure.
28658         * modules/memmem (Maintainer): Claim my implementation.
28659
28660 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28661
28662         Support AIX 6.1 and higher.
28663         * build-aux/config.libpath: Likewise.
28664         * build-aux/config.rpath: Likewise.
28665
28666 2008-01-08  Jim Meyering  <meyering@redhat.com>
28667             Bruno Haible  <bruno@clisp.org>
28668
28669         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
28670         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
28671         Reported by Peter Fales in
28672         <http://lists.gnu.org/archive/html/bug-coreutils/2007-12/msg00148.html>.
28673
28674 2008-01-08  Bruno Haible  <bruno@clisp.org>
28675
28676         * modules/unictype/category-of (Depends-on): Add
28677         unictype/category-none.
28678         * modules/unictype/category-and-tests (Depends-on): Add
28679         unictype/category-{L,N,Lu,Nd}.
28680         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
28681         * modules/unictype/category-or-tests (Depends-on): Add
28682         unictype/category-{L,N}.
28683         * modules/unictype/category-name-tests (Depends-on): Add
28684         unictype/category-{Z,Nl}.
28685         Reported by Simon Josefsson.
28686
28687 2008-01-08  Bruno Haible  <bruno@clisp.org>
28688
28689         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
28690         convention better.
28691         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
28692         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
28693         Reported by Peter Miller <millerp@canb.auug.org.au>.
28694
28695 2008-01-08  Eric Blake  <ebb9@byu.net>
28696
28697         Rewrite memmem to guarantee linear complexity without malloc.
28698         * lib/memmem.c (memmem): Use Two-Way rather than
28699         Knuth-Morris-Pratt, to allow O(1) space usage.
28700         (critical_factorization, two_way_short_needle)
28701         (two_way_long_needle): New functions.
28702         (knuth_morris_pratt): Delete.
28703         * modules/memmem (Depends-on): No longer need malloca or stdbool.
28704         Add stdint.
28705         * tests/test-memmem.c (main): Add tests for periodic needle and
28706         sublinear performance.
28707         * doc/functions/memmem.texi (memmem): Document other deficiencies
28708         in cygwin and older glibc.
28709
28710 2008-01-08  Bruno Haible  <bruno@clisp.org>
28711
28712         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
28713         augmentation.
28714
28715 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
28716
28717         Add a configure time option: --disable-acl.
28718         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
28719         AC_ARG_ENABLE(acl).
28720
28721 2008-01-06  Simon Josefsson  <simon@josefsson.org>
28722
28723         * tests/test-localename.c: Don't include obsolete "setenv.h".
28724
28725         * modules/localename-tests (Depends-on): Need unsetenv.
28726
28727 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28728
28729         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
28730
28731 2008-01-06  Colin Watson  <cjwatson@debian.org>
28732
28733         * users.txt: Add man-db.
28734
28735 2008-01-07  Bruno Haible  <bruno@clisp.org>
28736
28737         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
28738         previous section name.
28739
28740 2008-01-07  Bruno Haible  <bruno@clisp.org>
28741
28742         * lib/progname.c (set_program_name): Don't strip off a leading
28743         "lt-" prefix outside a .libs directory.
28744         Suggested by Paul Eggert.
28745
28746 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
28747             Bruno Haible  <bruno@clisp.org>
28748
28749         Improve memory cleanup in 'relocatable' module.
28750         * lib/relocatable.h (compute_curr_prefix): Change return type to
28751         'char *'.
28752         * lib/relocatable.c (compute_curr_prefix): Change return type to
28753         'char *'. Free curr_installdir after use.
28754         (relocate): Free curr_prefix_better after use.
28755         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
28756
28757 2008-01-01  Bruno Haible  <bruno@clisp.org>
28758
28759         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
28760         failure on older glibc systems.
28761         Reported by Peter Fales <psfales@alcatel-lucent.com>.
28762
28763 2008-01-05  Eric Blake  <ebb9@byu.net>
28764
28765         Avoid quadratic system memmem.
28766         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
28767         Reported by Ralf Wildenhues.
28768
28769         Fix memmem test for mingw.
28770         * modules/memmem-tests (configure.ac): Check for alarm.
28771         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
28772         it.
28773         * doc/functions/memmem.texi: New file.
28774         * doc/gnulib.texi (Function Substitutes): Add memmem.
28775         Reported by Bruno Haible.
28776
28777 2008-01-04  Bruno Haible  <bruno@clisp.org>
28778
28779         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
28780         Require gl_HEADER_STRINGS_H_DEFAULTS, not
28781         gl_HEADER_STRING_H_DEFAULTS.
28782
28783 2008-01-04  Eric Blake  <ebb9@byu.net>
28784
28785         Shorten duration of memmem test.
28786         * tests/test-memmem.c (main): Use alarm to declare failure if test
28787         is taking too long.
28788         Reported by Ralf Wildenhues.
28789
28790 2007-12-21  Simon Josefsson  <simon@josefsson.org>
28791
28792         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
28793         string, needed by strerror.
28794
28795 2008-01-03  Colin Watson  <cjwatson@debian.org>
28796             Bruno Haible  <bruno@clisp.org>
28797
28798         * doc/gnulib-tool.texi (Localization): New section.
28799
28800 2008-01-02  Bruno Haible  <bruno@clisp.org>
28801
28802         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
28803         variables to 'unsigned char *' type.
28804         Reported by Paul Eggert.
28805
28806 2008-01-02  Jim Meyering  <jim@meyering.net>
28807
28808         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
28809
28810 2007-12-31  Jim Meyering  <jim@meyering.net>
28811
28812         Avoid use of private FTS type name.
28813         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
28814
28815 2007-12-30  Karl Berry  <karl@gnu.org>
28816
28817         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
28818         work around defect in Texinfo and/or the standalone Info browser.
28819
28820 2007-12-30  Bruno Haible  <bruno@clisp.org>
28821
28822         Unify 5 copies of the KMP code.
28823         * lib/str-kmp.h: New file.
28824         * lib/c-strcasestr.c: Include str-kmp.h.
28825         (knuth_morris_pratt): Remove function.
28826         (c_strcasestr): Update.
28827         * lib/c-strstr.c: Include str-kmp.h.
28828         (knuth_morris_pratt): Remove function.
28829         (c_strcasestr): Update.
28830         * lib/mbscasestr.c: Include str-kmp.h.
28831         (knuth_morris_pratt_unibyte): Remove function.
28832         * lib/mbsstr.c: Include str-kmp.h.
28833         (knuth_morris_pratt_unibyte): Remove function.
28834         * lib/strcasestr.c: Include str-kmp.h.
28835         (knuth_morris_pratt): Remove function.
28836         (strcasestr): Update.
28837         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
28838         * modules/c-strstr (Files): Likewise.
28839         * modules/mbscasestr (Files): Likewise.
28840         * modules/mbsstr (Files): Likewise.
28841         * modules/strcasestr (Files): Likewise.
28842         Suggested by Paul Eggert.
28843
28844 2007-12-30  Bruno Haible  <bruno@clisp.org>
28845
28846         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
28847         defined.
28848
28849 2007-12-30  Bruno Haible  <bruno@clisp.org>
28850
28851         * lib/xmalloca.h: Include xalloc.h.
28852         (xnmalloca): New macro.
28853
28854 2007-12-30  Bruno Haible  <bruno@clisp.org>
28855
28856         * lib/malloca.h (nmalloca): New macro.
28857         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
28858         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
28859         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
28860         knuth_morris_pratt_multibyte): Likewise.
28861         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
28862         knuth_morris_pratt_multibyte): Likewise.
28863         * lib/memmem.c (knuth_morris_pratt): Likewise.
28864         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
28865
28866 2007-12-25  Bruno Haible  <bruno@clisp.org>
28867
28868         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
28869         * lib/glob.c: Don't include openat.h.
28870         (link_exists2_p): Add back the code that deals with the
28871         !GLOB_ALTDIRFUNC case.
28872         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
28873         let it do the filename concatenation.
28874         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
28875         * modules/glob (Depends-on): Remove openat.
28876
28877 2007-12-31  Bruno Haible  <bruno@clisp.org>
28878
28879         * modules/dirfd (License): Change to LGPLv2+.
28880         Approved by Jim Meyering.
28881
28882 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
28883
28884         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
28885         when multiplying M by sizeof (size_t).
28886
28887 2007-12-10  Martin Lambers  <marlam@marlam.de>
28888
28889         Override getpagesize on mingw.
28890         * lib/getpagesize.c: New file.
28891         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
28892         * modules/getpagesize (Files): Add lib/getpagesize.c.
28893         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
28894         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
28895         REPLACE_GETPAGESIZE.
28896         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
28897
28898 2007-12-25  Bruno Haible  <bruno@clisp.org>
28899
28900         * modules/localcharset (Notice): New field.
28901         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
28902         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
28903
28904 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
28905             Bruno Haible  <bruno@clisp.org>
28906
28907         Avoid using the syntax symbol() in formatted documentation.
28908         * MODULES.html.sh (func_module): When replacing symbol() with a
28909         hyperlink, remove the parentheses. Show an error if some remain.
28910         Recognize and render the '...' syntax.
28911         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
28912         Rework. Add paragraph about GCC's inlining.
28913         * doc/alloca.texi: Likewise.
28914         * doc/error.texi: Remove parentheses from symbol reference.
28915         * doc/gnulib-intro.texi: Likewise.
28916         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
28917         * modules/fnmatch (Description): Reword to say "the ... function".
28918         * modules/full-read (Description): Likewise.
28919         * modules/full-write (Description): Likewise.
28920         * modules/safe-read (Description): Likewise.
28921         * modules/safe-write (Description): Likewise.
28922         * modules/strchrnul (Description): Likewise.
28923         * modules/trim (Description): Likewise.
28924         * modules/error (Description): Remove parentheses from symbol
28925         references.
28926         * modules/verror (Description): Likewise.
28927         Reported by Karl Berry.
28928
28929 2007-12-25  Bruno Haible  <bruno@clisp.org>
28930
28931         Fixup after 2007-10-16 commit.
28932         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
28933
28934 2007-12-24  Bruno Haible  <bruno@clisp.org>
28935
28936         Make --enable-relocatable work with DESTDIR.
28937         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
28938         to compute installdir from destprog.
28939         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
28940         also set the RELOC_DESTDIR variable.
28941         Reported by Левашев Иван <octagram@bluebottle.com>.
28942
28943 2007-12-24  Bruno Haible  <bruno@clisp.org>
28944
28945         Fix link error due to xalloc_die().
28946         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
28947         of xreadlink.
28948         * lib/relocwrapper.c: Update comments.
28949         * build-aux/install-reloc: Remove xreadlink.c from file list.
28950         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
28951         xreadlink.c.
28952         Reported by Левашев Иван <octagram@bluebottle.com>.
28953
28954 2007-12-24  Bruno Haible  <bruno@clisp.org>
28955
28956         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
28957         * lib/setenv.h: Remove file.
28958         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
28959         lib/setenv.h.
28960         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
28961         (Depends-on): Add stdlib.
28962         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
28963         gl_FUNC_UNSETENV.
28964         (Include): Replace setenv.h with <stdlib.h>.
28965         * modules/unsetenv: New file.
28966         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
28967         * lib/unsetenv.c: Include <stdlib.h> first.
28968         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
28969         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
28970         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
28971         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
28972         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
28973         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
28974         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
28975         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
28976         * doc/functions/unsetenv.texi: Update.
28977         * modules/xsetenv (Depends-on): Add unsetenv.
28978         * modules/getdate (Depends-on): Likewise.
28979         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
28980         * lib/xsetenv.c: Don't include setenv.h.
28981         * lib/getdate.y: Likewise.
28982         * lib/relocwrapper.c: Likewise.
28983         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
28984         (Depends-on): Add stdlib.
28985         * NEWS: Mention the changes.
28986         Reported by Левашев Иван <octagram@bluebottle.com>.
28987
28988 2007-12-23  Bruno Haible  <bruno@clisp.org>
28989
28990         * lib/memmem.c (memmem): Use lowercase variable names. Tab
28991         indentation.
28992
28993 2007-12-23  Bruno Haible  <bruno@clisp.org>
28994
28995         * lib/c-strcasestr.c: Add more comments.
28996         * lib/c-strstr.c: Likewise.
28997         * lib/mbscasestr.c: Likewise.
28998         * lib/mbsstr.c: Likewise.
28999         * lib/strcasestr.c: Likewise.
29000         * lib/memmem.c: Likewise.
29001
29002 2007-12-23  Bruno Haible  <bruno@clisp.org>
29003
29004         * tests/test-memmem.c: Include <string.h> first.
29005
29006 2007-12-22  Bruno Haible  <bruno@clisp.org>
29007
29008         * gnulib-tool (func_create_testdir): Change $auxdir while generating
29009         the contents of $testsbase.
29010         Reported by Ralf Wildenhues.
29011
29012 2007-12-22  Bruno Haible  <bruno@clisp.org>
29013
29014         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
29015         two variables local_ldadd_before, local_ldadd_last.
29016
29017 2007-12-20  Eric Blake  <ebb9@byu.net>
29018
29019         Work around circular library issue when cross-compiling.
29020         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
29021         that progname.o does not need to pull in rpl_memcmp.
29022
29023 2007-12-19  Eric Blake  <ebb9@byu.net>
29024
29025         Fix memmem to avoid O(n^2) worst-case complexity.
29026         * lib/memmem.c (knuth_morris_pratt): New function.
29027         (memmem): Use it if first few naive iterations fail.
29028         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
29029         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
29030         * modules/memchr (License): Likewise.
29031         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
29032         malloca.
29033         * tests/test-memmem.c: Rewrite, borrowing ideas from
29034         test-mbsstr1.c; the old version wouldn't even compile!
29035         * modules/memmem-tests: New file.
29036         * lib/string.in.h (rpl_memmem): Add declaration.
29037         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
29038         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
29039         REPLACE_MEMMEM.
29040
29041 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
29042
29043         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
29044         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
29045         before any system include files, and undef after them all.  This
29046         should fix a problem on VMS reported by John E. Malmberg in
29047         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00118.html>.
29048
29049 2007-12-17  Eric Blake  <ebb9@byu.net>
29050
29051         Revert addition of verify, for BSD/OS.
29052         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
29053         can't handle large files, for the sake of obsolete platforms.
29054         * modules/fseeko (Depends-on): Remove verify.
29055         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
29056         * doc/functions/ftello.texi (ftello): Likewise.
29057         * doc/functions/fgetpos.texi (fgetpos): Likewise.
29058         Reported by Larry Jones.
29059
29060 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
29061
29062         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
29063         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
29064
29065 2007-12-17  Jim Meyering  <meyering@redhat.com>
29066
29067         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
29068         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
29069         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
29070         * modules/getcwd (Depends-on): Add openat.
29071         Reported by Petr Salinger.
29072
29073 2007-12-17  Bruno Haible  <bruno@clisp.org>
29074
29075         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
29076         avoid a segmentation fault of the configure test on x86_64 systems.
29077
29078 2007-12-15  Jim Meyering  <meyering@redhat.com>
29079
29080         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
29081
29082 2007-12-13  Eric Blake  <ebb9@byu.net>
29083
29084         Another fseek test.
29085         * tests/test-fseek.c (main): Also test ungetc handling.
29086         * tests/test-fseeko.c (main): Likewise.
29087         * modules/fseeko (Depends-on): Add verify.
29088         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
29089         large.
29090         Reported by Larry Jones.
29091
29092         Fix fseeko on mingw.
29093         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
29094         seek.
29095
29096         Beef up fseek tests.
29097         * tests/test-fseek.c (main): Also test eof handling.
29098         * tests/test-fseeko.c (main): Likewise.
29099         Reported by Larry Jones.
29100
29101 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
29102
29103         Fix fseeko on BSD-based platforms.
29104         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
29105         successful seek.
29106
29107 2007-12-12  Eric Blake  <ebb9@byu.net>
29108
29109         Allow circular dependency of separate libtests.a
29110         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
29111         when use_libtests.
29112
29113 2007-12-11  Eric Blake  <ebb9@byu.net>
29114
29115         Fix bug with -0.0L in previous patch.
29116         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
29117         * tests/test-isnan.c (main): Also test on zeroes.
29118         * tests/test-isnanf.c (main): Likewise.
29119         * tests/test-isnanl.h (main): Likewise.
29120
29121         Detect pseudo-denormals on x86 even when cross-compiling.
29122         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
29123         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
29124         invalid bit patterns that happen to satisfy ==.
29125
29126         Avoid link failures with separate libtests.a.
29127         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
29128         last, to satisfy circular dependencies.
29129
29130 2007-12-11  Eric Blake  <ebb9@byu.net>
29131         and Bruno Haible  <bruno@clisp.org>
29132
29133         Fix OpenBSD 4.0 <float.h> handling of long double.
29134         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
29135         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
29136         * doc/headers/float.texi (float.h): Document OpenBSD bug.
29137
29138 2007-12-11  Jim Meyering  <meyering@redhat.com>
29139
29140         * users.txt: Add libvirt.
29141
29142         Support versions of autoconf prior to 2.59c.
29143         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
29144         if it is not already defined.
29145
29146 2007-12-09  Bruno Haible  <bruno@clisp.org>
29147
29148         Let 'gnulib-tool --import' collect sources needed for the tests in
29149         tests/ rather than in lib/.
29150         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
29151         argument. If true, add rules to generate libtests.a, and put libtests.a
29152         into $(LDADD). Consider source files in subdirectories and set
29153         uses_subdirs.
29154         (func_emit_initmacro_start, func_emit_initmacro_end,
29155         func_emit_initmacro_done): Pass all arguments explicitly.
29156         (func_import): Determine two module lists main_modules,
29157         testsrelated_modules. Determine use_libtests. Determine two variables
29158         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
29159         instead of just sed_transform_lib_file. Determine two variables
29160         main_files and testsrelated_files. Compute 'files' as the union of
29161         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
29162         func_add_or_update. In the generated gnulib-comp.m4, collect the
29163         object files for tests/ in different variables than those for lib/.
29164         Substitute LIBTESTS_LIBDEPS.
29165         (func_create_testdir): Combine the uses_subdirs results from
29166         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
29167
29168 2007-12-09  Bruno Haible  <bruno@clisp.org>
29169
29170         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
29171         the build-aux directory.
29172
29173 2007-12-09  Bruno Haible  <bruno@clisp.org>
29174
29175         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
29176         introduced on 2006-09-09.
29177
29178 2007-12-07  Jim Meyering  <meyering@redhat.com>
29179
29180         Let these macros work also with autoconf-2.59.
29181         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
29182         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
29183         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
29184
29185 2007-12-06  Jim Meyering  <meyering@redhat.com>
29186
29187         Avoid a configure-time syntax error in gl_FUNC_ACL.
29188         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
29189         function in each branch, before testing the cache variable.
29190
29191 2007-12-04  Eric Blake  <ebb9@byu.net>
29192
29193         Make scripts executable.
29194         * build-aux/config.guess: Add execute permissions.
29195         * build-aux/config.sub: Likewise.
29196         * build-aux/gendocs.sh: Likewise.
29197
29198         Fix frexp on mingw.
29199         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
29200         cross-compiling.
29201         * doc/functions/frexp.texi (frexp): Document the bug.
29202
29203         Make cygwin fseeko check more reliable.
29204         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
29205         version numbers, rather than unrelated feature check.
29206         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
29207         * doc/functions/ftello.texi (ftello): Likewise.
29208         Reported by Bruno Haible.
29209
29210         * m4/strerror.m4: Bump version number.
29211
29212 2007-12-03  Bruno Haible  <bruno@clisp.org>
29213
29214         * doc/functions/mprotect.texi: Mention the mingw problem.
29215
29216 2007-12-03  Eric Blake  <ebb9@byu.net>
29217
29218         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
29219         REPLACE_STRERROR is initialized before this macro.
29220
29221 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
29222
29223         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
29224         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
29225         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
29226         put -lsec in even for programs other than 'ls'.  This fixes a problem
29227         for gettext reported by Bruno Haible in
29228         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00007.html>.
29229         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
29230         Add support for Solaris 10.  This isn't efficient, but should get the
29231         job done for now.
29232
29233 2007-12-03  James Youngman  <jay@gnu.org>
29234
29235         * doc/regexprops-generic.texi: change "an close-group" to "a
29236         close-group" and "illegal" to "not allowed".
29237
29238 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
29239
29240         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
29241         pr_byname.h. Needed for the rare case when the maintainer has done
29242         "make maintainer-clean" in the source directory and then attempts a
29243         build outside the source directory.
29244         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
29245         scripts_byname.h.
29246
29247 2007-12-02  Martin Lambers <marlam@marlam.de>
29248             Bruno Haible  <bruno@clisp.org>
29249
29250         * lib/getpagesize.h: Remove file.
29251         * lib/unistd.in.h: Include declaration of getpagesize here.
29252         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
29253         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
29254         HAVE_SYS_PARAM_H.
29255         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
29256         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
29257         * modules/getpagesize (Files): Remove lib/getpagesize.h.
29258         (Depends-on): Add unistd.
29259         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
29260         (Include): Use <unistd.h> instead of getpagesize.h.
29261         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
29262         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
29263         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
29264         gl_GETPAGESIZE invocation, already handled by module dependency.
29265         * lib/pagealign_alloc.c: Don't include getpagesize.h.
29266
29267 2007-12-02  Bruno Haible  <bruno@clisp.org>
29268
29269         * modules/strings-tests: New file.
29270         * tests/test-strings.c: New file.
29271
29272         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
29273         * lib/strings.in.h: New file.
29274         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
29275         * m4/strings_h.m4: New file.
29276         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
29277         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
29278         * modules/strings: New file.
29279         * modules/string (Makefile.am): Update.
29280         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
29281         Reported by Karl Berry.
29282
29283 2007-12-01  Eric Blake  <ebb9@byu.net>
29284
29285         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
29286         accomodate fix in cygwin 1.5.25.
29287
29288 2007-12-01  Jim Meyering  <meyering@redhat.com>
29289
29290         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
29291         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
29292         that would inhibit utf8-optimization of a regexp containing line-
29293         or buffer-anchors, e.g., `^', `$'.
29294
29295 2007-11-30  Bruno Haible  <bruno@clisp.org>
29296
29297         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
29298         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
29299         glthread_recursive_lock_init.
29300         * lib/lock.c (glthread_recursive_lock_init)
29301         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
29302         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
29303
29304 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
29305
29306         New function qset_acl, like set_acl but with syscall semantics.
29307         * lib/acl.h (qset_acl): New decl.
29308         * lib/acl.c (qset_acl): New function.
29309         (set_acl): Use new function.  Use more-consistent diagnostics.
29310
29311 2007-11-28  Jim Meyering  <meyering@redhat.com>
29312
29313         * modules/physmem (License): Change from GPL to LGPLv2+.
29314
29315 2007-11-26  Bruno Haible  <bruno@clisp.org>
29316
29317         * lib/vasnprintf.c (decode_long_double): Don't abort if the
29318         'long double' type has excess precision.
29319         Reported by Jim Meyering in
29320         <http://lists.gnu.org/archive/html/bug-gnulib/2007-11/msg00120.html>.
29321
29322 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
29323
29324         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
29325         Sync from <http://gnu.org/licenses>.
29326         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
29327         with license text from same location.
29328         * doc/maintain.texi, doc/standards.texi:  Sync from
29329         <http://savannah.gnu.org/projects/gnustandards>.
29330
29331 2007-11-22  Ondřej Vašík  <ovasik@redhat.com>
29332         and Jim Meyering  <meyering@redhat.com>
29333
29334         Adjust getdate' grammar to accept a slightly more regular language.
29335         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
29336         Before, the former was rejected.
29337         * lib/getdate.y (digits_to_date_time): New function, factored
29338         out of ...
29339         (number): ...here.  Just call digits_to_date_time.
29340         (hybrid): New non-terminal to handle an <unsigned number,
29341         signed relative offset> sequence consistently.
29342
29343 2007-11-18  Jim Meyering  <meyering@redhat.com>
29344
29345         Pull my changes from coreutils:
29346         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
29347         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
29348         use of $gnulib_tool_option_extras, so that it's separated from the
29349         preceding argument.
29350
29351         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
29352         * build-aux/bootstrap (cp_mark_as_generated): Create any required
29353         parent destination directories before copying a file into place.
29354
29355 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
29356
29357         bootstrap: work also with 4-argument variant of AC_INIT
29358         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
29359
29360 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
29361
29362         Port test-getaddrinfo to Solaris.
29363         Problem reported by Bruno Haible in
29364         <http://lists.gnu.org/archive/html/bug-gnulib/2007-03/msg00171.html>.
29365         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
29366         explanation of setting 'hints'.
29367         Don't reject an implementation merely because it returns EAI_SERVICE.
29368         (EAI_SERVICE): Define to 0 if not defined.
29369
29370 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
29371
29372         The license of gnu-make and posix-shell is now "GPLed build tool".
29373         * modules/gnu-make (License): Likewise.
29374         * modules/posix-shell (License): Likewise.
29375
29376         New module posix-shell, for determining a POSIX shell
29377         or perhaps something that is close enough to a POSIX shell.
29378         * m4/posix-shell.m4: New file.
29379         * modules/posix-shell: New file.
29380
29381         * MODULES.html.sh: Mention new module.
29382
29383         New module gnu-make, for determining whether we're using GNU Make.
29384         * m4/gnu-make.m4: New file.
29385         * modules/gnu-make: New file.
29386         * MODULES.html.sh: Mention new module.
29387
29388 2007-11-14  Jim Meyering  <meyering@redhat.com>
29389
29390         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
29391         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
29392         use this macro to create a function _definition_.
29393         Remove useless "#undef ARGMATCH_DIE".
29394
29395 2007-11-14  Bruno Haible  <bruno@clisp.org>
29396
29397         * lib/config.charset: Update for OpenBSD 4.1.
29398         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
29399
29400 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
29401
29402         Document 64-bit #if problems in stdint.texi.
29403         * doc/headers/stdint.texi (stdint.h): Mention problems with
29404         64-bit-#if, and how to work around them.
29405
29406         Don't insist on 'long long int' support in the preprocessor.  It
29407         breaks too many things.  For example, PRIdMAX still uses a 'long
29408         long int' format with the latest Sun compiler, even though
29409         HAVE_LONG_LONG_INT isn't defined due to that compiler's
29410         preprocessor problem.  This causes the latest coreutils to dump
29411         core on Solaris 10 sparc with the Sun C compiler.
29412         Instead, fix the 2007-10-16 problem in a different way, by evaluating
29413         the troublesome expressions at configure-time, not at #if-time.
29414         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
29415         preprocessor.
29416         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
29417         compile-time C checks, done at 'configure'-time.
29418         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
29419         * modules/inttypes (Makefile): Substitute the new symbols that
29420         gl_INTTYPES_H now generates.
29421         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
29422
29423 2007-11-12  Bruno Haible  <bruno@clisp.org>
29424
29425         Tests for Unicode character classification functions.
29426
29427         * modules/unictype/bidicategory-byname-tests: New file.
29428         * modules/unictype/bidicategory-name-tests: New file.
29429         * modules/unictype/bidicategory-of-tests: New file.
29430         * modules/unictype/bidicategory-test-tests: New file.
29431         * modules/unictype/block-list-tests: New file.
29432         * modules/unictype/block-of-tests: New file.
29433         * modules/unictype/block-test-tests: New file.
29434         * modules/unictype/category-C-tests: New file.
29435         * modules/unictype/category-Cc-tests: New file.
29436         * modules/unictype/category-Cf-tests: New file.
29437         * modules/unictype/category-Cn-tests: New file.
29438         * modules/unictype/category-Co-tests: New file.
29439         * modules/unictype/category-Cs-tests: New file.
29440         * modules/unictype/category-L-tests: New file.
29441         * modules/unictype/category-Ll-tests: New file.
29442         * modules/unictype/category-Lm-tests: New file.
29443         * modules/unictype/category-Lo-tests: New file.
29444         * modules/unictype/category-Lt-tests: New file.
29445         * modules/unictype/category-Lu-tests: New file.
29446         * modules/unictype/category-M-tests: New file.
29447         * modules/unictype/category-Mc-tests: New file.
29448         * modules/unictype/category-Me-tests: New file.
29449         * modules/unictype/category-Mn-tests: New file.
29450         * modules/unictype/category-N-tests: New file.
29451         * modules/unictype/category-Nd-tests: New file.
29452         * modules/unictype/category-Nl-tests: New file.
29453         * modules/unictype/category-No-tests: New file.
29454         * modules/unictype/category-P-tests: New file.
29455         * modules/unictype/category-Pc-tests: New file.
29456         * modules/unictype/category-Pd-tests: New file.
29457         * modules/unictype/category-Pe-tests: New file.
29458         * modules/unictype/category-Pf-tests: New file.
29459         * modules/unictype/category-Pi-tests: New file.
29460         * modules/unictype/category-Po-tests: New file.
29461         * modules/unictype/category-Ps-tests: New file.
29462         * modules/unictype/category-S-tests: New file.
29463         * modules/unictype/category-Sc-tests: New file.
29464         * modules/unictype/category-Sk-tests: New file.
29465         * modules/unictype/category-Sm-tests: New file.
29466         * modules/unictype/category-So-tests: New file.
29467         * modules/unictype/category-Z-tests: New file.
29468         * modules/unictype/category-Zl-tests: New file.
29469         * modules/unictype/category-Zp-tests: New file.
29470         * modules/unictype/category-Zs-tests: New file.
29471         * modules/unictype/category-and-not-tests: New file.
29472         * modules/unictype/category-and-tests: New file.
29473         * modules/unictype/category-byname-tests: New file.
29474         * modules/unictype/category-name-tests: New file.
29475         * modules/unictype/category-none-tests: New file.
29476         * modules/unictype/category-of-tests: New file.
29477         * modules/unictype/category-or-tests: New file.
29478         * modules/unictype/category-test-withtable-tests: New file.
29479         * modules/unictype/combining-class-tests: New file.
29480         * modules/unictype/ctype-alnum-tests: New file.
29481         * modules/unictype/ctype-alpha-tests: New file.
29482         * modules/unictype/ctype-blank-tests: New file.
29483         * modules/unictype/ctype-cntrl-tests: New file.
29484         * modules/unictype/ctype-digit-tests: New file.
29485         * modules/unictype/ctype-graph-tests: New file.
29486         * modules/unictype/ctype-lower-tests: New file.
29487         * modules/unictype/ctype-print-tests: New file.
29488         * modules/unictype/ctype-punct-tests: New file.
29489         * modules/unictype/ctype-space-tests: New file.
29490         * modules/unictype/ctype-upper-tests: New file.
29491         * modules/unictype/ctype-xdigit-tests: New file.
29492         * modules/unictype/decimal-digit-tests: New file.
29493         * modules/unictype/digit-tests: New file.
29494         * modules/unictype/mirror-tests: New file.
29495         * modules/unictype/numeric-tests: New file.
29496         * modules/unictype/property-alphabetic-tests: New file.
29497         * modules/unictype/property-ascii-hex-digit-tests: New file.
29498         * modules/unictype/property-bidi-arabic-digit-tests: New file.
29499         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
29500         * modules/unictype/property-bidi-block-separator-tests: New file.
29501         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
29502         * modules/unictype/property-bidi-common-separator-tests: New file.
29503         * modules/unictype/property-bidi-control-tests: New file.
29504         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
29505         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
29506         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
29507         * modules/unictype/property-bidi-european-digit-tests: New file.
29508         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
29509         * modules/unictype/property-bidi-left-to-right-tests: New file.
29510         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
29511         * modules/unictype/property-bidi-other-neutral-tests: New file.
29512         * modules/unictype/property-bidi-pdf-tests: New file.
29513         * modules/unictype/property-bidi-segment-separator-tests: New file.
29514         * modules/unictype/property-bidi-whitespace-tests: New file.
29515         * modules/unictype/property-byname-tests: New file.
29516         * modules/unictype/property-combining-tests: New file.
29517         * modules/unictype/property-composite-tests: New file.
29518         * modules/unictype/property-currency-symbol-tests: New file.
29519         * modules/unictype/property-dash-tests: New file.
29520         * modules/unictype/property-decimal-digit-tests: New file.
29521         * modules/unictype/property-default-ignorable-code-point-tests: New file.
29522         * modules/unictype/property-deprecated-tests: New file.
29523         * modules/unictype/property-diacritic-tests: New file.
29524         * modules/unictype/property-extender-tests: New file.
29525         * modules/unictype/property-format-control-tests: New file.
29526         * modules/unictype/property-grapheme-base-tests: New file.
29527         * modules/unictype/property-grapheme-extend-tests: New file.
29528         * modules/unictype/property-grapheme-link-tests: New file.
29529         * modules/unictype/property-hex-digit-tests: New file.
29530         * modules/unictype/property-hyphen-tests: New file.
29531         * modules/unictype/property-id-continue-tests: New file.
29532         * modules/unictype/property-id-start-tests: New file.
29533         * modules/unictype/property-ideographic-tests: New file.
29534         * modules/unictype/property-ids-binary-operator-tests: New file.
29535         * modules/unictype/property-ids-trinary-operator-tests: New file.
29536         * modules/unictype/property-ignorable-control-tests: New file.
29537         * modules/unictype/property-iso-control-tests: New file.
29538         * modules/unictype/property-join-control-tests: New file.
29539         * modules/unictype/property-left-of-pair-tests: New file.
29540         * modules/unictype/property-line-separator-tests: New file.
29541         * modules/unictype/property-logical-order-exception-tests: New file.
29542         * modules/unictype/property-lowercase-tests: New file.
29543         * modules/unictype/property-math-tests: New file.
29544         * modules/unictype/property-non-break-tests: New file.
29545         * modules/unictype/property-not-a-character-tests: New file.
29546         * modules/unictype/property-numeric-tests: New file.
29547         * modules/unictype/property-other-alphabetic-tests: New file.
29548         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
29549         * modules/unictype/property-other-grapheme-extend-tests: New file.
29550         * modules/unictype/property-other-id-continue-tests: New file.
29551         * modules/unictype/property-other-id-start-tests: New file.
29552         * modules/unictype/property-other-lowercase-tests: New file.
29553         * modules/unictype/property-other-math-tests: New file.
29554         * modules/unictype/property-other-uppercase-tests: New file.
29555         * modules/unictype/property-paired-punctuation-tests: New file.
29556         * modules/unictype/property-paragraph-separator-tests: New file.
29557         * modules/unictype/property-pattern-syntax-tests: New file.
29558         * modules/unictype/property-pattern-white-space-tests: New file.
29559         * modules/unictype/property-private-use-tests: New file.
29560         * modules/unictype/property-punctuation-tests: New file.
29561         * modules/unictype/property-quotation-mark-tests: New file.
29562         * modules/unictype/property-radical-tests: New file.
29563         * modules/unictype/property-sentence-terminal-tests: New file.
29564         * modules/unictype/property-soft-dotted-tests: New file.
29565         * modules/unictype/property-space-tests: New file.
29566         * modules/unictype/property-terminal-punctuation-tests: New file.
29567         * modules/unictype/property-test-tests: New file.
29568         * modules/unictype/property-titlecase-tests: New file.
29569         * modules/unictype/property-unassigned-code-value-tests: New file.
29570         * modules/unictype/property-unified-ideograph-tests: New file.
29571         * modules/unictype/property-uppercase-tests: New file.
29572         * modules/unictype/property-variation-selector-tests: New file.
29573         * modules/unictype/property-white-space-tests: New file.
29574         * modules/unictype/property-xid-continue-tests: New file.
29575         * modules/unictype/property-xid-start-tests: New file.
29576         * modules/unictype/property-zero-width-tests: New file.
29577         * modules/unictype/scripts-tests: New file.
29578         * modules/unictype/syntax-c-ident-tests: New file.
29579         * modules/unictype/syntax-c-whitespace-tests: New file.
29580         * modules/unictype/syntax-java-ident-tests: New file.
29581         * modules/unictype/syntax-java-whitespace-tests: New file.
29582         * tests/unictype/test-bidi_byname.c: New file.
29583         * tests/unictype/test-bidi_name.c: New file.
29584         * tests/unictype/test-bidi_of.c: New file.
29585         * tests/unictype/test-bidi_test.c: New file.
29586         * tests/unictype/test-block_list.c: New file.
29587         * tests/unictype/test-block_of.c: New file.
29588         * tests/unictype/test-block_test.c: New file.
29589         * tests/unictype/test-categ_and.c: New file.
29590         * tests/unictype/test-categ_and_not.c: New file.
29591         * tests/unictype/test-categ_byname.c: New file.
29592         * tests/unictype/test-categ_name.c: New file.
29593         * tests/unictype/test-categ_none.c: New file.
29594         * tests/unictype/test-categ_of.c: New file.
29595         * tests/unictype/test-categ_or.c: New file.
29596         * tests/unictype/test-categ_test_withtable.c: New file.
29597         * tests/unictype/test-combining.c: New file.
29598         * tests/unictype/test-decdigit.c: New file.
29599         * tests/unictype/test-digit.c: New file.
29600         * tests/unictype/test-mirror.c: New file.
29601         * tests/unictype/test-numeric.c: New file.
29602         * tests/unictype/test-pr_byname.c: New file.
29603         * tests/unictype/test-pr_test.c: New file.
29604         * tests/unictype/test-predicate-part1.h: New file.
29605         * tests/unictype/test-predicate-part2.h: New file.
29606         * tests/unictype/test-scripts.c: New file.
29607         * tests/unictype/test-sy_c_ident.c: New file.
29608         * tests/unictype/test-sy_java_ident.c: New file.
29609
29610         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
29611         for Unicode 5.0.0.
29612         * tests/unictype/test-categ_Cc.c: Likewise.
29613         * tests/unictype/test-categ_Cf.c: Likewise.
29614         * tests/unictype/test-categ_Cn.c: Likewise.
29615         * tests/unictype/test-categ_Co.c: Likewise.
29616         * tests/unictype/test-categ_Cs.c: Likewise.
29617         * tests/unictype/test-categ_L.c: Likewise.
29618         * tests/unictype/test-categ_Ll.c: Likewise.
29619         * tests/unictype/test-categ_Lm.c: Likewise.
29620         * tests/unictype/test-categ_Lo.c: Likewise.
29621         * tests/unictype/test-categ_Lt.c: Likewise.
29622         * tests/unictype/test-categ_Lu.c: Likewise.
29623         * tests/unictype/test-categ_M.c: Likewise.
29624         * tests/unictype/test-categ_Mc.c: Likewise.
29625         * tests/unictype/test-categ_Me.c: Likewise.
29626         * tests/unictype/test-categ_Mn.c: Likewise.
29627         * tests/unictype/test-categ_N.c: Likewise.
29628         * tests/unictype/test-categ_Nd.c: Likewise.
29629         * tests/unictype/test-categ_Nl.c: Likewise.
29630         * tests/unictype/test-categ_No.c: Likewise.
29631         * tests/unictype/test-categ_P.c: Likewise.
29632         * tests/unictype/test-categ_Pc.c: Likewise.
29633         * tests/unictype/test-categ_Pd.c: Likewise.
29634         * tests/unictype/test-categ_Pe.c: Likewise.
29635         * tests/unictype/test-categ_Pf.c: Likewise.
29636         * tests/unictype/test-categ_Pi.c: Likewise.
29637         * tests/unictype/test-categ_Po.c: Likewise.
29638         * tests/unictype/test-categ_Ps.c: Likewise.
29639         * tests/unictype/test-categ_S.c: Likewise.
29640         * tests/unictype/test-categ_Sc.c: Likewise.
29641         * tests/unictype/test-categ_Sk.c: Likewise.
29642         * tests/unictype/test-categ_Sm.c: Likewise.
29643         * tests/unictype/test-categ_So.c: Likewise.
29644         * tests/unictype/test-categ_Z.c: Likewise.
29645         * tests/unictype/test-categ_Zl.c: Likewise.
29646         * tests/unictype/test-categ_Zp.c: Likewise.
29647         * tests/unictype/test-categ_Zs.c: Likewise.
29648         * tests/unictype/test-ctype_alnum.c: Likewise.
29649         * tests/unictype/test-ctype_alpha.c: Likewise.
29650         * tests/unictype/test-ctype_blank.c: Likewise.
29651         * tests/unictype/test-ctype_cntrl.c: Likewise.
29652         * tests/unictype/test-ctype_digit.c: Likewise.
29653         * tests/unictype/test-ctype_graph.c: Likewise.
29654         * tests/unictype/test-ctype_lower.c: Likewise.
29655         * tests/unictype/test-ctype_print.c: Likewise.
29656         * tests/unictype/test-ctype_punct.c: Likewise.
29657         * tests/unictype/test-ctype_space.c: Likewise.
29658         * tests/unictype/test-ctype_upper.c: Likewise.
29659         * tests/unictype/test-ctype_xdigit.c: Likewise.
29660         * tests/unictype/test-decdigit.h: Likewise.
29661         * tests/unictype/test-digit.h: Likewise.
29662         * tests/unictype/test-numeric.h: Likewise.
29663         * tests/unictype/test-pr_alphabetic.c: Likewise.
29664         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
29665         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
29666         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
29667         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
29668         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
29669         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
29670         * tests/unictype/test-pr_bidi_control.c: Likewise.
29671         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
29672         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
29673         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
29674         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
29675         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
29676         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
29677         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
29678         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
29679         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
29680         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
29681         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
29682         * tests/unictype/test-pr_combining.c: Likewise.
29683         * tests/unictype/test-pr_composite.c: Likewise.
29684         * tests/unictype/test-pr_currency_symbol.c: Likewise.
29685         * tests/unictype/test-pr_dash.c: Likewise.
29686         * tests/unictype/test-pr_decimal_digit.c: Likewise.
29687         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
29688         * tests/unictype/test-pr_deprecated.c: Likewise.
29689         * tests/unictype/test-pr_diacritic.c: Likewise.
29690         * tests/unictype/test-pr_extender.c: Likewise.
29691         * tests/unictype/test-pr_format_control.c: Likewise.
29692         * tests/unictype/test-pr_grapheme_base.c: Likewise.
29693         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
29694         * tests/unictype/test-pr_grapheme_link.c: Likewise.
29695         * tests/unictype/test-pr_hex_digit.c: Likewise.
29696         * tests/unictype/test-pr_hyphen.c: Likewise.
29697         * tests/unictype/test-pr_id_continue.c: Likewise.
29698         * tests/unictype/test-pr_id_start.c: Likewise.
29699         * tests/unictype/test-pr_ideographic.c: Likewise.
29700         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
29701         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
29702         * tests/unictype/test-pr_ignorable_control.c: Likewise.
29703         * tests/unictype/test-pr_iso_control.c: Likewise.
29704         * tests/unictype/test-pr_join_control.c: Likewise.
29705         * tests/unictype/test-pr_left_of_pair.c: Likewise.
29706         * tests/unictype/test-pr_line_separator.c: Likewise.
29707         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
29708         * tests/unictype/test-pr_lowercase.c: Likewise.
29709         * tests/unictype/test-pr_math.c: Likewise.
29710         * tests/unictype/test-pr_non_break.c: Likewise.
29711         * tests/unictype/test-pr_not_a_character.c: Likewise.
29712         * tests/unictype/test-pr_numeric.c: Likewise.
29713         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
29714         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
29715         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
29716         * tests/unictype/test-pr_other_id_continue.c: Likewise.
29717         * tests/unictype/test-pr_other_id_start.c: Likewise.
29718         * tests/unictype/test-pr_other_lowercase.c: Likewise.
29719         * tests/unictype/test-pr_other_math.c: Likewise.
29720         * tests/unictype/test-pr_other_uppercase.c: Likewise.
29721         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
29722         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
29723         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
29724         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
29725         * tests/unictype/test-pr_private_use.c: Likewise.
29726         * tests/unictype/test-pr_punctuation.c: Likewise.
29727         * tests/unictype/test-pr_quotation_mark.c: Likewise.
29728         * tests/unictype/test-pr_radical.c: Likewise.
29729         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
29730         * tests/unictype/test-pr_soft_dotted.c: Likewise.
29731         * tests/unictype/test-pr_space.c: Likewise.
29732         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
29733         * tests/unictype/test-pr_titlecase.c: Likewise.
29734         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
29735         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
29736         * tests/unictype/test-pr_uppercase.c: Likewise.
29737         * tests/unictype/test-pr_variation_selector.c: Likewise.
29738         * tests/unictype/test-pr_white_space.c: Likewise.
29739         * tests/unictype/test-pr_xid_continue.c: Likewise.
29740         * tests/unictype/test-pr_xid_start.c: Likewise.
29741         * tests/unictype/test-pr_zero_width.c: Likewise.
29742         * tests/unictype/test-sy_c_whitespace.c: Likewise.
29743         * tests/unictype/test-sy_java_whitespace.c: Likewise.
29744
29745 2007-11-12  Bruno Haible  <bruno@clisp.org>
29746
29747         Unicode character classification functions.
29748         * lib/unictype.h: New file.
29749         * modules/unictype/base: New file.
29750         * modules/unictype/category-L: New file.
29751         * modules/unictype/category-Lu: New file.
29752         * modules/unictype/category-Ll: New file.
29753         * modules/unictype/category-Lt: New file.
29754         * modules/unictype/category-Lm: New file.
29755         * modules/unictype/category-Lo: New file.
29756         * modules/unictype/category-M: New file.
29757         * modules/unictype/category-Mn: New file.
29758         * modules/unictype/category-Mc: New file.
29759         * modules/unictype/category-Me: New file.
29760         * modules/unictype/category-N: New file.
29761         * modules/unictype/category-Nd: New file.
29762         * modules/unictype/category-Nl: New file.
29763         * modules/unictype/category-No: New file.
29764         * modules/unictype/category-P: New file.
29765         * modules/unictype/category-Pc: New file.
29766         * modules/unictype/category-Pd: New file.
29767         * modules/unictype/category-Ps: New file.
29768         * modules/unictype/category-Pe: New file.
29769         * modules/unictype/category-Pi: New file.
29770         * modules/unictype/category-Pf: New file.
29771         * modules/unictype/category-Po: New file.
29772         * modules/unictype/category-S: New file.
29773         * modules/unictype/category-Sm: New file.
29774         * modules/unictype/category-Sc: New file.
29775         * modules/unictype/category-Sk: New file.
29776         * modules/unictype/category-So: New file.
29777         * modules/unictype/category-Z: New file.
29778         * modules/unictype/category-Zs: New file.
29779         * modules/unictype/category-Zl: New file.
29780         * modules/unictype/category-Zp: New file.
29781         * modules/unictype/category-C: New file.
29782         * modules/unictype/category-Cc: New file.
29783         * modules/unictype/category-Cf: New file.
29784         * modules/unictype/category-Cs: New file.
29785         * modules/unictype/category-Co: New file.
29786         * modules/unictype/category-Cn: New file.
29787         * modules/unictype/category-or: New file.
29788         * modules/unictype/category-of: New file.
29789         * modules/unictype/category-test: New file.
29790         * modules/unictype/category-test-withtable: New file.
29791         * modules/unictype/category-byname: New file.
29792         * modules/unictype/category-none: New file.
29793         * modules/unictype/category-and: New file.
29794         * modules/unictype/category-and-not: New file.
29795         * modules/unictype/category-name: New file.
29796         * modules/unictype/combining-class: New file.
29797         * modules/unictype/category-all: New file.
29798         * modules/unictype/bidicategory-all: New file.
29799         * modules/unictype/bidicategory-byname: New file.
29800         * modules/unictype/bidicategory-name: New file.
29801         * modules/unictype/bidicategory-of: New file.
29802         * modules/unictype/bidicategory-test: New file.
29803         * modules/unictype/decimal-digit: New file.
29804         * modules/unictype/digit: New file.
29805         * modules/unictype/numeric: New file.
29806         * modules/unictype/mirror: New file.
29807         * modules/unictype/property-white-space: New file.
29808         * modules/unictype/property-alphabetic: New file.
29809         * modules/unictype/property-other-alphabetic: New file.
29810         * modules/unictype/property-not-a-character: New file.
29811         * modules/unictype/property-default-ignorable-code-point: New file.
29812         * modules/unictype/property-other-default-ignorable-code-point: New
29813         file.
29814         * modules/unictype/property-deprecated: New file.
29815         * modules/unictype/property-logical-order-exception: New file.
29816         * modules/unictype/property-variation-selector: New file.
29817         * modules/unictype/property-private-use: New file.
29818         * modules/unictype/property-unassigned-code-value: New file.
29819         * modules/unictype/property-uppercase: New file.
29820         * modules/unictype/property-other-uppercase: New file.
29821         * modules/unictype/property-lowercase: New file.
29822         * modules/unictype/property-other-lowercase: New file.
29823         * modules/unictype/property-titlecase: New file.
29824         * modules/unictype/property-soft-dotted: New file.
29825         * modules/unictype/property-id-start: New file.
29826         * modules/unictype/property-other-id-start: New file.
29827         * modules/unictype/property-id-continue: New file.
29828         * modules/unictype/property-other-id-continue: New file.
29829         * modules/unictype/property-xid-start: New file.
29830         * modules/unictype/property-xid-continue: New file.
29831         * modules/unictype/property-pattern-white-space: New file.
29832         * modules/unictype/property-pattern-syntax: New file.
29833         * modules/unictype/property-join-control: New file.
29834         * modules/unictype/property-grapheme-base: New file.
29835         * modules/unictype/property-grapheme-extend: New file.
29836         * modules/unictype/property-other-grapheme-extend: New file.
29837         * modules/unictype/property-grapheme-link: New file.
29838         * modules/unictype/property-bidi-control: New file.
29839         * modules/unictype/property-bidi-left-to-right: New file.
29840         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
29841         * modules/unictype/property-bidi-arabic-right-to-left: New file.
29842         * modules/unictype/property-bidi-european-digit: New file.
29843         * modules/unictype/property-bidi-eur-num-separator: New file.
29844         * modules/unictype/property-bidi-eur-num-terminator: New file.
29845         * modules/unictype/property-bidi-arabic-digit: New file.
29846         * modules/unictype/property-bidi-common-separator: New file.
29847         * modules/unictype/property-bidi-block-separator: New file.
29848         * modules/unictype/property-bidi-segment-separator: New file.
29849         * modules/unictype/property-bidi-whitespace: New file.
29850         * modules/unictype/property-bidi-non-spacing-mark: New file.
29851         * modules/unictype/property-bidi-boundary-neutral: New file.
29852         * modules/unictype/property-bidi-pdf: New file.
29853         * modules/unictype/property-bidi-embedding-or-override: New file.
29854         * modules/unictype/property-bidi-other-neutral: New file.
29855         * modules/unictype/property-hex-digit: New file.
29856         * modules/unictype/property-ascii-hex-digit: New file.
29857         * modules/unictype/property-ideographic: New file.
29858         * modules/unictype/property-unified-ideograph: New file.
29859         * modules/unictype/property-radical: New file.
29860         * modules/unictype/property-ids-binary-operator: New file.
29861         * modules/unictype/property-ids-trinary-operator: New file.
29862         * modules/unictype/property-zero-width: New file.
29863         * modules/unictype/property-space: New file.
29864         * modules/unictype/property-non-break: New file.
29865         * modules/unictype/property-iso-control: New file.
29866         * modules/unictype/property-format-control: New file.
29867         * modules/unictype/property-dash: New file.
29868         * modules/unictype/property-hyphen: New file.
29869         * modules/unictype/property-punctuation: New file.
29870         * modules/unictype/property-line-separator: New file.
29871         * modules/unictype/property-paragraph-separator: New file.
29872         * modules/unictype/property-quotation-mark: New file.
29873         * modules/unictype/property-sentence-terminal: New file.
29874         * modules/unictype/property-terminal-punctuation: New file.
29875         * modules/unictype/property-currency-symbol: New file.
29876         * modules/unictype/property-math: New file.
29877         * modules/unictype/property-other-math: New file.
29878         * modules/unictype/property-paired-punctuation: New file.
29879         * modules/unictype/property-left-of-pair: New file.
29880         * modules/unictype/property-combining: New file.
29881         * modules/unictype/property-composite: New file.
29882         * modules/unictype/property-decimal-digit: New file.
29883         * modules/unictype/property-numeric: New file.
29884         * modules/unictype/property-diacritic: New file.
29885         * modules/unictype/property-extender: New file.
29886         * modules/unictype/property-ignorable-control: New file.
29887         * modules/unictype/property-test: New file.
29888         * modules/unictype/property-byname: New file.
29889         * modules/unictype/property-all: New file.
29890         * modules/unictype/scripts: New file.
29891         * modules/unictype/scripts-all: New file.
29892         * modules/unictype/block-of: New file.
29893         * modules/unictype/block-test: New file.
29894         * modules/unictype/block-list: New file.
29895         * modules/unictype/block-all: New file.
29896         * modules/unictype/syntax-c-whitespace: New file.
29897         * modules/unictype/syntax-java-whitespace: New file.
29898         * modules/unictype/syntax-c-ident: New file.
29899         * modules/unictype/syntax-java-ident: New file.
29900         * modules/unictype/ctype-alnum: New file.
29901         * modules/unictype/ctype-alpha: New file.
29902         * modules/unictype/ctype-cntrl: New file.
29903         * modules/unictype/ctype-digit: New file.
29904         * modules/unictype/ctype-graph: New file.
29905         * modules/unictype/ctype-lower: New file.
29906         * modules/unictype/ctype-print: New file.
29907         * modules/unictype/ctype-punct: New file.
29908         * modules/unictype/ctype-space: New file.
29909         * modules/unictype/ctype-upper: New file.
29910         * modules/unictype/ctype-xdigit: New file.
29911         * modules/unictype/ctype-blank: New file.
29912         * lib/unictype/bidi_byname.c: New file.
29913         * lib/unictype/bidi_name.c: New file.
29914         * lib/unictype/bidi_of.c: New file.
29915         * lib/unictype/bidi_test.c: New file.
29916         * lib/unictype/bitmap.h: New file.
29917         * lib/unictype/block_test.c: New file.
29918         * lib/unictype/blocks.c: New file.
29919         * lib/unictype/categ_C.c: New file.
29920         * lib/unictype/categ_Cc.c: New file.
29921         * lib/unictype/categ_Cf.c: New file.
29922         * lib/unictype/categ_Cn.c: New file.
29923         * lib/unictype/categ_Co.c: New file.
29924         * lib/unictype/categ_Cs.c: New file.
29925         * lib/unictype/categ_L.c: New file.
29926         * lib/unictype/categ_Ll.c: New file.
29927         * lib/unictype/categ_Lm.c: New file.
29928         * lib/unictype/categ_Lo.c: New file.
29929         * lib/unictype/categ_Lt.c: New file.
29930         * lib/unictype/categ_Lu.c: New file.
29931         * lib/unictype/categ_M.c: New file.
29932         * lib/unictype/categ_Mc.c: New file.
29933         * lib/unictype/categ_Me.c: New file.
29934         * lib/unictype/categ_Mn.c: New file.
29935         * lib/unictype/categ_N.c: New file.
29936         * lib/unictype/categ_Nd.c: New file.
29937         * lib/unictype/categ_Nl.c: New file.
29938         * lib/unictype/categ_No.c: New file.
29939         * lib/unictype/categ_P.c: New file.
29940         * lib/unictype/categ_Pc.c: New file.
29941         * lib/unictype/categ_Pd.c: New file.
29942         * lib/unictype/categ_Pe.c: New file.
29943         * lib/unictype/categ_Pf.c: New file.
29944         * lib/unictype/categ_Pi.c: New file.
29945         * lib/unictype/categ_Po.c: New file.
29946         * lib/unictype/categ_Ps.c: New file.
29947         * lib/unictype/categ_S.c: New file.
29948         * lib/unictype/categ_Sc.c: New file.
29949         * lib/unictype/categ_Sk.c: New file.
29950         * lib/unictype/categ_Sm.c: New file.
29951         * lib/unictype/categ_So.c: New file.
29952         * lib/unictype/categ_Z.c: New file.
29953         * lib/unictype/categ_Zl.c: New file.
29954         * lib/unictype/categ_Zp.c: New file.
29955         * lib/unictype/categ_Zs.c: New file.
29956         * lib/unictype/categ_and.c: New file.
29957         * lib/unictype/categ_and_not.c: New file.
29958         * lib/unictype/categ_byname.c: New file.
29959         * lib/unictype/categ_name.c: New file.
29960         * lib/unictype/categ_none.c: New file.
29961         * lib/unictype/categ_of.c: New file.
29962         * lib/unictype/categ_or.c: New file.
29963         * lib/unictype/categ_test.c: New file.
29964         * lib/unictype/combining.c: New file.
29965         * lib/unictype/ctype_alnum.c: New file.
29966         * lib/unictype/ctype_alpha.c: New file.
29967         * lib/unictype/ctype_blank.c: New file.
29968         * lib/unictype/ctype_cntrl.c: New file.
29969         * lib/unictype/ctype_digit.c: New file.
29970         * lib/unictype/ctype_graph.c: New file.
29971         * lib/unictype/ctype_lower.c: New file.
29972         * lib/unictype/ctype_print.c: New file.
29973         * lib/unictype/ctype_punct.c: New file.
29974         * lib/unictype/ctype_space.c: New file.
29975         * lib/unictype/ctype_upper.c: New file.
29976         * lib/unictype/ctype_xdigit.c: New file.
29977         * lib/unictype/decdigit.c: New file.
29978         * lib/unictype/digit.c: New file.
29979         * lib/unictype/identsyntaxmap.h: New file.
29980         * lib/unictype/mirror.c: New file.
29981         * lib/unictype/numeric.c: New file.
29982         * lib/unictype/pr_alphabetic.c: New file.
29983         * lib/unictype/pr_ascii_hex_digit.c: New file.
29984         * lib/unictype/pr_bidi_arabic_digit.c: New file.
29985         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
29986         * lib/unictype/pr_bidi_block_separator.c: New file.
29987         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
29988         * lib/unictype/pr_bidi_common_separator.c: New file.
29989         * lib/unictype/pr_bidi_control.c: New file.
29990         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
29991         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
29992         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
29993         * lib/unictype/pr_bidi_european_digit.c: New file.
29994         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
29995         * lib/unictype/pr_bidi_left_to_right.c: New file.
29996         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
29997         * lib/unictype/pr_bidi_other_neutral.c: New file.
29998         * lib/unictype/pr_bidi_pdf.c: New file.
29999         * lib/unictype/pr_bidi_segment_separator.c: New file.
30000         * lib/unictype/pr_bidi_whitespace.c: New file.
30001         * lib/unictype/pr_byname.c: New file.
30002         * lib/unictype/pr_byname.gperf: New file.
30003         * lib/unictype/pr_combining.c: New file.
30004         * lib/unictype/pr_composite.c: New file.
30005         * lib/unictype/pr_currency_symbol.c: New file.
30006         * lib/unictype/pr_dash.c: New file.
30007         * lib/unictype/pr_decimal_digit.c: New file.
30008         * lib/unictype/pr_default_ignorable_code_point.c: New file.
30009         * lib/unictype/pr_deprecated.c: New file.
30010         * lib/unictype/pr_diacritic.c: New file.
30011         * lib/unictype/pr_extender.c: New file.
30012         * lib/unictype/pr_format_control.c: New file.
30013         * lib/unictype/pr_grapheme_base.c: New file.
30014         * lib/unictype/pr_grapheme_extend.c: New file.
30015         * lib/unictype/pr_grapheme_link.c: New file.
30016         * lib/unictype/pr_hex_digit.c: New file.
30017         * lib/unictype/pr_hyphen.c: New file.
30018         * lib/unictype/pr_id_continue.c: New file.
30019         * lib/unictype/pr_id_start.c: New file.
30020         * lib/unictype/pr_ideographic.c: New file.
30021         * lib/unictype/pr_ids_binary_operator.c: New file.
30022         * lib/unictype/pr_ids_trinary_operator.c: New file.
30023         * lib/unictype/pr_ignorable_control.c: New file.
30024         * lib/unictype/pr_iso_control.c: New file.
30025         * lib/unictype/pr_join_control.c: New file.
30026         * lib/unictype/pr_left_of_pair.c: New file.
30027         * lib/unictype/pr_line_separator.c: New file.
30028         * lib/unictype/pr_logical_order_exception.c: New file.
30029         * lib/unictype/pr_lowercase.c: New file.
30030         * lib/unictype/pr_math.c: New file.
30031         * lib/unictype/pr_non_break.c: New file.
30032         * lib/unictype/pr_not_a_character.c: New file.
30033         * lib/unictype/pr_numeric.c: New file.
30034         * lib/unictype/pr_other_alphabetic.c: New file.
30035         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
30036         * lib/unictype/pr_other_grapheme_extend.c: New file.
30037         * lib/unictype/pr_other_id_continue.c: New file.
30038         * lib/unictype/pr_other_id_start.c: New file.
30039         * lib/unictype/pr_other_lowercase.c: New file.
30040         * lib/unictype/pr_other_math.c: New file.
30041         * lib/unictype/pr_other_uppercase.c: New file.
30042         * lib/unictype/pr_paired_punctuation.c: New file.
30043         * lib/unictype/pr_paragraph_separator.c: New file.
30044         * lib/unictype/pr_pattern_syntax.c: New file.
30045         * lib/unictype/pr_pattern_white_space.c: New file.
30046         * lib/unictype/pr_private_use.c: New file.
30047         * lib/unictype/pr_punctuation.c: New file.
30048         * lib/unictype/pr_quotation_mark.c: New file.
30049         * lib/unictype/pr_radical.c: New file.
30050         * lib/unictype/pr_sentence_terminal.c: New file.
30051         * lib/unictype/pr_soft_dotted.c: New file.
30052         * lib/unictype/pr_space.c: New file.
30053         * lib/unictype/pr_terminal_punctuation.c: New file.
30054         * lib/unictype/pr_test.c: New file.
30055         * lib/unictype/pr_titlecase.c: New file.
30056         * lib/unictype/pr_unassigned_code_value.c: New file.
30057         * lib/unictype/pr_unified_ideograph.c: New file.
30058         * lib/unictype/pr_uppercase.c: New file.
30059         * lib/unictype/pr_variation_selector.c: New file.
30060         * lib/unictype/pr_white_space.c: New file.
30061         * lib/unictype/pr_xid_continue.c: New file.
30062         * lib/unictype/pr_xid_start.c: New file.
30063         * lib/unictype/pr_zero_width.c: New file.
30064         * lib/unictype/scripts.c: New file.
30065         * lib/unictype/sy_c_ident.c: New file.
30066         * lib/unictype/sy_c_whitespace.c: New file.
30067         * lib/unictype/sy_java_ident.c: New file.
30068         * lib/unictype/sy_java_whitespace.c: New file.
30069
30070         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
30071         Unicode 5.0.0.
30072         * lib/unictype/blocks.h: Likewise.
30073         * lib/unictype/categ_C.h: Likewise.
30074         * lib/unictype/categ_Cc.h: Likewise.
30075         * lib/unictype/categ_Cf.h: Likewise.
30076         * lib/unictype/categ_Cn.h: Likewise.
30077         * lib/unictype/categ_Co.h: Likewise.
30078         * lib/unictype/categ_Cs.h: Likewise.
30079         * lib/unictype/categ_L.h: Likewise.
30080         * lib/unictype/categ_Ll.h: Likewise.
30081         * lib/unictype/categ_Lm.h: Likewise.
30082         * lib/unictype/categ_Lo.h: Likewise.
30083         * lib/unictype/categ_Lt.h: Likewise.
30084         * lib/unictype/categ_Lu.h: Likewise.
30085         * lib/unictype/categ_M.h: Likewise.
30086         * lib/unictype/categ_Mc.h: Likewise.
30087         * lib/unictype/categ_Me.h: Likewise.
30088         * lib/unictype/categ_Mn.h: Likewise.
30089         * lib/unictype/categ_N.h: Likewise.
30090         * lib/unictype/categ_Nd.h: Likewise.
30091         * lib/unictype/categ_Nl.h: Likewise.
30092         * lib/unictype/categ_No.h: Likewise.
30093         * lib/unictype/categ_P.h: Likewise.
30094         * lib/unictype/categ_Pc.h: Likewise.
30095         * lib/unictype/categ_Pd.h: Likewise.
30096         * lib/unictype/categ_Pe.h: Likewise.
30097         * lib/unictype/categ_Pf.h: Likewise.
30098         * lib/unictype/categ_Pi.h: Likewise.
30099         * lib/unictype/categ_Po.h: Likewise.
30100         * lib/unictype/categ_Ps.h: Likewise.
30101         * lib/unictype/categ_S.h: Likewise.
30102         * lib/unictype/categ_Sc.h: Likewise.
30103         * lib/unictype/categ_Sk.h: Likewise.
30104         * lib/unictype/categ_Sm.h: Likewise.
30105         * lib/unictype/categ_So.h: Likewise.
30106         * lib/unictype/categ_Z.h: Likewise.
30107         * lib/unictype/categ_Zl.h: Likewise.
30108         * lib/unictype/categ_Zp.h: Likewise.
30109         * lib/unictype/categ_Zs.h: Likewise.
30110         * lib/unictype/categ_of.h: Likewise.
30111         * lib/unictype/combining.h: Likewise.
30112         * lib/unictype/ctype_alnum.h: Likewise.
30113         * lib/unictype/ctype_alpha.h: Likewise.
30114         * lib/unictype/ctype_blank.h: Likewise.
30115         * lib/unictype/ctype_cntrl.h: Likewise.
30116         * lib/unictype/ctype_digit.h: Likewise.
30117         * lib/unictype/ctype_graph.h: Likewise.
30118         * lib/unictype/ctype_lower.h: Likewise.
30119         * lib/unictype/ctype_print.h: Likewise.
30120         * lib/unictype/ctype_punct.h: Likewise.
30121         * lib/unictype/ctype_space.h: Likewise.
30122         * lib/unictype/ctype_upper.h: Likewise.
30123         * lib/unictype/ctype_xdigit.h: Likewise.
30124         * lib/unictype/decdigit.h: Likewise.
30125         * lib/unictype/digit.h: Likewise.
30126         * lib/unictype/mirror.h: Likewise.
30127         * lib/unictype/numeric.h: Likewise.
30128         * lib/unictype/pr_alphabetic.h: Likewise.
30129         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
30130         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
30131         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
30132         * lib/unictype/pr_bidi_block_separator.h: Likewise.
30133         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
30134         * lib/unictype/pr_bidi_common_separator.h: Likewise.
30135         * lib/unictype/pr_bidi_control.h: Likewise.
30136         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
30137         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
30138         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
30139         * lib/unictype/pr_bidi_european_digit.h: Likewise.
30140         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
30141         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
30142         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
30143         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
30144         * lib/unictype/pr_bidi_pdf.h: Likewise.
30145         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
30146         * lib/unictype/pr_bidi_whitespace.h: Likewise.
30147         * lib/unictype/pr_combining.h: Likewise.
30148         * lib/unictype/pr_composite.h: Likewise.
30149         * lib/unictype/pr_currency_symbol.h: Likewise.
30150         * lib/unictype/pr_dash.h: Likewise.
30151         * lib/unictype/pr_decimal_digit.h: Likewise.
30152         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
30153         * lib/unictype/pr_deprecated.h: Likewise.
30154         * lib/unictype/pr_diacritic.h: Likewise.
30155         * lib/unictype/pr_extender.h: Likewise.
30156         * lib/unictype/pr_format_control.h: Likewise.
30157         * lib/unictype/pr_grapheme_base.h: Likewise.
30158         * lib/unictype/pr_grapheme_extend.h: Likewise.
30159         * lib/unictype/pr_grapheme_link.h: Likewise.
30160         * lib/unictype/pr_hex_digit.h: Likewise.
30161         * lib/unictype/pr_hyphen.h: Likewise.
30162         * lib/unictype/pr_id_continue.h: Likewise.
30163         * lib/unictype/pr_id_start.h: Likewise.
30164         * lib/unictype/pr_ideographic.h: Likewise.
30165         * lib/unictype/pr_ids_binary_operator.h: Likewise.
30166         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
30167         * lib/unictype/pr_ignorable_control.h: Likewise.
30168         * lib/unictype/pr_iso_control.h: Likewise.
30169         * lib/unictype/pr_join_control.h: Likewise.
30170         * lib/unictype/pr_left_of_pair.h: Likewise.
30171         * lib/unictype/pr_line_separator.h: Likewise.
30172         * lib/unictype/pr_logical_order_exception.h: Likewise.
30173         * lib/unictype/pr_lowercase.h: Likewise.
30174         * lib/unictype/pr_math.h: Likewise.
30175         * lib/unictype/pr_non_break.h: Likewise.
30176         * lib/unictype/pr_not_a_character.h: Likewise.
30177         * lib/unictype/pr_numeric.h: Likewise.
30178         * lib/unictype/pr_other_alphabetic.h: Likewise.
30179         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
30180         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
30181         * lib/unictype/pr_other_id_continue.h: Likewise.
30182         * lib/unictype/pr_other_id_start.h: Likewise.
30183         * lib/unictype/pr_other_lowercase.h: Likewise.
30184         * lib/unictype/pr_other_math.h: Likewise.
30185         * lib/unictype/pr_other_uppercase.h: Likewise.
30186         * lib/unictype/pr_paired_punctuation.h: Likewise.
30187         * lib/unictype/pr_paragraph_separator.h: Likewise.
30188         * lib/unictype/pr_pattern_syntax.h: Likewise.
30189         * lib/unictype/pr_pattern_white_space.h: Likewise.
30190         * lib/unictype/pr_private_use.h: Likewise.
30191         * lib/unictype/pr_punctuation.h: Likewise.
30192         * lib/unictype/pr_quotation_mark.h: Likewise.
30193         * lib/unictype/pr_radical.h: Likewise.
30194         * lib/unictype/pr_sentence_terminal.h: Likewise.
30195         * lib/unictype/pr_soft_dotted.h: Likewise.
30196         * lib/unictype/pr_space.h: Likewise.
30197         * lib/unictype/pr_terminal_punctuation.h: Likewise.
30198         * lib/unictype/pr_titlecase.h: Likewise.
30199         * lib/unictype/pr_unassigned_code_value.h: Likewise.
30200         * lib/unictype/pr_unified_ideograph.h: Likewise.
30201         * lib/unictype/pr_uppercase.h: Likewise.
30202         * lib/unictype/pr_variation_selector.h: Likewise.
30203         * lib/unictype/pr_white_space.h: Likewise.
30204         * lib/unictype/pr_xid_continue.h: Likewise.
30205         * lib/unictype/pr_xid_start.h: Likewise.
30206         * lib/unictype/pr_zero_width.h: Likewise.
30207         * lib/unictype/scripts.h: Likewise.
30208         * lib/unictype/scripts_byname.gperf: Likewise.
30209         * lib/unictype/sy_c_ident.h: Likewise.
30210         * lib/unictype/sy_c_whitespace.h: Likewise.
30211         * lib/unictype/sy_java_ident.h: Likewise.
30212         * lib/unictype/sy_java_whitespace.h: Likewise.
30213
30214         * lib/unictype/Makefile: New file.
30215         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
30216         glibc.
30217         * lib/unictype/3level.h: New file, copied from glibc.
30218         * lib/unictype/3levelbit.h: New file.
30219
30220 2007-11-11  Bruno Haible  <bruno@clisp.org>
30221
30222         * modules/gperf: New file.
30223         * modules/iconv_open (Depends-on): Add it.
30224         (Makefile.am): Remove the GPERF definition.
30225
30226 2007-11-11  Bruno Haible  <bruno@clisp.org>
30227
30228         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
30229         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
30230
30231 2007-11-11  Bruno Haible  <bruno@clisp.org>
30232
30233         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
30234         (usage): Remove function.
30235
30236 2007-11-11  Bruno Haible  <bruno@clisp.org>
30237
30238         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
30239         gl_FUNC_CEILF_LIBS.
30240         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
30241         gl_FUNC_CEIL_LIBS.
30242         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
30243         gl_FUNC_CEILL_LIBS.
30244         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
30245         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
30246         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
30247
30248 2007-11-11  Bruno Haible  <bruno@clisp.org>
30249
30250         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
30251         roundf were declared but do not exist on functions.
30252         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
30253         roundl were declared but do not exist on functions.
30254         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
30255         HAVE_FLOORL_AND_CEILL, respectively.
30256         Needed for Sun C on Solaris 10.
30257
30258 2007-11-11  Bruno Haible  <bruno@clisp.org>
30259
30260         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
30261         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
30262         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
30263         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
30264         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
30265         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
30266         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
30267         HAVE_DECL_ROUNDF.
30268         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
30269         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
30270         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
30271         of HAVE_DECL_ROUND*.
30272         * modules/math (Makefile.am): Update.
30273
30274 2007-11-10  Bruno Haible  <bruno@clisp.org>
30275
30276         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
30277         ptrdiff_t as m4/intl.m4.
30278
30279 2007-11-10  Jim Meyering  <meyering@redhat.com>
30280
30281         Avoid link failure for the argmatch test.
30282         * tests/test-argmatch.c (usage): Define function to avoid a link
30283         failure: argmatch_die requires a usage function.
30284
30285 2007-11-09  Bruno Haible  <bruno@clisp.org>
30286
30287         * doc/functions/snprintf.texi: Mention BeOS deficiency.
30288         * doc/functions/vsnprintf.texi: Likewise.
30289         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
30290         with a size argument < 2.
30291
30292 2007-11-09  Bruno Haible  <bruno@clisp.org>
30293
30294         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
30295         buffer. Fixes an inefficiency introduced on 2007-11-03.
30296
30297 2007-11-09  Bruno Haible  <bruno@clisp.org>
30298
30299         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
30300         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
30301
30302 2007-11-08  Jim Meyering  <meyering@redhat.com>
30303
30304         Change cache variable name prefix "jm_" to "gl_" everywhere.
30305         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
30306         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
30307         * m4/uptime.m4: s/gl_/jm_/
30308
30309 2007-11-07  Bruno Haible  <bruno@clisp.org>
30310
30311         Update to GNU gettext 0.17.
30312         * m4/intl.m4: Update to GNU gettext 0.17.
30313         * m4/po.m4: Likewise.
30314         * modules/gettext (Files): Remove m4/ulonglong.m4.
30315         (configure.ac): Require gettext infrastructure from version 0.17.
30316
30317 2007-11-06  Bruno Haible  <bruno@clisp.org>
30318
30319         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
30320         symbolic values are not defined in a public header.
30321         * lib/freadable.c (freadable) [QNX]: Likewise.
30322         * lib/freadahead.c (freadahead) [QNX]: Likewise.
30323         * lib/freading.c (freading) [QNX]: Likewise.
30324         * lib/fseterr.c (fseterr) [QNX]: Likewise.
30325         * lib/fwritable.c (fwritable) [QNX]: Likewise.
30326         * lib/fwriting.c (fwriting) [QNX]: Likewise.
30327         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
30328         Reported by Alain Magloire.
30329
30330         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
30331
30332 2007-11-05  Bruno Haible  <bruno@clisp.org>
30333
30334         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
30335         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
30336         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
30337         Reported by Eric Blake.
30338
30339 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30340             Bruno Haible  <bruno@clisp.org>
30341
30342         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
30343         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
30344         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
30345         (malloc): Undefine also before including <stdlib.h>.
30346         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
30347         Needed on OSF/1 4.0.
30348
30349 2007-11-05  Jim Meyering  <meyering@redhat.com>
30350
30351         git-version-gen: sync from coreutils.
30352         * build-aux/git-version-gen: Add comments.
30353         Change the first '-' to '.' in the snapshot version string,
30354         e.g., 6.9-377-08144 -> 6.9.377-08144
30355         Remove first parameter.
30356         Don't declare a version "-dirty" merely because a time
30357         stamp has changed.
30358
30359 2007-11-04  Bruno Haible  <bruno@clisp.org>
30360
30361         * lib/lock.h: Protect all macro definitions containing an 'if'
30362         statement through a "do { ... } while (0)".
30363         * lib/tls.h: Likewise.
30364
30365 2007-11-04  Bruno Haible  <bruno@clisp.org>
30366
30367         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
30368
30369 2007-11-04  Bruno Haible  <bruno@clisp.org>
30370
30371         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
30372         * modules/fprintf-posix (Depends-on): Add nocrash.
30373         * modules/snprintf-posix (Depends-on): Likewise.
30374         * modules/sprintf-posix (Depends-on): Likewise.
30375         * modules/vasnprintf-posix (Depends-on): Likewise.
30376         * modules/vasprintf-posix (Depends-on): Likewise.
30377         * modules/vfprintf-posix (Depends-on): Likewise.
30378         * modules/vsnprintf-posix (Depends-on): Likewise.
30379         * modules/vsprintf-posix (Depends-on): Likewise.
30380         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
30381         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
30382         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
30383         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
30384         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
30385         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
30386         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
30387
30388 2007-11-04  Bruno Haible  <bruno@clisp.org>
30389
30390         * modules/nocrash: New file.
30391         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
30392         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
30393
30394 2007-11-04  Bruno Haible  <bruno@clisp.org>
30395
30396         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
30397         precision handling.
30398         * tests/test-vasprintf-posix.c (test_function): Likewise.
30399         * tests/test-snprintf-posix.h (test_function): Likewise.
30400         * tests/test-sprintf-posix.h (test_function): Likewise.
30401
30402         Fix *printf behaviour for large precisions on mingw and BeOS.
30403         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
30404         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
30405         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
30406         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
30407         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
30408         gl_PRINTF_PRECISION and test its result. Invoke
30409         gl_PREREQ_VASNPRINTF_PRECISION.
30410         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
30411         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
30412         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
30413         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
30414         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
30415         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
30416         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
30417         * doc/functions/fprintf.texi: Update.
30418         * doc/functions/printf.texi: Update.
30419         * doc/functions/snprintf.texi: Update.
30420         * doc/functions/sprintf.texi: Update.
30421         * doc/functions/vfprintf.texi: Update.
30422         * doc/functions/vprintf.texi: Update.
30423         * doc/functions/vsnprintf.texi: Update.
30424         * doc/functions/vsprintf.texi: Update.
30425
30426 2007-11-04  Bruno Haible  <bruno@clisp.org>
30427
30428         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
30429
30430 2007-11-04  Bruno Haible  <bruno@clisp.org>
30431
30432         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
30433         Reported by Sylvain Beucler <beuc@gnu.org>.
30434
30435 2007-11-03  Bruno Haible  <bruno@clisp.org>
30436
30437         * tests/test-fprintf-posix2.sh: New file.
30438         * tests/test-fprintf-posix2.c: New file.
30439         * modules/fprintf-posix-tests (Files): Add them.
30440         (TESTS): Add test-fprintf-posix2.sh.
30441         (configure.ac): Check for getrlimit and setrlimit.
30442         (check_PROGRAMS): Add test-fprintf-posix2.
30443
30444         * tests/test-printf-posix2.sh: New file.
30445         * tests/test-printf-posix2.c: New file.
30446         * modules/printf-posix-tests (Files): Add them.
30447         (TESTS): Add test-printf-posix2.sh.
30448         (configure.ac): Check for getrlimit and setrlimit.
30449         (check_PROGRAMS): Add test-printf-posix2.
30450
30451         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
30452         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
30453         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
30454         (decode_double): New function, copied from decode_long_double.
30455         (scale10_round_decimal_decoded): New function, extracted from
30456         scale10_round_decimal_long_double.
30457         (scale10_round_decimal_long_double): Use it.
30458         (scale10_round_decimal_double): New function.
30459         (floorlog10): New function.
30460         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
30461         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
30462         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
30463         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
30464         gl_PRINTF_ENOMEM and test its result. Invoke
30465         gl_PREREQ_VASNPRINTF_ENOMEM.
30466         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
30467         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
30468         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
30469         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
30470         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
30471         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
30472         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
30473         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
30474         * modules/snprintf-posix (Depends-on): Likewise.
30475         * modules/sprintf-posix (Depends-on): Likewise.
30476         * modules/vasnprintf-posix (Depends-on): Likewise.
30477         * modules/vasprintf-posix (Depends-on): Likewise.
30478         * modules/vfprintf-posix (Depends-on): Likewise.
30479         * modules/vsnprintf-posix (Depends-on): Likewise.
30480         * modules/vsprintf-posix (Depends-on): Likewise.
30481         * doc/functions/fprintf.texi: Update.
30482         * doc/functions/printf.texi: Update.
30483         * doc/functions/snprintf.texi: Update.
30484         * doc/functions/sprintf.texi: Update.
30485         * doc/functions/vfprintf.texi: Update.
30486         * doc/functions/vprintf.texi: Update.
30487         * doc/functions/vsnprintf.texi: Update.
30488         * doc/functions/vsprintf.texi: Update.
30489
30490 2007-11-03  Bruno Haible  <bruno@clisp.org>
30491
30492         * modules/frexp-nolibm-tests: New file.
30493
30494         * modules/frexp-nolibm: New file.
30495         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
30496
30497 2007-11-03  Bruno Haible  <bruno@clisp.org>
30498
30499         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
30500         value is C99 compliant.
30501         Needed for OSF/1 5.1.
30502
30503 2007-11-03  Bruno Haible  <bruno@clisp.org>
30504
30505         Fix out-of-memory handling of vasnprintf.
30506         * lib/printf-parse.c: Include <errno.h>.
30507         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
30508         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
30509         is already set.
30510
30511 2007-11-02  Eric Blake  <ebb9@byu.net>
30512
30513         Fix tests on cygwin.
30514         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
30515
30516 2007-11-01  Bruno Haible  <bruno@clisp.org>
30517
30518         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
30519         warning.
30520         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
30521         needed for POSIX compatibility.
30522
30523 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
30524
30525         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
30526         for compatibility with GNU.
30527
30528 2007-11-01  Bruno Haible  <bruno@clisp.org>
30529
30530         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
30531         (putenv): Renamed from rpl_putenv. Change argument type from
30532         'const char *' to 'char *'.
30533         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
30534         of defining putenv in config.h, just set REPLACE_PUTENV.
30535         * modules/putenv (Depends-on): Add stdlib.
30536         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
30537         (Include): Use <stdlib.h>.
30538         * lib/stdlib.in.h (putenv): New declaration.
30539         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
30540         REPLACE_PUTENV.
30541         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
30542         REPLACE_PUTENV.
30543         Needed for MacOS X 10.5.0.
30544         Reported by Peter O'Gorman <peter@pogma.com>.
30545
30546 2007-11-01  Jim Meyering  <meyering@redhat.com>
30547
30548         Treat an empty date string exactly like "0".
30549         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
30550         if the remaining date string (to be parsed) is empty, use "0".
30551         Reported by Mischa Molhoek and discussed in this thread:
30552         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
30553
30554 2007-10-31  Bruno Haible  <bruno@clisp.org>
30555
30556         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
30557         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
30558         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
30559         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
30560         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
30561         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
30562
30563 2007-10-31  Bruno Haible  <bruno@clisp.org>
30564
30565         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
30566         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
30567         (AC_TYPE_LONG_LONG_INT): Use it.
30568         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
30569         it as well.
30570         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
30571         to m4/longlong.m4.
30572         * modules/stdint (Files): Remove m4/ulonglong.m4.
30573         * modules/strtoull (Files): Use m4/longlong.m4 instead of
30574         m4/ulonglong.m4.
30575         * modules/strtoumax (Files): Likewise.
30576
30577 2007-10-30  Bruno Haible  <bruno@clisp.org>
30578
30579         * modules/xvasprintf-posix: New file.
30580         Suggested by Eric Blake.
30581
30582 2007-10-30  Bruno Haible  <bruno@clisp.org>
30583
30584         * modules/xprintf-posix-tests: New file.
30585         * tests/test-xprintf-posix.sh: New file.
30586         * tests/test-xprintf-posix.c: New file.
30587         * tests/test-xfprintf-posix.c: New file.
30588
30589         * modules/xprintf-posix: New file.
30590
30591 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30592
30593         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
30594         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
30595         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
30596
30597 2007-10-29  Bruno Haible  <bruno@clisp.org>
30598
30599         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
30600         contain the special marker '_cv_'.
30601         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
30602         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
30603         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
30604         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
30605         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
30606         Reported by Ralf Wildenhues.
30607
30608 2007-10-29  Bruno Haible  <bruno@clisp.org>
30609
30610         * gnulib-tool (func_import): When --lgpl is not specified, set
30611         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
30612         GPLv3.
30613         Reported by Simon Josefsson.
30614
30615 2007-10-28  Bruno Haible  <bruno@clisp.org>
30616
30617         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
30618         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
30619         HAVE_DECL_ISFINITE.
30620         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
30621         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
30622         HAVE_DECL_ISFINITE.
30623
30624 2007-10-28  Bruno Haible  <bruno@clisp.org>
30625
30626         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
30627         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
30628
30629 2007-10-28  Bruno Haible  <bruno@clisp.org>
30630
30631         Fix link errors with Sun C 5.0 on Solaris 10.
30632         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
30633         function is declared but not present in the compiler's libm.
30634         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
30635         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
30636         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
30637         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
30638         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
30639         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
30640         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
30641         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
30642         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
30643         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
30644         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
30645         HAVE_DECL_FLOORL.
30646
30647 2007-10-28  Bruno Haible  <bruno@clisp.org>
30648
30649         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
30650         gl_FUNC_FLOORL. Cache the result.
30651         (gl_FUNC_FLOORL): Use it.
30652         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
30653         gl_FUNC_CEILL. Cache the result.
30654         (gl_FUNC_CEILL): Use it.
30655
30656         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
30657         gl_FUNC_FLOOR. Cache the result.
30658         (gl_FUNC_FLOOR): Use it.
30659         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
30660         gl_FUNC_CEIL. Cache the result.
30661         (gl_FUNC_CEIL): Use it.
30662
30663         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
30664         gl_FUNC_FLOORF. Cache the result.
30665         (gl_FUNC_FLOORF): Use it.
30666         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
30667         gl_FUNC_CEILF. Cache the result.
30668         (gl_FUNC_CEILF): Use it.
30669
30670 2007-10-28  Bruno Haible  <bruno@clisp.org>
30671
30672         * gnulib-tool: Allow specifying the LGPL version number through
30673         --lgpl=2 or --lgpl=3.
30674         (func_usage): Document --lgpl with argument.
30675         Handle --lgpl=... arguments.
30676         (func_import): Recognize also gl_LGPL calls with an argument. When
30677         --lgpl=2 is used and the module's license is just LGPL, report an
30678         error. Set sed_transform_lib_file according to the lgpl variable. In
30679         the generated files, use --lgpl or gl_LGPL invocations with argument,
30680         if necessary.
30681         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
30682         an LGPv2+ license.
30683         * doc/gnulib-tool.texi (Modified imports): Update explanation of
30684         gl_LGPL macro.
30685
30686 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30687             Bruno Haible  <bruno@clisp.org>
30688
30689         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
30690         (u16_uctomb_aux): Likewise.
30691         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
30692         !HAVE_INLINE.
30693         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
30694
30695 2007-10-28  Bruno Haible  <bruno@clisp.org>
30696
30697         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
30698         Invoke AM_GETTEXT_OPTION if it exists.
30699         * modules/vasprintf: Likewise.
30700         * modules/verror: Likewise.
30701         * modules/xprintf: Likewise.
30702         * modules/xvasprintf: Likewise.
30703
30704 2007-10-27  Ben Pfaff  <blp@gnu.org>
30705
30706         * lib/math.in.h: Define isfinite macro and prototypes for
30707         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
30708         implementations.
30709         * m4/math_h.m4: New substitutions for isfinite module.
30710         * lib/isfinite.c: New file.
30711         * m4/isfinite.m4: New file.
30712         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
30713         * modules/isfinite: New file.
30714         * modules/isfinite-tests: New file.
30715         * tests/tests-isfinite.c: New file.
30716         * doc/functions/isfinite.texi: Mention isfinite module.
30717         * MODULES.html.sh: Mention new module.
30718
30719 2007-10-27  Ben Pfaff  <blp@gnu.org>
30720
30721         Ralf Wildenhues reported that Tru64 4.0D declares the round
30722         functions but does not have definitions.
30723         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
30724         cannot be found in any library, set the output variable to
30725         "missing" instead of "".
30726         * m4/round.m4: Also use our substitute if we cannot find round in
30727         any library, even if it is declared.
30728         * m4/roundf.m4: Likewise for roundf.
30729         * m4/roundl.m4: Likewise for roundl.
30730         * lib/math.in.h: Undefine roundf, round, roundl before defining
30731         their replacements, to allow for hypothetical systems where these
30732         may be defined as macros but not available in libraries.
30733
30734 2007-10-27  Bruno Haible  <bruno@clisp.org>
30735
30736         * doc/gnulib.texi: Invoke @firstparagraphindent.
30737         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
30738         changes in gnulib.
30739         (Source changes): New section.
30740
30741 2007-10-26  Bruno Haible  <bruno@clisp.org>
30742
30743         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
30744         borrowed from autoconf.
30745
30746 2007-10-26  Bruno Haible  <bruno@clisp.org>
30747
30748         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
30749         strerror returned the empty string. Needed on HP-UX 11.00.
30750
30751 2007-10-24  Micah Cowan  <micah@cowan.name>
30752
30753         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
30754         * build-aux/bootstrap: Remove support for now-unnecessary option,
30755         --cvs-user, and envvars CVS_USER, CVS_RSH.
30756
30757 2007-10-24  Jim Meyering  <meyering@redhat.com>
30758
30759         Avoid diagnostics from sha1sum when there is no cached checksum.
30760         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
30761         if the po.s1 file hasn't been created yet.
30762
30763         * build-aux/bootstrap: Sync from coreutils:
30764         2007-10-24  Jim Meyering  <meyering@redhat.com>
30765         Get gnulib from the git repository, not from an obsolete cvs one.
30766         * build-aux/bootstrap: Suggestion from Micah Cowan.
30767         2007-10-04  Jim Meyering  <jim@meyering.net>
30768         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
30769         (update_po_files): Work also when there are no .po files in po/.
30770
30771 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
30772
30773         * README: Append ".git" to git and cg examples.
30774         Problem reported by Benoit Sigoure.
30775
30776 2007-10-23  Micah Cowan  <micah@cowan.name>
30777
30778         * users.txt: Add wget.
30779
30780 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30781
30782         Fix linking of some unistdio tests on FreeBSD.
30783         * modules/unistdio/u16-vsnprintf-tests
30784         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
30785         * modules/unistdio/u16-vsprintf-tests
30786         (test_u16_vsnprintf1_LDADD): Likewise.
30787         * modules/unistdio/u32-vsnprintf-tests
30788         (test_u32_vsnprintf1_LDADD): Likewise.
30789         * modules/unistdio/u32-vsprintf-tests
30790         (test_u32_vsprintf1_LDADD): Likewise.
30791         * modules/unistdio/u8-vsnprintf-tests
30792         (test_u8_vsnprintf1_LDADD): Likewise.
30793         * modules/unistdio/u8-vsprintf-tests
30794         (test_u8_vsprintf1_LDADD): Likewise.
30795         * modules/unistdio/ulc-vsnprintf-tests
30796         (test_ulc_vsnprintf1_LDADD): Likewise.
30797         * modules/unistdio/ulc-vsprintf-tests
30798         (test_ulc_vsprintf1_LDADD): Likewise.
30799
30800         Fix linking of some uniconv tests on FreeBSD.
30801         * modules/uniconv/u16-conv-from-enc-tests
30802         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
30803         * modules/uniconv/u16-conv-to-enc-tests
30804         (test_u16_conv_to_enc_LDADD): Likewise.
30805         * modules/uniconv/u16-strconv-from-enc-tests
30806         (test_u16_strconv_from_enc_LDADD): Likewise.
30807         * modules/uniconv/u16-strconv-to-enc-tests
30808         (test_u16_strconv_to_enc_LDADD): Likewise.
30809         * modules/uniconv/u32-conv-from-enc-tests
30810         (test_u32_conv_from_enc_LDADD): Likewise.
30811         * modules/uniconv/u32-conv-to-enc-tests
30812         (test_u32_conv_to_enc_LDADD): Likewise.
30813         * modules/uniconv/u32-strconv-from-enc-tests
30814         (test_u32_strconv_from_enc_LDADD): Likewise.
30815         * modules/uniconv/u32-strconv-to-enc-tests
30816         (test_u32_strconv_to_enc_LDADD): Likewise.
30817         * modules/uniconv/u8-conv-from-enc-tests
30818         (test_u8_conv_from_enc_LDADD): Likewise.
30819         * modules/uniconv/u8-conv-to-enc-tests
30820         (test_u8_conv_to_enc_LDADD): Likewise.
30821         * modules/uniconv/u8-strconv-from-enc-tests
30822         (test_u8_strconv_from_enc_LDADD): Likewise.
30823         * modules/uniconv/u8-strconv-to-enc-tests
30824         (test_u8_strconv_to_enc_LDADD): Likewise.
30825
30826 2007-10-22  Bruno Haible  <bruno@clisp.org>
30827
30828         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
30829         size.
30830
30831 2007-10-22  Eric Blake  <ebb9@byu.net>
30832
30833         Tweak x*printf documentation.
30834         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
30835         variable name and comments.
30836         Suggested by Bruno Haible.
30837
30838 2007-10-22  Bruno Haible  <bruno@clisp.org>
30839
30840         * lib/acl.c (copy_acl): Fix file name in comment.
30841
30842 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
30843
30844         Fix Tru64 problem with stdbool.h.
30845         * lib/stdbool.in.h (false, true):
30846         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
30847         Don't declare as an enum in this situation; it runs afoul of Tru64.
30848         Problem reported by Steven M. Schweda in
30849         <http://lists.gnu.org/archive/html/bug-autoconf/2007-10/msg00019.html>.
30850
30851 2007-10-22  Eric Blake  <ebb9@byu.net>
30852
30853         Also wrap vf?printf.
30854         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
30855         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
30856         (xvprintf, xvfprintf): New functions.
30857
30858 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30859
30860         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
30861         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
30862
30863         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
30864         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
30865
30866 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
30867
30868         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
30869         by Bruno Haible.
30870
30871 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30872
30873         * lib/getloadavg.c
30874         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
30875         Undef `sys' after including sys/table.h, for Tru64 4.0D.
30876
30877         * tests/test-i-ring.c: Work for C89.
30878
30879 2007-10-22  Bruno Haible  <bruno@clisp.org>
30880
30881         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
30882         -1u, in preprocessor expression, so that we don't test for the bug
30883         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
30884         <http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00329.html>.
30885
30886 2007-10-22  Eric Blake  <ebb9@byu.net>
30887
30888         * tests/test-yesno.sh: Silence stderr during test.
30889
30890 2007-10-22  Simon Josefsson  <simon@josefsson.org>
30891
30892         * modules/crypto/gc-camellia: New file.
30893
30894         * m4/gc-camellia.m4: New file.
30895
30896         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
30897
30898         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
30899
30900 2007-10-22  Simon Josefsson  <simon@josefsson.org>
30901
30902         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
30903         --help to stdout.  Reported by sms@antinode.org (Steven
30904         M. Schweda).
30905
30906 2007-10-22  Simon Josefsson  <simon@josefsson.org>
30907
30908         * users.txt: Fix link to libksba.
30909
30910 2007-10-21  Ben Pfaff  <blp@gnu.org>
30911
30912         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
30913         round.c roundf implementation that depends on floorf and ceilf to
30914         be tested unconditionally.
30915
30916 2007-10-21  Ben Pfaff  <blp@gnu.org>
30917
30918         * m4/check-libm-func.m4: Removed.
30919         * m4/check-math-lib.m4: New file.
30920         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
30921         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
30922         definition and lack of AC_LIBOBJ([roundf]).
30923         * m4/roundl.m4: Ditto, and similarly for roundl.
30924         * modules/round: Reference new m4 file.
30925         * modules/roundf: Ditto.
30926         * modules/roundl: Ditto.
30927         * tests/test-round2.c (main): Use ROUND instead of round.
30928         Bug report from Bruno Haible.
30929
30930 2007-10-21  Bruno Haible  <bruno@clisp.org>
30931
30932         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
30933         context.
30934
30935 2007-10-21  Bruno Haible  <bruno@clisp.org>
30936
30937         * tests/test-wcwidth.c (main): Allow negative result for some control
30938         characters.
30939
30940         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
30941         Needed on OSF/1 5.1.
30942
30943 2007-10-21  Bruno Haible  <bruno@clisp.org>
30944
30945         * tests/test-floorf1.c: Include isnanf.h.
30946         (main): Use isnanf() instead of isnan().
30947         * tests/test-ceilf1.c: Include isnanf.h.
30948         (main): Use isnanf() instead of isnan().
30949         * tests/test-truncf1.c: Include isnanf.h.
30950         (main): Use isnanf() instead of isnan().
30951         * tests/test-roundf1.c: Include isnanf.h.
30952         (main): Use isnanf() instead of isnan().
30953
30954 2007-10-21  Eric Blake  <ebb9@byu.net>
30955
30956         * users.txt: Update URL for m4.
30957
30958 2007-10-21  Bruno Haible  <bruno@clisp.org>
30959
30960         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
30961
30962 2007-10-21  Bruno Haible  <bruno@clisp.org>
30963
30964         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
30965         Git's management files if the CVS files are not present.
30966
30967 2007-10-20  Bruno Haible  <bruno@clisp.org>
30968
30969         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
30970         gcc-3.4.x.
30971
30972 2007-10-20  Ben Pfaff  <blp@gnu.org>
30973
30974         * lib/math.in.h: Declare round, roundf, roundl if we are providing
30975         implementations.
30976         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
30977         * lib/round.c: New file.
30978         * lib/roundf.c: New file.
30979         * lib/roundl.c: New file.
30980         * m4/round.m4: New file.
30981         * m4/roundf.m4: New file.
30982         * m4/roundl.m4: New file.
30983         * m4/check-libm-func-m4: New file.
30984         * modules/math: Replace round, roundf, roundl related @VARS@ in
30985         math.in.h.
30986         * modules/round: New file.
30987         * modules/round-tests: New file.
30988         * modules/roundf: New file.
30989         * modules/roundf-tests: New file.
30990         * modules/roundl: New file.
30991         * modules/roundl-tests: New file.
30992         * tests/test-round1.c: New file.
30993         * tests/test-round2.c: New file.
30994         * tests/test-roundf1.c: New file.
30995         * tests/test-roundf2.c: New file.
30996         * tests/test-roundl.c: New file.
30997         * doc/functions/round.texi: Mention round module.
30998         * doc/functions/roundf.texi: Mention roundf module.
30999         * doc/functions/roundl.texi: Mention roundl module.
31000         * MODULES.html.sh: Mention new modules.
31001         Thanks to Bruno Haible for suggestions.
31002
31003 2007-10-20  Jim Meyering  <meyering@redhat.com>
31004
31005         * lib/xprintf.c: Include <config.h> unconditionally.
31006
31007         Change xprintf's license to GPL.
31008         * modules/xprintf (License): s/LGPL/GPL/, since this module
31009         depends on modules (exit and exitfail) which are GPL.
31010         Suggestion from Bruno Haible.
31011
31012         xprintf fixes.
31013         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
31014         Use a clearer diagnostic.
31015         Patch from Bruno Haible.
31016
31017 2007-10-20  Bruno Haible  <bruno@clisp.org>
31018
31019         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
31020         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
31021         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
31022
31023 2007-10-20  Bruno Haible  <bruno@clisp.org>
31024
31025         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
31026         precision in the comparison result > x - 1 or similar.
31027         * tests/test-ceilf2.c (correct_result_p): Likewise.
31028         * tests/test-truncf2.c (correct_result_p): Likewise.
31029         * tests/test-trunc2.c (correct_result_p): Likewise.
31030         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
31031
31032 2007-10-20  Bruno Haible  <bruno@clisp.org>
31033
31034         * modules/ceil: New file.
31035         * m4/ceil.m4: New file.
31036         * doc/functions/ceil.texi: Mention the 'ceil' module.
31037
31038 2007-10-20  Bruno Haible  <bruno@clisp.org>
31039
31040         * modules/floor: New file.
31041         * m4/floor.m4: New file.
31042         * doc/functions/floor.texi: Mention the 'floor' module.
31043
31044 2007-10-20  Bruno Haible  <bruno@clisp.org>
31045
31046         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
31047         of %a.
31048         * modules/floorf-tests (Depends-on): Likewise.
31049         * modules/truncf-tests (Depends-on): Likewise.
31050         * modules/trunc-tests (Depends-on): Likewise.
31051         Reported by Ben Pfaff.
31052
31053 2007-10-19  Jim Meyering  <meyering@redhat.com>
31054
31055         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
31056         Don't bother testing specific errno values.  Just test ferror.
31057
31058         New module: xprintf
31059         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
31060
31061 2007-10-19  Bruno Haible  <bruno@clisp.org>
31062
31063         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
31064         syntax.
31065         * modules/javaexec (Makefile.am): Likewise.
31066         * modules/relocatable-prog (Makefile.am): Likewise.
31067         Suggested by Jim Meyering.
31068
31069 2007-10-18  Bruno Haible  <bruno@clisp.org>
31070
31071         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
31072         Reported by Jim Meyering.
31073
31074 2007-10-18  Eric Blake  <ebb9@byu.net>
31075
31076         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
31077
31078 2007-10-18  Bruno Haible  <bruno@clisp.org>
31079
31080         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
31081         the format string into writable memory. Needed in Fortify conditions.
31082
31083 2007-10-18  Colin Watson <cjwatson@debian.org>  (tiny change)
31084             Bruno Haible  <bruno@clisp.org>
31085
31086         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
31087         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
31088         * modules/trim (Depends-on): Add mbchar.
31089         (configure.ac): Add gl_FUNC_MBRTOWC.
31090         (Makefile.am): Augment lib_SOURCES.
31091
31092 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
31093
31094         Modify glob.c to use fstatat and dirfd, to simplify it.
31095         Suggested by Eric Blake.
31096         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
31097         Don't include <stdbool.h>; not used.
31098         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
31099         (link_exists_p): Simplify implementation, since we can now assume
31100         dirfd and fstatat.
31101         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
31102
31103 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31104
31105         * gnulib-tool (func_get_dependencies): Fix sed script to
31106         match only tests.
31107
31108 2007-10-17  Bruno Haible  <bruno@clisp.org>
31109
31110         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
31111         allow locale names without encoding suffix.
31112         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
31113         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
31114
31115 2007-10-16  Bruno Haible  <bruno@clisp.org>
31116
31117         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
31118         * lib/getgroups.c (getgroups): Likewise.
31119         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
31120
31121 2007-10-16  Bruno Haible  <bruno@clisp.org>
31122
31123         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
31124         * modules/malloc-posix (License): Likewise.
31125         * modules/realloc-posix (License): Likewise.
31126         * modules/calloc-posix (License): Likewise.
31127         * modules/intprops (License): Change from GPL to LGPL, with
31128         Paul Eggert's approval.
31129
31130 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
31131
31132         Merge glibc changes into lib/glob.c.
31133
31134         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
31135         2007-10-15 04:59:03 UTC.  Here are the changes:
31136
31137         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
31138
31139         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
31140
31141         * lib/glob.c: Add some branch prediction throughout.
31142
31143         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
31144
31145         [BZ #5103]
31146         * lib/glob.c (glob): Recognize patterns starting \/.
31147
31148         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
31149
31150         [BZ #3996]
31151         * lib/glob.c (attribute_hidden): Define if not defined.
31152         (glob): Unescape dirname, filename or username when needed and not
31153         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
31154         is NULL.  Handle unescaped [ in pattern without closing ].
31155         Don't pass GLOB_CHECK down to recursive glob for directories.
31156         (__glob_pattern_type): New function.
31157         (__glob_pattern_p): Implement using __glob_pattern_type.
31158         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
31159         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
31160         Remove unreachable code.
31161
31162         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
31163
31164         * lib/glob.c (glob_in_dir): Add some comments and asserts to
31165         explain why there are no leaks.
31166
31167         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
31168
31169         [BZ #3253]
31170         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
31171         time, rather allocate increasingly bigger arrays of pointers, if
31172         possible with alloca, if too large with malloc.
31173
31174 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
31175
31176         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
31177         Problem reported by H.Merijn Brand in
31178         <http://lists.gnu.org/archive/html/bug-tar/2007-10/msg00018.html>.
31179         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
31180         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
31181
31182 2007-10-15  Bruno Haible  <bruno@clisp.org>
31183
31184         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
31185         with explicit rpl_ prefix.
31186         * lib/fopen.c (fopen): Likewise.
31187         * lib/freopen.c (freopen): Likewise.
31188         * lib/iconv.c (iconv): Likewise.
31189         * lib/iconv_close.c (iconv_close): Likewise.
31190
31191 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31192
31193         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
31194
31195 2007-10-15  Bruno Haible  <bruno@clisp.org>
31196
31197         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
31198         <stddef.h> instead of <stdlib.h> since we only need NULL.
31199         Reported by Ben Pfaff <blp@cs.stanford.edu>.
31200
31201 2007-10-15  Bruno Haible  <bruno@clisp.org>
31202
31203         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
31204         Replace paragraph talking about LIBOBJS.
31205         Reported by Colin Watson <cjwatson@debian.org>.
31206
31207 2007-10-15  Bruno Haible  <bruno@clisp.org>
31208
31209         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
31210         <stdlib.h> before using NULL.
31211
31212 2007-10-15  Simon Josefsson  <simon@josefsson.org>
31213
31214         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
31215         Reported by Albert Chin <china@thewrittenword.com>.
31216
31217 2007-10-14  Bruno Haible  <bruno@clisp.org>
31218
31219         * modules/iconv_open-utf-tests: New file.
31220         * tests/test-iconv-utf.c: New file.
31221
31222         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
31223         * modules/iconv_open-utf: New file.
31224         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
31225         (iconv, iconv_close): New declarations.
31226         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
31227         be defined.
31228         (iconv_open): Add special handling of conversion between UTF-8 and
31229         UTF-{16,32}{BE,LE}.
31230         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
31231         * lib/iconv_close.c: New file.
31232         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
31233         gl_FUNC_ICONV_OPEN.
31234         (gl_FUNC_ICONV_OPEN): Use it.
31235         (gl_FUNC_ICONV_OPEN_UTF): New macro.
31236         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
31237         and REPLACE_ICONV_UTF.
31238         * modules/iconv_open (Depends-on): Add c-strcase.
31239         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
31240         ICONV_CONST.
31241         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
31242
31243 2007-10-13  Albert Chin  <china@thewrittenword.com>
31244             Bruno Haible  <bruno@clisp.org>
31245
31246         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
31247         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
31248
31249 2007-10-13  Bruno Haible  <bruno@clisp.org>
31250
31251         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
31252         defined, use the ISO C99 inline semantics.
31253         * lib/argp.h (ARGP_EI): Likewise.
31254
31255 2007-10-13  Bruno Haible  <bruno@clisp.org>
31256
31257         Handle 'inline' change in gcc 4.3.0.
31258         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
31259         argp_fmtstream_write, argp_fmtstream_set_lmargin,
31260         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
31261         argp_fmtstream_point): Disable 'extern' declaration if the function
31262         definition is going to be provided inline.
31263         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
31264         semantics, not the ISO C99 inline semantics.
31265         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
31266         'extern' declaration if the function definition is going to be provided
31267         inline.
31268         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
31269         the GNU C inline semantics, not the ISO C99 inline semantics. With
31270         GCC 4.2, avoid a warning.
31271
31272 2007-10-13  Bruno Haible  <bruno@clisp.org>
31273
31274         * lib/freading.h (freading): Enable the use of __freading for
31275         glibc >= 2.7.
31276         * lib/freading.c (freading): Likewise.
31277
31278 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
31279
31280         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
31281         "warning: C99 inline functions are not supported; using GNU89".
31282
31283 2007-10-12  Bruno Haible  <bruno@clisp.org>
31284
31285         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
31286         of 2.
31287         * tests/test-ceilf2.c: New file.
31288         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
31289
31290         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
31291         * modules/ceilf-tests: Update.
31292
31293 2007-10-12  Bruno Haible  <bruno@clisp.org>
31294
31295         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
31296         of 2.
31297         * tests/test-floorf2.c: New file.
31298         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
31299
31300         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
31301         * modules/floorf-tests: Update.
31302
31303 2007-10-12  Bruno Haible  <bruno@clisp.org>
31304
31305         * tests/test-trunc2.c: New file.
31306         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
31307
31308         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
31309         * modules/trunc-tests: Update.
31310
31311 2007-10-12  Bruno Haible  <bruno@clisp.org>
31312
31313         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
31314         of 2.
31315         * tests/test-truncf2.c: New file.
31316         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
31317
31318         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
31319         * modules/truncf-tests: Update.
31320
31321 2007-10-11  Eric Blake  <ebb9@byu.net>
31322
31323         Don't claim strerror is broken on Interix.
31324         * doc/functions/strerror.texi (strerror): Known broken systems are
31325         now Solaris 8, and not Interix.
31326         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
31327         Interix on cross-compile.
31328         Reported by Martin Koeppe in
31329         http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00005.html.
31330
31331 2007-10-11  Bruno Haible  <bruno@clisp.org>
31332
31333         * modules/i-ring-tests: New file.
31334         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
31335         instead of assert.
31336
31337 2007-10-11  Bruno Haible  <bruno@clisp.org>
31338
31339         * modules/filenamecat-tests: New file.
31340         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
31341         * lib/filenamecat.c: Remove test code.
31342
31343 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
31344
31345         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
31346
31347         * lib/strerror.c: Include <string.h> always, to test interface,
31348         and to remove the need for the dummy.
31349         Include intprops.h to compute width instead of doing it ourselves
31350         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
31351         (strerror): Define it to return NULL if there's no system strerror.
31352         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
31353         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
31354         ancient pre-strerror Unix systems well any more.  Saying "unknown
31355         system error" is enough.
31356         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
31357         simpler strerror.c implementation.
31358         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
31359         Simplify the tests to reflect the simpler strerror implementation.
31360         * modules/strerror (Depends-on): Add intprops.
31361
31362 2007-10-09  Eric Blake  <ebb9@byu.net>
31363
31364         Silence test-fpending.
31365         * modules/fpending-tests (Files): Add wrapper script.
31366         * tests/test-fpending.sh: New file.
31367
31368 2007-10-09  Bruno Haible  <bruno@clisp.org>
31369
31370         * MODULES.html.sh (func_module): Don't create a hyperlink for
31371         function names like 'printf_frexp'.
31372         (Misc): Add crc, memxor.
31373         (Characteristics of floating types): New section.
31374         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
31375         isnanf-nolibm, signbit, trunc, truncf, truncl.
31376         (Enhancements for ISO C 99 functions): New subsection Input/output.
31377         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
31378         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
31379         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
31380         (Compatibility checks for POSIX:2001 functions): Add clock-time.
31381         (Enhancements for POSIX:2001 functions): Add chdir-long.
31382         (File system functions): Add areadlink, chdir-safer, read-file.
31383         Remove cycle-check.
31384         (File system as inode set): New section.
31385         (Date and time): Add gethrxtime.
31386         (Multithreading): Add openmp.
31387         (Internationalization functions): Add localename.
31388         (Unicode string functions): Add unistr/u*-mbsnlen.
31389         (Support for maintaining and releasing projects): Add git-version-gen.
31390         (Lone files): Remove directories.
31391
31392 2007-10-08  Ben Pfaff  <blp@gnu.org>
31393
31394         * lib/xmalloca.h: Fix typo in comment.
31395
31396 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
31397
31398         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
31399         when avoiding problems with integer overflow.  Use a portable test
31400         instead.
31401
31402 2007-10-08  Simon Josefsson  <simon@josefsson.org>
31403
31404         * modules/dummy (License): Change to LGPLv2+.
31405         * modules/float (License): Likewise
31406         * modules/realloc (License): Likewise
31407         * modules/stdlib (License): Likewise
31408
31409 2007-10-07  Bruno Haible  <bruno@clisp.org>
31410
31411         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
31412         * floor.c (TWO_MANT_DIG): Likewise.
31413         * ceil.c (TWO_MANT_DIG): Likewise.
31414         Reported by Ben Pfaff.
31415
31416 2007-10-07  Bruno Haible  <bruno@clisp.org>
31417
31418         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
31419         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
31420         * lib/frexp.c (FUNC): Likewise.
31421         * lib/printf-frexp.h (printf_frexp): Likewise.
31422         * lib/printf-frexpl.h (printf_frexpl): Likewise.
31423         * lib/printf-frexp.c (FUNC): Likewise.
31424         Suggested by Jim Meyering.
31425
31426 2007-10-07  Jim Meyering  <meyering@redhat.com>
31427
31428         Make xnanosleep's integer overflow test more robust.
31429         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
31430         so that gcc-4.3.0 doesn't optimize away this test for overflow.
31431
31432 2007-10-07  Bruno Haible  <bruno@clisp.org>
31433
31434         * NEWS: Mention the license change.
31435
31436         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
31437         abbreviations in the modules files.
31438
31439         Change copyright notice from GPLv2+ to GPLv3+.
31440         * README: Change copyright notice.
31441         * MODULES.html.sh: Likewise.
31442         * build-aux/bootstrap.conf: Likewise.
31443         * build-aux/config.libpath: Likewise.
31444         * build-aux/csharpcomp.sh.in: Likewise.
31445         * build-aux/csharpexec.sh.in: Likewise.
31446         * build-aux/install-reloc: Likewise.
31447         * build-aux/javacomp.sh.in: Likewise.
31448         * build-aux/javaexec.sh.in: Likewise.
31449         * build-aux/ldd.sh.in: Likewise.
31450         * build-aux/reloc-ldflags: Likewise.
31451         * build-aux/relocatable.sh.in: Likewise.
31452         * build-aux/x-to-1.in: Likewise.
31453         * check-module: Likewise.
31454         * config/srclistvars.sh: Likewise.
31455         * gnulib-tool: Likewise.
31456         * lib/acl-internal.h: Likewise.
31457         * lib/acl.c: Likewise.
31458         * lib/acl.h: Likewise.
31459         * lib/acl_entries.c: Likewise.
31460         * lib/areadlink-with-size.c: Likewise.
31461         * lib/areadlink.c: Likewise.
31462         * lib/areadlink.h: Likewise.
31463         * lib/argmatch.c: Likewise.
31464         * lib/argmatch.h: Likewise.
31465         * lib/argp-ba.c: Likewise.
31466         * lib/argp-eexst.c: Likewise.
31467         * lib/argp-fmtstream.c: Likewise.
31468         * lib/argp-fmtstream.h: Likewise.
31469         * lib/argp-fs-xinl.c: Likewise.
31470         * lib/argp-help.c: Likewise.
31471         * lib/argp-namefrob.h: Likewise.
31472         * lib/argp-parse.c: Likewise.
31473         * lib/argp-pin.c: Likewise.
31474         * lib/argp-pv.c: Likewise.
31475         * lib/argp-pvh.c: Likewise.
31476         * lib/argp-xinl.c: Likewise.
31477         * lib/argp.h: Likewise.
31478         * lib/at-func.c: Likewise.
31479         * lib/atanl.c: Likewise.
31480         * lib/backupfile.c: Likewise.
31481         * lib/backupfile.h: Likewise.
31482         * lib/basename.c: Likewise.
31483         * lib/binary-io.h: Likewise.
31484         * lib/byteswap.in.h: Likewise.
31485         * lib/c-stack.c: Likewise.
31486         * lib/c-stack.h: Likewise.
31487         * lib/c-strcasestr.c: Likewise.
31488         * lib/c-strcasestr.h: Likewise.
31489         * lib/c-strstr.c: Likewise.
31490         * lib/c-strstr.h: Likewise.
31491         * lib/c-strtod.c: Likewise.
31492         * lib/calloc.c: Likewise.
31493         * lib/canon-host.c: Likewise.
31494         * lib/canon-host.h: Likewise.
31495         * lib/canonicalize-lgpl.c: Likewise.
31496         * lib/canonicalize.c: Likewise.
31497         * lib/canonicalize.h: Likewise.
31498         * lib/ceil.c: Likewise.
31499         * lib/ceilf.c: Likewise.
31500         * lib/ceill.c: Likewise.
31501         * lib/chdir-long.c: Likewise.
31502         * lib/chdir-long.h: Likewise.
31503         * lib/chdir-safer.c: Likewise.
31504         * lib/chdir-safer.h: Likewise.
31505         * lib/chown.c: Likewise.
31506         * lib/classpath.c: Likewise.
31507         * lib/classpath.h: Likewise.
31508         * lib/clean-temp.c: Likewise.
31509         * lib/clean-temp.h: Likewise.
31510         * lib/cloexec.c: Likewise.
31511         * lib/close-stream.c: Likewise.
31512         * lib/closein.c: Likewise.
31513         * lib/closein.h: Likewise.
31514         * lib/closeout.c: Likewise.
31515         * lib/closeout.h: Likewise.
31516         * lib/concat-filename.c: Likewise.
31517         * lib/copy-file.c: Likewise.
31518         * lib/copy-file.h: Likewise.
31519         * lib/count-one-bits.h: Likewise.
31520         * lib/crc.c: Likewise.
31521         * lib/crc.h: Likewise.
31522         * lib/creat-safer.c: Likewise.
31523         * lib/csharpcomp.c: Likewise.
31524         * lib/csharpcomp.h: Likewise.
31525         * lib/csharpexec.c: Likewise.
31526         * lib/csharpexec.h: Likewise.
31527         * lib/cycle-check.c: Likewise.
31528         * lib/cycle-check.h: Likewise.
31529         * lib/diacrit.c: Likewise.
31530         * lib/diacrit.h: Likewise.
31531         * lib/diffseq.h: Likewise.
31532         * lib/dirchownmod.c: Likewise.
31533         * lib/dirent.in.h: Likewise.
31534         * lib/dirfd.c: Likewise.
31535         * lib/dirfd.h: Likewise.
31536         * lib/dirname.c: Likewise.
31537         * lib/dirname.h: Likewise.
31538         * lib/dummy.c: Likewise.
31539         * lib/dup-safer.c: Likewise.
31540         * lib/dup2.c: Likewise.
31541         * lib/eealloc.h: Likewise.
31542         * lib/error.c: Likewise.
31543         * lib/error.h: Likewise.
31544         * lib/euidaccess.c: Likewise.
31545         * lib/exclude.c: Likewise.
31546         * lib/exclude.h: Likewise.
31547         * lib/execute.c: Likewise.
31548         * lib/execute.h: Likewise.
31549         * lib/exitfail.c: Likewise.
31550         * lib/exitfail.h: Likewise.
31551         * lib/expl.c: Likewise.
31552         * lib/fatal-signal.c: Likewise.
31553         * lib/fatal-signal.h: Likewise.
31554         * lib/fbufmode.c: Likewise.
31555         * lib/fbufmode.h: Likewise.
31556         * lib/fchdir.c: Likewise.
31557         * lib/fchmodat.c: Likewise.
31558         * lib/fchownat.c: Likewise.
31559         * lib/fcntl--.h: Likewise.
31560         * lib/fcntl-safer.h: Likewise.
31561         * lib/fcntl.in.h: Likewise.
31562         * lib/fd-safer.c: Likewise.
31563         * lib/fflush.c: Likewise.
31564         * lib/file-has-acl.c: Likewise.
31565         * lib/file-set.c: Likewise.
31566         * lib/file-type.c: Likewise.
31567         * lib/file-type.h: Likewise.
31568         * lib/fileblocks.c: Likewise.
31569         * lib/filemode.c: Likewise.
31570         * lib/filemode.h: Likewise.
31571         * lib/filename.h: Likewise.
31572         * lib/filenamecat.c: Likewise.
31573         * lib/filenamecat.h: Likewise.
31574         * lib/findprog.c: Likewise.
31575         * lib/findprog.h: Likewise.
31576         * lib/float.in.h: Likewise.
31577         * lib/floor.c: Likewise.
31578         * lib/floorf.c: Likewise.
31579         * lib/floorl.c: Likewise.
31580         * lib/fopen-safer.c: Likewise.
31581         * lib/fopen.c: Likewise.
31582         * lib/fpending.c: Likewise.
31583         * lib/fpending.h: Likewise.
31584         * lib/fprintf.c: Likewise.
31585         * lib/fprintftime.h: Likewise.
31586         * lib/fpucw.h: Likewise.
31587         * lib/fpurge.c: Likewise.
31588         * lib/fpurge.h: Likewise.
31589         * lib/freadable.c: Likewise.
31590         * lib/freadable.h: Likewise.
31591         * lib/freadahead.c: Likewise.
31592         * lib/freadahead.h: Likewise.
31593         * lib/freading.c: Likewise.
31594         * lib/freading.h: Likewise.
31595         * lib/free.c: Likewise.
31596         * lib/freopen.c: Likewise.
31597         * lib/frexp.c: Likewise.
31598         * lib/frexpl.c: Likewise.
31599         * lib/fseek.c: Likewise.
31600         * lib/fseterr.c: Likewise.
31601         * lib/fseterr.h: Likewise.
31602         * lib/fstatat.c: Likewise.
31603         * lib/fstrcmp.c: Likewise.
31604         * lib/fstrcmp.h: Likewise.
31605         * lib/fsusage.c: Likewise.
31606         * lib/fsusage.h: Likewise.
31607         * lib/ftell.c: Likewise.
31608         * lib/ftello.c: Likewise.
31609         * lib/fts-cycle.c: Likewise.
31610         * lib/fts.c: Likewise.
31611         * lib/fts_.h: Likewise.
31612         * lib/full-read.c: Likewise.
31613         * lib/full-read.h: Likewise.
31614         * lib/full-write.c: Likewise.
31615         * lib/full-write.h: Likewise.
31616         * lib/fwritable.c: Likewise.
31617         * lib/fwritable.h: Likewise.
31618         * lib/fwriteerror.c: Likewise.
31619         * lib/fwriteerror.h: Likewise.
31620         * lib/fwriting.c: Likewise.
31621         * lib/fwriting.h: Likewise.
31622         * lib/gcd.c: Likewise.
31623         * lib/gcd.h: Likewise.
31624         * lib/getcwd.c: Likewise.
31625         * lib/getdate.h: Likewise.
31626         * lib/getdate.y: Likewise.
31627         * lib/getdomainname.c: Likewise.
31628         * lib/getdomainname.h: Likewise.
31629         * lib/getgroups.c: Likewise.
31630         * lib/gethostname.c: Likewise.
31631         * lib/gethrxtime.c: Likewise.
31632         * lib/gethrxtime.h: Likewise.
31633         * lib/getloadavg.c: Likewise.
31634         * lib/getndelim2.c: Likewise.
31635         * lib/getndelim2.h: Likewise.
31636         * lib/getnline.c: Likewise.
31637         * lib/getnline.h: Likewise.
31638         * lib/getopt.c: Likewise.
31639         * lib/getopt.in.h: Likewise.
31640         * lib/getopt1.c: Likewise.
31641         * lib/getopt_int.h: Likewise.
31642         * lib/getpagesize.h: Likewise.
31643         * lib/getsubopt.c: Likewise.
31644         * lib/gettime.c: Likewise.
31645         * lib/getugroups.c: Likewise.
31646         * lib/getugroups.h: Likewise.
31647         * lib/getusershell.c: Likewise.
31648         * lib/gl_anyavltree_list1.h: Likewise.
31649         * lib/gl_anyavltree_list2.h: Likewise.
31650         * lib/gl_anyhash_list1.h: Likewise.
31651         * lib/gl_anyhash_list2.h: Likewise.
31652         * lib/gl_anylinked_list1.h: Likewise.
31653         * lib/gl_anylinked_list2.h: Likewise.
31654         * lib/gl_anyrbtree_list1.h: Likewise.
31655         * lib/gl_anyrbtree_list2.h: Likewise.
31656         * lib/gl_anytree_list1.h: Likewise.
31657         * lib/gl_anytree_list2.h: Likewise.
31658         * lib/gl_anytree_oset.h: Likewise.
31659         * lib/gl_anytreehash_list1.h: Likewise.
31660         * lib/gl_anytreehash_list2.h: Likewise.
31661         * lib/gl_array_list.c: Likewise.
31662         * lib/gl_array_list.h: Likewise.
31663         * lib/gl_array_oset.c: Likewise.
31664         * lib/gl_array_oset.h: Likewise.
31665         * lib/gl_avltree_list.c: Likewise.
31666         * lib/gl_avltree_list.h: Likewise.
31667         * lib/gl_avltree_oset.c: Likewise.
31668         * lib/gl_avltree_oset.h: Likewise.
31669         * lib/gl_avltreehash_list.c: Likewise.
31670         * lib/gl_avltreehash_list.h: Likewise.
31671         * lib/gl_carray_list.c: Likewise.
31672         * lib/gl_carray_list.h: Likewise.
31673         * lib/gl_linked_list.c: Likewise.
31674         * lib/gl_linked_list.h: Likewise.
31675         * lib/gl_linkedhash_list.c: Likewise.
31676         * lib/gl_linkedhash_list.h: Likewise.
31677         * lib/gl_list.c: Likewise.
31678         * lib/gl_list.h: Likewise.
31679         * lib/gl_oset.c: Likewise.
31680         * lib/gl_oset.h: Likewise.
31681         * lib/gl_rbtree_list.c: Likewise.
31682         * lib/gl_rbtree_list.h: Likewise.
31683         * lib/gl_rbtree_oset.c: Likewise.
31684         * lib/gl_rbtree_oset.h: Likewise.
31685         * lib/gl_rbtreehash_list.c: Likewise.
31686         * lib/gl_rbtreehash_list.h: Likewise.
31687         * lib/gl_sublist.c: Likewise.
31688         * lib/gl_sublist.h: Likewise.
31689         * lib/group-member.c: Likewise.
31690         * lib/group-member.h: Likewise.
31691         * lib/hard-locale.c: Likewise.
31692         * lib/hard-locale.h: Likewise.
31693         * lib/hash-pjw.c: Likewise.
31694         * lib/hash-pjw.h: Likewise.
31695         * lib/hash-triple.c: Likewise.
31696         * lib/hash.c: Likewise.
31697         * lib/hash.h: Likewise.
31698         * lib/human.c: Likewise.
31699         * lib/human.h: Likewise.
31700         * lib/i-ring.c: Likewise.
31701         * lib/i-ring.h: Likewise.
31702         * lib/idcache.c: Likewise.
31703         * lib/imaxabs.c: Likewise.
31704         * lib/imaxdiv.c: Likewise.
31705         * lib/inet_pton.c: Likewise.
31706         * lib/inet_pton.h: Likewise.
31707         * lib/intprops.h: Likewise.
31708         * lib/inttostr.c: Likewise.
31709         * lib/inttostr.h: Likewise.
31710         * lib/inttypes.in.h: Likewise.
31711         * lib/isapipe.c: Likewise.
31712         * lib/isdir.c: Likewise.
31713         * lib/isnan.c: Likewise.
31714         * lib/isnan.h: Likewise.
31715         * lib/isnanf.c: Likewise.
31716         * lib/isnanf.h: Likewise.
31717         * lib/isnanl-nolibm.h: Likewise.
31718         * lib/isnanl.c: Likewise.
31719         * lib/isnanl.h: Likewise.
31720         * lib/javacomp.c: Likewise.
31721         * lib/javacomp.h: Likewise.
31722         * lib/javaexec.c: Likewise.
31723         * lib/javaexec.h: Likewise.
31724         * lib/javaversion.c: Likewise.
31725         * lib/javaversion.h: Likewise.
31726         * lib/javaversion.java: Likewise.
31727         * lib/lbrkprop.h: Likewise.
31728         * lib/lchmod.h: Likewise.
31729         * lib/lchown.c: Likewise.
31730         * lib/ldexpl.c: Likewise.
31731         * lib/linebreak.c: Likewise.
31732         * lib/linebreak.h: Likewise.
31733         * lib/linebuffer.c: Likewise.
31734         * lib/linebuffer.h: Likewise.
31735         * lib/locale.in.h: Likewise.
31736         * lib/logl.c: Likewise.
31737         * lib/long-options.c: Likewise.
31738         * lib/long-options.h: Likewise.
31739         * lib/lstat.c: Likewise.
31740         * lib/lstat.h: Likewise.
31741         * lib/math.in.h: Likewise.
31742         * lib/mbchar.c: Likewise.
31743         * lib/mbchar.h: Likewise.
31744         * lib/mbfile.h: Likewise.
31745         * lib/mbiter.h: Likewise.
31746         * lib/mbscasecmp.c: Likewise.
31747         * lib/mbscasestr.c: Likewise.
31748         * lib/mbschr.c: Likewise.
31749         * lib/mbscspn.c: Likewise.
31750         * lib/mbslen.c: Likewise.
31751         * lib/mbsncasecmp.c: Likewise.
31752         * lib/mbsnlen.c: Likewise.
31753         * lib/mbspbrk.c: Likewise.
31754         * lib/mbspcasecmp.c: Likewise.
31755         * lib/mbsrchr.c: Likewise.
31756         * lib/mbssep.c: Likewise.
31757         * lib/mbsspn.c: Likewise.
31758         * lib/mbsstr.c: Likewise.
31759         * lib/mbstok_r.c: Likewise.
31760         * lib/mbswidth.c: Likewise.
31761         * lib/mbswidth.h: Likewise.
31762         * lib/mbuiter.h: Likewise.
31763         * lib/memcasecmp.c: Likewise.
31764         * lib/memcasecmp.h: Likewise.
31765         * lib/memchr.c: Likewise.
31766         * lib/memcmp.c: Likewise.
31767         * lib/memcoll.c: Likewise.
31768         * lib/memcoll.h: Likewise.
31769         * lib/memcpy.c: Likewise.
31770         * lib/memrchr.c: Likewise.
31771         * lib/mkancesdirs.c: Likewise.
31772         * lib/mkdir-p.c: Likewise.
31773         * lib/mkdir-p.h: Likewise.
31774         * lib/mkdir.c: Likewise.
31775         * lib/mkdirat.c: Likewise.
31776         * lib/mkdtemp.c: Likewise.
31777         * lib/mkstemp-safer.c: Likewise.
31778         * lib/mkstemp.c: Likewise.
31779         * lib/modechange.c: Likewise.
31780         * lib/modechange.h: Likewise.
31781         * lib/mountlist.c: Likewise.
31782         * lib/mountlist.h: Likewise.
31783         * lib/mpsort.c: Likewise.
31784         * lib/nanosleep.c: Likewise.
31785         * lib/obstack.c: Likewise.
31786         * lib/obstack.h: Likewise.
31787         * lib/open-safer.c: Likewise.
31788         * lib/open.c: Likewise.
31789         * lib/openat-die.c: Likewise.
31790         * lib/openat-priv.h: Likewise.
31791         * lib/openat-proc.c: Likewise.
31792         * lib/openat.c: Likewise.
31793         * lib/openat.h: Likewise.
31794         * lib/pagealign_alloc.c: Likewise.
31795         * lib/pagealign_alloc.h: Likewise.
31796         * lib/physmem.c: Likewise.
31797         * lib/physmem.h: Likewise.
31798         * lib/pipe-safer.c: Likewise.
31799         * lib/pipe.c: Likewise.
31800         * lib/pipe.h: Likewise.
31801         * lib/posixtm.c: Likewise.
31802         * lib/posixtm.h: Likewise.
31803         * lib/posixver.c: Likewise.
31804         * lib/printf-frexp.c: Likewise.
31805         * lib/printf-frexp.h: Likewise.
31806         * lib/printf-frexpl.c: Likewise.
31807         * lib/printf-frexpl.h: Likewise.
31808         * lib/printf.c: Likewise.
31809         * lib/progname.c: Likewise.
31810         * lib/progname.h: Likewise.
31811         * lib/progreloc.c: Likewise.
31812         * lib/putenv.c: Likewise.
31813         * lib/quote.c: Likewise.
31814         * lib/quote.h: Likewise.
31815         * lib/quotearg.c: Likewise.
31816         * lib/quotearg.h: Likewise.
31817         * lib/raise.c: Likewise.
31818         * lib/readline.c: Likewise.
31819         * lib/readline.h: Likewise.
31820         * lib/readlink.c: Likewise.
31821         * lib/readtokens.c: Likewise.
31822         * lib/readtokens.h: Likewise.
31823         * lib/readtokens0.c: Likewise.
31824         * lib/readtokens0.h: Likewise.
31825         * lib/readutmp.c: Likewise.
31826         * lib/readutmp.h: Likewise.
31827         * lib/realloc.c: Likewise.
31828         * lib/relocwrapper.c: Likewise.
31829         * lib/rename-dest-slash.c: Likewise.
31830         * lib/rename.c: Likewise.
31831         * lib/rmdir.c: Likewise.
31832         * lib/rpmatch.c: Likewise.
31833         * lib/safe-read.c: Likewise.
31834         * lib/safe-read.h: Likewise.
31835         * lib/safe-write.c: Likewise.
31836         * lib/safe-write.h: Likewise.
31837         * lib/same-inode.h: Likewise.
31838         * lib/same.c: Likewise.
31839         * lib/same.h: Likewise.
31840         * lib/save-cwd.c: Likewise.
31841         * lib/save-cwd.h: Likewise.
31842         * lib/savedir.c: Likewise.
31843         * lib/savedir.h: Likewise.
31844         * lib/savewd.c: Likewise.
31845         * lib/savewd.h: Likewise.
31846         * lib/search.in.h: Likewise.
31847         * lib/setenv.c: Likewise.
31848         * lib/setenv.h: Likewise.
31849         * lib/settime.c: Likewise.
31850         * lib/sh-quote.c: Likewise.
31851         * lib/sh-quote.h: Likewise.
31852         * lib/sig2str.c: Likewise.
31853         * lib/sig2str.h: Likewise.
31854         * lib/signal.in.h: Likewise.
31855         * lib/signbitd.c: Likewise.
31856         * lib/signbitf.c: Likewise.
31857         * lib/signbitl.c: Likewise.
31858         * lib/sigprocmask.c: Likewise.
31859         * lib/sincosl.c: Likewise.
31860         * lib/sleep.c: Likewise.
31861         * lib/sprintf.c: Likewise.
31862         * lib/sqrtl.c: Likewise.
31863         * lib/stat-time.h: Likewise.
31864         * lib/stdio--.h: Likewise.
31865         * lib/stdio-safer.h: Likewise.
31866         * lib/stdlib--.h: Likewise.
31867         * lib/stdlib-safer.h: Likewise.
31868         * lib/stdlib.in.h: Likewise.
31869         * lib/stpcpy.c: Likewise.
31870         * lib/stpncpy.c: Likewise.
31871         * lib/strchrnul.c: Likewise.
31872         * lib/strcspn.c: Likewise.
31873         * lib/strerror.c: Likewise.
31874         * lib/strftime.c: Likewise.
31875         * lib/strftime.h: Likewise.
31876         * lib/striconveh.c: Likewise.
31877         * lib/striconveh.h: Likewise.
31878         * lib/striconveha.c: Likewise.
31879         * lib/striconveha.h: Likewise.
31880         * lib/stripslash.c: Likewise.
31881         * lib/strnlen1.c: Likewise.
31882         * lib/strnlen1.h: Likewise.
31883         * lib/strtod.c: Likewise.
31884         * lib/strtoimax.c: Likewise.
31885         * lib/strtok_r.c: Likewise.
31886         * lib/strtol.c: Likewise.
31887         * lib/strtoll.c: Likewise.
31888         * lib/strtoul.c: Likewise.
31889         * lib/strtoull.c: Likewise.
31890         * lib/sysexits.in.h: Likewise.
31891         * lib/tempname.c: Likewise.
31892         * lib/tempname.h: Likewise.
31893         * lib/timespec.h: Likewise.
31894         * lib/tls.c: Likewise.
31895         * lib/tls.h: Likewise.
31896         * lib/tmpdir.c: Likewise.
31897         * lib/tmpdir.h: Likewise.
31898         * lib/tmpfile-safer.c: Likewise.
31899         * lib/tmpfile.c: Likewise.
31900         * lib/trigl.c: Likewise.
31901         * lib/trigl.h: Likewise.
31902         * lib/trim.c: Likewise.
31903         * lib/trim.h: Likewise.
31904         * lib/trunc.c: Likewise.
31905         * lib/truncf.c: Likewise.
31906         * lib/truncl.c: Likewise.
31907         * lib/tsearch.c: Likewise.
31908         * lib/unicodeio.c: Likewise.
31909         * lib/unicodeio.h: Likewise.
31910         * lib/unistd--.h: Likewise.
31911         * lib/unistd-safer.h: Likewise.
31912         * lib/unistdio/ulc-fprintf.c: Likewise.
31913         * lib/unistdio/ulc-vfprintf.c: Likewise.
31914         * lib/unlinkdir.c: Likewise.
31915         * lib/unlinkdir.h: Likewise.
31916         * lib/unlocked-io.h: Likewise.
31917         * lib/unsetenv.c: Likewise.
31918         * lib/userspec.c: Likewise.
31919         * lib/utime.c: Likewise.
31920         * lib/utimecmp.c: Likewise.
31921         * lib/utimecmp.h: Likewise.
31922         * lib/utimens.c: Likewise.
31923         * lib/verify.h: Likewise.
31924         * lib/verror.c: Likewise.
31925         * lib/verror.h: Likewise.
31926         * lib/version-etc-fsf.c: Likewise.
31927         * lib/version-etc.c: Likewise.
31928         * lib/version-etc.h: Likewise.
31929         * lib/vfprintf.c: Likewise.
31930         * lib/vprintf.c: Likewise.
31931         * lib/vsprintf.c: Likewise.
31932         * lib/w32spawn.h: Likewise.
31933         * lib/wait-process.c: Likewise.
31934         * lib/wait-process.h: Likewise.
31935         * lib/wcwidth.c: Likewise.
31936         * lib/write-any-file.c: Likewise.
31937         * lib/xalloc-die.c: Likewise.
31938         * lib/xalloc.h: Likewise.
31939         * lib/xasprintf.c: Likewise.
31940         * lib/xgetcwd.c: Likewise.
31941         * lib/xgetcwd.h: Likewise.
31942         * lib/xgetdomainname.c: Likewise.
31943         * lib/xgetdomainname.h: Likewise.
31944         * lib/xgethostname.c: Likewise.
31945         * lib/xmalloc.c: Likewise.
31946         * lib/xmalloca.c: Likewise.
31947         * lib/xmalloca.h: Likewise.
31948         * lib/xmemcoll.c: Likewise.
31949         * lib/xnanosleep.c: Likewise.
31950         * lib/xreadlink.c: Likewise.
31951         * lib/xreadlink.h: Likewise.
31952         * lib/xsetenv.c: Likewise.
31953         * lib/xsetenv.h: Likewise.
31954         * lib/xstriconv.c: Likewise.
31955         * lib/xstriconv.h: Likewise.
31956         * lib/xstrndup.c: Likewise.
31957         * lib/xstrndup.h: Likewise.
31958         * lib/xstrtod.c: Likewise.
31959         * lib/xstrtod.h: Likewise.
31960         * lib/xstrtol-error.c: Likewise.
31961         * lib/xstrtol.c: Likewise.
31962         * lib/xstrtol.h: Likewise.
31963         * lib/xtime.h: Likewise.
31964         * lib/xvasprintf.c: Likewise.
31965         * lib/xvasprintf.h: Likewise.
31966         * lib/yesno.c: Likewise.
31967         * lib/yesno.h: Likewise.
31968         * posix-modules: Likewise.
31969         * tests/test-alloca-opt.c: Likewise.
31970         * tests/test-arcfour.c: Likewise.
31971         * tests/test-arctwo.c: Likewise.
31972         * tests/test-argmatch.c: Likewise.
31973         * tests/test-argp-2.sh: Likewise.
31974         * tests/test-argp.c: Likewise.
31975         * tests/test-arpa_inet.c: Likewise.
31976         * tests/test-array_list.c: Likewise.
31977         * tests/test-array_oset.c: Likewise.
31978         * tests/test-atexit.c: Likewise.
31979         * tests/test-avltree_list.c: Likewise.
31980         * tests/test-avltree_oset.c: Likewise.
31981         * tests/test-avltreehash_list.c: Likewise.
31982         * tests/test-base64.c: Likewise.
31983         * tests/test-binary-io.c: Likewise.
31984         * tests/test-byteswap.c: Likewise.
31985         * tests/test-c-ctype.c: Likewise.
31986         * tests/test-c-strcasecmp.c: Likewise.
31987         * tests/test-c-strcasestr.c: Likewise.
31988         * tests/test-c-strncasecmp.c: Likewise.
31989         * tests/test-c-strstr.c: Likewise.
31990         * tests/test-canonicalize-lgpl.c: Likewise.
31991         * tests/test-canonicalize.c: Likewise.
31992         * tests/test-carray_list.c: Likewise.
31993         * tests/test-ceilf.c: Likewise.
31994         * tests/test-ceill.c: Likewise.
31995         * tests/test-count-one-bits.c: Likewise.
31996         * tests/test-crc.c: Likewise.
31997         * tests/test-dirname.c: Likewise.
31998         * tests/test-fbufmode.c: Likewise.
31999         * tests/test-fcntl.c: Likewise.
32000         * tests/test-fflush.c: Likewise.
32001         * tests/test-floorf.c: Likewise.
32002         * tests/test-floorl.c: Likewise.
32003         * tests/test-fopen.c: Likewise.
32004         * tests/test-fprintf-posix.c: Likewise.
32005         * tests/test-fprintf-posix.h: Likewise.
32006         * tests/test-fpurge.c: Likewise.
32007         * tests/test-freadable.c: Likewise.
32008         * tests/test-freadahead.c: Likewise.
32009         * tests/test-freading.c: Likewise.
32010         * tests/test-freopen.c: Likewise.
32011         * tests/test-frexp.c: Likewise.
32012         * tests/test-frexpl.c: Likewise.
32013         * tests/test-fseek.c: Likewise.
32014         * tests/test-fseeko.c: Likewise.
32015         * tests/test-fseterr.c: Likewise.
32016         * tests/test-fstrcmp.c: Likewise.
32017         * tests/test-ftell.c: Likewise.
32018         * tests/test-ftello.c: Likewise.
32019         * tests/test-fwritable.c: Likewise.
32020         * tests/test-fwriting.c: Likewise.
32021         * tests/test-getaddrinfo.c: Likewise.
32022         * tests/test-getpass.c: Likewise.
32023         * tests/test-gettimeofday.c: Likewise.
32024         * tests/test-hmac-md5.c: Likewise.
32025         * tests/test-hmac-sha1.c: Likewise.
32026         * tests/test-iconv.c: Likewise.
32027         * tests/test-iconvme.c: Likewise.
32028         * tests/test-inttypes.c: Likewise.
32029         * tests/test-isnan.c: Likewise.
32030         * tests/test-isnanf.c: Likewise.
32031         * tests/test-isnanl-nolibm.c: Likewise.
32032         * tests/test-isnanl.c: Likewise.
32033         * tests/test-isnanl.h: Likewise.
32034         * tests/test-ldexpl.c: Likewise.
32035         * tests/test-linked_list.c: Likewise.
32036         * tests/test-linkedhash_list.c: Likewise.
32037         * tests/test-locale.c: Likewise.
32038         * tests/test-localename.c: Likewise.
32039         * tests/test-lock.c: Likewise.
32040         * tests/test-lseek.c: Likewise.
32041         * tests/test-malloca.c: Likewise.
32042         * tests/test-math.c: Likewise.
32043         * tests/test-mbscasecmp.c: Likewise.
32044         * tests/test-mbscasestr1.c: Likewise.
32045         * tests/test-mbscasestr2.c: Likewise.
32046         * tests/test-mbscasestr3.c: Likewise.
32047         * tests/test-mbscasestr4.c: Likewise.
32048         * tests/test-mbschr.c: Likewise.
32049         * tests/test-mbscspn.c: Likewise.
32050         * tests/test-mbsncasecmp.c: Likewise.
32051         * tests/test-mbspbrk.c: Likewise.
32052         * tests/test-mbspcasecmp.c: Likewise.
32053         * tests/test-mbsrchr.c: Likewise.
32054         * tests/test-mbsspn.c: Likewise.
32055         * tests/test-mbsstr1.c: Likewise.
32056         * tests/test-mbsstr2.c: Likewise.
32057         * tests/test-mbsstr3.c: Likewise.
32058         * tests/test-md5.c: Likewise.
32059         * tests/test-memmem.c: Likewise.
32060         * tests/test-netinet_in.c: Likewise.
32061         * tests/test-open.c: Likewise.
32062         * tests/test-printf-frexp.c: Likewise.
32063         * tests/test-printf-frexpl.c: Likewise.
32064         * tests/test-printf-posix.c: Likewise.
32065         * tests/test-printf-posix.h: Likewise.
32066         * tests/test-rbtree_list.c: Likewise.
32067         * tests/test-rbtree_oset.c: Likewise.
32068         * tests/test-rbtreehash_list.c: Likewise.
32069         * tests/test-read-file.c: Likewise.
32070         * tests/test-rijndael.c: Likewise.
32071         * tests/test-search.c: Likewise.
32072         * tests/test-signbit.c: Likewise.
32073         * tests/test-sleep.c: Likewise.
32074         * tests/test-snprintf-posix.c: Likewise.
32075         * tests/test-snprintf-posix.h: Likewise.
32076         * tests/test-snprintf.c: Likewise.
32077         * tests/test-sprintf-posix.c: Likewise.
32078         * tests/test-sprintf-posix.h: Likewise.
32079         * tests/test-stat-time.c: Likewise.
32080         * tests/test-stdbool.c: Likewise.
32081         * tests/test-stdint.c: Likewise.
32082         * tests/test-stdio.c: Likewise.
32083         * tests/test-stdlib.c: Likewise.
32084         * tests/test-stpncpy.c: Likewise.
32085         * tests/test-strcasestr.c: Likewise.
32086         * tests/test-striconv.c: Likewise.
32087         * tests/test-striconveh.c: Likewise.
32088         * tests/test-striconveha.c: Likewise.
32089         * tests/test-string.c: Likewise.
32090         * tests/test-sys_select.c: Likewise.
32091         * tests/test-sys_socket.c: Likewise.
32092         * tests/test-sys_stat.c: Likewise.
32093         * tests/test-sys_time.c: Likewise.
32094         * tests/test-sysexits.c: Likewise.
32095         * tests/test-time.c: Likewise.
32096         * tests/test-tls.c: Likewise.
32097         * tests/test-trunc.c: Likewise.
32098         * tests/test-truncf.c: Likewise.
32099         * tests/test-truncl.c: Likewise.
32100         * tests/test-unistd.c: Likewise.
32101         * tests/test-vasnprintf-posix.c: Likewise.
32102         * tests/test-vasnprintf-posix2.c: Likewise.
32103         * tests/test-vasnprintf.c: Likewise.
32104         * tests/test-vasprintf-posix.c: Likewise.
32105         * tests/test-vasprintf.c: Likewise.
32106         * tests/test-verify.c: Likewise.
32107         * tests/test-vfprintf-posix.c: Likewise.
32108         * tests/test-vprintf-posix.c: Likewise.
32109         * tests/test-vsnprintf-posix.c: Likewise.
32110         * tests/test-vsnprintf.c: Likewise.
32111         * tests/test-vsprintf-posix.c: Likewise.
32112         * tests/test-wchar.c: Likewise.
32113         * tests/test-wctype.c: Likewise.
32114         * tests/test-wcwidth.c: Likewise.
32115         * tests/test-xstrtol.c: Likewise.
32116         * tests/test-xvasprintf.c: Likewise.
32117         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
32118         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
32119         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
32120         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
32121         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
32122         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
32123         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
32124         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
32125         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
32126         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
32127         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
32128         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
32129         * tests/uniname/test-uninames.c: Likewise.
32130         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
32131         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
32132         * tests/unistdio/test-u16-printf1.h: Likewise.
32133         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
32134         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
32135         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
32136         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
32137         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
32138         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
32139         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
32140         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
32141         * tests/unistdio/test-u32-printf1.h: Likewise.
32142         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
32143         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
32144         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
32145         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
32146         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
32147         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
32148         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
32149         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
32150         * tests/unistdio/test-u8-printf1.h: Likewise.
32151         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
32152         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
32153         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
32154         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
32155         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
32156         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
32157         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
32158         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
32159         * tests/unistdio/test-ulc-printf1.h: Likewise.
32160         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
32161         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
32162         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
32163         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
32164         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
32165         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
32166         * tests/uniwidth/test-u16-strwidth.c: Likewise.
32167         * tests/uniwidth/test-u16-width.c: Likewise.
32168         * tests/uniwidth/test-u32-strwidth.c: Likewise.
32169         * tests/uniwidth/test-u32-width.c: Likewise.
32170         * tests/uniwidth/test-u8-strwidth.c: Likewise.
32171         * tests/uniwidth/test-u8-width.c: Likewise.
32172         * tests/uniwidth/test-uc_width.c: Likewise.
32173         * config/srclist-update: Likewise.
32174         (fixlicense): Update to GPLv3+.
32175
32176         Change copyright notice from LGPLv2.1+ to LGPLv3+.
32177         * tests/test-tsearch.c: Change copyright notice.
32178
32179         Change copyright notice from LGPLv2.0+ to LGPLv3+.
32180         * lib/c-strcaseeq.h: Change copyright notice.
32181         * lib/streq.h: Likewise.
32182         * lib/uniconv.h: Likewise.
32183         * lib/uniconv/u-conv-from-enc.h: Likewise.
32184         * lib/uniconv/u-conv-to-enc.h: Likewise.
32185         * lib/uniconv/u-strconv-from-enc.h: Likewise.
32186         * lib/uniconv/u-strconv-to-enc.h: Likewise.
32187         * lib/uniconv/u16-conv-from-enc.c: Likewise.
32188         * lib/uniconv/u16-conv-to-enc.c: Likewise.
32189         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
32190         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
32191         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
32192         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
32193         * lib/uniconv/u32-conv-from-enc.c: Likewise.
32194         * lib/uniconv/u32-conv-to-enc.c: Likewise.
32195         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
32196         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
32197         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
32198         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
32199         * lib/uniconv/u8-conv-from-enc.c: Likewise.
32200         * lib/uniconv/u8-conv-to-enc.c: Likewise.
32201         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
32202         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
32203         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
32204         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
32205         * lib/uniname.h: Likewise.
32206         * lib/uniname/uniname.c: Likewise.
32207         * lib/unistdio.h: Likewise.
32208         * lib/unistdio/u-asnprintf.h: Likewise.
32209         * lib/unistdio/u-asprintf.h: Likewise.
32210         * lib/unistdio/u-printf-args.c: Likewise.
32211         * lib/unistdio/u-printf-args.h: Likewise.
32212         * lib/unistdio/u-printf-parse.h: Likewise.
32213         * lib/unistdio/u-snprintf.h: Likewise.
32214         * lib/unistdio/u-sprintf.h: Likewise.
32215         * lib/unistdio/u-vasprintf.h: Likewise.
32216         * lib/unistdio/u-vsnprintf.h: Likewise.
32217         * lib/unistdio/u-vsprintf.h: Likewise.
32218         * lib/unistdio/u16-asnprintf.c: Likewise.
32219         * lib/unistdio/u16-asprintf.c: Likewise.
32220         * lib/unistdio/u16-printf-parse.c: Likewise.
32221         * lib/unistdio/u16-snprintf.c: Likewise.
32222         * lib/unistdio/u16-sprintf.c: Likewise.
32223         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
32224         * lib/unistdio/u16-u16-asprintf.c: Likewise.
32225         * lib/unistdio/u16-u16-snprintf.c: Likewise.
32226         * lib/unistdio/u16-u16-sprintf.c: Likewise.
32227         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
32228         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
32229         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
32230         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
32231         * lib/unistdio/u16-vasnprintf.c: Likewise.
32232         * lib/unistdio/u16-vasprintf.c: Likewise.
32233         * lib/unistdio/u16-vsnprintf.c: Likewise.
32234         * lib/unistdio/u16-vsprintf.c: Likewise.
32235         * lib/unistdio/u32-asnprintf.c: Likewise.
32236         * lib/unistdio/u32-asprintf.c: Likewise.
32237         * lib/unistdio/u32-printf-parse.c: Likewise.
32238         * lib/unistdio/u32-snprintf.c: Likewise.
32239         * lib/unistdio/u32-sprintf.c: Likewise.
32240         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
32241         * lib/unistdio/u32-u32-asprintf.c: Likewise.
32242         * lib/unistdio/u32-u32-snprintf.c: Likewise.
32243         * lib/unistdio/u32-u32-sprintf.c: Likewise.
32244         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
32245         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
32246         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
32247         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
32248         * lib/unistdio/u32-vasnprintf.c: Likewise.
32249         * lib/unistdio/u32-vasprintf.c: Likewise.
32250         * lib/unistdio/u32-vsnprintf.c: Likewise.
32251         * lib/unistdio/u32-vsprintf.c: Likewise.
32252         * lib/unistdio/u8-asnprintf.c: Likewise.
32253         * lib/unistdio/u8-asprintf.c: Likewise.
32254         * lib/unistdio/u8-printf-parse.c: Likewise.
32255         * lib/unistdio/u8-snprintf.c: Likewise.
32256         * lib/unistdio/u8-sprintf.c: Likewise.
32257         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
32258         * lib/unistdio/u8-u8-asprintf.c: Likewise.
32259         * lib/unistdio/u8-u8-snprintf.c: Likewise.
32260         * lib/unistdio/u8-u8-sprintf.c: Likewise.
32261         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
32262         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
32263         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
32264         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
32265         * lib/unistdio/u8-vasnprintf.c: Likewise.
32266         * lib/unistdio/u8-vasprintf.c: Likewise.
32267         * lib/unistdio/u8-vsnprintf.c: Likewise.
32268         * lib/unistdio/u8-vsprintf.c: Likewise.
32269         * lib/unistdio/ulc-asnprintf.c: Likewise.
32270         * lib/unistdio/ulc-asprintf.c: Likewise.
32271         * lib/unistdio/ulc-printf-parse.c: Likewise.
32272         * lib/unistdio/ulc-snprintf.c: Likewise.
32273         * lib/unistdio/ulc-sprintf.c: Likewise.
32274         * lib/unistdio/ulc-vasnprintf.c: Likewise.
32275         * lib/unistdio/ulc-vasprintf.c: Likewise.
32276         * lib/unistdio/ulc-vsnprintf.c: Likewise.
32277         * lib/unistdio/ulc-vsprintf.c: Likewise.
32278         * lib/unistr.h: Likewise.
32279         * lib/unistr/u-cpy-alloc.h: Likewise.
32280         * lib/unistr/u-cpy.h: Likewise.
32281         * lib/unistr/u-endswith.h: Likewise.
32282         * lib/unistr/u-move.h: Likewise.
32283         * lib/unistr/u-set.h: Likewise.
32284         * lib/unistr/u-startswith.h: Likewise.
32285         * lib/unistr/u-stpcpy.h: Likewise.
32286         * lib/unistr/u-stpncpy.h: Likewise.
32287         * lib/unistr/u-strcat.h: Likewise.
32288         * lib/unistr/u-strcpy.h: Likewise.
32289         * lib/unistr/u-strcspn.h: Likewise.
32290         * lib/unistr/u-strdup.h: Likewise.
32291         * lib/unistr/u-strlen.h: Likewise.
32292         * lib/unistr/u-strncat.h: Likewise.
32293         * lib/unistr/u-strncpy.h: Likewise.
32294         * lib/unistr/u-strnlen.h: Likewise.
32295         * lib/unistr/u-strpbrk.h: Likewise.
32296         * lib/unistr/u-strspn.h: Likewise.
32297         * lib/unistr/u-strstr.h: Likewise.
32298         * lib/unistr/u-strtok.h: Likewise.
32299         * lib/unistr/u16-check.c: Likewise.
32300         * lib/unistr/u16-chr.c: Likewise.
32301         * lib/unistr/u16-cmp.c: Likewise.
32302         * lib/unistr/u16-cpy-alloc.c: Likewise.
32303         * lib/unistr/u16-cpy.c: Likewise.
32304         * lib/unistr/u16-endswith.c: Likewise.
32305         * lib/unistr/u16-mblen.c: Likewise.
32306         * lib/unistr/u16-mbsnlen.c: Likewise.
32307         * lib/unistr/u16-mbtouc-aux.c: Likewise.
32308         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
32309         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
32310         * lib/unistr/u16-mbtouc.c: Likewise.
32311         * lib/unistr/u16-mbtoucr.c: Likewise.
32312         * lib/unistr/u16-move.c: Likewise.
32313         * lib/unistr/u16-next.c: Likewise.
32314         * lib/unistr/u16-prev.c: Likewise.
32315         * lib/unistr/u16-set.c: Likewise.
32316         * lib/unistr/u16-startswith.c: Likewise.
32317         * lib/unistr/u16-stpcpy.c: Likewise.
32318         * lib/unistr/u16-stpncpy.c: Likewise.
32319         * lib/unistr/u16-strcat.c: Likewise.
32320         * lib/unistr/u16-strchr.c: Likewise.
32321         * lib/unistr/u16-strcmp.c: Likewise.
32322         * lib/unistr/u16-strcpy.c: Likewise.
32323         * lib/unistr/u16-strcspn.c: Likewise.
32324         * lib/unistr/u16-strdup.c: Likewise.
32325         * lib/unistr/u16-strlen.c: Likewise.
32326         * lib/unistr/u16-strmblen.c: Likewise.
32327         * lib/unistr/u16-strmbtouc.c: Likewise.
32328         * lib/unistr/u16-strncat.c: Likewise.
32329         * lib/unistr/u16-strncmp.c: Likewise.
32330         * lib/unistr/u16-strncpy.c: Likewise.
32331         * lib/unistr/u16-strnlen.c: Likewise.
32332         * lib/unistr/u16-strpbrk.c: Likewise.
32333         * lib/unistr/u16-strrchr.c: Likewise.
32334         * lib/unistr/u16-strspn.c: Likewise.
32335         * lib/unistr/u16-strstr.c: Likewise.
32336         * lib/unistr/u16-strtok.c: Likewise.
32337         * lib/unistr/u16-to-u32.c: Likewise.
32338         * lib/unistr/u16-to-u8.c: Likewise.
32339         * lib/unistr/u16-uctomb-aux.c: Likewise.
32340         * lib/unistr/u16-uctomb.c: Likewise.
32341         * lib/unistr/u32-check.c: Likewise.
32342         * lib/unistr/u32-chr.c: Likewise.
32343         * lib/unistr/u32-cmp.c: Likewise.
32344         * lib/unistr/u32-cpy-alloc.c: Likewise.
32345         * lib/unistr/u32-cpy.c: Likewise.
32346         * lib/unistr/u32-endswith.c: Likewise.
32347         * lib/unistr/u32-mblen.c: Likewise.
32348         * lib/unistr/u32-mbsnlen.c: Likewise.
32349         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
32350         * lib/unistr/u32-mbtouc.c: Likewise.
32351         * lib/unistr/u32-mbtoucr.c: Likewise.
32352         * lib/unistr/u32-move.c: Likewise.
32353         * lib/unistr/u32-next.c: Likewise.
32354         * lib/unistr/u32-prev.c: Likewise.
32355         * lib/unistr/u32-set.c: Likewise.
32356         * lib/unistr/u32-startswith.c: Likewise.
32357         * lib/unistr/u32-stpcpy.c: Likewise.
32358         * lib/unistr/u32-stpncpy.c: Likewise.
32359         * lib/unistr/u32-strcat.c: Likewise.
32360         * lib/unistr/u32-strchr.c: Likewise.
32361         * lib/unistr/u32-strcmp.c: Likewise.
32362         * lib/unistr/u32-strcpy.c: Likewise.
32363         * lib/unistr/u32-strcspn.c: Likewise.
32364         * lib/unistr/u32-strdup.c: Likewise.
32365         * lib/unistr/u32-strlen.c: Likewise.
32366         * lib/unistr/u32-strmblen.c: Likewise.
32367         * lib/unistr/u32-strmbtouc.c: Likewise.
32368         * lib/unistr/u32-strncat.c: Likewise.
32369         * lib/unistr/u32-strncmp.c: Likewise.
32370         * lib/unistr/u32-strncpy.c: Likewise.
32371         * lib/unistr/u32-strnlen.c: Likewise.
32372         * lib/unistr/u32-strpbrk.c: Likewise.
32373         * lib/unistr/u32-strrchr.c: Likewise.
32374         * lib/unistr/u32-strspn.c: Likewise.
32375         * lib/unistr/u32-strstr.c: Likewise.
32376         * lib/unistr/u32-strtok.c: Likewise.
32377         * lib/unistr/u32-to-u16.c: Likewise.
32378         * lib/unistr/u32-to-u8.c: Likewise.
32379         * lib/unistr/u32-uctomb.c: Likewise.
32380         * lib/unistr/u8-check.c: Likewise.
32381         * lib/unistr/u8-chr.c: Likewise.
32382         * lib/unistr/u8-cmp.c: Likewise.
32383         * lib/unistr/u8-cpy-alloc.c: Likewise.
32384         * lib/unistr/u8-cpy.c: Likewise.
32385         * lib/unistr/u8-endswith.c: Likewise.
32386         * lib/unistr/u8-mblen.c: Likewise.
32387         * lib/unistr/u8-mbsnlen.c: Likewise.
32388         * lib/unistr/u8-mbtouc-aux.c: Likewise.
32389         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
32390         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
32391         * lib/unistr/u8-mbtouc.c: Likewise.
32392         * lib/unistr/u8-mbtoucr.c: Likewise.
32393         * lib/unistr/u8-move.c: Likewise.
32394         * lib/unistr/u8-next.c: Likewise.
32395         * lib/unistr/u8-prev.c: Likewise.
32396         * lib/unistr/u8-set.c: Likewise.
32397         * lib/unistr/u8-startswith.c: Likewise.
32398         * lib/unistr/u8-stpcpy.c: Likewise.
32399         * lib/unistr/u8-stpncpy.c: Likewise.
32400         * lib/unistr/u8-strcat.c: Likewise.
32401         * lib/unistr/u8-strchr.c: Likewise.
32402         * lib/unistr/u8-strcmp.c: Likewise.
32403         * lib/unistr/u8-strcpy.c: Likewise.
32404         * lib/unistr/u8-strcspn.c: Likewise.
32405         * lib/unistr/u8-strdup.c: Likewise.
32406         * lib/unistr/u8-strlen.c: Likewise.
32407         * lib/unistr/u8-strmblen.c: Likewise.
32408         * lib/unistr/u8-strmbtouc.c: Likewise.
32409         * lib/unistr/u8-strncat.c: Likewise.
32410         * lib/unistr/u8-strncmp.c: Likewise.
32411         * lib/unistr/u8-strncpy.c: Likewise.
32412         * lib/unistr/u8-strnlen.c: Likewise.
32413         * lib/unistr/u8-strpbrk.c: Likewise.
32414         * lib/unistr/u8-strrchr.c: Likewise.
32415         * lib/unistr/u8-strspn.c: Likewise.
32416         * lib/unistr/u8-strstr.c: Likewise.
32417         * lib/unistr/u8-strtok.c: Likewise.
32418         * lib/unistr/u8-to-u16.c: Likewise.
32419         * lib/unistr/u8-to-u32.c: Likewise.
32420         * lib/unistr/u8-uctomb-aux.c: Likewise.
32421         * lib/unistr/u8-uctomb.c: Likewise.
32422         * lib/unitypes.h: Likewise.
32423         * lib/uniwidth.h: Likewise.
32424         * lib/uniwidth/cjk.h: Likewise.
32425         * lib/uniwidth/u16-strwidth.c: Likewise.
32426         * lib/uniwidth/u16-width.c: Likewise.
32427         * lib/uniwidth/u32-strwidth.c: Likewise.
32428         * lib/uniwidth/u32-width.c: Likewise.
32429         * lib/uniwidth/u8-strwidth.c: Likewise.
32430         * lib/uniwidth/u8-width.c: Likewise.
32431         * lib/uniwidth/width.c: Likewise.
32432
32433 2007-10-07  Bruno Haible  <bruno@clisp.org>
32434
32435         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
32436         The file is still under LGPL (see modules/inttypes).
32437
32438 2007-10-06  Bruno Haible  <bruno@clisp.org>
32439
32440         * modules/trunc (Dependencies): Add 'extensions'.
32441         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
32442         Reported by Ben Pfaff <blp@gnu.org>.
32443
32444 2007-10-06  Bruno Haible  <bruno@clisp.org>
32445
32446         * modules/freopen-tests: New file.
32447         * tests/test-freopen.c: New file.
32448
32449         * modules/fopen-tests: New file.
32450         * tests/test-fopen.c: New file.
32451
32452         * modules/fopen: New file.
32453         * lib/fopen.c: New file.
32454         * m4/fopen.m4: New file.
32455         * modules/freopen: New file.
32456         * lib/freopen.c: New file.
32457         * m4/freopen.m4: New file.
32458         * lib/stdio.in.h (fopen, freopen): New declarations.
32459         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
32460         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
32461         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
32462         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
32463         * doc/functions/fopen.texi: Mention the 'fopen' module.
32464         * doc/functions/freopen.texi: Mention the 'freopen' module.
32465
32466 2007-10-06  Bruno Haible  <bruno@clisp.org>
32467
32468         * modules/open-tests: New file.
32469         * tests/test-open.c: New file.
32470
32471         * modules/open: New file.
32472         * lib/open.c: New file.
32473         * m4/open.m4: New file.
32474         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
32475         lib/open.c does.
32476         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
32477         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
32478         macros.
32479         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
32480         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
32481         REPLACE_OPEN.
32482         * doc/functions/open.texi: Mention the 'open' module.
32483
32484 2007-10-04  Bruno Haible  <bruno@clisp.org>
32485
32486         * modules/ceill-tests: New file.
32487         * tests/test-ceill.c: New file.
32488
32489         * modules/ceill: New file.
32490         * lib/ceill.c: Replace entire file.
32491         * m4/ceill.m4: New file.
32492         * lib/math.in.h (ceill): Replace declaration.
32493         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
32494         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
32495         * doc/functions/ceill.texi: Mention the 'ceill' module.
32496         * modules/mathl (Files): Remove lib/ceill.c.
32497         (Depends-on): Add ceill.
32498
32499 2007-10-04  Bruno Haible  <bruno@clisp.org>
32500
32501         * modules/ceilf-tests: New file.
32502         * tests/test-ceilf.c: New file.
32503
32504         * modules/ceilf: New file.
32505         * lib/ceil.c: New file.
32506         * lib/ceilf.c: New file.
32507         * m4/ceilf.m4: New file.
32508         * lib/math.in.h (ceilf): New declaration.
32509         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
32510         HAVE_DECL_CEILF.
32511         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
32512         HAVE_DECL_CEILF.
32513         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
32514
32515 2007-10-04  Bruno Haible  <bruno@clisp.org>
32516
32517         * modules/floorl-tests: New file.
32518         * tests/test-floorl.c: New file.
32519
32520         * modules/floorl: New file.
32521         * lib/floorl.c: Replace entire file.
32522         * m4/floorl.m4: New file.
32523         * lib/math.in.h (floorl): Replace declaration.
32524         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
32525         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
32526         * doc/functions/floorl.texi: Mention the 'floorl' module.
32527         * modules/mathl (Files): Remove lib/floorl.c.
32528         (Depends-on): Add floorl.
32529
32530 2007-10-04  Bruno Haible  <bruno@clisp.org>
32531
32532         * modules/floorf-tests: New file.
32533         * tests/test-floorf.c: New file.
32534
32535         * modules/floorf: New file.
32536         * lib/floor.c: New file.
32537         * lib/floorf.c: New file.
32538         * m4/floorf.m4: New file.
32539         * lib/math.in.h (floorf): New declaration.
32540         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
32541         HAVE_DECL_FLOORF.
32542         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
32543         HAVE_DECL_FLOORF.
32544         * doc/functions/floorf.texi: Mention the 'floorf' module.
32545
32546 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
32547             Bruno Haible  <bruno@clisp.org>
32548
32549         Advertise for the Git server instead of the CVS server.
32550         * doc/gnulib-intro.texi (Steady Development): Mention the Git
32551         repository instead of the CVS one.
32552         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
32553         about all VCS systems generically.
32554         * doc/gnulib.texi (Introduction): Capitalize `Git'.
32555
32556 2007-10-04  Bruno Haible  <bruno@clisp.org>
32557
32558         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
32559         means.
32560         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
32561
32562 2007-10-04  Bruno Haible  <bruno@clisp.org>
32563
32564         * modules/truncl-tests: New file.
32565         * tests/test-truncl.c: New file.
32566
32567         * modules/truncl: New file.
32568         * lib/truncl.c: New file.
32569         * m4/truncl.m4: New file.
32570         * lib/math.in.h (truncl): New declaration.
32571         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
32572         HAVE_DECL_TRUNCL.
32573         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
32574         HAVE_DECL_TRUNCL.
32575         * doc/functions/truncl.texi: Mention the 'truncl' module.
32576
32577 2007-10-04  Bruno Haible  <bruno@clisp.org>
32578
32579         * modules/truncf-tests: New file.
32580         * tests/test-truncf.c: New file.
32581
32582         * modules/truncf: New file.
32583         * lib/trunc.c: Make paramerizable through USE_* macros.
32584         * lib/truncf.c: New file.
32585         * m4/truncf.m4: New file.
32586         * lib/math.in.h (truncf): New declaration.
32587         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
32588         HAVE_DECL_TRUNCF.
32589         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
32590         HAVE_DECL_TRUNCF.
32591         * doc/functions/truncf.texi: Mention the 'truncf' module.
32592
32593 2007-10-03  Bruno Haible  <bruno@clisp.org>
32594
32595         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
32596         augmentation also for tests modules.
32597         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
32598         * modules/atexit-tests (Makefile.am): Likewise.
32599         * modules/binary-io-tests (Makefile.am): Likewise.
32600         * modules/c-strcase-tests (Makefile.am): Likewise.
32601         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
32602         * modules/canonicalize-tests (Makefile.am): Likewise.
32603         * modules/closein-tests (Makefile.am): Likewise.
32604         * modules/fprintf-posix-tests (Makefile.am): Likewise.
32605         * modules/freadahead-tests (Makefile.am): Likewise.
32606         * modules/fseek-tests (Makefile.am): Likewise.
32607         * modules/fseeko-tests (Makefile.am): Likewise.
32608         * modules/ftell-tests (Makefile.am): Likewise.
32609         * modules/ftello-tests (Makefile.am): Likewise.
32610         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
32611         * modules/isnanl-tests (Makefile.am): Likewise.
32612         * modules/lseek-tests (Makefile.am): Likewise.
32613         * modules/mbscasecmp-tests (Makefile.am): Likewise.
32614         * modules/mbscasestr-tests (Makefile.am): Likewise.
32615         * modules/mbschr-tests (Makefile.am): Likewise.
32616         * modules/mbscspn-tests (Makefile.am): Likewise.
32617         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
32618         * modules/mbspbrk-tests (Makefile.am): Likewise.
32619         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
32620         * modules/mbsrchr-tests (Makefile.am): Likewise.
32621         * modules/mbsspn-tests (Makefile.am): Likewise.
32622         * modules/mbsstr-tests (Makefile.am): Likewise.
32623         * modules/printf-posix-tests (Makefile.am): Likewise.
32624         * modules/snprintf-posix-tests (Makefile.am): Likewise.
32625         * modules/sprintf-posix-tests (Makefile.am): Likewise.
32626         * modules/tsearch-tests (Makefile.am): Likewise.
32627         * modules/uniname/uniname-tests (Makefile.am): Likewise.
32628         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
32629         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
32630         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
32631         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
32632         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
32633         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
32634         * modules/vprintf-posix-tests (Makefile.am): Likewise.
32635         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
32636         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
32637         * modules/xstrtoimax-tests (Makefile.am): Likewise.
32638         * modules/xstrtol-tests (Makefile.am): Likewise.
32639         * modules/xstrtoumax-tests (Makefile.am): Likewise.
32640         * modules/yesno-tests (Makefile.am): Likewise.
32641
32642 2007-10-03  Bruno Haible  <bruno@clisp.org>
32643
32644         * modules/trunc-tests: New file.
32645         * tests/test-trunc.c: New file.
32646
32647         * modules/trunc: New file.
32648         * lib/trunc.c: New file.
32649         * m4/trunc.m4: New file.
32650         * lib/math.in.h (trunc): New declaration.
32651         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
32652         HAVE_DECL_TRUNC.
32653         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
32654         HAVE_DECL_TRUNC.
32655         * doc/functions/trunc.texi: Mention the 'trunc' module.
32656
32657 2007-10-03  Bruno Haible  <bruno@clisp.org>
32658
32659         * tests/test-fpending.c: New file, mostly copied
32660         from coreutils/lib/t-fpending.c.
32661         * modules/fpending-tests: New file.
32662
32663 2007-10-03  Bruno Haible  <bruno@clisp.org>
32664
32665         Port the stdio extensions to QNX (untested).
32666         * lib/fseterr.c (fseterr): Add support for QNX.
32667         * lib/fbufmode.c (fbufmode): Likewise.
32668         * lib/freadable.c (freadable): Likewise.
32669         * lib/fwritable.c (fwritable): Likewise.
32670         * lib/freading.c (freading): Likewise.
32671         * lib/fwriting.c (fwriting): Likewise.
32672         * lib/freadahead.c (freadahed): Likewise.
32673         * lib/fpurge.c (fpurge): Likewise.
32674         * lib/fseeko.c (rpl_fseeko): Likewise.
32675
32676 2007-10-03  Bruno Haible  <bruno@clisp.org>
32677             Jim Meyering  <jim@meyering.net>
32678             Eric Blake  <ebb9@byu.net>
32679
32680         * doc/relocatable.texi: Use @command instead of @program.
32681
32682 2007-10-02  Jim Meyering  <jim@meyering.net>
32683
32684         Perform one more "_.h" -> ".in.h" substitution.
32685         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
32686         instead of unistd_.h here, too.
32687
32688 2007-10-01  Bruno Haible  <bruno@clisp.org>
32689
32690         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
32691         Needed for the alloca-opt module.
32692
32693 2007-09-30  Bruno Haible  <bruno@clisp.org>
32694
32695         * lib/alloca.in.h: Renamed from lib/alloca_.h.
32696         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
32697         alloca_.h.
32698         * lib/argz.in.h: Renamed from lib/argz_.h.
32699         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
32700         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
32701         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
32702         byteswap_.h.
32703         * lib/dirent.in.h: Renamed from lib/dirent_.h.
32704         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
32705         dirent_.h.
32706         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
32707         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
32708         fcntl_.h.
32709         * lib/float.in.h: Renamed from lib/float_.h.
32710         * modules/float (Files, Makefile.am): Use float.in.h instead of
32711         float_.h.
32712         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
32713         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
32714         fnmatch_.h.
32715         * lib/getopt.in.h: Renamed from lib/getopt_.h.
32716         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
32717         getopt_.h.
32718         * lib/glob.in.h: Renamed from lib/glob_.h.
32719         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
32720         * lib/iconv.in.h: Renamed from lib/iconv_.h.
32721         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
32722         iconv_.h.
32723         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
32724         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
32725         inttypes_.h.
32726         * lib/locale.in.h: Renamed from lib/locale_.h.
32727         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
32728         locale_.h.
32729         * lib/math.in.h: Renamed from lib/math_.h.
32730         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
32731         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
32732         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
32733         of netinet_in_.h. Add dependency.
32734         * lib/poll.in.h: Renamed from lib/poll_.h.
32735         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
32736         * lib/search.in.h: Renamed from lib/search_.h.
32737         * modules/search (Files, Makefile.am): Use search.in.h instead of
32738         search_.h.
32739         * lib/signal.in.h: Renamed from lib/signal_.h.
32740         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
32741         _signal.h.
32742         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
32743         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
32744         stdbool_.h.
32745         * lib/stdint.in.h: Renamed from lib/stdint_.h.
32746         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
32747         stdint_.h.
32748         * lib/stdio.in.h: Renamed from lib/stdio_.h.
32749         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
32750         stdio_.h.
32751         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
32752         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
32753         stdlib_.h.
32754         * lib/string.in.h: Renamed from lib/string_.h.
32755         * modules/string (Files, Makefile.am): Use string.in.h instead of
32756         string_.h.
32757         * doc/gnulib-tool.texi (Initial import): Update.
32758         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
32759         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
32760         of sys_select_.h. Add dependency.
32761         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
32762         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
32763         of sys_socket_.h.
32764         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
32765         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
32766         sys_stat_.h.
32767         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
32768         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
32769         sys_time_.h.
32770         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
32771         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
32772         sysexits_.h.
32773         * lib/time.in.h: Renamed from lib/time_.h.
32774         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
32775         * lib/unistd.in.h: Renamed from lib/unistd_.h.
32776         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
32777         unistd_.h.
32778         * lib/wchar.in.h: Renamed from lib/wchar_.h.
32779         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
32780         wchar_.h.
32781         * lib/wctype.in.h: Renamed from lib/wctype_.h.
32782         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
32783         wctype_.h.
32784         * build-aux/bootstrap (slurp): Update.
32785         * lib/.cppi-disable: Update.
32786
32787 2007-09-30  Bruno Haible  <bruno@clisp.org>
32788
32789         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
32790         Needed on BeOS.
32791
32792 2007-09-30  Bruno Haible  <bruno@clisp.org>
32793
32794         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
32795
32796 2007-09-29  Bruno Haible  <bruno@clisp.org>
32797
32798         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
32799
32800 2007-09-29  Bruno Haible  <bruno@clisp.org>
32801
32802         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
32803         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
32804         * build-aux/install-reloc: Compile also areadlink.c.
32805         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
32806
32807 2007-09-29  Bruno Haible  <bruno@clisp.org>
32808
32809         * gnulib-tool (func_emit_initmacro_done): Indentation.
32810
32811 2007-09-29  Bruno Haible  <bruno@clisp.org>
32812
32813         * README: Add CVS checkout update instructions.
32814         Info from Bob Proulx <bob@proulx.com>.
32815
32816 2007-09-28  Eric Blake  <ebb9@byu.net>
32817
32818         Provide move-if-change.
32819         * build-aux/move-if-change: New file, based on best practice
32820         rather than any canonical upstream location.
32821
32822 2007-09-28  Jim Meyering  <jim@meyering.net>
32823
32824         Fix canonicalize loop-detection corner case.
32825         Do not attempt to stat the symlink values stored via seen_triple.
32826         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
32827         on linux-2.6.18, (but not 2.6.22).
32828         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
32829         triple_compare.  The former compares dev,ino,filename, while the latter
32830         would actually stat dirname(filename) when dev and ino were equal.
32831         * lib/hash-triple.c: Install <string.h>.
32832         (STREQ): Define.
32833         (triple_compare_ino_str): New function.
32834         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
32835
32836 2007-09-28  Eric Blake  <ebb9@byu.net>
32837
32838         Enforce that AC_REPLACE_FUNCS files exist.
32839         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
32840         override check for typos.
32841
32842         Fix test-closein on Solaris 10.
32843         * tests/test-closein.c (main): Don't assume stdin can be inherited
32844         closed on all systems.
32845         * tests/test-closein.sh: Likewise.
32846         Reported by Piotr Tarnowski.
32847
32848 2007-09-28  Jim Meyering  <jim@meyering.net>
32849
32850         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
32851
32852 2007-09-27  Jim Meyering  <jim@meyering.net>
32853
32854         canonicalize: Avoid a false-positive cycle failure.
32855         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
32856         Sort.  Remove cycle-check.
32857         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
32858         not cycle-check.h.
32859         (seen_triple): New function.
32860         (canonicalize_filename_mode): Use it instead of cycle-check.
32861         * tests/test-canonicalize.c: Add a test for this bug.
32862         * tests/test-canonicalize.sh: Set up and run the test.
32863
32864         New module, file-set, from coreutils.
32865         * modules/file-set: Define it.
32866         * lib/file-set.c, lib/file-set.h: Implement.
32867
32868         New module, hash-triple, from coreutils.
32869         * modules/hash-triple: Define it.
32870         * lib/hash-triple.c, lib/hash-triple.h: Implement.
32871
32872 2007-09-25  Eric Blake  <ebb9@byu.net>
32873
32874         Fix strerror on Interix.
32875         * lib/string_.h (strerror): Declare replacement.
32876         * doc/functions/strerror.texi (strerror): Document the Interix
32877         shortcoming.
32878         * modules/string (Makefile.am): Support new hooks.
32879         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
32880         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
32881         gl_FUNC_STRERROR_SEPARATE.
32882         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
32883         * lib/strerror.c (rpl_strerror): Provide replacement.
32884         * modules/strerror (Depends-on): Add string.
32885         (configure.ac): Detect use of module.
32886         * tests/test-strerror.c: New file.
32887         * modules/strerror-tests: New test module.
32888         * modules/argp (Depends-on): Add strerror.
32889         * modules/error (Depends-on): Likewise.
32890         Reported by Martin Koeppe.
32891
32892 2007-09-24  Bruno Haible  <bruno@clisp.org>
32893
32894         * README: Update git instructions.
32895
32896 2007-09-24  Eric Blake  <ebb9@byu.net>
32897
32898         Revert fpending breakage from 2007-09-08.
32899         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
32900         __fpending.c.
32901
32902 2007-09-24  Jim Meyering  <jim@meyering.net>
32903
32904         filenamecat.c: Add a test.
32905         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
32906         showing how the function works when DIR is the empty string.
32907
32908 2007-09-21  Simon Josefsson  <simon@josefsson.org>
32909
32910         * tests/test-canonicalize.sh: Turn on executable bit.
32911
32912 2007-09-19  Eric Blake  <ebb9@byu.net>
32913
32914         * README: Update CVS instructions.
32915
32916 2007-09-18  Bruno Haible  <bruno@clisp.org>
32917
32918         * modules/areadlink: New file.
32919         * lib/areadlink.h (areadlink): New declaration.
32920         * lib/areadlink.c: New file, based on lib/xreadlink.c.
32921
32922 2007-09-17  Jim Meyering  <jim@meyering.net>
32923
32924         * lib/savewd.c (ESTALE) [!defined]: Define.
32925         Reported to be required on Interix by Martin Koeppe.
32926
32927 2007-09-17  Bruno Haible  <bruno@clisp.org>
32928
32929         * gnulib-tool (func_version): Use $version.
32930
32931 2007-09-16  Bruno Haible  <bruno@clisp.org>
32932
32933         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
32934         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
32935         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
32936         Reported by Greg Schafer <gschafer@zip.com.au>.
32937
32938 2007-09-15  Bruno Haible  <bruno@clisp.org>
32939
32940         * gnulib-tool (sed): Try a little harder to make bash understand the
32941         alias.
32942         Reported by Bruce Korb <bruce.korb@gmail.com>.
32943
32944 2007-09-13  Eric Blake  <ebb9@byu.net>
32945
32946         * ChangeLog: Remove conflict markers.
32947
32948 2007-09-13  Simon Josefsson  <simon@josefsson.org>
32949
32950         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
32951         Reported by Bruno Haible <bruno@clisp.org>.
32952
32953 2007-09-12  Bruno Haible  <bruno@clisp.org>
32954
32955         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
32956         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
32957         is not defined.
32958
32959 2007-09-12  Eric Blake  <ebb9@byu.net>
32960
32961         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
32962         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
32963         Autoconf definition.
32964         * modules/euidaccess (Depends-on): Add extensions, for
32965         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
32966         * modules/fnmatch (Depends-on): Likewise.
32967         * modules/getaddrinfo (Depends-on): Likewise.
32968         * modules/getdelim (Depends-on): Likewise.
32969         * modules/getline (Depends-on): Likewise.
32970         * modules/getsubopt (Depends-on): Likewise.
32971         * modules/gettext (Depends-on): Likewise.
32972         * modules/group-member (Depends-on): Likewise.
32973         * modules/mbchar (Depends-on): Likewise.
32974         * modules/memmem (Depends-on): Likewise.
32975         * modules/mempcpy (Depends-on): Likewise.
32976         * modules/memrchr (Depends-on): Likewise.
32977         * modules/pagealign_alloc (Depends-on): Likewise.
32978         * modules/readutmp (Depends-on): Likewise.
32979         * modules/stpcpy (Depends-on): Likewise.
32980         * modules/stpncpy (Depends-on): Likewise.
32981         * modules/strchrnul (Depends-on): Likewise.
32982         * modules/strndup (Depends-on): Likewise.
32983         * modules/strsep (Depends-on): Likewise.
32984         * modules/strverscmp (Depends-on): Likewise.
32985         * modules/vasprintf (Depends-on): Likewise.
32986         * modules/wcwidth (Depends-on): Likewise.
32987         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
32988         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
32989         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
32990         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
32991         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
32992         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
32993         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
32994         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
32995         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
32996         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
32997         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
32998         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
32999         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
33000         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
33001         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
33002         * m4/readutmp.m4 (gl_READUTMP): Likewise.
33003         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
33004         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
33005         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
33006         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
33007         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
33008         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
33009         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
33010         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
33011         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
33012         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
33013         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
33014         so that lock.m4 can be used in gettext without extensions module.
33015
33016 2007-09-11  Bruno Haible  <bruno@clisp.org>
33017
33018         * m4/isc-posix.m4: Remove file.
33019         Suggested by Eric Blake.
33020
33021 2007-09-11  Eric Blake  <ebb9@byu.net>
33022
33023         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
33024
33025 2007-09-10  Bruno Haible  <bruno@clisp.org>
33026
33027         * posix-modules: Fix typo in error message.
33028         Reported by Matt <mkraai@beckman.com>.
33029
33030 2007-09-09  Bruno Haible  <bruno@clisp.org>
33031
33032         * doc/functions/getdelim.texi: Update list of platforms lacking the
33033         function.
33034         * doc/functions/getline.texi: Likewise.
33035
33036 2007-09-09  Jim Meyering  <jim@meyering.net>
33037
33038         * lib/hash.c (hash_initialize): Detect calloc failure.
33039         Reported by Bruno Haible.
33040
33041 2007-09-09  Bruno Haible  <bruno@clisp.org>
33042
33043         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
33044         malloc or realloc fails.
33045
33046 2007-09-09  Bruno Haible  <bruno@clisp.org>
33047
33048         * modules/getcwd (Depends-on): Add malloc-posix.
33049         * modules/glob (Depends-on): Likewise.
33050         * modules/putenv (Depends-on): Likewise.
33051         * modules/strdup (Depends-on): Likewise.
33052         * modules/getdelim (Depends-on): Add realloc-posix.
33053         * modules/read-file (Depends-on): Likewise.
33054
33055 2007-09-09  Bruno Haible  <bruno@clisp.org>
33056
33057         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
33058         (gl_FUNC_MALLOC_POSIX): Require it.
33059         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
33060         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
33061         * modules/realloc (Files): Add m4/malloc.m4.
33062         * modules/calloc (Files): Likewise.
33063
33064 2007-09-09  Bruno Haible  <bruno@clisp.org>
33065
33066         * modules/malloc-posix: New file.
33067         * modules/malloc (Depends-on): Add malloc-posix.
33068         * lib/malloc.c: Include errno.h.
33069         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
33070         and a POSIX-compatible malloc into a single function. Set ENOMEM
33071         when returning NULL.
33072         * m4/malloc.m4: New file.
33073         * doc/functions/malloc.texi: Mention the malloc-posix module.
33074         * lib/stdlib_.h (malloc): New declaration.
33075         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
33076         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
33077         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
33078         and HAVE_MALLOC_POSIX.
33079
33080 2007-09-09  Bruno Haible  <bruno@clisp.org>
33081
33082         * modules/realloc-posix: New file.
33083         * modules/realloc (Depends-on): Add realloc-posix.
33084         * lib/realloc.c: Include errno.h.
33085         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
33086         and a POSIX-compatible realloc into a single function. Set ENOMEM
33087         when returning NULL.
33088         * m4/realloc.m4: New file.
33089         * doc/functions/realloc.texi: Mention the realloc-posix module.
33090         * lib/stdlib_.h (realloc): New declaration.
33091         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
33092         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
33093         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
33094         and HAVE_REALLOC_POSIX.
33095
33096 2007-09-09  Bruno Haible  <bruno@clisp.org>
33097
33098         * modules/calloc-posix: New file.
33099         * modules/calloc (Depends-on): Add calloc-posix.
33100         * lib/calloc.c: Include errno.h.
33101         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
33102         and a POSIX-compatible calloc into a single function. Set ENOMEM
33103         when returning NULL.
33104         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
33105         * doc/functions/calloc.texi: Mention the calloc-posix module.
33106         * lib/stdlib_.h (calloc): New declaration.
33107         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
33108         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
33109         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
33110         and HAVE_CALLOC_POSIX.
33111
33112 2007-09-09  Bruno Haible  <bruno@clisp.org>
33113
33114         Allow for modules to show an arbitrary notice.
33115         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
33116         * gnulib-tool: New option --extract-notice.
33117         (func_usage): Document it.
33118         (sed_extract_prog): Update.
33119         (func_get_notice): New function.
33120         (func_modules_notice): New function.
33121         (func_import, func_create_testdir): Invoke it.
33122         Suggested by Jim Meyering.
33123
33124 2007-09-09  Bruno Haible  <bruno@clisp.org>
33125
33126         * gnulib-tool: New options --verbose, --quiet.
33127         (func_usage): Document them.
33128         (verbose): New variable.
33129         (func_execute_command): New function.
33130         (func_import): Don't show the module list and the file list if
33131         $verbose < 0.
33132         (func_create_testdir): Likewise. Use func_execute_command.
33133         (func_create_megatestdir): Use func_execute_command.
33134
33135 2007-09-08  Bruno Haible  <bruno@clisp.org>
33136
33137         * gnulib-tool (func_import): Prefer rsync over wget when available,
33138         for fetching the PO files.
33139
33140 2007-09-08  Bruno Haible  <bruno@clisp.org>
33141
33142         * posix-modules: New file. Portions copied from gnulib-tool.
33143         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
33144
33145 2007-09-08  Jim Meyering  <jim@meyering.net>
33146
33147         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
33148         * lib/fpending.h: Rename from __fpending.h.
33149         * lib/fpending.c: Rename from __fpending.c.
33150         Include "fpending.h", not "__fpending.h".
33151         * lib/__fpending.h, lib/__fpending.c: Remove files.
33152         * modules/fpending (Files): Reflect new file names.
33153         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
33154
33155 2007-09-08  Bruno Haible  <bruno@clisp.org>
33156
33157         * m4/inttypes-h.m4: Remove stub file.
33158
33159 2007-09-07  Simon Josefsson  <simon@josefsson.org>
33160
33161         * doc/headers/stdint.texi: Discuss #include_next issue.
33162
33163 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
33164
33165         * build-aux/bootstrap: Remove obsolete comment about wget --help.
33166
33167 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
33168
33169         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
33170         in variable name.
33171
33172 2007-09-03  Jim Meyering  <jim@meyering.net>
33173
33174         New module: git-version-gen.
33175         * modules/git-version-gen: New file.
33176
33177         Import changes from coreutils for bootstrap script.
33178
33179         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
33180
33181         bootstrap: uses rsync to download the .po files
33182         * build-aux/bootstrap (po_download_command_format): New global.
33183         (download_po_files): Use rsync.
33184         (update_po_files): Don't remove .po files after download,
33185         so future rsync runs can take advantage of the copies.
33186
33187         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
33188
33189         Solve the unnecessary-.po-file-regeneration problem once and for all.
33190         * build-aux/bootstrap (download_po_files): New function, renamed from
33191         get_translations.  Now, downloads, but doesn't update LINGUAS.
33192         (update_po_files): New function.
33193
33194         bootstrap: Ignore more.
33195         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
33196         uniwidth to e.g., lib/.gitignore.
33197         (slurp): Handle the sys_stat_.h -> sys mapping, too.
33198
33199         * build-aux/bootstrap: New setting: vc_ignore.
33200         (insert_sorted_if_absent): Create $file if absent.
33201         Adapt to new, possibly empty, list: $vc_ignore.
33202
33203         bootstrap: generate more ignorable names
33204         * build-aux/bootstrap (slurp): When generating ignorable names,
33205         also map .sin to .sed, .gperf to .c, and .y to .c.
33206
33207 2007-09-03  Jim Meyering  <jim@meyering.net>
33208
33209         * build-aux/git-version-gen: New file, from coreutils.  For details, see
33210         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
33211
33212 2007-09-02  Bruno Haible  <bruno@clisp.org>
33213
33214         Fix mis-recognition of 'mcs' on QNX 6.
33215         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
33216         output contains the string "Mono".
33217         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
33218         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
33219
33220 2007-09-01  Bruno Haible  <bruno@clisp.org>
33221
33222         Fix collision between uniwidth/* and linebreak modules.
33223         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
33224         u32_width): Remove declarations.
33225         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
33226         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
33227         streq3, streq2, streq1, streq0): Remove functions.
33228         (STREQ): Remove macro.
33229         (is_cjk_encoding): Remove function.
33230         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
33231         (uc_width, u8_width, u16_width, u32_width): Remove functions.
33232         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
33233         * NEWS: Document the change.
33234
33235 2007-09-01  Bruno Haible  <bruno@clisp.org>
33236
33237         * lib/streq.h: Add double-inclusion guard.
33238
33239 2007-09-01  Karl Berry  <karl@gnu.org>
33240
33241         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
33242
33243 2007-08-28  Jim Meyering  <jim@meyering.net>
33244
33245         Rename mreadlink_with_size to areadlink_with_size.
33246         * NEWS: Document the change.
33247         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
33248         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
33249         * lib/mreadlink.h: Rename this to...
33250         * lib/areadlink.h: ...this.
33251         * modules/mreadlink-with-size: Rename this to...
33252         * modules/areadlink-with-size: ...this.
33253         * lib/canonicalize.c: Reflect the renaming.
33254         * modules/canonicalize: Likewise.
33255
33256 2007-08-26  Bruno Haible  <bruno@clisp.org>
33257
33258         * gnulib-tool (func_import): When deciding which files to remove,
33259         consider also dangling symbolic links.
33260         Reported by Eric Blake.
33261
33262 2007-08-26  Bruno Haible  <bruno@clisp.org>
33263
33264         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
33265
33266 2007-08-23  Simon Josefsson  <simon@josefsson.org>
33267
33268         * lib/readline.c: Don't include getline.h, the prototype is now
33269         found in stdio.h.
33270
33271 2007-08-23  Jim Meyering  <jim@meyering.net>
33272
33273         Getdelim touchup.
33274         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
33275         around the funlockfile call, since funlockfile never sets errno.
33276         Don't set errno upon failed realloc.
33277
33278 2007-08-22  Eric Blake  <ebb9@byu.net>
33279
33280         Getline touchups.
33281         * lib/getdelim.c (getdelim): Revert regression that required *n to
33282         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
33283         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
33284         getdelim, rather than whether implementation is missing.
33285         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
33286         * lib/stdio_.h (getline): Also declare if replacement is
33287         required.
33288         * doc/functions/getdelim.texi: New file.
33289         * doc/functions/getline.texi: Likewise.
33290         * doc/gnulib.texi (Function Substitutes): Add new files.
33291         Reported by Bruno Haible.
33292
33293 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
33294
33295         * users.txt: Add Guile.
33296
33297 2007-08-22  Eric Blake  <ebb9@byu.net>
33298
33299         * tests/test-getdelim.c (main): Use remove, not unlink.
33300         * tests/test-getline.c (main): Likewise.
33301
33302         Move getline and getdelim into stdio.h, per POSIX 200x.
33303         * modules/getline (Files): Remove getline.h.
33304         (Depends-on): Add stdio.
33305         (configure.ac): Add module indicator.
33306         * modules/getdelim (Files): Remove getdelim.h.
33307         (Depends-on): Add stdio.
33308         (configure.ac): Add module indicator.
33309         * modules/stdio (Makefile.am): Work with new indicators.
33310         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
33311         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
33312         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
33313         * lib/getdelim.h: Delete.
33314         * lib/getline.h: Delete.
33315         * lib/stdio_.h (getdelim, getline): Declare.
33316         * modules/getdelim-tests: New module.
33317         * modules/getline-tests: Likewise.
33318         * tests/test-getdelim.c: New file.
33319         * tests/test-getline.c: Likewise.
33320         * NEWS: Document the change.
33321         * lib/getline.c: Update choice of header.
33322         * lib/csharpcomp.c: Likewise.
33323         * lib/getpass.c: Likewise.
33324         * lib/javacomp.c: Likewise.
33325         * lib/javaversion.c: Likewise.
33326         * lib/yesno.c: Likewise.
33327         * lib/getdelim.c: Likewise.
33328         (getdelim): Set errno on failure, and avoid memory leak.
33329
33330 2007-08-19  Bruno Haible  <bruno@clisp.org>
33331
33332         * modules/closein (Depends-on): Add freadahead.
33333         * lib/closein.c: Include freadahead.h.
33334         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
33335         is zero.
33336
33337 2007-08-19  Bruno Haible  <bruno@clisp.org>
33338
33339         * modules/freadahead-tests: New file.
33340         * tests/test-freadahead.sh: New file.
33341         * tests/test-freadahead.c: New file.
33342
33343         * modules/freadahead: New file.
33344         * lib/freadahead.h: New file.
33345         * lib/freadahead.c: New file.
33346         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
33347         fbufmode, fpurge, freadable, fwritable.
33348
33349 2007-08-19  Eric Blake  <ebb9@byu.net>
33350
33351         Test yesno in combination with closein.
33352         * lib/yesno.c (yesno): Document use of stdin.
33353         * modules/yesno-tests (Files): New module.
33354         * tests/test-yesno.c (main): New file.
33355         * tests/test-yesno.sh: Likewise.
33356
33357 2007-08-19  Bruno Haible  <bruno@clisp.org>
33358
33359         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
33360         * lib/fseeko.c (rpl_fseeko): Likewise.
33361         * lib/fseterr.c (fseterr): Likewise.
33362
33363 2007-08-19  Bruno Haible  <bruno@clisp.org>
33364
33365         * tests/test-lseek.c (main): Disable a test for BeOS.
33366         * doc/functions/lseek.texi: Document the BeOS bug.
33367
33368 2007-08-19  Bruno Haible  <bruno@clisp.org>
33369             Eric Blake  <ebb9@byu.net>
33370
33371         * lib/lseek.c: Include <sys/stat.h>.
33372         (rpl_lseek): Add workaround code also for Unix platforms.
33373         Needed for BeOS.
33374         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
33375         * doc/functions/lseek.texi: Document BeOS definiency.
33376
33377 2007-08-18  Bruno Haible  <bruno@clisp.org>
33378
33379         * modules/fstrcmp-tests: New file.
33380         * tests/test-fstrcmp.c: New file.
33381
33382 2007-08-18  Bruno Haible  <bruno@clisp.org>
33383
33384         * modules/fstrcmp: New file, from GNU gettext with modifications.
33385         * lib/fstrcmp.h: New file, from GNU gettext.
33386         * lib/fstrcmp.c: New file, from GNU gettext.
33387         * MODULES.html.sh (String handling): Add fstrcmp.
33388
33389 2007-08-18  Bruno Haible  <bruno@clisp.org>
33390
33391         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
33392         'bool'.
33393         (diag, compareseq): Remove const from the ctxt argument.
33394         (USE_HEURISTIC): Undefine at the end.
33395
33396 2007-08-18  Jim Meyering  <jim@meyering.net>
33397
33398         New file: lib/idcache.h
33399         * NEWS: Mention the addition.
33400         * modules/idcache (Files): Add lib/idcache.h
33401         * lib/idcache.c: Include "idcache.h".
33402         Don't include <sys/types.h>.
33403         Add a FIXME comment.
33404         Move file-scoped "static" declarations to the top.
33405         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
33406
33407 2007-08-17  Bruno Haible  <bruno@clisp.org>
33408         and Paul Eggert  <eggert@cs.ucla.edu>
33409
33410         * MODULES.html.sh: Add diffseq.
33411         * modules/diffseq: New file.
33412         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
33413         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
33414
33415 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
33416
33417         Import changes from coreutils for bootstrap script.
33418
33419         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
33420
33421         * build-aux/bootstrap (slurp): Work even in environments where
33422         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
33423         current code does not slurp files whose names start with ".", and
33424         this looks like it might be a troublesome area.
33425
33426         2007-07-11  Jim Meyering  <jim@meyering.net>
33427
33428         If there's a GPL vN copyright comment, require that N == 3.
33429
33430         2007-07-08  Jim Meyering  <jim@meyering.net>
33431
33432         Run the coreutils-specific code only if tests/Makefile.am.in exists.
33433         * build-aux/bootstrap (mam_template): Move definition out of loop.
33434
33435         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
33436
33437         * build-aux/bootstrap (symlink_to_dir): Rename function from
33438         symlink_to_gnulib.  Add a directory parameter.  Update all
33439         callers.
33440         (cp_mark_as_generated): Also check for -- and link to -- files in
33441         gl/.
33442
33443         2007-07-08  Jim Meyering  <jim@meyering.net>
33444
33445         Adapt to deeper hierarchy in gnulib.
33446         * build-aux/bootstrap (symlink_to_dir): If the destination
33447         directory doesn't exist, create it. This is required at least for
33448         "lib/uniwidth/cjk.h".
33449
33450         2007-05-15  Jim Meyering  <jim@meyering.net>
33451
33452         * build-aux/bootstrap: Now that generated Makefile.am files
33453         are no longer under version control, they must be created at
33454         bootstrap time.
33455
33456 2007-08-14  Ben Pfaff  <blp@gnu.org>
33457
33458         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
33459
33460 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
33461
33462         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
33463         given the changes below.
33464         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
33465         even on hosts that have padding bits beyond the supported 64.
33466
33467 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
33468
33469         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
33470         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
33471         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
33472         depends on it.
33473         (xstrtol_error): Remove.
33474         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
33475         but with a different signature.
33476         (ATTRIBUTE_NORETURN, __attribute__): New macros.
33477         * lib/xstrtol-error.c: Include exitfail.h.
33478         (xstrtol_fatal): New function, with a different signature from the
33479         old xstrtol_error, so that the caller need not worry about passing
33480         in an exit status, or about storage management of the option argument.
33481         (xstrtol_error): Now a static function.  Redo signature to
33482         implement xstrtol_fatal.  Output the correct number of hyphens in
33483         front of the option so that the caller need not worry about
33484         storage management.
33485         (N_): New macro.
33486         (_): Remove; not used now.
33487         * modules/xstrtol: Depend on getopt.
33488         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
33489         of old STRTOL_FATAL_ERROR macro.
33490         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
33491         of test program.
33492         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
33493         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
33494
33495 2007-08-08  Eric Blake  <ebb9@byu.net>
33496
33497         * lib/xstrtol-error.c: Add missing include.
33498
33499         Move xstrtol messages into gnulib domain, when --pobase is used.
33500         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
33501         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
33502         * modules/xstrtol (Files): Distribute new file.
33503         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
33504         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
33505         * tests/test-xstrtol.c: ...into new file.
33506         * tests/test-xstrtoul.c: Also test xstrtoul.
33507         * tests/test-xstrtoimax.c: Also test xstrtoimax.
33508         * tests/test-xstrtoumax.c: Also test xstrtoumax.
33509         * tests/test-xstrtol.sh: Drive the tests.
33510         * tests/test-xstrtoimax.sh: Likewise.
33511         * tests/test-xstrtoumax.sh: Likewise.
33512         * modules/xstrtol-tests: New module.
33513         * modules/xstrtoimax-tests: Likewise.
33514         * modules/xstrtoumax-tests: Likewise.
33515
33516 2007-08-08  Jim Meyering  <jim@meyering.net>
33517
33518         New function: mfile_name_concat.
33519         * lib/filenamecat.c (mfile_name_concat): New function, just like
33520         file_name_concat, but return NULL upon failure rather than exiting
33521         with a diagnostic.
33522         * lib/filenamecat.h: Declare it.
33523
33524 2007-08-07  Bruno Haible  <bruno@clisp.org>
33525
33526         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
33527         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
33528         warning from gcc.
33529         Reported by Eric Blake.
33530
33531 2007-08-07  Simon Josefsson  <simon@josefsson.org>
33532
33533         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
33534         * modules/crypto/arcfour (License): Likewise.
33535         * modules/crypto/des-tests (License): Likewise.
33536         * modules/crypto/gc-arctwo-tests (License): Likewise.
33537         * modules/crypto/gc-des-tests (License): Likewise.
33538         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
33539         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
33540         * modules/crypto/gc-md2-tests (License): Likewise.
33541         * modules/crypto/gc-md4-tests (License): Likewise.
33542         * modules/crypto/gc-md5-tests (License): Likewise.
33543         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
33544         * modules/crypto/gc-rijndael-tests (License): Likewise.
33545         * modules/crypto/gc-sha1-tests (License): Likewise.
33546         * modules/crypto/gc-tests (License): Likewise.
33547         * modules/crypto/hmac-md5 (License): Likewise.
33548         * modules/crypto/hmac-sha1 (License): Likewise.
33549         * modules/crypto/md2-tests (License): Likewise.
33550         * modules/crypto/md4-tests (License): Likewise.
33551         * modules/crypto/md5 (License): Likewise.
33552         * modules/crypto/rijndael (License): Likewise.
33553         * modules/crypto/sha1 (License): Likewise.
33554         * modules/memxor (License): Likewise.
33555
33556 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
33557         and Bruno Haible  <bruno@clisp.org>
33558
33559         * NEWS: Describe interface changes to human, xstrtol.
33560         * lib/human.h: Include <xstrtol.h>.
33561         (human_options): Return enum strtol_error, not int.  Remove
33562         bool arg; take int * instead.
33563         * lib/human.c: Don't include "gettext.h".
33564         (_): Remove; no longer used.
33565         Don't include <xstrtol.h>, since human.h does it.
33566         (human_options): Adjust to abovementioned interface changes.
33567         Do not report error to stderr; that's now the caller's
33568         responsibility.
33569         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
33570         interface change.
33571         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
33572         Str, Argument_type_string.  All uses changed.  Put " argument"
33573         in diagnostics to make them clearer.  Change wording of suffix
33574         message for clarity.
33575         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
33576         Argument_type_string.
33577         (STRTOL_FATAL_WARN): Remove; no longer used.
33578         * modules/human (Depends-on): Remove gettext-h.
33579
33580 2007-08-06  Simon Josefsson  <simon@josefsson.org>
33581
33582         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
33583
33584 2007-07-31  Bruno Haible  <bruno@clisp.org>
33585
33586         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
33587         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
33588         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
33589
33590 2007-07-31  Bruno Haible  <bruno@clisp.org>
33591
33592         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
33593         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
33594
33595 2007-07-30  Bruno Haible  <bruno@clisp.org>
33596
33597         * modules/base64 (License): Use the synonymous term "LGPLv2+".
33598         * modules/c-ctype (License): Likewise.
33599         * modules/c-strcase (License): Likewise.
33600         * modules/check-version (License): Likewise.
33601         * modules/iconv (License): Likewise.
33602         * modules/iconv_open (License): Likewise.
33603         * modules/read-file (License): Likewise.
33604         * modules/striconv (License): Likewise.
33605         * modules/strverscmp (License): Likewise.
33606         * modules/vasprintf (License): Likewise.
33607         * modules/crypto/des (License): Likewise.
33608         * modules/crypto/gc (License): Likewise.
33609         * modules/crypto/gc-arcfour (License): Likewise.
33610         * modules/crypto/gc-arctwo (License): Likewise.
33611         * modules/crypto/gc-des (License): Likewise.
33612         * modules/crypto/gc-hmac-md5 (License): Likewise.
33613         * modules/crypto/gc-hmac-sha1 (License): Likewise.
33614         * modules/crypto/gc-md2 (License): Likewise.
33615         * modules/crypto/gc-md4 (License): Likewise.
33616         * modules/crypto/gc-md5 (License): Likewise.
33617         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
33618         * modules/crypto/gc-random (License): Likewise.
33619         * modules/crypto/gc-rijndael (License): Likewise.
33620         * modules/crypto/gc-sha1 (License): Likewise.
33621         * modules/crypto/md2 (License): Likewise.
33622         * modules/crypto/md4 (License): Likewise.
33623
33624 2007-07-30  Jim Meyering  <jim@meyering.net>
33625
33626         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
33627         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
33628         it has valid stat data.  This bug would cause du not to count the
33629         sizes of inaccessible directories.
33630         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
33631         in <http://bugzilla.redhat.com/250077>.
33632
33633 2007-07-25  Peter O'Gorman  <peter@pogma.com>
33634             Bruno Haible  <bruno@clisp.org>
33635
33636         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
33637         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
33638         #include_next, gives a diagnostic about it, but reports no error in
33639         the exit code.
33640         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
33641
33642 2007-07-24  Ben Pfaff  <blp@gnu.org>
33643
33644         Improve name: "count-one-bits" is better than "popcount".
33645         * MODULES.html.sh: Update name.
33646         * lib/popcount.h: Renamed lib/count-one-bits.h.
33647         (popcount): Renamed count_one_bits.
33648         (popcountl): Renamed count_one_bits_l.
33649         (popcountll): Renamed count_one_bits_ll.
33650         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
33651         * modules/popcount: Renamed module/count-one-bits.
33652         * modules/popcount-tests: Renamed module/count-one-bits-tests.
33653         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
33654
33655 2007-07-23  Ben Pfaff  <blp@gnu.org>
33656
33657         * lib/popcount.h (popcount32): Reduce size of constants, to allow
33658         better code generation, and add U to large constants to avoid
33659         warnings, in non-GCC case.
33660         Suggested by Bruno Haible.
33661
33662 2007-07-23  Ben Pfaff  <blp@gnu.org>
33663
33664         * lib/popcount.h: Use verify_true instead of if...abort.
33665         * modules/popcount: Depend on verify module.
33666         Suggested by Jim Meyering.
33667
33668 2007-07-23  Bruno Haible  <bruno@clisp.org>
33669
33670         * gnulib-tool (func_import): Create a .cvsignore file also when the
33671         directory is not yet in CVS but the toplevel directory is. When
33672         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
33673         Reported by Karl Berry.
33674
33675 2007-07-22  Ben Pfaff  <blp@gnu.org>
33676
33677         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
33678         case.
33679         Suggested by Eric Blake.
33680
33681 2007-07-22  Ben Pfaff  <blp@gnu.org>
33682
33683         New module: popcount.
33684         * MODULES.html.sh: Add popcount.
33685         * modules/popcount: New file.
33686         * modules/popcount-tests: New file.
33687         * tests/test-popcount.c: New file.
33688         * lib/popcount.h: New file.
33689         * m4/popcount.m4: New file.
33690
33691 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
33692
33693         * build-aux/announce-gen: Update to GPLv3.
33694
33695         * build-aux/config.guess: Update from config.
33696
33697 2007-07-21  Bruno Haible  <bruno@clisp.org>
33698
33699         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
33700         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
33701
33702 2007-07-20  Jim Meyering  <jim@meyering.net>
33703
33704         * check-module: Diagnose a self-dependency.
33705
33706 2007-07-19  Bruno Haible  <bruno@clisp.org>
33707
33708         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
33709         empty.
33710         Reported by Eric Blake.
33711
33712 2007-07-18  Bruno Haible  <bruno@clisp.org>
33713
33714         * gnulib-tool: New options --po-base, --po-domain.
33715         (func_usage): Document them.
33716         (pobase, po_domain): New variables.
33717         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
33718         DEFAULT_TEXT_DOMAIN.
33719         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
33720         (func_import): Consider pobase and po_domain. Create a po/ directory.
33721         (func_create_testdir): Set pobase and po_domain to empty.
33722         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
33723         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
33724
33725 2007-07-18  Bruno Haible  <bruno@clisp.org>
33726
33727         * gnulib-tool (func_get_automake_snippet): Synthesize also an
33728         EXTRA_DIST augmentation for files in build-aux/.
33729
33730 2007-07-16  Bruno Haible  <bruno@clisp.org>
33731
33732         * modules/lseek (License): Use the synonymous term "LGPLv2+".
33733         * modules/getdelim (License): Likewise.
33734
33735 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
33736
33737         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
33738         * modules/d-type (License): Likewise.
33739         * modules/extensions (License): Likewise.
33740         * modules/fnmatch (License): Likewise.
33741         * modules/fseeko (License): Likewise.
33742         * modules/getaddrinfo (License): Likewise.
33743         * modules/getline (License): Likewise.
33744         * modules/getlogin_r (License): Likewise.
33745         * modules/getpass (License): Likewise.
33746         * modules/gettimeofday (License): Likewise.
33747         * modules/glob (License): Likewise.
33748         * modules/inet_ntop (License): Likewise.
33749         * modules/malloc (License): Likewise.
33750         * modules/malloca (License): Likewise.
33751         * modules/memmem (License): Likewise.
33752         * modules/mempcpy (License): Likewise.
33753         * modules/memset (License): Likewise.
33754         * modules/minmax (License): Likewise.
33755         * modules/mktime (License): Likewise.
33756         * modules/netinet_in (License): Likewise.
33757         * modules/pathmax (License): Likewise.
33758         * modules/poll (License): Likewise.
33759         * modules/regex (License): Likewise.
33760         * modules/snprintf (License): Likewise.
33761         * modules/stdbool (License): Likewise.
33762         * modules/stdint (License): Likewise.
33763         * modules/stdio (License): Likewise.
33764         * modules/strcase (License): Likewise.
33765         * modules/strcasestr (License): Likewise.
33766         * modules/strdup (License): Likewise.
33767         * modules/string (License): Likewise.
33768         * modules/strndup (License): Likewise.
33769         * modules/strnlen (License): Likewise.
33770         * modules/strpbrk (License): Likewise.
33771         * modules/strptime (License): Likewise.
33772         * modules/strsep (License): Likewise.
33773         * modules/sys_select (License): Likewise.
33774         * modules/sys_socket (License): Likewise.
33775         * modules/sys_stat (License): Likewise.
33776         * modules/sys_time (License): Likewise.
33777         * modules/time (License): Likewise.
33778         * modules/time_r (License): Likewise.
33779         * modules/timegm (License): Likewise.
33780         * modules/unistd (License): Likewise.
33781         * modules/vsnprintf (License): Likewise.
33782         * modules/wctype (License): Likewise.
33783
33784 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33785
33786         * modules/argz (License): LGPLv2+.
33787
33788 2007-07-15  Karl Berry  <karl@gnu.org>
33789
33790         * doc/gnulib.texi: revise node structure per new fdl.texi.
33791
33792 2007-07-14  Bruno Haible  <bruno@clisp.org>
33793
33794         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
33795         the output file.
33796         * lib/uniname/uninames.h: Regenerated.
33797
33798 2007-07-14  Karl Berry  <karl@gnu.org>
33799
33800         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
33801         omitting sectioning and index commands.
33802
33803 2007-07-13  Bruno Haible  <bruno@clisp.org>
33804
33805         New gnulib-tool option --more-symlinks.
33806         * gnulib-tool (func_usage): Document --more-symlinks.
33807         (do_copyrights): New variable.
33808         Recognize option --more-symlinks.
33809         (func_import): Don't add a copyright notice transform to
33810         sed_transform_lib_file if do_copyrights is empty.
33811
33812 2007-07-13  Bruno Haible  <bruno@clisp.org>
33813
33814         * lib/vasnprintf.c (decimal_point_char): Define also if
33815         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
33816         && !NEED_PRINTF_DIRECTIVE_A.
33817         Reported by Clemens Koller <clemens.koller@anagramm.de> via
33818         Gary V. Vaughan <gary@gnu.org>.
33819
33820 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
33821
33822         * lib/inttypes_.h: Undo previous change, since it was fixed
33823         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
33824
33825 2007-07-13  Bruno Haible  <bruno@clisp.org>
33826
33827         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
33828         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
33829
33830 2007-07-13  Jim Meyering  <jim@meyering.net>
33831
33832         df: Don't fail for Tru64's "file-on-file mount".
33833         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
33834         so we fall through and use statfs instead.  Details here:
33835         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
33836         Reported by Albert Chin.
33837
33838 2007-07-13  Bruno Haible  <bruno@clisp.org>
33839
33840         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
33841         * modules/configmake (License): Likewise.
33842         * modules/gettext (License): Likewise.
33843         * modules/gettext-h (License): Likewise.
33844         * modules/include_next (License): Likewise.
33845         * modules/link-warning (License): Likewise.
33846         * modules/localcharset (License): Likewise.
33847         * modules/localename (License): Likewise.
33848         * modules/lock (License): Likewise.
33849         * modules/relocatable-lib-lgpl (License): Likewise.
33850         * modules/size_max (License): Likewise.
33851         * modules/vasnprintf (License): Likewise.
33852         * modules/wchar (License): Likewise.
33853         * modules/xsize (License): Likewise.
33854
33855 2007-07-13  Bruno Haible  <bruno@clisp.org>
33856
33857         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
33858         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
33859
33860 2007-07-12  Bruno Haible  <bruno@clisp.org>
33861
33862         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
33863         in the modules files.
33864
33865 2007-07-11  Karl Berry  <karl@gnu.org>
33866
33867         * MODULES.html.sh (func_module): use
33868          sed -e '\|^'"${includefile}"'$|d'
33869          instead of /.../d, to avoid errors on $includefile's containing /.
33870
33871 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
33872
33873         * gnulib-tool (func_import): Avoid duplication of --avoid
33874         statements
33875         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
33876         names to `_' in variable names.
33877
33878 2007-07-10  Eric Blake  <ebb9@byu.net>
33879
33880         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
33881         * NEWS: Document this change.
33882
33883 2007-07-08  Bruno Haible  <bruno@clisp.org>
33884
33885         Update to Unicode 5.0.
33886         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
33887         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
33888         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
33889         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
33890         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
33891         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
33892         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
33893         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
33894         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
33895         U+10A3F, U+1D242..U+1D244.
33896         (nonspacing_table_ind): Update.
33897         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
33898         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
33899
33900 2007-07-08  Bruno Haible  <bruno@clisp.org>
33901
33902         Update to Unicode 5.0.
33903         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
33904         code transform. Extend the name index field of unicode_name_to_code and
33905         unicode_code_to_name from 16 to 24 bits.
33906         * lib/uniname/uniname.c (unicode_character_name,
33907         unicode_name_character): Add the range 0x12xxx to the code transform.
33908         * lib/uniname/uninames.h: Regenerated.
33909         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
33910
33911 2007-07-07  Bruno Haible  <bruno@clisp.org>
33912
33913         * modules/wcwidth-tests: New file.
33914         * tests/test-wcwidth.c: New file.
33915
33916         Work around MacOS X wcwidth() bug.
33917         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
33918         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
33919         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
33920         original wcwidth in non-UTF-8 locales.
33921         * modules/wcwidth (Depends-on): Add localcharset, streq,
33922         uniwidth/width.
33923         * doc/functions/wcwidth.texi: Update.
33924
33925 2007-07-07  Bruno Haible  <bruno@clisp.org>
33926
33927         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
33928         (wcwidth): New declaration.
33929         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
33930         macros.
33931         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
33932         here. Prepare for creating <wchar.h> unconditionally.
33933         * modules/wchar (Depends-on): Add link-warning.
33934         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
33935         REPLACE_WCWIDTH, and GL_LINK_WARNING.
33936         * lib/wcwidth.h: Remove file.
33937         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
33938         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
33939         * modules/wcwidth (Files): Remove lib/wcwidth.h.
33940         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
33941         (Include): Replace wcwidth.h with <wchar.h>.
33942         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
33943         * lib/mbchar.h: Don't include wcwidth.h.
33944         * lib/mbswidth.c: Likewise.
33945         * NEWS: Mention the change.
33946
33947 2007-07-07  Bruno Haible  <bruno@clisp.org>
33948
33949         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
33950         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
33951         definition with an external declaration.
33952         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
33953         defined as a function. Remove AC_C_INLINE requirement.
33954         * modules/wcwidth (Files): Add lib/wcwidth.c.
33955         (Makefile.am): Remove redundant statement.
33956
33957 2007-07-07  Bruno Haible  <bruno@clisp.org>
33958
33959         * MODULES.html.sh (Unicode string functions): Add the new modules.
33960
33961         * tests/uniwidth/test-u32-strwidth.c: New file.
33962         * modules/uniwidth/u32-strwidth-tests: New file.
33963
33964         * lib/uniwidth/u32-strwidth.c: New file.
33965         * modules/uniwidth/u32-strwidth: New file.
33966
33967         * tests/uniwidth/test-u16-strwidth.c: New file.
33968         * modules/uniwidth/u16-strwidth-tests: New file.
33969
33970         * lib/uniwidth/u16-strwidth.c: New file.
33971         * modules/uniwidth/u16-strwidth: New file.
33972
33973         * tests/uniwidth/test-u8-strwidth.c: New file.
33974         * modules/uniwidth/u8-strwidth-tests: New file.
33975
33976         * lib/uniwidth/u8-strwidth.c: New file.
33977         * modules/uniwidth/u8-strwidth: New file.
33978
33979         * tests/uniwidth/test-u32-width.c: New file.
33980         * modules/uniwidth/u32-width-tests: New file.
33981
33982         * lib/uniwidth/u32-width.c: New file.
33983         * modules/uniwidth/u32-width: New file.
33984
33985         * tests/uniwidth/test-u16-width.c: New file.
33986         * modules/uniwidth/u16-width-tests: New file.
33987
33988         * lib/uniwidth/u16-width.c: New file.
33989         * modules/uniwidth/u16-width: New file.
33990
33991         * tests/uniwidth/test-u8-width.c: New file.
33992         * modules/uniwidth/u8-width-tests: New file.
33993
33994         * lib/uniwidth/u8-width.c: New file.
33995         * modules/uniwidth/u8-width: New file.
33996
33997         * tests/uniwidth/test-uc_width.c: New file.
33998         * modules/uniwidth/width-tests: New file.
33999
34000         * lib/uniwidth/width.c: New file, from GNU libiconv.
34001         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
34002         * modules/uniwidth/width: New file.
34003
34004         * lib/uniwidth.h: New file, from GNU libiconv.
34005         * modules/uniwidth/base: New file.
34006
34007 2007-07-07  Bruno Haible  <bruno@clisp.org>
34008
34009         * lib/uniname.h: New file, from GNU gettext.
34010         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
34011         * lib/uniname/uninames.h: New file, from GNU gettext.
34012         * lib/uniname/uniname.c: New file, from GNU gettext.
34013         * tests/uniname/test-uninames.sh: New file.
34014         * tests/uniname/test-uninames.c: New file, from GNU gettext.
34015         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
34016         * modules/uniname/base: New file.
34017         * modules/uniname/uniname: New file.
34018         * modules/uniname/uniname-tests: New file.
34019         * MODULES.html.sh (Unicode string functions): Add the new modules.
34020
34021 2007-07-06  Bruno Haible  <bruno@clisp.org>
34022
34023         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
34024
34025 2007-07-06  Bruno Haible  <bruno@clisp.org>
34026
34027         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
34028         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
34029         includes <cygwin/sys_time.h> which includes <sys/select.h> which
34030         include <sys/time.h>.
34031         Reported by Eric Blake.
34032
34033 2007-07-06  Eric Blake  <ebb9@byu.net>
34034
34035         Fix testing canonicalize on cygwin.
34036         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
34037         Revert patch from 2007-06-19.
34038         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
34039         canonicalize module is also in use.
34040         * tests/test-canonicalize.c: New file.
34041         * tests/test-canonicalize.sh: Likewise.
34042         * modules/canonicalize-tests: Likewise.
34043
34044 2007-07-06  Jim Meyering  <jim@meyering.net>
34045
34046         * lib/getugroups.c (getugroups): Detect getgrent failure.
34047         Adjust comment to reflect reality: this function may return -1.
34048
34049 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
34050
34051         * build-aux/bootstrap (TP_URL,get_translations): Update to use
34052         the new TP address.
34053         (usage): Fix typo
34054         (gnulib_mk): New variable.
34055
34056 2007-07-05  Jim Meyering  <jim@meyering.net>
34057
34058         Don't let endgrent clobber errno, no matter how improbable.
34059         * lib/getugroups.c (getugroups): Save and restore errno around
34060         endgrent call.
34061
34062         Close the group DB even when failing with 2^31 or more members.
34063         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
34064
34065 2007-07-04  Jim Meyering  <jim@meyering.net>
34066
34067         * lib/getugroups.h: New file.
34068         * lib/getugroups.c: Include "getugroups.h".
34069         Remove uses of "register" keyword.
34070         Move local variable, "cp", down into scope where used.
34071         Give "username" parameter the "const" attribute.
34072         * modules/getugroups (Files): Add lib/getugroups.h
34073
34074 2007-07-04  Karl Berry  <karl@gnu.org>
34075
34076         * MODULES.html.sh (func_all_modules): Complete rename of
34077         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
34078
34079 2007-07-02  Bruno Haible  <bruno@clisp.org>
34080
34081         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
34082         mode, when inttypes.h comes from gnulib.
34083         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
34084
34085 2007-07-02  Simon Josefsson  <simon@josefsson.org>
34086
34087         * NEWS: Mention lgpl module name change.
34088
34089         * modules/lgpl-2.1: Renamed from lgpl.
34090
34091         * NEWS: Mention gpl module name change.
34092
34093         * modules/gpl-3.0: New file, based on gpl-2.0.
34094
34095         * modules/gpl-2.0: Renamed from gpl.
34096
34097         * modules/gpl: Fix filename, doc/gpl.texi is now found at
34098         doc/gpl-2.0.texi.
34099
34100 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
34101
34102         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
34103         #define __STDC_LIMIT_MACROS temporarily while including
34104         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
34105         Problem reported by Joel E. Denny in
34106         <http://lists.gnu.org/archive/html/bug-gnulib/2007-07/msg00008.html>.
34107
34108 2007-07-01  Bruno Haible  <bruno@clisp.org>
34109
34110         * lib/unistdio.h: New file.
34111         * lib/unistdio/u-asnprintf.h: New file.
34112         * lib/unistdio/u-asprintf.h: New file.
34113         * lib/unistdio/u-printf-args.c: New file.
34114         * lib/unistdio/u-printf-args.h: New file.
34115         * lib/unistdio/u-printf-parse.h: New file.
34116         * lib/unistdio/u-snprintf.h: New file.
34117         * lib/unistdio/u-sprintf.h: New file.
34118         * lib/unistdio/u-vasprintf.h: New file.
34119         * lib/unistdio/u-vsnprintf.h: New file.
34120         * lib/unistdio/u-vsprintf.h: New file.
34121         * lib/unistdio/ulc-asnprintf.c: New file.
34122         * lib/unistdio/ulc-asprintf.c: New file.
34123         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
34124         * lib/unistdio/ulc-printf-parse.c: New file.
34125         * lib/unistdio/ulc-snprintf.c: New file.
34126         * lib/unistdio/ulc-sprintf.c: New file.
34127         * lib/unistdio/ulc-vasnprintf.c: New file.
34128         * lib/unistdio/ulc-vasprintf.c: New file.
34129         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
34130         * lib/unistdio/ulc-vsnprintf.c: New file.
34131         * lib/unistdio/ulc-vsprintf.c: New file.
34132         * lib/unistdio/u8-asnprintf.c: New file.
34133         * lib/unistdio/u8-asprintf.c: New file.
34134         * lib/unistdio/u8-printf-parse.c: New file.
34135         * lib/unistdio/u8-snprintf.c: New file.
34136         * lib/unistdio/u8-sprintf.c: New file.
34137         * lib/unistdio/u8-vasnprintf.c: New file.
34138         * lib/unistdio/u8-vasprintf.c: New file.
34139         * lib/unistdio/u8-vsnprintf.c: New file.
34140         * lib/unistdio/u8-vsprintf.c: New file.
34141         * lib/unistdio/u8-u8-asnprintf.c: New file.
34142         * lib/unistdio/u8-u8-asprintf.c: New file.
34143         * lib/unistdio/u8-u8-snprintf.c: New file.
34144         * lib/unistdio/u8-u8-sprintf.c: New file.
34145         * lib/unistdio/u8-u8-vasnprintf.c: New file.
34146         * lib/unistdio/u8-u8-vasprintf.c: New file.
34147         * lib/unistdio/u8-u8-vsnprintf.c: New file.
34148         * lib/unistdio/u8-u8-vsprintf.c: New file.
34149         * lib/unistdio/u16-asnprintf.c: New file.
34150         * lib/unistdio/u16-asprintf.c: New file.
34151         * lib/unistdio/u16-printf-parse.c: New file.
34152         * lib/unistdio/u16-snprintf.c: New file.
34153         * lib/unistdio/u16-sprintf.c: New file.
34154         * lib/unistdio/u16-vasnprintf.c: New file.
34155         * lib/unistdio/u16-vasprintf.c: New file.
34156         * lib/unistdio/u16-vsnprintf.c: New file.
34157         * lib/unistdio/u16-vsprintf.c: New file.
34158         * lib/unistdio/u16-u16-asnprintf.c: New file.
34159         * lib/unistdio/u16-u16-asprintf.c: New file.
34160         * lib/unistdio/u16-u16-snprintf.c: New file.
34161         * lib/unistdio/u16-u16-sprintf.c: New file.
34162         * lib/unistdio/u16-u16-vasnprintf.c: New file.
34163         * lib/unistdio/u16-u16-vasprintf.c: New file.
34164         * lib/unistdio/u16-u16-vsnprintf.c: New file.
34165         * lib/unistdio/u16-u16-vsprintf.c: New file.
34166         * lib/unistdio/u32-asnprintf.c: New file.
34167         * lib/unistdio/u32-asprintf.c: New file.
34168         * lib/unistdio/u32-printf-parse.c: New file.
34169         * lib/unistdio/u32-snprintf.c: New file.
34170         * lib/unistdio/u32-sprintf.c: New file.
34171         * lib/unistdio/u32-vasnprintf.c: New file.
34172         * lib/unistdio/u32-vasprintf.c: New file.
34173         * lib/unistdio/u32-vsnprintf.c: New file.
34174         * lib/unistdio/u32-vsprintf.c: New file.
34175         * lib/unistdio/u32-u32-asnprintf.c: New file.
34176         * lib/unistdio/u32-u32-asprintf.c: New file.
34177         * lib/unistdio/u32-u32-snprintf.c: New file.
34178         * lib/unistdio/u32-u32-sprintf.c: New file.
34179         * lib/unistdio/u32-u32-vasnprintf.c: New file.
34180         * lib/unistdio/u32-u32-vasprintf.c: New file.
34181         * lib/unistdio/u32-u32-vsnprintf.c: New file.
34182         * lib/unistdio/u32-u32-vsprintf.c: New file.
34183         * tests/unistdio/test-ulc-asnprintf1.c: New file.
34184         * tests/unistdio/test-ulc-asnprintf1.h: New file.
34185         * tests/unistdio/test-ulc-printf1.h: New file.
34186         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
34187         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
34188         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
34189         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
34190         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
34191         * tests/unistdio/test-ulc-vasprintf1.c: New file.
34192         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
34193         * tests/unistdio/test-ulc-vsprintf1.c: New file.
34194         * tests/unistdio/test-u8-asnprintf1.c: New file.
34195         * tests/unistdio/test-u8-asnprintf1.h: New file.
34196         * tests/unistdio/test-u8-printf1.h: New file.
34197         * tests/unistdio/test-u8-vasnprintf1.c: New file.
34198         * tests/unistdio/test-u8-vasnprintf2.c: New file.
34199         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
34200         * tests/unistdio/test-u8-vasnprintf3.c: New file.
34201         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
34202         * tests/unistdio/test-u8-vasprintf1.c: New file.
34203         * tests/unistdio/test-u8-vsnprintf1.c: New file.
34204         * tests/unistdio/test-u8-vsprintf1.c: New file.
34205         * tests/unistdio/test-u16-asnprintf1.c: New file.
34206         * tests/unistdio/test-u16-asnprintf1.h: New file.
34207         * tests/unistdio/test-u16-printf1.h: New file.
34208         * tests/unistdio/test-u16-vasnprintf1.c: New file.
34209         * tests/unistdio/test-u16-vasnprintf2.c: New file.
34210         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
34211         * tests/unistdio/test-u16-vasnprintf3.c: New file.
34212         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
34213         * tests/unistdio/test-u16-vasprintf1.c: New file.
34214         * tests/unistdio/test-u16-vsnprintf1.c: New file.
34215         * tests/unistdio/test-u16-vsprintf1.c: New file.
34216         * tests/unistdio/test-u32-asnprintf1.c: New file.
34217         * tests/unistdio/test-u32-asnprintf1.h: New file.
34218         * tests/unistdio/test-u32-printf1.h: New file.
34219         * tests/unistdio/test-u32-vasnprintf1.c: New file.
34220         * tests/unistdio/test-u32-vasnprintf2.c: New file.
34221         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
34222         * tests/unistdio/test-u32-vasnprintf3.c: New file.
34223         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
34224         * tests/unistdio/test-u32-vasprintf1.c: New file.
34225         * tests/unistdio/test-u32-vsnprintf1.c: New file.
34226         * tests/unistdio/test-u32-vsprintf1.c: New file.
34227         * modules/unistdio/base: New file.
34228         * modules/unistdio/u-printf-args: New file.
34229         * modules/unistdio/ulc-asnprintf: New file.
34230         * modules/unistdio/ulc-asprintf: New file.
34231         * modules/unistdio/ulc-fprintf: New file.
34232         * modules/unistdio/ulc-printf-parse: New file.
34233         * modules/unistdio/ulc-snprintf: New file.
34234         * modules/unistdio/ulc-sprintf: New file.
34235         * modules/unistdio/ulc-vasnprintf: New file.
34236         * modules/unistdio/ulc-vasprintf: New file.
34237         * modules/unistdio/ulc-vfprintf: New file.
34238         * modules/unistdio/ulc-vsnprintf: New file.
34239         * modules/unistdio/ulc-vsprintf: New file.
34240         * modules/unistdio/u8-asnprintf: New file.
34241         * modules/unistdio/u8-asprintf: New file.
34242         * modules/unistdio/u8-printf-parse: New file.
34243         * modules/unistdio/u8-snprintf: New file.
34244         * modules/unistdio/u8-sprintf: New file.
34245         * modules/unistdio/u8-vasnprintf: New file.
34246         * modules/unistdio/u8-vasprintf: New file.
34247         * modules/unistdio/u8-vsnprintf: New file.
34248         * modules/unistdio/u8-vsprintf: New file.
34249         * modules/unistdio/u8-u8-asnprintf: New file.
34250         * modules/unistdio/u8-u8-asprintf: New file.
34251         * modules/unistdio/u8-u8-snprintf: New file.
34252         * modules/unistdio/u8-u8-sprintf: New file.
34253         * modules/unistdio/u8-u8-vasnprintf: New file.
34254         * modules/unistdio/u8-u8-vasprintf: New file.
34255         * modules/unistdio/u8-u8-vsnprintf: New file.
34256         * modules/unistdio/u8-u8-vsprintf: New file.
34257         * modules/unistdio/u16-asnprintf: New file.
34258         * modules/unistdio/u16-asprintf: New file.
34259         * modules/unistdio/u16-printf-parse: New file.
34260         * modules/unistdio/u16-snprintf: New file.
34261         * modules/unistdio/u16-sprintf: New file.
34262         * modules/unistdio/u16-vasnprintf: New file.
34263         * modules/unistdio/u16-vasprintf: New file.
34264         * modules/unistdio/u16-vsnprintf: New file.
34265         * modules/unistdio/u16-vsprintf: New file.
34266         * modules/unistdio/u16-u16-asnprintf: New file.
34267         * modules/unistdio/u16-u16-asprintf: New file.
34268         * modules/unistdio/u16-u16-snprintf: New file.
34269         * modules/unistdio/u16-u16-sprintf: New file.
34270         * modules/unistdio/u16-u16-vasnprintf: New file.
34271         * modules/unistdio/u16-u16-vasprintf: New file.
34272         * modules/unistdio/u16-u16-vsnprintf: New file.
34273         * modules/unistdio/u16-u16-vsprintf: New file.
34274         * modules/unistdio/u32-asnprintf: New file.
34275         * modules/unistdio/u32-asprintf: New file.
34276         * modules/unistdio/u32-printf-parse: New file.
34277         * modules/unistdio/u32-snprintf: New file.
34278         * modules/unistdio/u32-sprintf: New file.
34279         * modules/unistdio/u32-vasnprintf: New file.
34280         * modules/unistdio/u32-vasprintf: New file.
34281         * modules/unistdio/u32-vsnprintf: New file.
34282         * modules/unistdio/u32-vsprintf: New file.
34283         * modules/unistdio/u32-u32-asnprintf: New file.
34284         * modules/unistdio/u32-u32-asprintf: New file.
34285         * modules/unistdio/u32-u32-snprintf: New file.
34286         * modules/unistdio/u32-u32-sprintf: New file.
34287         * modules/unistdio/u32-u32-vasnprintf: New file.
34288         * modules/unistdio/u32-u32-vasprintf: New file.
34289         * modules/unistdio/u32-u32-vsnprintf: New file.
34290         * modules/unistdio/u32-u32-vsprintf: New file.
34291         * modules/unistdio/ulc-asnprintf-tests: New file.
34292         * modules/unistdio/ulc-vasnprintf-tests: New file.
34293         * modules/unistdio/ulc-vasprintf-tests: New file.
34294         * modules/unistdio/ulc-vsnprintf-tests: New file.
34295         * modules/unistdio/ulc-vsprintf-tests: New file.
34296         * modules/unistdio/u8-asnprintf-tests: New file.
34297         * modules/unistdio/u8-vasnprintf-tests: New file.
34298         * modules/unistdio/u8-vasprintf-tests: New file.
34299         * modules/unistdio/u8-vsnprintf-tests: New file.
34300         * modules/unistdio/u8-vsprintf-tests: New file.
34301         * modules/unistdio/u16-asnprintf-tests: New file.
34302         * modules/unistdio/u16-vasnprintf-tests: New file.
34303         * modules/unistdio/u16-vasprintf-tests: New file.
34304         * modules/unistdio/u16-vsnprintf-tests: New file.
34305         * modules/unistdio/u16-vsprintf-tests: New file.
34306         * modules/unistdio/u32-asnprintf-tests: New file.
34307         * modules/unistdio/u32-vasnprintf-tests: New file.
34308         * modules/unistdio/u32-vasprintf-tests: New file.
34309         * modules/unistdio/u32-vsnprintf-tests: New file.
34310         * modules/unistdio/u32-vsprintf-tests: New file.
34311         * MODULES.html.sh (Unicode string functions): Add the new modules.
34312
34313 2007-07-01  Bruno Haible  <bruno@clisp.org>
34314
34315         * lib/sprintf.c (sprintf): Limit the available length estimation,
34316         to avoid address wraparound.
34317         * lib/vsprintf.c (vsprintf): Likewise.
34318         * modules/sprintf-posix (Dependencies): Add stdint.
34319         * modules/vsprintf-posix (Dependencies): Likewise.
34320
34321 2007-07-01  Bruno Haible  <bruno@clisp.org>
34322
34323         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
34324         Windows PATH as well. Conservative double-quoting. Comments.
34325
34326 2007-07-01  Bruno Haible  <bruno@clisp.org>
34327             Eric Blake  <ebb9@byu.net>
34328             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34329
34330         * gnulib-tool (self_abspathname): Fix algorithm to cope with
34331         empty components in $PATH, denoting '.'.
34332
34333 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34334
34335         * gnulib-tool: Fix indentation.
34336         (func_create_megatestdir): Likewise.
34337         Report by Bruno Haible.
34338
34339 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34340
34341         Sync from Automake.
34342         * build-aux/gnupload: Fix shell portability issues with for loops.
34343         Report by Karl Berry.
34344
34345 2007-06-29  Simon Josefsson  <simon@josefsson.org>
34346
34347         * build-aux/maint.mk (POURL): Use translationproject.org.
34348
34349 2007-06-27  Simon Josefsson  <simon@josefsson.org>
34350             Bruno Haible  <bruno@clisp.org>
34351
34352         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
34353         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
34354         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
34355         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
34356         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
34357
34358 2007-06-27  Bruno Haible  <bruno@clisp.org>
34359
34360         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
34361         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
34362
34363 2007-06-26  Karl Berry  <karl@gnu.org>
34364
34365         * MODULES.html.sh: remove xreadlink-with-size.
34366
34367 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
34368
34369         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
34370         method that I hope also handles the double-include problem noted
34371         by Bruno Haible in
34372         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00186.html>.
34373
34374 2007-06-23  Bruno Haible  <bruno@clisp.org>
34375
34376         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
34377         Don't let the 'mostlyclean' target fail if the last subdirectory could
34378         not be removed.
34379         Reported by Karl Berry.
34380
34381 2007-06-23  Bruno Haible  <bruno@clisp.org>
34382
34383         * gnulib-tool (echo): Add a speedier workaround for ksh.
34384         * tests/test-echo.sh: Likewise.
34385
34386 2007-06-23  Bruno Haible  <bruno@clisp.org>
34387
34388         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
34389         * tests/test-echo.sh: Likewise.
34390
34391 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34392
34393         * gnulib-tool (IFS): Initialize early, so we don't set it to
34394         empty later.
34395         (self_abspathname): Rewrite algorithm to set it, reindent.
34396         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
34397         (func_create_megatestdir): Merge some sed scripts.
34398
34399 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
34400
34401         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
34402         exposed by Sun Studio 11 cc on Solaris 8.
34403
34404 2007-06-22  Bruno Haible  <bruno@clisp.org>
34405
34406         * gnulib-tool (echo): Ensure the echo primitive does not interpret
34407         backslashes.
34408         * tests/test-echo.sh: New file.
34409
34410 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34411
34412         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
34413         simplify `sed_replace_build_aux' scripts, they are portable but
34414         echoing them with `echo' is not.
34415         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
34416
34417 2007-06-21  Karl Berry  <karl@gnu.org>
34418
34419         * config/srclist.txt: guess we can't handle the licenses via
34420         srclist at the moment.
34421
34422 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
34423
34424         * MODULES.html.sh: Add include_next.
34425         * modules/include_next: New file.
34426
34427 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
34428
34429         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
34430         INCLUDE_NEXT.
34431         (gl_CHECK_NEXT_HEADERS): New macro.
34432         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
34433         the obsolescent gl_ABSOLUTE_HEADER.
34434         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
34435         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
34436         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
34437         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
34438         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
34439         * m4/math_h.m4 (gl_MATH_H): Likewise.
34440         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
34441         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
34442         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
34443         * m4/stdint.m4 (gl_STDINT_H): Likewise.
34444         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
34445         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
34446         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
34447         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
34448         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
34449         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
34450         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
34451         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
34452         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
34453         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
34454         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
34455         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
34456         * m4/inttypes.m4 (gl_INTTYPES_H): Define
34457         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
34458         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
34459         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
34460         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
34461         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
34462         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
34463         * lib/float_.h: Likewise.
34464         * lib/inttypes_.h: Likewise.
34465         * lib/math_.h: Likewise.
34466         * lib/search_.h: Likewise.
34467         * lib/signal_.h: Likewise.
34468         * lib/stdint_.h: Likewise.
34469         * lib/stdio_.h: Likewise.
34470         * lib/stdlib_.h: Likewise.
34471         * lib/string_.h: Likewise.
34472         * lib/sys_stat_.h: Likewise.
34473         * lib/sys_time_.h: Likewise.
34474         * lib/time_.h: Likewise.
34475         * lib/unistd_.h: Likewise.
34476         * lib/wchar_.h: Likewise.
34477         * lib/wctype_.h: Likewise.
34478         * lib/dirent_.h: Likewise.
34479         * lib/iconv_.h: Likewise.
34480         * lib/locale_.h: Likewise.
34481         * lib/netinet_in_.h: Likewise.
34482         * lib/sys_select_.h: Likewise.
34483         * lib/sys_socket_.h: Likewise.
34484         * lib/sysexits_.h: Likewise.
34485         * modules/fcntl (Depends-on): Depend on include_next, not
34486         absolute_header.
34487         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
34488         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
34489         * modules/fchdir: Likewise.
34490         * modules/float: Likewise.
34491         * modules/iconv_open: Likewise.
34492         * modules/inttypes: Likewise.
34493         * modules/locale: Likewise.
34494         * modules/math: Likewise.
34495         * modules/netinet_in: Likewise.
34496         * modules/search: Likewise.
34497         * modules/signal: Likewise.
34498         * modules/stdint: Likewise.
34499         * modules/stdio: Likewise.
34500         * modules/stdlib: Likewise.
34501         * modules/string: Likewise.
34502         * modules/sys_select: Likewise.
34503         * modules/sys_socket: Likewise.
34504         * modules/sys_stat: Likewise.
34505         * modules/sys_time: Likewise.
34506         * modules/sysexits: Likewise.
34507         * modules/time: Likewise.
34508         * modules/unistd: Likewise.
34509         * modules/wchar: Likewise.
34510         * modules/wctype: Likewise.
34511         * modules/sys_stat: Change maintainer to "all".
34512         * modules/unistd: Likewise.
34513
34514 2007-06-20  Karl Berry  <karl@gnu.org>
34515
34516         * config/srclist.txt: track www changes in license files.
34517
34518 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
34519
34520         * build-aux/bootstrap: Remove stray dot.
34521         Make sure build_aux settings are honored when linking
34522         gnulib_extra_files.
34523
34524 2007-06-19  Eric Blake  <ebb9@byu.net>
34525
34526         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
34527         Allow compilation on cygwin.
34528
34529 2007-06-19  Jim Meyering  <jim@meyering.net>
34530
34531         xreadlink-with-size: Remove module.  No longer used.
34532         Ex-callers now use xreadlink or mreadlink-with-size.
34533         * modules/xreadlink-with-size: Remove module.
34534         * lib/xreadlink-with-size.c: Remove file.
34535         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
34536         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
34537         just before the function definition *is* accurate.
34538
34539         Eliminate one way canonicalize_filename_mode could exit.
34540         * lib/canonicalize.c (canonicalize_filename_mode):
34541         Use mreadlink_with_size, not xreadlink_with_size.
34542
34543 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
34544
34545         Detect porting problems to FreeBSD/arm, which has time_t wider than
34546         long int.  Original problem reported for GNU diff by Xin Li in
34547         <http://lists.gnu.org/archive/html/bug-gnu-utils/2007-06/msg00091.html>.
34548         * modules/getdate (Depends-on): Add intprops, verify.
34549         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
34550         is an integer type no wider than long int.
34551
34552 2007-06-18  Jim Meyering  <jim@meyering.net>
34553
34554         New module: mreadlink-with-size.
34555         * MODULES.html.sh: Add mreadlink-with-size.
34556         * modules/mreadlink-with-size: New module
34557         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
34558         not xreadlink-with-size.
34559         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
34560
34561 2007-06-16  Bruno Haible  <bruno@clisp.org>
34562
34563         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
34564         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
34565         Reported by Gary V. Vaughan <gary@gnu.org>.
34566
34567 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
34568
34569         Revamp lchown so that it lives in unistd.h where it belongs.
34570         * lib/lchown.h: Remove.
34571         * lib/dirchownmod.c: Don't include lib/lchown.h.
34572         * lib/fchownat.c: Likewise.
34573         * lib/openat.c: Likewise.
34574         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
34575         does not follow symlinks.
34576         (EOPNOTSUPP): Define if not defined.
34577         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
34578         is defined to 0.
34579         (lchown): New decl.
34580         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
34581         Do not check for lchown decl.
34582         Set REPLACE_LCHOWN.
34583         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
34584         REPLACE_LCHOWN.
34585         * modules/chown: Make it clear it follows symlinks.
34586         * modules/lchown: Make it clear it doesn't follow symlinks.
34587         (Files): Remove lib/lchown.h
34588         (Depends-on): Add unistd.
34589         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
34590         (Include): Include <unistd.h>, not "lchown.h".
34591         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
34592         REPLACE_LCHOWN.
34593
34594 2007-06-15  Jim Meyering  <jim@meyering.net>
34595
34596         Change license (GPL to LGPL) of fsusage and dependents.
34597         * modules/fsusage (License): Change to LGPL.
34598         * modules/full-read (License): Likewise.
34599         * modules/full-write (License): Likewise.
34600         * modules/safe-read (License): Likewise.
34601         * modules/safe-write (License): Likewise.
34602
34603 2007-06-14  Ben Pfaff  <blp@gnu.org>
34604
34605         Missing part of allocsa -> malloca transition.
34606         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
34607         gl_MALLOCA.
34608
34609 2007-06-12  Bruno Haible  <bruno@clisp.org>
34610
34611         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
34612         to ia64, x86_64, i386.
34613         Reported by Eric Blake.
34614
34615 2007-06-12  Bruno Haible  <bruno@clisp.org>
34616
34617         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
34618         cross-compiling to x86_64.
34619
34620 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
34621
34622         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
34623         glitch reported by Ralf Wildenhues in
34624         <http://lists.gnu.org/archive/html/bug-gnulib/2007-06/msg00114.html>.
34625
34626         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
34627         Vin Shelton.
34628
34629 2007-06-11  Bruno Haible  <bruno@clisp.org>
34630
34631         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
34632         replacement string.
34633         Reported by Eric Blake.
34634
34635 2007-06-10  Bruno Haible  <bruno@clisp.org>
34636
34637         Prepare vasnprintf code for use with Unicode strings.
34638         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
34639         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
34640         TYPE_U32_STRING.
34641         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
34642         a_u32_string variants.
34643         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
34644         * lib/printf-args.c: Don't include config.h and the specification
34645         header if PRINTF_FETCHARGS is already defined.
34646         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
34647         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
34648         TYPE_U16_STRING, TYPE_U32_STRING.
34649         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
34650         u16_directive, u16_directives, u32_directive, u32_directives): New
34651         types.
34652         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
34653         New declarations.
34654         * lib/printf-parse.c: Don't include config.h and the specification
34655         header if PRINTF_PARSE is already defined. Eliminate the set of
34656         parameters for WIDE_CHAR_VERSION; the user of this file must provide
34657         them now. Include c-ctype.h.
34658         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
34659         directive and CHAR_T_ONLY_ASCII.
34660         * lib/vasnprintf.c: Don't include config.h and the specification header
34661         if VASNPRINTF is already defined.
34662         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
34663         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
34664         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
34665         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
34666         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
34667         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
34668         code accordingly.
34669         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
34670         pad_ourselves also in this case, with the 'c' and 's' directives, and
34671         with a different notion of "width".
34672         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
34673
34674 2007-06-10  Bruno Haible  <bruno@clisp.org>
34675
34676         * modules/unistr/u32-mbsnlen: New file.
34677         * lib/unistr/u32-mbsnlen.c: New file.
34678
34679         * modules/unistr/u16-mbsnlen: New file.
34680         * lib/unistr/u16-mbsnlen.c: New file.
34681
34682         * modules/unistr/u8-mbsnlen: New file.
34683         * lib/unistr/u8-mbsnlen.c: New file.
34684
34685         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
34686         declarations.
34687
34688 2007-06-10  Bruno Haible  <bruno@clisp.org>
34689
34690         * lib/string_.h (mbsnlen): New declaration.
34691         * lib/mbsnlen.c: New file.
34692         * m4/mbsnlen.m4: New file.
34693         * modules/mbsnlen: New file.
34694         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
34695         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
34696         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
34697
34698 2007-06-10  Bruno Haible  <bruno@clisp.org>
34699
34700         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
34701
34702 2007-06-10  Bruno Haible  <bruno@clisp.org>
34703
34704         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
34705         * lib/mbuiter.h: Likewise.
34706
34707 2007-06-10  Bruno Haible  <bruno@clisp.org>
34708
34709         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
34710         declaration.
34711
34712 2007-06-10  Karl Berry  <karl@gnu.org>
34713
34714         * config/srclist.txt: remove gettext entries, Bruno prefers
34715         to update individually.
34716
34717 2007-06-10  Bruno Haible  <bruno@clisp.org>
34718
34719         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
34720         'maxlen'. Ensure only length + width bytes are allocated, not
34721         length + 1 + width.
34722
34723 2007-06-09  Bruno Haible  <bruno@clisp.org>
34724
34725         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
34726         (CHAR_T): Remove macro.
34727         (VASNPRINTF): Update.
34728
34729 2007-06-09  Bruno Haible  <bruno@clisp.org>
34730
34731         * MODULES.html.sh (Unicode string functions): Add the new modules.
34732
34733         * modules/uniconv/u32-conv-to-enc: New file.
34734         * lib/uniconv/u32-conv-to-enc.c: New file.
34735         * modules/uniconv/u32-conv-to-enc-tests: New file.
34736         * tests/uniconv/test-u32-conv-to-enc.c: New file.
34737
34738         * modules/uniconv/u16-conv-to-enc: New file.
34739         * lib/uniconv/u16-conv-to-enc.c: New file.
34740         * lib/uniconv/u-conv-to-enc.h: New file.
34741         * modules/uniconv/u16-conv-to-enc-tests: New file.
34742         * tests/uniconv/test-u16-conv-to-enc.c: New file.
34743
34744         * modules/uniconv/u8-conv-to-enc: New file.
34745         * lib/uniconv/u8-conv-to-enc.c: New file.
34746         * modules/uniconv/u8-conv-to-enc-tests: New file.
34747         * tests/uniconv/test-u8-conv-to-enc.c: New file.
34748
34749         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
34750         u32_conv_to_encoding): New declarations.
34751
34752 2007-06-09  Bruno Haible  <bruno@clisp.org>
34753
34754         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
34755
34756 2007-06-09  Bruno Haible  <bruno@clisp.org>
34757
34758         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
34759         * modules/malloca: Renamed from modules/allocsa, updated.
34760         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
34761         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
34762         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
34763         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
34764         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
34765         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
34766         * modules/xmalloca: Renamed from modules/xallocsa, updated.
34767         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
34768         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
34769         * modules/c-strcasestr (Depends-on): Update.
34770         * lib/c-strcasestr.c: Update.
34771         * modules/c-strstr (Depends-on): Update.
34772         * lib/c-strstr.c: Update.
34773         * modules/canonicalize-lgpl (Depends-on): Update.
34774         * lib/canonicalize-lgpl.c: Update.
34775         * modules/clean-temp (Depends-on): Update.
34776         * lib/clean-temp.c: Update.
34777         * modules/csharpcomp (Depends-on): Update.
34778         * lib/csharpcomp.c: Update.
34779         * modules/csharpexec (Depends-on): Update.
34780         * lib/csharpexec.c: Update.
34781         * modules/javacomp (Depends-on): Update.
34782         * lib/javacomp.c: Update.
34783         * modules/javaexec (Depends-on): Update.
34784         * lib/javaexec.c: Update.
34785         * modules/mbscasestr (Depends-on): Update.
34786         * lib/mbscasestr.c: Update.
34787         * modules/mbsstr (Depends-on): Update.
34788         * lib/mbsstr.c: Update.
34789         * modules/setenv (Depends-on): Update.
34790         * lib/setenv.c: Update.
34791         * modules/strcasestr (Depends-on): Update.
34792         * lib/strcasestr.c: Update.
34793         * modules/striconveha (Depends-on): Update.
34794         * lib/striconveha.c: Update.
34795         * modules/relocatable-prog-wrapper (Files): Update.
34796         * lib/relocwrapper.c: Update.
34797         * build-aux/install-reloc: Update.
34798         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
34799
34800 2007-06-08  Bruno Haible  <bruno@clisp.org>
34801
34802         Port to uClibc.
34803         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
34804         * lib/fpurge.c (fpurge): Likewise.
34805         * lib/freading.c (freading): Likewise.
34806         * lib/fseeko.c (rpl_fseeko): Likewise.
34807         * lib/fseterr.c (fseterr): Likewise.
34808         * lib/fwriting.c (fwriting): Likewise.
34809         * tests/test-fflush.c (main): Avoid a failure on uClibc.
34810
34811 2007-06-08  Bruno Haible  <bruno@clisp.org>
34812
34813         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
34814         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
34815         * modules/gettext (Files): Add m4/intlmacosx.m4.
34816
34817 2007-06-07  Bruno Haible  <bruno@clisp.org>
34818
34819         * modules/localename-tests: New file.
34820         * tests/test-localename.c: New file.
34821
34822         New module 'localename'.
34823         * lib/localename.h: New file.
34824         * lib/localename.c: New file, from GNU gettext.
34825         * m4/localename.m4: New file.
34826         * modules/localename: New file.
34827
34828 2007-06-07  Bruno Haible  <bruno@clisp.org>
34829
34830         Work around the lack of <wchar.h> on some builds of uClibc.
34831         * doc/headers/wchar.texi: Update.
34832         * lib/wchar_.h: Include <wchar.h> only if it exists.
34833         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
34834         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
34835         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
34836         doesn't exist.
34837         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
34838         * modules/mbfile (Depends-on): Add wchar.
34839         * modules/mbiter (Depends-on): Likewise.
34840         * modules/mbuiter (Depends-on): Likewise.
34841         Reported by Simon Josefsson.
34842
34843 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
34844
34845         Work around problem reported by Steven M. Schweda in
34846         <http://lists.gnu.org/archive/html/bug-tar/2007-06/msg00002.html>:
34847         Tru64 5.1B with the Compaq compiler environment installed declares
34848         an 'isblank' function but does not define it in the C library.
34849         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
34850         * lib/regex_internal.h (isblank): Likewise.
34851         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
34852         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
34853
34854 2007-06-05  Bruno Haible  <bruno@clisp.org>
34855
34856         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
34857         ia64.
34858         * modules/printf-safe: New file.
34859         * modules/fprintf-posix (Depends-on): Add printf-safe.
34860         * modules/printf-posix (Depends-on): Likewise.
34861         * modules/snprintf-posix (Depends-on): Likewise.
34862         * modules/sprintf-posix (Depends-on): Likewise.
34863         * modules/vasnprintf-posix (Depends-on): Likewise.
34864         * modules/vasprintf-posix (Depends-on): Likewise.
34865         * modules/vfprintf-posix (Depends-on): Likewise.
34866         * modules/vprintf-posix (Depends-on): Likewise.
34867         * modules/vsnprintf-posix (Depends-on): Likewise.
34868         * modules/vsprintf-posix (Depends-on): Likewise.
34869         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
34870         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
34871         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
34872         "no" on i386, x86_64, ia64.
34873         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
34874         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
34875         on i386, x86_64, ia64.
34876         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
34877         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
34878         on i386, x86_64, ia64.
34879         * tests/test-vasnprintf-posix.c: Include float.h.
34880         (LDBL80_WORDS): New macro.
34881         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
34882         on i386, x86_64, ia64.
34883         * tests/test-vasprintf-posix.c: Include float.h.
34884         (LDBL80_WORDS): New macro.
34885         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
34886         on i386, x86_64, ia64.
34887         * tests/test-snprintf-posix.c: Include float.h.
34888         * tests/test-sprintf-posix.c: Likewise.
34889         * tests/test-vsnprintf-posix.c: Likewise.
34890         * tests/test-vsprintf-posix.c: Likewise.
34891
34892 2007-06-05  Bruno Haible  <bruno@clisp.org>
34893
34894         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
34895         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
34896         non-IEEE numbers on i386, x86_64, ia64.
34897         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
34898         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
34899         * tests/test-isnanl.h: Include float.h.
34900         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
34901
34902 2007-06-05  Bruno Haible  <bruno@clisp.org>
34903
34904         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
34905         also the %a / %A. Handle the %a / %A code before this extra handling.
34906
34907 2007-06-05  Bruno Haible  <bruno@clisp.org>
34908
34909         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
34910         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
34911
34912 2007-06-05  Bruno Haible  <bruno@clisp.org>
34913
34914         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
34915         typo in variable name.
34916
34917 2007-06-05  Eric Blake  <ebb9@byu.net>
34918
34919         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
34920         Reported by Simon Josefsson.
34921
34922 2007-06-04  Bruno Haible  <bruno@clisp.org>
34923
34924         Avoid test failures on some PowerPC platforms.
34925         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
34926         Define differently for PowerPC.
34927         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
34928         Reported by Gary V. Vaughan <gary@gnu.org>.
34929
34930 2007-06-02  Bruno Haible  <bruno@clisp.org>
34931
34932         Fix test-stdint failure on FreeBSD/ia64.
34933         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
34934         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
34935         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
34936         * doc/headers/stdint.texi: Update.
34937
34938 2007-06-01  Bruno Haible  <bruno@clisp.org>
34939
34940         * tests/test-binary-io.c (main): Pass a third argument to open().
34941         Reported by Gary V. Vaughan <gary@gnu.org>.
34942
34943 2007-06-01  Bruno Haible  <bruno@clisp.org>
34944
34945         * doc/functions/frexpl.texi: Update for mingw.
34946
34947 2007-06-01  Bruno Haible  <bruno@clisp.org>
34948
34949         * tests/test-lseek.c (main): Disable test of errno for invalid third
34950         argument.
34951         * doc/functions/lseek.texi: Update.
34952         Reported by Gary V. Vaughan <gary@gnu.org>.
34953
34954 2007-05-28  Bruno Haible  <bruno@clisp.org>
34955
34956         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
34957
34958 2007-05-31  Eric Blake  <ebb9@byu.net>
34959
34960         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
34961         cross compiling.
34962
34963 2007-05-30  Eric Blake  <ebb9@byu.net>
34964         and Bruno Haible  <bruno@clisp.org>
34965
34966         Work around mingw test failures exposed by m4-1.4.9b.
34967         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
34968         * tests/test-unistd.c: Disable uid_t and git_t tests for the
34969         moment.
34970
34971 2007-05-30  Bruno Haible  <bruno@clisp.org>
34972
34973         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
34974         assuming that they are closed. Needed on HP-UX 11.
34975
34976 2007-05-29  Bruno Haible  <bruno@clisp.org>
34977
34978         Fix a problem with #include_next.
34979         * lib/dirent_.h: Split the double-inclusion guard.
34980         * lib/fcntl_.h: Likewise.
34981         * lib/float_.h: Likewise.
34982         * lib/iconv_.h: Likewise.
34983         * lib/inttypes_.h: Likewise.
34984         * lib/locale_.h: Likewise.
34985         * lib/math_.h: Likewise.
34986         * lib/netinet_in_.h: Likewise.
34987         * lib/search_.h: Likewise.
34988         * lib/signal_.h: Likewise.
34989         * lib/stdint_.h: Likewise.
34990         * lib/stdio_.h: Likewise.
34991         * lib/stdlib_.h: Likewise.
34992         * lib/string_.h: Likewise.
34993         * lib/sys_select_.h: Likewise.
34994         * lib/sys_socket_.h: Likewise.
34995         * lib/sys_stat_.h: Likewise.
34996         * lib/sys_time_.h: Likewise.
34997         * lib/sysexits_.h: Likewise.
34998         * lib/time_.h: Likewise.
34999         * lib/unistd_.h: Likewise.
35000         * lib/wchar_.h: Likewise.
35001         * lib/wctype_.h: Likewise.
35002
35003 2007-05-29  Bruno Haible  <bruno@clisp.org>
35004
35005         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
35006         for the moment.
35007
35008 2007-05-29  Bruno Haible  <bruno@clisp.org>
35009
35010         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
35011         invocation.
35012         Reported by Eric Blake.
35013
35014 2007-05-29  Bruno Haible  <bruno@clisp.org>
35015
35016         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
35017         compiling case.
35018
35019 2007-05-29  Eric Blake  <ebb9@byu.net>
35020             Bruno Haible  <bruno@clisp.org>
35021
35022         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
35023         cross compiles.
35024
35025 2007-05-28  Eric Blake  <ebb9@byu.net>
35026
35027         * modules/closein-tests (test_closein_LDADD): Support test on
35028         cygwin with libtool.
35029
35030 2007-05-28  Bruno Haible  <bruno@clisp.org>
35031
35032         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
35033         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
35034         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
35035         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
35036         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
35037         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
35038         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
35039         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
35040         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
35041
35042 2007-05-28  Eric Blake  <ebb9@byu.net>
35043
35044         Unconditionally include <config.h> in unit tests.
35045         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
35046         * tests/test-allocsa.c, tests/test-arcfour.c,
35047         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
35048         tests/test-array_list.c, tests/test-array_oset.c,
35049         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
35050         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
35051         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
35052         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
35053         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
35054         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
35055         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
35056         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
35057         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
35058         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
35059         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
35060         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
35061         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
35062         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
35063         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
35064         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
35065         test-md5.c, test-memmem.c, test-printf-posix.c,
35066         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
35067         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
35068         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
35069         test-strcasestr.c, test-striconv.c, test-striconveh.c,
35070         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
35071         test-vasnprintf-posix2.c, test-vasnprintf.c,
35072         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
35073         test-vfprintf-posix.c, test-vprintf-posix.c,
35074         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
35075         test-xvasprintf.c: Likewise.
35076
35077 2007-05-28  Bruno Haible  <bruno@clisp.org>
35078
35079         * gnulib-tool (func_import): Remember the --with-tests command-line
35080         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
35081         Reported by Eric Blake.
35082
35083 2007-05-28  Bruno Haible  <bruno@clisp.org>
35084
35085         * modules/ftell-tests: New file.
35086         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
35087         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
35088
35089         * lib/ftell.c: New file.
35090         * modules/ftell: New file.
35091         * m4/ftell.m4: New file.
35092         * doc/functions/ftell.texi: Update.
35093         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
35094         REPLACE_FTELL.
35095         * lib/stdio_.h (rpl_ftell): New declaration.
35096         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
35097         REPLACE_FTELL.
35098
35099 2007-05-28  Eric Blake  <ebb9@byu.net>
35100
35101         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
35102
35103 2007-05-28  Bruno Haible  <bruno@clisp.org>
35104
35105         * modules/fseek-tests: New file.
35106         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
35107         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
35108
35109         * lib/fseek.c: New file.
35110         * modules/fseek: New file.
35111         * m4/fseek.m4: New file.
35112         * doc/functions/fseek.texi: Update.
35113         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
35114         REPLACE_FSEEK.
35115         * lib/stdio_.h (rpl_fseek): New declaration.
35116         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
35117         REPLACE_FSEEK.
35118
35119 2007-05-28  Bruno Haible  <bruno@clisp.org>
35120
35121         * lib/stdio_.h (fflush): More comments.
35122
35123 2007-05-28  Bruno Haible  <bruno@clisp.org>
35124
35125         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
35126         runtime test.
35127
35128 2007-05-28  Eric Blake  <ebb9@byu.net>
35129
35130         Improve lseek module.
35131         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
35132         * lib/unistd_.h (lseek): Scale back link warning message.
35133         * tests/test-lseek.c: Beef up test.
35134         * tests/test-lseek.sh: Exercise more facets of lseek.
35135         Reported by Bruno Haible.
35136
35137 2007-05-28  Bruno Haible  <bruno@clisp.org>
35138
35139         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
35140         to define.
35141
35142 2007-05-27  Bruno Haible  <bruno@clisp.org>
35143
35144         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
35145
35146 2007-05-27  Bruno Haible  <bruno@clisp.org>
35147
35148         * modules/openmp: New file.
35149         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
35150         Noah Misch.
35151
35152 2007-05-26  Bruno Haible  <bruno@clisp.org>
35153
35154         * modules/chdir-long (Depends-on): Add fchdir.
35155         * modules/chdir-safer (Depends-on): Likewise.
35156         * modules/fts (Depends-on): Likewise.
35157         * modules/fts-lgpl (Depends-on): Likewise.
35158         * modules/openat (Depends-on): Likewise.
35159         * modules/savewd (Depends-on): Likewise.
35160
35161 2007-05-24  Eric Blake  <ebb9@byu.net>
35162
35163         Fix lseek on mingw.
35164         * modules/lseek: New module.
35165         * m4/lseek.m4: New file.
35166         * lib/lseek.c: New file.
35167         * modules/lseek-tests: New file.
35168         * tests/test-lseek.c: New file.
35169         * tests/test-lseek.sh: New file.
35170         * MODULES.html.sh: Document lseek module.
35171         * modules/fflush (Depends-on): Add lseek, fseeko.
35172         * modules/fseeko (Depends-on): Likewise.
35173         * modules/ftello (Depends-on): Likewise.
35174         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
35175         broken.
35176         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
35177         broken.
35178         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
35179         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
35180         * lib/ftello.c (rpl_ftello): Likewise.
35181         * tests/test-fseeko.c (main): Test this.
35182         * tests/test-fseeko.sh: Likewise.
35183         * tests/test-ftello.c (main): Likewise.
35184         * tests/test-ftello.sh: Likewise.
35185         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
35186         implies replacing fseek.
35187         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
35188         HAVE_FTELLO.
35189         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
35190         * modules/unistd (Makefile.am): Likewise.
35191         * lib/unistd_.h (lseek): Declare a replacement.
35192         * doc/functions/lseek.texi (lseek): Document this fix.
35193         * doc/functions/fseek.texi (fseek): Likewise.
35194         * doc/functions/ftell.texi (ftell): Likewise.
35195
35196 2007-05-24  Bruno Haible  <bruno@clisp.org>
35197
35198         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
35199         in the printed representation of a NaN.
35200         * tests/test-vasprintf-posix.c (test_function): Likewise.
35201         * tests/test-snprintf-posix.h (test_function): Likewise.
35202         * tests/test-sprintf-posix.h (test_function): Likewise.
35203         Reported by Eric Blake.
35204
35205 2007-05-23  Eric Blake  <ebb9@byu.net>
35206
35207         Fix fseeko/ftello on cygwin 1.5.24.
35208         * doc/functions/fseeko.texi (fseeko): Document the fix.
35209         * doc/functions/ftello.texi (ftello): Document the fix.
35210         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
35211         * doc/functions/stdout.text (stdout): New file.
35212         * doc/functions/stderr.text (stderr): New file.
35213         * doc/gnulib.texi (Function Substitutes): Use new files.
35214         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
35215         prior to 1.7.0.
35216         * tests/test-ftello.c (main): Likewise for ftello.
35217         * tests/test-fseeko.sh: New file.
35218         * tests/test-ftello.sh: New file.
35219         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
35220         with seekable stdin.
35221         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
35222         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
35223         (gl_REPLACE_FSEEKO): New macro.
35224         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
35225         * modules/fseeko (Files): Distribute fseeko.c.
35226         * modules/ftello (Files): Distribute ftello.c.
35227         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
35228         mode.
35229         * lib/ftello.c (rpl_ftello): New file.
35230         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
35231         fseeko, ftello.
35232         (gl_STDIN_LARGE_OFFSET): New macro.
35233         * modules/stdio (Makefile.am): Perform the replacement.
35234         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
35235
35236 2007-05-23  Bruno Haible  <bruno@clisp.org>
35237
35238         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
35239         GNULIB_POSIXCHECK is defined.
35240
35241 2007-05-21  Bruno Haible  <bruno@clisp.org>
35242
35243         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
35244         Check also the output for NaN arguments. When cross-compiling, guess
35245         no on IRIX.
35246         * lib/vasnprintf.c: Update comments.
35247         * tests/test-vasnprintf-posix.c (strisnan): New function.
35248         (test_function): Use it.
35249         * tests/test-vasprintf-posix.c (strisnan): New function.
35250         (test_function): Use it.
35251         * tests/test-snprintf-posix.h (strisnan): New function.
35252         (test_function): Use it.
35253         * tests/test-sprintf-posix.h (strisnan): New function.
35254         (test_function): Use it.
35255         Reported by Eric Blake.
35256
35257 2007-05-20  Bruno Haible  <bruno@clisp.org>
35258
35259         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
35260         numbers that fails on BeOS.
35261         * doc/functions/frexpl.texi: Update.
35262
35263 2007-05-20  Jim Meyering  <jim@meyering.net>
35264
35265         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
35266         forced upon us by glibc-2.6.
35267
35268 2007-05-20  Bruno Haible  <bruno@clisp.org>
35269
35270         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
35271         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
35272         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
35273         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
35274         NEED_PRINTF_INFINITE.
35275         (is_infinitel): New function.
35276         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
35277         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
35278         gl_PREREQ_VASNPRINTF_INFINITE.
35279         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
35280         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
35281         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
35282         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
35283         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
35284         gl_PREREQ_VASNPRINTF_INFINITE.
35285         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
35286         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
35287         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
35288         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
35289         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
35290         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
35291         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
35292         * doc/functions/fprintf.texi: Update.
35293         * doc/functions/printf.texi: Update.
35294         * doc/functions/snprintf.texi: Update.
35295         * doc/functions/sprintf.texi: Update.
35296         * doc/functions/vfprintf.texi: Update.
35297         * doc/functions/vprintf.texi: Update.
35298         * doc/functions/vsnprintf.texi: Update.
35299         * doc/functions/vsprintf.texi: Update.
35300
35301 2007-05-20  Bruno Haible  <bruno@clisp.org>
35302
35303         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
35304         was not found in libc.
35305         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
35306
35307 2007-05-20  Bruno Haible  <bruno@clisp.org>
35308
35309         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
35310         printed as "-nan" instead of "nan".
35311         * tests/test-vasprintf-posix.c (test_function): Likewise.
35312         * tests/test-snprintf-posix.h (test_function): Likewise.
35313         * tests/test-sprintf-posix.h (test_function): Likewise.
35314         Needed for HP-UX 11.
35315
35316 2007-05-20  Jim Meyering  <jim@meyering.net>
35317
35318         Fix buggy test for the fchownat-deref bug.
35319         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
35320         symlink required for the run-test.  Without it, this test would
35321         always declare that fchownat doesn't work, and client code would
35322         unnecessarily use the replacement function with fixed libc.
35323         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
35324         Reported by Greg Schafer.
35325
35326 2007-05-19  Bruno Haible  <bruno@clisp.org>
35327
35328         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
35329         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
35330         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
35331         Needed for IRIX 6.5 and Solaris 2.5.1.
35332
35333 2007-05-19  Bruno Haible  <bruno@clisp.org>
35334
35335         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
35336         (test_function): Skip tests involving -0.0 on platforms where
35337         -0.0 = 0.0.
35338         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
35339         (test_function): Skip tests involving -0.0 on platforms where
35340         -0.0 = 0.0.
35341         * tests/test-snprintf-posix.h (have_minus_zero): New function.
35342         (test_function): Skip tests involving -0.0 on platforms where
35343         -0.0 = 0.0.
35344         * tests/test-sprintf-posix.h (have_minus_zero): New function.
35345         (test_function): Skip tests involving -0.0 on platforms where
35346         -0.0 = 0.0.
35347         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
35348         tests.
35349         * tests/test-printf-posix.h (test_function): Likewise.
35350         * tests/test-printf-posix.output: Remove all -0.0 related results.
35351         Needed for IRIX 6.5.
35352
35353 2007-05-19  Bruno Haible  <bruno@clisp.org>
35354
35355         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
35356         printed as "nan0x7fffffff" instead of "nan".
35357         * tests/test-vasprintf-posix.c (test_function): Likewise.
35358         * tests/test-snprintf-posix.h (test_function): Likewise.
35359         * tests/test-sprintf-posix.h (test_function): Likewise.
35360         * tests/test-fprintf-posix.h (NaN): Remove macro.
35361         (test_function): Remove all NaN related tests.
35362         * tests/test-printf-posix.h (NaN): Remove macro.
35363         (test_function): Remove all NaN related tests.
35364         * tests/test-printf-posix.output: Remove all NaN related results.
35365         Needed for IRIX 6.5.
35366
35367 2007-05-19  Bruno Haible  <bruno@clisp.org>
35368
35369         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
35370         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
35371
35372 2007-05-19  Bruno Haible  <bruno@clisp.org>
35373
35374         * lib/float_.h: New file.
35375         * m4/float_h.m4: New file.
35376         * modules/float: New file.
35377         * modules/isnanl (Dependencies): Add float.
35378         * modules/isnanl-nolibm (Dependencies): Likewise.
35379         * modules/mathl (Dependencies): Likewise.
35380         * modules/printf-frexpl (Dependencies): Likewise.
35381         * modules/signbit (Dependencies): Likewise.
35382         * modules/vasnprintf (Dependencies): Likewise.
35383         * doc/headers/float.texi: Update.
35384
35385 2007-05-19  Jim Meyering  <jim@meyering.net>
35386
35387         * lib/utimens.c (gl_futimens): Rename from futimens,
35388         now that glibc-2.6 declares futimens.
35389         * lib/utimens.h: Likewise.
35390
35391 2007-05-19  Bruno Haible  <bruno@clisp.org>
35392
35393         Avoid test failures on mingw.
35394         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
35395         * tests/test-printf-posix.sh: Likewise.
35396         * tests/test-vfprintf-posix.sh: Likewise.
35397         * tests/test-vprintf-posix.sh: Likewise.
35398
35399 2007-05-19  Bruno Haible  <bruno@clisp.org>
35400
35401         Fix *printf result for NaN, Inf, -0.0 on mingw.
35402         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
35403         * lib/vasnprintf.c: Include math.h and isnan.h.
35404         (is_infinite_or_zero): New function.
35405         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
35406         values in the %f, %F, %e, %E, %g, %G directives.
35407         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
35408         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
35409         gl_PRINTF_INFINITE and test its result. Invoke
35410         gl_PREREQ_VASNPRINTF_INFINITE.
35411         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
35412         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
35413         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
35414         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
35415         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
35416         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
35417         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
35418         * doc/functions/fprintf.texi: Update.
35419         * doc/functions/printf.texi: Update.
35420         * doc/functions/snprintf.texi: Update.
35421         * doc/functions/sprintf.texi: Update.
35422         * doc/functions/vfprintf.texi: Update.
35423         * doc/functions/vprintf.texi: Update.
35424         * doc/functions/vsnprintf.texi: Update.
35425         * doc/functions/vsprintf.texi: Update.
35426
35427 2007-05-19  Bruno Haible  <bruno@clisp.org>
35428
35429         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
35430         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
35431         Instead of multiplying with 10^k, set extra_zeroes to k.
35432         (scale10_round_long_double): Remove function.
35433
35434 2007-05-18  Bruno Haible  <bruno@clisp.org>
35435
35436         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
35437         introduced on 2007-05-06.
35438
35439 2007-05-18  Bruno Haible  <bruno@clisp.org>
35440
35441         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
35442         %g directives.
35443         * tests/test-vasprintf-posix.c (test_function): Likewise.
35444         * tests/test-snprintf-posix.h (test_function): Likewise.
35445         * tests/test-sprintf-posix.h (test_function): Likewise.
35446
35447 2007-05-18  Bruno Haible  <bruno@clisp.org>
35448
35449         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
35450         (strmatch): New function.
35451         (test_function): Test the %f directive on numbers of various exponents.
35452         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
35453         (strmatch): New function.
35454         (test_function): Test the %f directive on numbers of various exponents.
35455         * tests/test-snprintf-posix.h (strmatch): New function.
35456         (test_function): Test the %f directive on numbers of various exponents.
35457         * tests/test-sprintf-posix.h (strmatch): New function.
35458         (test_function): Test the %f directive on numbers of various exponents.
35459         * tests/test-snprintf-posix.c (SIZEOF): New macro.
35460         * tests/test-sprintf-posix.c (SIZEOF): New macro.
35461         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
35462         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
35463
35464 2007-05-18  Bruno Haible  <bruno@clisp.org>
35465
35466         Add support for 'long double' number output.
35467         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
35468         * lib/vasnprintf.c: Include math.h and float+.h.
35469         (mp_limb_t): New type.
35470         (GMP_LIMB_BITS): New macro.
35471         (mp_twolimb_t): New type.
35472         (GMP_TWOLIMB_BITS): New macro.
35473         (mpn_t): New type.
35474         (multiply, divide, convert_to_decimal, decode_long_double,
35475         scale10_round_long_double, scale10_round_decimal_long_double,
35476         floorlog10l): New functions.
35477         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
35478         for the %f, %F, %e, %E, %g, %G directives.
35479         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
35480         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
35481         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
35482         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
35483         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
35484         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
35485         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
35486         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
35487         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
35488         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
35489         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
35490         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
35491         * modules/snprintf-posix (Depends-on): Likewise.
35492         * modules/sprintf-posix (Depends-on): Likewise.
35493         * modules/vasnprintf-posix (Depends-on): Likewise.
35494         * modules/vasprintf-posix (Depends-on): Likewise.
35495         * modules/vfprintf-posix (Depends-on): Likewise.
35496         * modules/vsnprintf-posix (Depends-on): Likewise.
35497         * modules/vsprintf-posix (Depends-on): Likewise.
35498         * modules/vasnprintf (Files): Add lib/float+.h.
35499         * doc/functions/fprintf.texi: Update.
35500         * doc/functions/printf.texi: Update.
35501         * doc/functions/snprintf.texi: Update.
35502         * doc/functions/sprintf.texi: Update.
35503         * doc/functions/vfprintf.texi: Update.
35504         * doc/functions/vprintf.texi: Update.
35505         * doc/functions/vsnprintf.texi: Update.
35506         * doc/functions/vsprintf.texi: Update.
35507
35508 2007-05-18  Bruno Haible  <bruno@clisp.org>
35509
35510         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
35511
35512 2007-05-18  Bruno Haible  <bruno@clisp.org>
35513
35514         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
35515         for printing 64-bit integers. Needed for mingw.
35516
35517 2007-05-18  Bruno Haible  <bruno@clisp.org>
35518
35519         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
35520         gl_FUNC_FREXPL_WORKS.
35521         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
35522
35523 2007-05-18  Bruno Haible  <bruno@clisp.org>
35524
35525         * modules/frexpl-nolibm-tests: New file.
35526
35527         * modules/frexpl-nolibm: New file.
35528         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
35529
35530 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
35531
35532         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
35533         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
35534         GCC 4.2, which otherwise issues a lot of warnings.
35535         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
35536         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
35537         Likewise.
35538         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
35539         * modules/iconv_open (iconv.h): Likewise.
35540         * modules/locale (locale.h): Likewise.
35541         * modules/netinet_in (netinet/in.h): Likewise.
35542         * modules/sys_select (sys_select.h): Likewise.
35543         * modules/sys_socket (sys/socket.h): Likewise.
35544         * modules/sys_stat (sys/stat.h): Likewise.
35545         * modules/sysexits (sysexits.h): Likewise.
35546         * modules/unistd (unistd.h): Likewise.
35547
35548 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35549
35550         * modules/closein-tests (Makefile.am): Distribute
35551         `test-closein.sh'.
35552
35553 2007-05-17  Bruno Haible  <bruno@clisp.org>
35554
35555         * tests/test-printf-posix.output: Renamed from
35556         tests/test-fprintf-posix.out.
35557         * modules/fprintf-posix-tests: Update.
35558         * modules/printf-posix-tests: Update.
35559         * modules/vfprintf-posix-tests: Update.
35560         * modules/vprintf-posix-tests: Update.
35561         * tests/test-fprintf-posix.sh: Update.
35562         * tests/test-printf-posix.sh: Update.
35563         * tests/test-vfprintf-posix.sh: Update.
35564         * tests/test-vprintf-posix.sh: Update.
35565         Reported by Ralf Wildenhues.
35566
35567 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
35568
35569         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
35570         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
35571         GCC 4.2, which otherwise issues a lot of warnings.
35572         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
35573         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
35574         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
35575         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
35576         it should no longer be needed.
35577         * lib/string_.h: Likewise.
35578         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
35579         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
35580         * modules/inttypes (inttypes.h): Likewise.
35581         * modules/math (math.h): Likewise.
35582         * modules/search (search.h): Likewise.
35583         * modules/signal (signal.h): Likewise.
35584         * modules/stdint (stdint.h): Likewise.
35585         * modules/stdio (stdio.h): Likewise.
35586         * modules/stdlib (stdlib.h): Likewise.
35587         * modules/string (string.h): Likewise.
35588         * modules/sys_time (sys/time.h): Likewise.
35589         * modules/time (time.h): Likewise.
35590         * modules/wchar (wchar.h): Likewise.
35591         * modules/wctype (wtype.h): Likewise.
35592
35593 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
35594
35595         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
35596
35597 2007-05-13  Bruno Haible  <bruno@clisp.org>
35598
35599         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
35600         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
35601         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
35602         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
35603         (gl_PREREQ_STRTOK_R): Don't require it here.
35604
35605 2007-05-13  Bruno Haible  <bruno@clisp.org>
35606
35607         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
35608         when used in C++ mode.
35609
35610 2007-05-12  Bruno Haible  <bruno@clisp.org>
35611
35612         * lib/linebuffer.h: Tweak doc.
35613         * lib/linebuffer.c: Likewise.
35614
35615 2007-05-12  James Youngman  <jay@gnu.org>
35616
35617         * lib/linebuffer.c (readlinebuffer_delim): New function,
35618         like readlinebuffer, but use a caller-specified delimiter.
35619         (readlinebuffer): Just call readlinebuffer_delim with '\n'
35620         as the delimiter.
35621         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
35622
35623 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
35624
35625         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
35626         * modules/openat (Files): Remove openat-die.c.
35627         (Depends-on): Add openat-die.
35628         * modules/openat-die: New module.
35629
35630 2007-05-06  Bruno Haible  <bruno@clisp.org>
35631
35632         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
35633         Update with info about Cygwin.
35634         * doc/functions/fprintf.texi: Update.
35635         * doc/functions/printf.texi: Update.
35636         * doc/functions/snprintf.texi: Update.
35637         * doc/functions/sprintf.texi: Update.
35638         * doc/functions/vfprintf.texi: Update.
35639         * doc/functions/vprintf.texi: Update.
35640         * doc/functions/vsnprintf.texi: Update.
35641         * doc/functions/vsprintf.texi: Update.
35642         Reported by Eric Blake.
35643
35644 2007-05-06  Bruno Haible  <bruno@clisp.org>
35645
35646         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
35647         padding ourselves for the floating-point directives.
35648         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
35649         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
35650         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
35651         gl_PRINTF_FLAG_ZERO and test its result. Invoke
35652         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
35653         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
35654         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
35655         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
35656         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
35657         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
35658         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
35659         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
35660         * tests/test-snprintf-posix.h (test_function): Also check the width
35661         and some flags in the %f directive.
35662         * tests/test-sprintf-posix.h (test_function): Likewise.
35663         * tests/test-vasnprintf-posix.c (test_function): Likewise.
35664         * tests/test-vasprintf-posix.c (test_function): Likewise.
35665         * doc/functions/fprintf.texi: Update.
35666         * doc/functions/printf.texi: Update.
35667         * doc/functions/snprintf.texi: Update.
35668         * doc/functions/sprintf.texi: Update.
35669         * doc/functions/vfprintf.texi: Update.
35670         * doc/functions/vprintf.texi: Update.
35671         * doc/functions/vsnprintf.texi: Update.
35672         * doc/functions/vsprintf.texi: Update.
35673
35674 2007-05-06  Bruno Haible  <bruno@clisp.org>
35675
35676         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
35677         pass the ' flag character to sprintf or snprintf.
35678         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
35679         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
35680         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
35681         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
35682         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
35683         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
35684         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
35685         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
35686         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
35687         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
35688         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
35689         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
35690         * tests/test-snprintf-posix.h (test_function): Also check the grouping
35691         flag.
35692         * tests/test-sprintf-posix.h (test_function): Likewise.
35693         * tests/test-vasnprintf-posix.c (test_function): Likewise.
35694         * tests/test-vasprintf-posix.c (test_function): Likewise.
35695         * doc/functions/fprintf.texi: Update.
35696         * doc/functions/printf.texi: Update.
35697         * doc/functions/snprintf.texi: Update.
35698         * doc/functions/sprintf.texi: Update.
35699         * doc/functions/vfprintf.texi: Update.
35700         * doc/functions/vprintf.texi: Update.
35701         * doc/functions/vsnprintf.texi: Update.
35702         * doc/functions/vsprintf.texi: Update.
35703
35704 2007-05-01  Bruno Haible  <bruno@clisp.org>
35705
35706         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
35707
35708 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
35709
35710         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
35711         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
35712
35713 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
35714
35715         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
35716         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
35717         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00021.html>.
35718
35719 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
35720
35721         * lib/argp-help.c (struct hol_entry): New member `ord'.
35722         (HOL_ENTRY_PTRCMP): Use ord for comparison
35723         (hol_sort): Initialize ord.
35724
35725 2007-05-01  Bruno Haible  <bruno@clisp.org>
35726
35727         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
35728         Reported by Eric Blake.
35729         * doc/gnulib.texi (Function Substitutes): Update.
35730
35731 2007-05-01  Bruno Haible  <bruno@clisp.org>
35732
35733         * doc/functions.texi: Remove file, now redundant through
35734         doc/functions/*.texi.
35735
35736 2007-05-01  Bruno Haible  <bruno@clisp.org>
35737
35738         * modules/argp (Depends-on): Add sleep.
35739
35740 2007-05-01  Bruno Haible  <bruno@clisp.org>
35741
35742         * modules/sleep-tests: New file.
35743         * tests/test-sleep.c: New file.
35744
35745         * modules/sleep: New file.
35746         * lib/sleep.c: New file.
35747         * m4/sleep.m4: New file.
35748         * lib/unistd_.h (sleep): New declaration.
35749         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
35750         HAVE_SLEEP.
35751         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
35752         * doc/functions/sleep.texi: Document the sleep module.
35753
35754 2007-05-01  Bruno Haible  <bruno@clisp.org>
35755
35756         * lib/sigprocmask.h: Remove file.
35757         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
35758         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
35759         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
35760         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
35761         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
35762         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
35763         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
35764         HAVE_SIGSET_T as a shell variable.
35765         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
35766         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
35767         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
35768         (Depends-on): Add signal. Remove verify.
35769         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
35770         (Include): Mention <signal.h> instead of sigprocmask.h.
35771         * NEWS: Mention the change.
35772         * lib/fatal-signal.c: Don't include sigprocmask.h.
35773
35774 2007-05-01  Bruno Haible  <bruno@clisp.org>
35775
35776         * modules/signal: New file.
35777         * lib/signal_.h: New file.
35778         * m4/signal_h.m4: New file.
35779
35780 2007-05-01  Bruno Haible  <bruno@clisp.org>
35781
35782         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
35783         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
35784         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
35785         HAVE_WCTYPE_CTMP_BUG into wctype.h.
35786
35787 2007-05-01  Bruno Haible  <bruno@clisp.org>
35788
35789         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
35790         configure time.
35791         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
35792         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
35793         * modules/sys_stat (Makefile.am): Substitute their values into
35794         sys/stat.h.
35795
35796 2007-05-01  Bruno Haible  <bruno@clisp.org>
35797
35798         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
35799         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
35800         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
35801
35802 2007-05-01  Bruno Haible  <bruno@clisp.org>
35803
35804         * doc/header/assert.texi: Undo last change: don't mention the gnulib
35805         'assert' module here.
35806
35807 2007-05-01  Bruno Haible  <bruno@clisp.org>
35808
35809         * doc/functions/*.texi: New files.
35810         * doc/functions/google-ranking.txt: New file.
35811         * doc/gnulib.texi (Function Substitutes): New chapter.
35812         (ctime, inet_ntoa): Remove sections.
35813         * doc/ctime.texi: Remove file.
35814         * doc/inet_ntoa.texi: Remove file.
35815         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
35816         dependencies.
35817         (%.info): New rule, specifying a --reference-limit.
35818
35819 2007-05-01  Bruno Haible  <bruno@clisp.org>
35820
35821         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
35822
35823 2007-05-01  Bruno Haible  <bruno@clisp.org>
35824
35825         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
35826         the portability of 'mkdir' to mingw systems.
35827
35828 2007-05-01  Bruno Haible  <bruno@clisp.org>
35829
35830         * doc/headers/google-ranking.txt: New file.
35831
35832 2007-04-30  Eric Blake  <ebb9@byu.net>
35833
35834         Prefer fseeko to fseek.
35835         * modules/getpass (Depends-on): Add fseeko.
35836         * lib/getpass.c (getpass): Use fseeko, not fseek.
35837
35838 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
35839
35840         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
35841         assumes the sorting is stable, while most qsort implementations
35842         are not.  Use argument addresses to ensure they never compare as
35843         equal.
35844
35845         * tests/test-argp-2.sh (usage-indent test): Fix output
35846         (func_compare): Restore diff options
35847         * tests/test-argp.c: Restore #include "progname.h"
35848
35849 2007-04-29  Bruno Haible  <bruno@clisp.org>
35850
35851         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
35852         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
35853         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
35854         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
35855         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
35856         (configure.ac): Define CHECK_SNPRINTF_POSIX.
35857         (TESTS, check_PROGRAMS): Add test-snprintf.
35858         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
35859         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
35860         (TESTS, check_PROGRAMS): Add test-vsnprintf.
35861         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
35862         assertions that fail on HP-UX, OSF/1, or IRIX.
35863         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
35864
35865 2007-04-29  Bruno Haible  <bruno@clisp.org>
35866
35867         * MODULES.html.sh (posix_functions): Remove 'contents'.
35868
35869 2007-04-29  Karl Berry  <karl@gnu.org>
35870
35871         * config/srclist.txt (gendocs_template_min): new entry.
35872
35873 2007-04-29  Bruno Haible  <bruno@clisp.org>
35874
35875         Work around fpurge bug on BSD systems.
35876         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
35877         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
35878         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
35879         fpurge to rpl_fpurge if the system already has this function.
35880         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
35881         the case where the system already has this function. Correct invariants
35882         on BSD systems.
35883         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
35884         BSD systems.
35885
35886 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
35887
35888         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
35889         proposed by Sven Verdoolaege.
35890
35891         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
35892         options.
35893         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
35894         (usage and help tests): Update
35895
35896 2007-04-29  Bruno Haible  <bruno@clisp.org>
35897
35898         * tests/test-fflush.c (main): Use a file of size 17, not 10.
35899         Print more information in case of failure. Disable a test on BeOS.
35900
35901 2007-04-29  Bruno Haible  <bruno@clisp.org>
35902
35903         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
35904         This helps debugging on systems on which no gdb is available.
35905
35906 2007-04-29  Bruno Haible  <bruno@clisp.org>
35907
35908         * lib/freading.h: Improve comments.
35909         * lib/fwriting.h: Likewise.
35910         * tests/test-freading.c (main): Don't check freading immediately after
35911         repositioning. Needed for glibc.
35912
35913 2007-04-29  Bruno Haible  <bruno@clisp.org>
35914
35915         * lib/freading.c (freading): Trivial simplification.
35916
35917 2007-04-28  Bruno Haible  <bruno@clisp.org>
35918
35919         * tests/test-fwriting.c (main): Also test the interaction between
35920         fflush and fwriting.
35921         * modules/fwriting-tests (Depends-on): Add fflush.
35922
35923         * tests/test-freading.c (main): Also test the interaction between
35924         fflush and freading.
35925         * modules/freading-tests (Depends-on): Add fflush.
35926
35927 2007-04-28  Bruno Haible  <bruno@clisp.org>
35928
35929         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
35930         fseeko and ftello.
35931         Suggested by Eric Blake.
35932
35933 2007-04-28  Jim Meyering  <jim@meyering.net>
35934
35935         Avoid false-negative in gl_STDINT_H's C99 conformance test.
35936         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
35937         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
35938
35939 2007-04-27  Eric Blake  <ebb9@byu.net>
35940
35941         * doc/headers/assert.texi (assert.h): Document assert module use.
35942
35943 2007-04-27  Bruno Haible  <bruno@clisp.org>
35944
35945         * doc/headers/*.texi: New files.
35946         * doc/gnulib.texi (Header File Substitutes): New chapter.
35947         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
35948         dependencies.
35949         (standards.info ,standards.html, standards.dvi): Update dependencies.
35950         (mostlyclean, clean): New targets.
35951
35952 2007-04-27  Bruno Haible  <bruno@clisp.org>
35953
35954         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
35955         * modules/sysexits (Files, Makefile.am): Update.
35956
35957         * lib/sys_socket_.h: Renamed from lib/socket_.h.
35958         * modules/sys_socket (Files, Makefile.am): Update.
35959
35960         * lib/sys_stat_.h: Renamed from lib/stat_.h.
35961         * modules/sys_stat (Files, Makefile.am): Update.
35962
35963 2007-04-27  Eric Blake  <ebb9@byu.net>
35964
35965         * lib/freading.h: Improve comments.
35966         * lib/fwriting.h: Likewise.
35967         * lib/fflush.c: Likewise.
35968
35969         Fix closein for mingw.
35970         * modules/closein-tests: Add tests for closein.
35971         * tests/test-closein.c: New file.
35972         * tests/test-closein.sh: Likewise.
35973         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
35974         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
35975
35976 2007-04-27  Bruno Haible  <bruno@clisp.org>
35977
35978         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
35979         version is < 6.
35980         * lib/math_.h [__DECC]: Likewise.
35981         * lib/stdio_.h [__DECC]: Likewise.
35982         * lib/stdlib_.h [__DECC]: Likewise.
35983         * lib/string_.h [__DECC]: Likewise.
35984         * lib/time_.h [__DECC]: Likewise.
35985         * lib/wchar_.h [__DECC]: Likewise.
35986         * lib/wctype_.h [__DECC]: Likewise.
35987
35988 2007-04-27  Bruno Haible  <bruno@clisp.org>
35989
35990         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
35991
35992 2007-04-27  Bruno Haible  <bruno@clisp.org>
35993
35994         * lib/fflush.c: Add comments.
35995         * modules/fpurge-tests (Depends-on): Add fflush.
35996         * modules/freadable-tests (Depends-on): Likewise.
35997         * modules/fwritable-tests (Depends-on): Likewise.
35998
35999 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
36000
36001         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
36002         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
36003         Report by Bruno Haible <bruno@clisp.org>.
36004
36005 2007-04-26  Eric Blake  <ebb9@byu.net>
36006
36007         Fix fflush on mingw.
36008         * modules/fflush (Depends-on): Add freading.
36009         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
36010         but unread data.
36011
36012 2007-04-26  Eric Blake  <ebb9@byu.net>
36013         and Bruno Haible  <bruno@clisp.org>
36014
36015         Implement freading and fwriting.
36016         * lib/freading.c: New file.
36017         * lib/freading.h: Likewise.
36018         * m4/freading.m4: Likewise.
36019         * modules/freading: Likewise.
36020         * modules/freading-tests: Likewise.
36021         * tests/test-freading.c: Likewise.
36022         * lib/fwriting.c: New file.
36023         * lib/fwriting.h: Likewise.
36024         * m4/fwriting.m4: Likewise.
36025         * modules/fwriting: Likewise.
36026         * modules/fwriting-tests: Likewise.
36027         * tests/test-fwriting.c: Likewise.
36028         * MODULES.html.sh (File stream based Input/Output): Mention them.
36029
36030 2007-04-26  Bruno Haible  <bruno@clisp.org>
36031
36032         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
36033         'long' when we assume it.
36034         Suggested by Eric Blake.
36035
36036 2007-04-26  Bruno Haible  <bruno@clisp.org>
36037
36038         Ensure fseeko, ftello are declared on glibc systems.
36039         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
36040         * modules/fseeko (configure.ac-early): Likewise.
36041         * modules/ftello (configure.ac-early): Likewise.
36042         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
36043         AC_FUNC_FSEEKO for this.
36044         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
36045         (gl_CHECK_FSEEKO): Remove macro.
36046
36047 2007-04-26  Bruno Haible  <bruno@clisp.org>
36048
36049         * tests/test-fflush.c (main): Also check the ftell result after
36050         fflush and fseek/fseeko.
36051         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
36052         file descriptor position cache in the stream.
36053         * lib/fseeko.c (rpl_fseeko): Likewise.
36054
36055 2007-04-26  Bruno Haible  <bruno@clisp.org>
36056
36057         * modules/fflush-tests (Depends-on): Add fseeko.
36058
36059 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
36060             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36061
36062         * lib/argz_.h: ensure error_t definition is obtained in same
36063         mechanism system argz.h would have.
36064         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
36065         argz facilities are known bad.  Err on the side of caution if
36066         cross-compiling.
36067
36068 2007-04-25  Eric Blake  <ebb9@byu.net>
36069
36070         * lib/fpurge.c (includes): Use stdlib.h for free.
36071         * tests/test-fflush.c (main): Also test fflush-fseeko.
36072
36073 2007-04-25  Bruno Haible  <bruno@clisp.org>
36074
36075         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
36076         * lib/fseeko.c: New file.
36077         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
36078         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
36079         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
36080         gl_FUNC_FSEEKO.
36081         (gl_FUNC_FSEEKO): Invoke it.
36082         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
36083         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
36084         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
36085
36086 2007-04-25  Bruno Haible  <bruno@clisp.org>
36087
36088         * modules/fflush (Depends-on): Add ftello.
36089
36090 2007-04-25  Bruno Haible  <bruno@clisp.org>
36091
36092         * modules/ftello-tests: New file.
36093         * tests/test-ftello.c: New file.
36094
36095         * modules/ftello: New file.
36096         * m4/ftello.m4: New file.
36097         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
36098         HAVE_FTELLO.
36099         * lib/stdio_.h (ftello): New declaration.
36100         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
36101         HAVE_FTELLO.
36102
36103 2007-04-25  Bruno Haible  <bruno@clisp.org>
36104
36105         * modules/fseeko-tests: New file.
36106         * tests/test-fseeko.c: New file.
36107
36108         * modules/fseeko: New file.
36109         * m4/fseeko.m4: New file.
36110         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
36111         HAVE_FSEEKO.
36112         * lib/stdio_.h (fseeko): New declaration.
36113         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
36114         HAVE_FSEEKO.
36115
36116 2007-04-25  Bruno Haible  <bruno@clisp.org>
36117
36118         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
36119
36120 2007-04-25  Bruno Haible  <bruno@clisp.org>
36121
36122         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
36123         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
36124         * tests/test-unistd.c: Likewise.
36125         * tests/test-fcntl.c: Likewise.
36126
36127 2007-04-23  Eric Blake  <ebb9@byu.net>
36128
36129         * lib/fflush.c: Fix missing include.
36130         Reported by Bruno Haible.
36131
36132 2007-04-23  Bruno Haible  <bruno@clisp.org>
36133
36134         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
36135         Reported by Eric Blake.
36136
36137 2007-04-23  Bruno Haible  <bruno@clisp.org>
36138
36139         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
36140
36141 2007-04-23  Bruno Haible  <bruno@clisp.org>
36142
36143         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
36144
36145 2007-04-23  Bruno Haible  <bruno@clisp.org>
36146
36147         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
36148         Needed on HP-UX 11.
36149
36150 2007-04-16  Eric Blake  <ebb9@byu.net>
36151
36152         Make fflush rely on fpurge.
36153         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
36154         open coding all variants.
36155         * modules/fflush (Depends-on): Add fpurge and unistd.
36156         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
36157         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
36158
36159         Fix --with-tests compilation on cygwin.
36160         * modules/argmatch-tests (Makefile.am): List gnulib library first
36161         in LDADD.
36162         * modules/argp-tests (Makefile.am): Likewise.
36163         * modules/array-list-tests (Makefile.am): Likewise.
36164         * modules/array-oset-tests (Makefile.am): Likewise.
36165         * modules/avltree-list-tests (Makefile.am): Likewise.
36166         * modules/avltree-oset-tests (Makefile.am): Likewise.
36167         * modules/avltreehash-list-tests (Makefile.am): Likewise.
36168         * modules/carray-list-tests (Makefile.am): Likewise.
36169         * modules/dirname-tests (Makefile.am): Likewise.
36170         * modules/frexp-tests (Makefile.am): Likewise.
36171         * modules/isnanl-tests (Makefile.am): Likewise.
36172         * modules/linked-list-tests (Makefile.am): Likewise.
36173         * modules/linkedhash-list-tests (Makefile.am): Likewise.
36174         * modules/lock-tests (Makefile.am): Likewise.
36175         * modules/rbtree-list-tests (Makefile.am): Likewise.
36176         * modules/rbtree-oset-tests (Makefile.am): Likewise.
36177         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
36178         * modules/tls-tests (Makefile.am): Likewise.
36179         * modules/tsearch-tests (Makefile.am): Likewise.
36180         * modules/xvasprintf-tests (Makefile.am): Likewise.
36181
36182         Fix fpurge for cygwin.
36183         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
36184         value.
36185         * modules/fpurge-tests (Depends-on): Clean up trash.
36186
36187 2007-04-16  Simon Josefsson  <simon@josefsson.org>
36188
36189         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
36190
36191         * m4/autobuild.m4: Re-indent.
36192
36193 2007-04-13  Bruno Haible  <bruno@clisp.org>
36194
36195         * modules/fpurge-tests: New file.
36196         * tests/test-fpurge.c: New file.
36197
36198         * modules/fpurge: New file.
36199         * lib/fpurge.h: New file.
36200         * lib/fpurge.c: New file.
36201         * m4/fpurge.m4: New file.
36202
36203 2007-04-13  Bruno Haible  <bruno@clisp.org>
36204
36205         * modules/fbufmode-tests: New file.
36206         * tests/test-fbufmode.c: New file.
36207
36208         * modules/fbufmode: New file.
36209         * lib/fbufmode.h: New file.
36210         * lib/fbufmode.c: New file.
36211         * m4/fbufmode.m4: New file.
36212
36213 2007-04-13  Bruno Haible  <bruno@clisp.org>
36214
36215         * modules/fwritable-tests: New file.
36216         * tests/test-fwritable.c: New file.
36217
36218         * modules/fwritable: New file.
36219         * lib/fwritable.h: New file.
36220         * lib/fwritable.c: New file.
36221         * m4/fwritable.m4: New file.
36222
36223 2007-04-13  Bruno Haible  <bruno@clisp.org>
36224
36225         * modules/freadable-tests: New file.
36226         * tests/test-freadable.c: New file.
36227
36228         * modules/freadable: New file.
36229         * lib/freadable.h: New file.
36230         * lib/freadable.c: New file.
36231         * m4/freadable.m4: New file.
36232
36233 2007-04-13  Bruno Haible  <bruno@clisp.org>
36234
36235         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
36236         MOSTLYCLEANFILES.
36237
36238 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
36239
36240         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
36241         gzip bootstrap.conf to avoid dragging in i18n machinery.
36242         (gnulib_tool_option): Use it.
36243
36244 2007-04-13  Bruno Haible  <bruno@clisp.org>
36245
36246         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
36247         %F directives.
36248         * tests/test-vasprintf-posix.c (test_function): Likewise.
36249         * tests/test-snprintf-posix.h (test_function): Likewise.
36250         * tests/test-sprintf-posix.h (test_function): Likewise.
36251         * tests/test-fprintf-posix.h (test_function): Likewise.
36252         * tests/test-printf-posix.h (test_function): Likewise.
36253         * tests/test-fprintf-posix.out: Likewise.
36254
36255 2007-04-13  Bruno Haible  <bruno@clisp.org>
36256
36257         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
36258         * modules/tls-tests (configure.ac): Likewise.
36259         Reported by Arto C. Nirkko <anirkko@insel.ch>.
36260
36261 2007-04-13  Bruno Haible  <bruno@clisp.org>
36262
36263         * lib/tls.c (glthread_tls_get): Fix return type.
36264         Patch by Arto C. Nirkko <anirkko@insel.ch>.
36265
36266 2007-04-12  Eric Blake  <ebb9@byu.net>
36267
36268         * modules/gettime (Depends-on): Remove gettime.
36269         Reported by Dmitry V. Levin.
36270
36271 2007-04-12  Bruno Haible  <bruno@clisp.org>
36272
36273         * modules/fflush (Include): Mention <stdio.h>.
36274         * modules/strtoimax (Include): Mention <inttypes.h>.
36275         * modules/strtoumax (Include): Likewise.
36276
36277 2007-04-12  Eric Blake  <ebb9@byu.net>
36278
36279         * .cvsignore: New file.
36280         * .gitignore: Likewise.
36281
36282 2007-04-12  Bruno Haible  <bruno@clisp.org>
36283
36284         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
36285         not before, since $(LDADD) often contains libgnu.a.
36286         * modules/striconv-tests (test_striconv_LDADD): Likewise.
36287         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
36288         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
36289         Needed on Cygwin.
36290
36291 2007-04-12  Eric Blake  <ebb9@byu.net>
36292
36293         Work around glibc's failure to flush stdin on fclose.
36294         * lib/closein.c (close_stdin): Flush stdin before closing.
36295
36296         Work around glibc's failure to reset seekable stdin on exit.
36297         * modules/closein: New module.
36298         * lib/closein.c: New file.
36299         * lib/closein.h: Likewise.
36300         * m4/closein.m4: Likewise.
36301         * MODULES.html.sh (File stream based Input/Output): Document it.
36302
36303 2007-04-12  Simon Josefsson  <simon@josefsson.org>
36304
36305         * gnulib-tool: Rename generated 'autobuild' script to
36306         'do-autobuild' in --create-megatestdir output.
36307
36308         * doc/gnulib.texi (Build robot for gnulib): Fix.
36309
36310 2007-04-12  Simon Josefsson  <simon@josefsson.org>
36311
36312         * modules/sysexits (Depends-on): Add absolute-header.
36313
36314 2007-04-12  Eric Blake  <ebb9@byu.net>
36315
36316         No need to preserve errno on success.
36317         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
36318         Reported by Bruno Haible.
36319
36320 2007-04-12  Simon Josefsson  <simon@josefsson.org>
36321
36322         * MODULES.html.sh (Support for maintaining and releasing
36323         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
36324
36325 2007-04-12  Simon Josefsson  <simon@josefsson.org>
36326
36327         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
36328
36329 2007-04-12  Simon Josefsson  <simon@josefsson.org>
36330
36331         * modules/autobuild: New module.
36332
36333         * m4/autobuild.m4: New file.
36334
36335 2007-04-11  Bruno Haible  <bruno@clisp.org>
36336
36337         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
36338         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
36339         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
36340         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
36341         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
36342         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
36343         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
36344         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
36345         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
36346         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
36347         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
36348         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
36349         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
36350         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
36351         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
36352         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
36353         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
36354         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
36355         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
36356         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
36357         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
36358         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
36359         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
36360         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
36361         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
36362         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
36363         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
36364         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
36365         Reported by Eric Blake.
36366
36367 2007-04-11  Bruno Haible  <bruno@clisp.org>
36368
36369         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
36370
36371 2007-04-10  Bruno Haible  <bruno@clisp.org>
36372
36373         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
36374         for NaN and Infinity. Needed on FreeBSD 6.1.
36375         * tests/test-vasnprintf-posix.c (test_function): Undo last change
36376         regarding results for "%010a" of Infinity and NaN.
36377         * tests/test-vasprintf-posix.c (test_function): Likewise.
36378         * tests/test-snprintf-posix.h (test_function): Likewise.
36379         * tests/test-sprintf-posix.h (test_function): Likewise.
36380         * tests/test-fprintf-posix.h (test_function): Likewise.
36381         * tests/test-printf-posix.h (test_function): Likewise.
36382         * tests/test-fprintf-posix.out: Likewise.
36383
36384 2007-04-10  Bruno Haible  <bruno@clisp.org>
36385
36386         * modules/locale-tests: New file.
36387         * tests/test-locale.c: New file.
36388
36389         * modules/locale: New file.
36390         * lib/locale_.h: New file.
36391         * m4/locale_h.m4: New file.
36392
36393 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
36394             Bruno Haible  <bruno@clisp.org>
36395
36396         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
36397         be determined, test for availability of the copysignf, copysign,
36398         copysignl functions.
36399         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
36400         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
36401         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
36402
36403 2007-04-09  Eric Blake  <ebb9@byu.net>
36404
36405         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
36406         * modules/stdio (Makefile.am): Support fflush.
36407         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
36408         * modules/fflush: New file.
36409         * lib/fflush.c: Likewise.
36410         * m4/fflush.m4: Likewise.
36411         * modules/fflush-tests: New test.
36412         * tests/test-fflush.c: Likewise.
36413         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
36414
36415 2007-04-06  Bruno Haible  <bruno@clisp.org>
36416
36417         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
36418         (VASNPRINTF): Use signbit for faster determination whether to print a
36419         minus sign.
36420         * modules/vasnprintf (Files): Remove lib/float+.h.
36421         * modules/fprintf-posix (Depends-on): Add signbit.
36422         * modules/snprintf-posix (Depends-on): Likewise.
36423         * modules/sprintf-posix (Depends-on): Likewise.
36424         * modules/vasnprintf-posix (Depends-on): Likewise.
36425         * modules/vasprintf-posix (Depends-on): Likewise.
36426         * modules/vfprintf-posix (Depends-on): Likewise.
36427         * modules/vsnprintf-posix (Depends-on): Likewise.
36428         * modules/vsprintf-posix (Depends-on): Likewise.
36429
36430 2007-04-06  Bruno Haible  <bruno@clisp.org>
36431
36432         * tests/test-frexp.c (main): Test also the sign bit of zero results.
36433         * tests/test-frexpl.c (main): Likewise.
36434         * tests/test-ldexpl.c (main): Likewise.
36435         * modules/frexp-tests (Depends-on): Add signbit.
36436         * modules/frexpl-tests (Depdends-on): Likewise.
36437         * modules/ldexpl-tests (Depdends-on): Likewise.
36438
36439 2007-04-06  Bruno Haible  <bruno@clisp.org>
36440
36441         * modules/signbit-tests: New file.
36442         * tests/test-signbit.c: New file.
36443
36444         * modules/signbit: New file.
36445         * lib/signbitf.c: New file.
36446         * lib/signbitd.c: New file.
36447         * lib/signbitl.c: New file.
36448         * m4/signbit.m4: New file.
36449         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
36450         (signbit): New macro.
36451         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
36452         REPLACE_SIGNBIT.
36453         * modules/math (Makefile.am) Substibute also GNULIB_SIGNBIT and
36454         REPLACE_FREXPL into math.h.
36455
36456 2007-04-06  Bruno Haible  <bruno@clisp.org>
36457
36458         * modules/isnanf-nolibm-tests: New file.
36459         * tests/test-isnanf.c: New file.
36460
36461         * modules/isnanf-nolibm: New file.
36462         * lib/isnanf.h: New file.
36463         * lib/isnanf.c: New file.
36464         * lib/isnan.c: Consider the USE_FLOAT macro.
36465         * m4/isnanf.m4: New file.
36466
36467 2007-04-06  Bruno Haible  <bruno@clisp.org>
36468
36469         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
36470         (Link): New section.
36471
36472         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
36473
36474 2007-04-06  Bruno Haible  <bruno@clisp.org>
36475
36476         Assume the 'long double' type.
36477         * m4/longdouble.m4: Remove file.
36478         * config/srclist.txt: Don't mention longdouble.m4.
36479         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
36480         * lib/float+.h: Likewise.
36481         * lib/frexp.c: Likewise.
36482         * lib/printf-args.h: Likewise.
36483         * lib/printf-args.c: Likewise.
36484         * lib/printf-frexp.c: Likewise.
36485         * lib/printf-parse.c: Likewise.
36486         * lib/vasnprintf.c: Likewise.
36487         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
36488         * m4/intl.m4: Likewise.
36489         * m4/isnanl.m4: Likewise.
36490         * m4/printf.m4: Likewise.
36491         * m4/printf-frexpl.m4: Likewise.
36492         * m4/vasnprintf.m4: Likewise.
36493         * modules/allocsa (Files): Remove m4/longdouble.m4.
36494         * modules/gettext (Files): Likewise.
36495         * modules/relocatable-prog-wrapper (Files): Likewise.
36496         * modules/vasnprintf (Files): Likewise.
36497         * modules/isnanl (Files): Likewise.
36498         (Include): Simplify.
36499         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
36500         (Include): Simplify.
36501         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
36502         (Include): Simplify.
36503         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
36504         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
36505         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
36506         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
36507         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
36508         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
36509         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
36510         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
36511         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
36512         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
36513         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
36514         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
36515         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
36516         * tests/test-isnanl.c: Likewise.
36517         * tests/test-snprintf-posix.h: Likewise.
36518         * tests/test-sprintf-posix.h: Likewise.
36519         * tests/test-vasnprintf-posix.c: Likewise.
36520         * tests/test-vasnprintf-posix2.c: Likewise.
36521         * tests/test-vasprintf-posix.c: Likewise.
36522
36523 2007-04-06  Bruno Haible  <bruno@clisp.org>
36524
36525         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
36526         * lib/math_.h [__DECC]: Include the overridden include file through
36527         #include_next, outside the double-inclusion guard.
36528         * lib/stdio_.h [__DECC]: Likewise.
36529         * lib/stdlib_.h [__DECC]: Likewise.
36530         * lib/string_.h [__DECC]: Likewise.
36531         * lib/time_.h [__DECC]: Likewise.
36532         * lib/wchar_.h [__DECC]: Likewise.
36533         * lib/wctype_.h [__DECC]: Likewise.
36534         * lib/inttypes_.h [__DECC]: Likewise.
36535         Reported by Albert Chin <china@thewrittenword.com> in
36536         <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00088.html>.
36537
36538 2007-04-04  Eric Blake  <ebb9@byu.net>
36539
36540         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
36541         1.5.x.
36542
36543 2007-04-04  Bruno Haible  <bruno@clisp.org>
36544
36545         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
36546         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
36547
36548 2007-04-04  Bruno Haible  <bruno@clisp.org>
36549
36550         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
36551         results for "%010a" of Infinity and NaN.
36552         * tests/test-vasprintf-posix.c (test_function): Likewise.
36553         * tests/test-snprintf-posix.h (test_function): Likewise.
36554         * tests/test-sprintf-posix.h (test_function): Likewise.
36555         * tests/test-fprintf-posix.h (test_function): Remove these tests.
36556         * tests/test-printf-posix.h (test_function): Likewise.
36557         * tests/test-fprintf-posix.out: Update.
36558         Needed for FreeBSD 6.1.
36559
36560 2007-04-04  Bruno Haible  <bruno@clisp.org>
36561
36562         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
36563         directly used by the gnulib modules nor by gnulib-tool.
36564
36565 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
36566
36567         * DEPENDENCIES: Give overall description of version dependency
36568         desirability.  Use more-typical names for apps.
36569         Add shell, coreutils, diffutils, grep, tar, gzip.
36570
36571 2007-04-04  Simon Josefsson  <simon@josefsson.org>
36572
36573         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
36574
36575 2007-04-04  Karl Berry  <karl@gnu.org>
36576
36577         * MODULES.html.sh (func_module): missing '.
36578
36579 2007-04-03  Bruno Haible  <bruno@clisp.org>
36580
36581         * modules/argmatch-tests (Makefile.am): New variable
36582         test_argmatch_LDADD.
36583         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
36584         * modules/array-list-tests (Makefile.am): New variable
36585         test_array_list_LDADD.
36586         * modules/array-oset-tests (Makefile.am): New variable
36587         test_array_oset_LDADD.
36588         * modules/avltree-list-tests (Makefile.am): New variable
36589         test_avltree_list_LDADD.
36590         * modules/avltree-oset-tests (Makefile.am): New variable
36591         test_avltree_oset_LDADD.
36592         * modules/avltreehash-list-tests (Makefile.am): New variable
36593         test_avltreehash_list_LDADD.
36594         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
36595         test_canonicalize_lgpl_LDADD.
36596         * modules/carray-list-tests (Makefile.am): New variable
36597         test_carray_list_LDADD.
36598         * modules/dirname-tests (Makefile.am): New variable
36599         test_dirname_LDADD.
36600         * modules/linked-list-tests (Makefile.am): New variable
36601         test_linked_list_LDADD.
36602         * modules/linkedhash-list-tests (Makefile.am): New variable
36603         test_linkedhash_list_LDADD.
36604         * modules/rbtree-list-tests (Makefile.am): New variable
36605         test_rbtree_list_LDADD.
36606         * modules/rbtree-oset-tests (Makefile.am): New variable
36607         test_rbtree_oset_LDADD.
36608         * modules/rbtreehash-list-tests (Makefile.am): New variable
36609         test_rbtreehash_list_LDADD.
36610         * modules/xvasprintf-tests (Makefile.am): New variable
36611         test_xvasprintf_LDADD.
36612         Reported by Eric Blake.
36613
36614 2007-04-03  Eric Blake  <ebb9@byu.net>
36615
36616         * DEPENDENCIES: Weaken m4 requirements.
36617
36618 2007-04-03  Bruno Haible  <bruno@clisp.org>
36619
36620         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
36621         * modules/isnanl-tests (configure.ac): Likewise.
36622
36623 2007-04-03  Ben Pfaff  <blp@gnu.org>
36624
36625         * modules/iconv_open: Add $(srcdir)/ to source directory
36626         references in Makefile fragments that call gperf, to fix VPATH
36627         builds.
36628
36629 2007-04-03  Bruno Haible  <bruno@clisp.org>
36630
36631         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
36632         * lib/ldexpl.c: Undo last change.
36633
36634 2007-04-03  Bruno Haible  <bruno@clisp.org>
36635
36636         * modules/printf-frexpl (Depends-on): Undo last change.
36637         (Files): Add m4/ldexpl.m4.
36638
36639 2007-04-03  Bruno Haible  <bruno@clisp.org>
36640
36641         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
36642         * modules/isnanl (Link): New section.
36643
36644         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
36645         * modules/frexp (Link): New section.
36646
36647         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
36648         * modules/frexpl (Link): New section.
36649
36650         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
36651         * modules/ldexpl (Link): New section.
36652
36653 2007-04-03  Bruno Haible  <bruno@clisp.org>
36654
36655         * modules/TEMPLATE-EXTENDED: New file.
36656         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
36657
36658 2007-04-03  Bruno Haible  <bruno@clisp.org>
36659
36660         * DEPENDENCIES: New file.
36661         Suggested by Simon Josefsson.
36662
36663 2007-04-03  Bruno Haible  <bruno@clisp.org>
36664
36665         * doc/gnulib.texi: Escape @.
36666
36667 2007-04-03  James Youngman  <jay@gnu.org>
36668         and Paul Eggert  <eggert@cs.ucla.edu>
36669
36670         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
36671         birthtime on all systems that have birthtime, not just those which
36672         use st_birthtimensec rather than st_birthtim.  Putting zero in
36673         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
36674         that the birth time is not available for files on an NFS mount.
36675
36676 2007-04-03  Simon Josefsson  <simon@josefsson.org>
36677
36678         * modules/memxor: Move back from crypto/, suggested by Bruno.
36679         * modules/crypto/hmac-sha1: Fix memxor dependency.
36680
36681         * modules/crypto/gc: Moved from ../.
36682
36683 2007-04-02  Eric Blake  <ebb9@byu.net>
36684
36685         * lib/ldexpl.c (includes): Avoid libm.
36686
36687         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
36688
36689 2007-04-02  Bruno Haible  <bruno@clisp.org>
36690
36691         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
36692         on IRIX.
36693
36694 2007-04-02  Bruno Haible  <bruno@clisp.org>
36695
36696         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
36697         x86 or x86_64 platforms running MacOS X.
36698         Reported by Ryan Schmidt <@ryandesign.com>.
36699
36700 2007-04-02  Bruno Haible  <bruno@clisp.org>
36701
36702         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
36703         i386.
36704
36705 2007-04-01  Simon Josefsson  <simon@josefsson.org>
36706
36707         * modules/crypto/arcfour: Moved from ../.
36708         * modules/crypto/arcfour-tests: Moved from ../.
36709         * modules/crypto/arctwo: Moved from ../.
36710         * modules/crypto/arctwo-tests: Moved from ../.
36711         * modules/crypto/des: Moved from ../.
36712         * modules/crypto/des-tests: Moved from ../.
36713         * modules/crypto/gc-arcfour: Moved from ../.
36714         * modules/crypto/gc-arcfour-tests: Moved from ../.
36715         * modules/crypto/gc-arctwo: Moved from ../.
36716         * modules/crypto/gc-arctwo-tests: Moved from ../.
36717         * modules/crypto/gc-des: Moved from ../.
36718         * modules/crypto/gc-des-tests: Moved from ../.
36719         * modules/crypto/gc-hmac-md5: Moved from ../.
36720         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
36721         * modules/crypto/gc-hmac-sha1: Moved from ../.
36722         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
36723         * modules/crypto/gc-md2: Moved from ../.
36724         * modules/crypto/gc-md2-tests: Moved from ../.
36725         * modules/crypto/gc-md4: Moved from ../.
36726         * modules/crypto/gc-md4-tests: Moved from ../.
36727         * modules/crypto/gc-md5: Moved from ../.
36728         * modules/crypto/gc-md5-tests: Moved from ../.
36729         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
36730         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
36731         * modules/crypto/gc-random: Moved from ../.
36732         * modules/crypto/gc-rijndael: Moved from ../.
36733         * modules/crypto/gc-rijndael-tests: Moved from ../.
36734         * modules/crypto/gc-sha1: Moved from ../.
36735         * modules/crypto/gc-sha1-tests: Moved from ../.
36736         * modules/crypto/gc-tests: Moved from ../.
36737         * modules/crypto/hmac-md5: Moved from ../.
36738         * modules/crypto/hmac-md5-tests: Moved from ../.
36739         * modules/crypto/hmac-sha1: Moved from ../.
36740         * modules/crypto/hmac-sha1-tests: Moved from ../.
36741         * modules/crypto/md2: Moved from ../.
36742         * modules/crypto/md2-tests: Moved from ../.
36743         * modules/crypto/md4: Moved from ../.
36744         * modules/crypto/md4-tests: Moved from ../.
36745         * modules/crypto/md5: Moved from ../.
36746         * modules/crypto/md5-tests: Moved from ../.
36747         * modules/crypto/memxor: Moved from ../.
36748         * modules/crypto/rijndael: Moved from ../.
36749         * modules/crypto/rijndael-tests: Moved from ../.
36750         * modules/crypto/sha1: Moved from ../.
36751
36752 2007-03-30  James Youngman  <jay@gnu.org>
36753
36754         * tests/test-stat-time.c (prepare_test): use chmod() rather than
36755         rename() to change the ctime of a file (because ctime is unaffected
36756         by rename on jfs2 on AIX 5.1).
36757         (main): Start by doing cleanup, in case a previous run failed leaving
36758         test files behind.
36759
36760 2007-03-31  Bruno Haible  <bruno@clisp.org>
36761
36762         Support old proprietary implementations of iconv.
36763         * modules/iconv_open: New file.
36764         * lib/iconv_.h: New file.
36765         * m4/iconv_h.m4: New file.
36766         * lib/iconv_open.c: New file.
36767         * lib/iconv_open-aix.gperf: New file.
36768         * lib/iconv_open-hpux.gperf: New file.
36769         * lib/iconv_open-irix.gperf: New file.
36770         * lib/iconv_open-osf.gperf: New file.
36771         * m4/iconv_open.m4: New file.
36772         * modules/linebreak (Depends-on): Add iconv_open.
36773         * modules/striconv (Depends-on): Likewise.
36774         * modules/striconveh (Depends-on): Likewise.
36775         * modules/unicodeio (Depends-on): Likewise.
36776         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
36777         (iconv_t)(-1).
36778         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
36779         conversion if cd is (iconv_t)(-1).
36780         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
36781         is not possible.
36782
36783 2007-03-31  Bruno Haible  <bruno@clisp.org>
36784
36785         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
36786         work on Solaris either. Protect also second use of "autodetect_jp".
36787
36788 2007-03-31  Bruno Haible  <bruno@clisp.org>
36789
36790         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
36791         the function is not present.
36792
36793 2007-03-31  Bruno Haible  <bruno@clisp.org>
36794
36795         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
36796         the function is not present.
36797
36798 2007-03-31  Bruno Haible  <bruno@clisp.org>
36799
36800         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
36801         a bug in HP-UX iconv_open().
36802
36803 2007-03-31  Bruno Haible  <bruno@clisp.org>
36804
36805         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
36806         (Mathematics <math.h>): New section, add fpieee.
36807         (Input/output <stdio.h>): Add fseterr.
36808         (Mathematics <math.h>): New section, add printf-frexp.
36809         (Container data structures): Add sublist.
36810         (Core language properties): Add fpucw, inline.
36811         (Functions for greatest-width integer types <inttypes.h>): Add
36812         imaxabs, imaxdiv, inttypes.
36813         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
36814         isnanl-nolibm, ldexp.
36815         (Mathematics <math.h>): New section, add printf-frexpl.
36816         (Support for systems lacking POSIX:2001): Add fprintf-posix,
36817         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
36818         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
36819         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
36820         (Unicode string functions): Add unistr/u*-mbtoucr.
36821         (Java): Add javacomp-script, javaexec-script.
36822         (C#): Add csharpcomp-script, csharpexec-script.
36823         (Support for building libraries and executables): Add havelib,
36824         relocatable-*.
36825         (Support for maintaining and releasing projects): Renamed from
36826         'Support for maintaining and release projects'. Add announce-gen.
36827
36828 2007-03-31  Bruno Haible  <bruno@clisp.org>
36829
36830         * README: Talk primarily about git.
36831         (git and CVS): Renamed from CVS.
36832         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
36833         gnulib is available through git.
36834         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
36835
36836 2007-03-30  Bruno Haible  <bruno@clisp.org>
36837
36838         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
36839         * lib/poll_.h: Likewise.
36840         * lib/stat_.h: Likewise.
36841         * lib/sys_time_.h: Likewise.
36842         * lib/sysexit_.h: Likewise.
36843         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
36844         * lib/stdbool_.h: Likewise.
36845         * lib/byteswap_.h: Add double-inclusion guard.
36846
36847 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
36848
36849         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
36850
36851 2007-03-30  Karl Berry  <karl@gnu.org>
36852
36853         * config/srclist-update: double space after USA in the license
36854         substitution, since that's how it's usually (?) written.
36855
36856 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
36857
36858         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
36859         reported by Bruno Haible.
36860
36861 2007-03-29  Bruno Haible  <bruno@clisp.org>
36862
36863         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
36864         a bug in AIX iconv().
36865
36866 2007-03-29  Bruno Haible  <bruno@clisp.org>
36867
36868         * modules/ldexpl-tests: New file.
36869         * tests/test-ldexpl.c: New file.
36870
36871 2007-03-29  Bruno Haible  <bruno@clisp.org>
36872
36873         * lib/ldexpl.c: Include fpucw.h.
36874         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
36875         multiplication.
36876         * modules/ldexpl (Depends-on): Add fpucw.
36877
36878 2007-03-29  Bruno Haible  <bruno@clisp.org>
36879
36880         * modules/ldexpl: New file.
36881         * m4/ldexpl.m4: New file.
36882         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
36883         set.
36884         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
36885         REPLACE_LDEXPL.
36886         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
36887         REPLACE_LDEXPL.
36888         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
36889         gl_FUNC_LDEXPL_WORKS.
36890         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
36891         * modules/mathl (Files): Remove lib/ldexpl.c.
36892         (Depends-on): Add ldexpl.
36893
36894 2007-03-29  Bruno Haible  <bruno@clisp.org>
36895
36896         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
36897
36898 2007-03-29  Bruno Haible  <bruno@clisp.org>
36899
36900         * tests/test-striconveh.c (main): Don't assume that a direct conversion
36901         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
36902         and possibly also HP-UX.
36903         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
36904         work on AIX, IRIX, HP-UX, OSF/1.
36905         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
36906         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
36907         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
36908         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
36909         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
36910         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
36911
36912 2007-03-29  Bruno Haible  <bruno@clisp.org>
36913
36914         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
36915
36916 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
36917
36918         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
36919         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
36920
36921 2007-03-29  Eric Blake  <ebb9@byu.net>
36922
36923         * lib/acl-internal.h: Remove redundant include.
36924         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
36925         Cygwin when a file is locked.
36926
36927 2007-03-29  Bruno Haible  <bruno@clisp.org>
36928
36929         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
36930         file.
36931         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
36932
36933 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
36934
36935         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
36936         try to remove a parent directory if the child couldn't be removed
36937         (except for the first rmdir, which could fail because the child
36938         doesn't exist).  Problem reported by Jeff Blaine in
36939         <http://lists.gnu.org/archive/html/bug-tar/2007-03/msg00014.html>.
36940
36941 2007-03-28  Bruno Haible  <bruno@clisp.org>
36942
36943         * lib/striconveh.c (utf8conv_carefully): New function.
36944         (mem_cd_iconveh_internal): Invoke it.
36945
36946 2007-03-28  Bruno Haible  <bruno@clisp.org>
36947
36948         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
36949         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
36950         input.
36951         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
36952         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
36953         unistr/u8-uctomb.
36954
36955 2007-03-28  Bruno Haible  <bruno@clisp.org>
36956
36957         * modules/unistr/u8-mbtoucr: New file.
36958         * lib/unistr/u8-mbtoucr.c: New file.
36959         * modules/unistr/u16-mbtoucr: New file.
36960         * lib/unistr/u16-mbtoucr.c: New file.
36961         * modules/unistr/u16-mbtoucr: New file.
36962         * lib/unistr/u16-mbtoucr.c: New file.
36963         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
36964
36965 2007-03-27  Simon Josefsson  <simon@josefsson.org>
36966             Bruno Haible  <bruno@clisp.org>
36967
36968         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
36969         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
36970         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
36971
36972         * m4/stdio_h.m4: Add stubs for vasprintf too.
36973
36974         * modules/stdio: Support vasprintf in sed command.
36975
36976         * modules/vasprintf: Depend on stdio for prototypes.  Remove
36977         vasprintf.h.  Add stdio module indicator.
36978
36979         * lib/stdio_.h: Declare asprintf and vasprintf, based on
36980         vasprintf.h.
36981
36982         * lib/vasprintf.h: File removed.
36983
36984         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
36985         * lib/vasprintf.c: Ditto.
36986         * lib/xvasprintf.c: Ditto.
36987         * tests/test-vasprintf-posix.c: Ditto.
36988         * tests/test-vasprintf.c: Ditto.
36989
36990 2007-03-27  Bruno Haible  <bruno@clisp.org>
36991
36992         Make vasnprintf multithread-safe.
36993         * lib/vasnprintf.c (decimal_point_char): New function.
36994         (VASNPRINTF): Use it.
36995         Suggested by Simon Josefsson.
36996
36997 2007-03-27  Eric Blake  <ebb9@byu.net>
36998
36999         Support sub-second birthtime on cygwin.
37000         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
37001         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
37002         (get_stat_birthtime): Also work with st_birthtim.
37003
37004 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
37005
37006         * lib/stat-time.h (USE_BIRTHTIME): Remove.
37007         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
37008         (get_stat_birthtime_ns): Do not try to use "spare" fields.
37009         (get_stat_birthtime_ns): Simplify compile-time tests.
37010         (get_stat_birthtime): Change the API to look like
37011         get_stat_mtime etc., except return a negative tv_nsec on error.
37012         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
37013         Don't check for "spare" fields.
37014         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
37015         or for struct stat.st_birthtime, as these tests aren't used.
37016         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
37017
37018 2007-03-27  Bruno Haible  <bruno@clisp.org>
37019
37020         * lib/stat-time.h: Include <sys/stat.h>.
37021
37022 2007-03-27  James Youngman  <jay@gnu.org>
37023
37024         * lib/stat-time.h (get_stat_birthtime): New function for
37025           retrieving st_birthtime as provided by UFS2 (hence *BSD).
37026         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
37027           and its variants.
37028         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
37029         * modules/stat-time-test: New file.
37030         * tests/test-stat-time.c: New test, devised by Bruno Haible.
37031
37032 2007-03-26  Bruno Haible  <bruno@clisp.org>
37033
37034         Better support of signalling NaNs.
37035         * lib/atanl.c: Include isnanl.h.
37036         (atanl): Perform test for NaN at the beginning of the function and
37037         through a call to isnanl.
37038         * lib/cosl.c: Include isnanl.h.
37039         (cosl): Perform test for NaN at the beginning of the function and
37040         through a call to isnanl.
37041         * lib/ldexpl.c: Include isnanl.h.
37042         (ldexpl): Perform test for NaN through a call to isnanl.
37043         * lib/logl.c: Include isnanl.h.
37044         (logl): Perform test for NaN at the beginning of the function and
37045         through a call to isnanl.
37046         * lib/sinl.c: Include isnanl.h.
37047         (sinl): Perform test for NaN at the beginning of the function and
37048         through a call to isnanl.
37049         * lib/sqrtl.c: Include isnanl.h.
37050         (sqrtl): Perform test for NaN at the beginning of the function and
37051         through a call to isnanl.
37052         * lib/tanl.c: Include isnanl.h.
37053         (tanl): Perform test for NaN at the beginning of the function and
37054         through a call to isnanl.
37055         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
37056         * modules/mathl (Depends-on): Add isnanl.
37057
37058 2007-03-26  Eric Blake  <ebb9@byu.net>
37059
37060         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
37061         regression in logic sense of previous patch.
37062
37063 2007-03-26  Bruno Haible  <bruno@clisp.org>
37064
37065         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
37066         unportable shell command "if ! ...".
37067         Reported by Ralf Wildenhues.
37068
37069 2007-03-25  Bruno Haible  <bruno@clisp.org>
37070
37071         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
37072         <sysexits.h> file, and only add EX_CONFIG.
37073         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
37074         absolute file name and whether it is sufficient. Substitute also
37075         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
37076         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
37077         ABSOLUTE_SYSEXITS_H into sysexits.h.
37078
37079 2007-03-25  Bruno Haible  <bruno@clisp.org>
37080
37081         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
37082         hints is NULL.
37083
37084 2007-03-25  Bruno Haible  <bruno@clisp.org>
37085
37086         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
37087         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
37088
37089 2007-03-25  Bruno Haible  <bruno@clisp.org>
37090
37091         * lib/vasnprintf.c: Include langinfo.h.
37092         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
37093         multithread-safe.
37094         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
37095         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
37096         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
37097         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
37098         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
37099         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
37100         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
37101         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
37102         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
37103         Reported by Simon Josefsson.
37104
37105 2007-03-25  Bruno Haible  <bruno@clisp.org>
37106
37107         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
37108         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
37109         * modules/vasnprintf (Depends-on): Add stdint.
37110
37111 2007-03-25  Bruno Haible  <bruno@clisp.org>
37112
37113         * modules/fpieee: New file.
37114         * m4/fpieee.m4: New file.
37115         * modules/isnan-nolibm (Depends-on): Add fpieee.
37116         * modules/isnanl-nolibm (Depends-on): Add fpieee.
37117         * modules/isnanl (Depends-on): Add fpieee.
37118
37119 2007-03-25  Bruno Haible  <bruno@clisp.org>
37120
37121         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
37122
37123 2007-03-25  Bruno Haible  <bruno@clisp.org>
37124
37125         Avoid test failures on IRIX 6.5.
37126         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
37127         (main): Use it.
37128         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
37129         macros.
37130         (main): Use them.
37131
37132 2007-03-25  Bruno Haible  <bruno@clisp.org>
37133
37134         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
37135         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
37136         exists but doesn't work.
37137         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
37138         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
37139         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
37140         * modules/math (Makefile.am) Substibute also REPLACE_FREXPL into math.h.
37141
37142 2007-03-25  Bruno Haible  <bruno@clisp.org>
37143
37144         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
37145         returns inf. Needed on IRIX 6.5.
37146
37147 2007-03-25  Bruno Haible  <bruno@clisp.org>
37148
37149         * tests/test-frexpl.c: Include isnanl-nolibm.h.
37150         (main): Use isnanl instead of x != x idiom.
37151         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
37152
37153         * tests/test-frexp.c: Include isnan.h.
37154         (main): Use isnan instead of x != x idiom.
37155         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
37156
37157 2007-03-25  Bruno Haible  <bruno@clisp.org>
37158
37159         * tests/test-frexp.c (NaN): New function/macro.
37160         (main): Use it instead of 0.0 / 0.0.
37161         * tests/test-isnan.c (NaN): New function/macro.
37162         (main): Use it instead of 0.0 / 0.0.
37163         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
37164         (test_function): Use it instead of 0.0 / 0.0.
37165         * tests/test-vasprintf-posix.c (NaN): New function/macro.
37166         (test_function): Use it instead of 0.0 / 0.0.
37167         * tests/test-snprintf-posix.h (NaN): New function/macro.
37168         (test_function): Use it instead of 0.0 / 0.0.
37169         * tests/test-sprintf-posix.h (NaN): New function/macro.
37170         (test_function): Use it instead of 0.0 / 0.0.
37171         * tests/test-fprintf-posix.h (NaN): New function/macro.
37172         (test_function): Use it instead of 0.0 / 0.0.
37173         * tests/test-printf-posix.h (NaN): New function/macro.
37174         (test_function): Use it instead of 0.0 / 0.0.
37175
37176         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
37177
37178 2007-03-25  Bruno Haible  <bruno@clisp.org>
37179
37180         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
37181
37182 2007-03-25  Bruno Haible  <bruno@clisp.org>
37183
37184         * lib/regexec.c (merge_state_with_log): Make static.
37185
37186 2007-03-25  Bruno Haible  <bruno@clisp.org>
37187
37188         * lib/trigl.c (kernel_rem_pio2): Make static.
37189
37190 2007-03-25  Bruno Haible  <bruno@clisp.org>
37191
37192         * lib/sincosl.c (sincosl_table): Make static.
37193
37194 2007-03-25  Bruno Haible  <bruno@clisp.org>
37195
37196         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
37197         if the compiler does not support C99.
37198
37199 2007-03-25  Bruno Haible  <bruno@clisp.org>
37200
37201         * modules/time (Makefile.am): Ensure all rule action lines start with a
37202         tab.
37203
37204 2007-03-24  Bruno Haible  <bruno@clisp.org>
37205
37206         * modules/tsearch-tests: New file.
37207         * tests/test-tsearch.sh: New file.
37208         * tests/test-tsearch.c: New file, mostly copied from glibc.
37209
37210         * modules/search-tests: New file.
37211         * tests/test-search.c: New file.
37212
37213         * modules/search: New file.
37214         * lib/search_.h: New file, incorporating lib/tsearch.h.
37215         * m4/search_h.m4: New file.
37216         * lib/tsearch.h: Remove file.
37217         * lib/tsearch.c: Include search.h instead of tsearch.h.
37218         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
37219         HAVE_TSEARCH.
37220         * modules/tsearch (Files): Remove lib/tsearch.h.
37221         (Depends-on): Add search.
37222         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
37223         (Include): Change tsearch.h into search.h.
37224
37225 2007-03-24  Bruno Haible  <bruno@clisp.org>
37226
37227         * modules/fpucw: New file.
37228         * lib/fpucw.h: New file.
37229         * lib/frexp.c: Include fpucw.h.
37230         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
37231         (FUNC): Use them.
37232         * lib/printf-frexp.c: Include fpucw.h.
37233         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
37234         (FUNC): Use them.
37235         * lib/vasnprintf.c: Include fpucw.h.
37236         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
37237         'long double' calculations.
37238         * tests/test-frexpl.c: Include fpucw.h.
37239         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
37240         * tests/test-printf-frexpl.c: Include fpucw.h.
37241         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
37242         * modules/frexpl (Depends-on): Add fpucw.
37243         * modules/printf-frexpl (Depends-on): Likewise.
37244         * modules/fprintf-posix (Depends-on): Likewise.
37245         * modules/snprintf-posix (Depends-on): Likewise.
37246         * modules/sprintf-posix (Depends-on): Likewise.
37247         * modules/vasnprintf-posix (Depends-on): Likewise.
37248         * modules/vasprintf-posix (Depends-on): Likewise.
37249         * modules/vfprintf-posix (Depends-on): Likewise.
37250         * modules/vsnprintf-posix (Depends-on): Likewise.
37251         * modules/vsprintf-posix (Depends-on): Likewise.
37252         * modules/frexpl-tests (Depends-on): Likewise.
37253         * modules/printf-frexpl-tests (Depends-on): Likewise.
37254
37255 2007-03-24  Bruno Haible  <bruno@clisp.org>
37256
37257         * lib/float+.h: New file.
37258         * lib/isnan.c: Include float+.h.
37259         (SIZE): New macro.
37260         (FUNC): Compare only SIZE bytes of the value.
37261         * lib/vasnprintf.c: Include float+.h.
37262         (VASNPRINTF): When comparing agains +0.0L or +0.0, compare only
37263         SIZEOF_LDBL or SIZEOF_DBL bytes.
37264         * modules/isnan-nolibm (Files): Add lib/float+.h.
37265         * modules/isnanl-nolibm (Files): Add lib/float+.h.
37266         * modules/isnanl (Files): Add lib/float+.h.
37267         * modules/vasnprintf (Files): Add lib/float+.h.
37268
37269 2007-03-24  Bruno Haible  <bruno@clisp.org>
37270
37271         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
37272         include isnanl-nolibm.h.
37273
37274 2007-03-24  Bruno Haible  <bruno@clisp.org>
37275
37276         * tests/test-read-file.c (main): Don't produce spurious output for
37277         expected situations. Make the test fail if it encountered unexpected
37278         results.
37279
37280 2007-03-24  Bruno Haible  <bruno@clisp.org>
37281
37282         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
37283         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
37284
37285 2007-03-24  Bruno Haible  <bruno@clisp.org>
37286
37287         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
37288
37289 2007-03-24  Bruno Haible  <bruno@clisp.org>
37290
37291         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
37292         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
37293
37294         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
37295         * modules/utf8-ucs4: Turn into a symbolic link to module
37296         unistr/u8-mbtouc.
37297
37298         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
37299         utf8-ucs4-unsafe.
37300         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
37301         unistr/u8-mbtouc-unsafe.
37302
37303         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
37304         * modules/utf16-ucs4: Turn into a symbolic link to module
37305         unistr/u16-mbtouc.
37306
37307         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
37308         utf16-ucs4-unsafe.
37309         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
37310         unistr/u16-mbtouc-unsafe.
37311
37312         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
37313         * modules/ucs4-utf8: Turn into a symbolic link to module
37314         unistr/u8-ubtomb.
37315
37316         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
37317         * modules/ucs4-utf16: Turn into a symbolic link to module
37318         unistr/u16-ubtomb.
37319
37320 2007-03-24  Bruno Haible  <bruno@clisp.org>
37321
37322         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
37323         Enable the function only if HAVE_INLINE.
37324         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
37325         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
37326         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
37327         Enable the function only if HAVE_INLINE.
37328         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
37329         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
37330         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
37331         Enable the function only if HAVE_INLINE.
37332         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
37333         Enable the function only if HAVE_INLINE.
37334         * modules/utf8-ucs4: Update.
37335         * modules/utf8-ucs4-unsafe: Update.
37336         * modules/utf16-ucs4: Update.
37337         * modules/utf16-ucs4-unsafe: Update.
37338         * modules/ucs4-utf8: Update.
37339         * modules/ucs4-utf16: Update.
37340
37341 2007-03-24  Bruno Haible  <bruno@clisp.org>
37342
37343         * lib/utf8-ucs4.h: Remove file.
37344         * lib/utf8-ucs4-unsafe.h: Remove file.
37345         * lib/utf16-ucs4.h: Remove file.
37346         * lib/utf16-ucs4-unsafe.h: Remove file.
37347         * lib/ucs4-utf8.h: Remove file.
37348         * lib/ucs4-utf16.h: Remove file.
37349         * lib/unistr.h: Include their previous contents.
37350         * m4/utf-ucs4.m4: Remove file.
37351         * m4/ucs4-utf.m4: Remove file.
37352         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
37353         (Depends-on): Add unistr/base.
37354         (configure.ac): Remove gl_UTF_UCS4.
37355         (Makefile.am): Update.
37356         (Include): Change to unistr.h.
37357         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
37358         (Depends-on): Add unistr/base.
37359         (configure.ac): Remove gl_UTF_UCS4.
37360         (Makefile.am): Update.
37361         (Include): Change to unistr.h.
37362         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
37363         (Depends-on): Add unistr/base.
37364         (configure.ac): Remove gl_UTF_UCS4.
37365         (Makefile.am): Update.
37366         (Include): Change to unistr.h.
37367         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
37368         (Depends-on): Add unistr/base.
37369         (configure.ac): Remove gl_UTF_UCS4.
37370         (Makefile.am): Update.
37371         (Include): Change to unistr.h.
37372         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
37373         (Depends-on): Add unistr/base.
37374         (configure.ac): Remove gl_UCS4_UTF.
37375         (Makefile.am): Update.
37376         (Include): Change to unistr.h.
37377         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
37378         (Depends-on): Add unistr/base.
37379         (configure.ac): Remove gl_UCS4_UTF.
37380         (Makefile.am): Update.
37381         (Include): Change to unistr.h.
37382         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
37383         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
37384         utf8-ucs4-unsafe.h.
37385         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
37386         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
37387         utf16-ucs4-unsafe.h.
37388         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
37389         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
37390         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
37391         * lib/unistr/u8-strchr.c: Likewise.
37392         * lib/unistr/u8-strrchr.c: Likewise.
37393         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
37394         * lib/unistr/u16-strchr.c: Likewise.
37395         * lib/unistr/u16-strrchr.c: Likewise.
37396         * lib/striconveh.c: Update.
37397         * lib/linebreak.c: Update.
37398
37399 2007-03-24  Bruno Haible  <bruno@clisp.org>
37400
37401         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
37402         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
37403
37404 2007-03-22  Bruno Haible  <bruno@clisp.org>
37405
37406         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
37407
37408 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
37409
37410         * MODULES.html.sh (File system functions): New module write-any-file.
37411         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
37412         * m4/write-any-file.m4: New files.
37413
37414 2007-03-23  Eric Blake  <ebb9@byu.net>
37415
37416         * gnulib-tool: Rearrange space-tab sequences, since some editors
37417         like to eat them.
37418
37419 2007-03-23  Eric Blake  <ebb9@byu.net>
37420
37421         * lib/version-etc.c (version_etc_va): Update license wording to
37422         be more concise.  Recommended by Richard Stallman.
37423
37424 2007-03-22  Bruno Haible  <bruno@clisp.org>
37425
37426         * lib/poll.c (MSG_PEEK): New fallback definition.
37427
37428 2007-03-22  Bruno Haible  <bruno@clisp.org>
37429
37430         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
37431         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
37432         (main): Update.
37433         Fixes a compilation error on BeOS.
37434
37435 2007-03-22  Bruno Haible  <bruno@clisp.org>
37436
37437         * modules/frexpl-tests: New file.
37438         * tests/test-frexpl.c: New file.
37439
37440         * modules/frexpl: New file.
37441         * m4/frexpl.m4: New file.
37442         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
37443         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
37444         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
37445         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
37446         (Depends-on): Add frexpl. Remove isnanl-nolibm.
37447         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
37448
37449 2007-03-22  Bruno Haible  <bruno@clisp.org>
37450
37451         * lib/frexpl.c: Share code with lib/frexp.c.
37452         * modules/mathl (Files): Add lib/frexp.c.
37453         (Depends-on): Add isnanl-nolibm.
37454
37455 2007-03-22  Bruno Haible  <bruno@clisp.org>
37456
37457         * modules/printf-frexp (Files): Add m4/frexp.m4.
37458         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
37459         only if the found frexp function actually works.
37460
37461 2007-03-22  Bruno Haible  <bruno@clisp.org>
37462
37463         * lib/frexp.c: Remove older implementation that uses divisions.
37464
37465 2007-03-21  Bruno Haible  <bruno@clisp.org>
37466
37467         * modules/frexp-tests: New file.
37468         * tests/test-frexp.c: New file.
37469
37470         * modules/frexp: New file.
37471         * lib/frexp.c: New file.
37472         * m4/frexp.m4: New file.
37473         * lib/math_.h (frexp): New declaration.
37474         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
37475         REPLACE_FREXP.
37476         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
37477
37478 2007-03-21  Bruno Haible  <bruno@clisp.org>
37479
37480         * modules/isnanl-tests: New file.
37481         * tests/test-isnanl.c: New file.
37482
37483         * modules/isnanl: New file.
37484         * lib/isnanl.h: New file.
37485         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
37486         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
37487         gl_FUNC_ISNANL_WORKS.
37488         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
37489         New macros.
37490
37491 2007-03-21  Bruno Haible  <bruno@clisp.org>
37492
37493         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
37494         lib/isnanl.h.
37495         (Include): Update.
37496         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
37497         * lib/vasnprintf.c: Update.
37498         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
37499         tests/test-isnanl.h, remove tests/test-isnanl.c.
37500         (Makefile.am): Update.
37501         * tests/test-isnanl-nolibm.c: New file.
37502         * tests/test-isnanl.h: New file.
37503         * tests/test-isnanl.c: Remove file.
37504
37505 2007-03-21  Jim Meyering  <jim@meyering.net>
37506
37507         When trying to open ".", treat ESTALE like EACCES.
37508         * lib/savewd.c (savewd_save): Resort to forking not just upon
37509         failure with EACCES, but also when errno is ESTALE.
37510
37511 2007-03-20  Bruno Haible  <bruno@clisp.org>
37512
37513         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
37514         Needed on AIX 5.1. Reported by Matthew Woehlke.
37515
37516 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
37517
37518         Suggestions by Bruno Haible:
37519         * lib/acl-internal.h: Include "gettext.h" rather than rolling
37520         our own.
37521         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
37522         * modules/acl (Depends-on): Add gettext.
37523
37524 2007-03-19  Bruno Haible  <bruno@clisp.org>
37525
37526         * modules/iconvme: Remove file.
37527         * lib/iconvme.h: Remove file.
37528         * lib/iconvme.c: Remove file.
37529         * m4/iconvme.m4: Remove file.
37530
37531 2007-03-19  Bruno Haible  <bruno@clisp.org>
37532
37533         * doc/relocatable-maint.texi: Break long shell script line.
37534         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
37535
37536 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
37537
37538         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
37539         handle file_has_acl.
37540         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
37541         * lib/acl.c: Move header inclusions and related macro defns into
37542         lib/acl-internal.h.
37543         (S_ISLNK): Remove defn, since that's now done for us.
37544         (file_has_acl): Move to lib/file-has-acl.c.
37545         Call acl_trivial if available.  This is the crucial part of the fix.
37546         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
37547         shared within the library.  Rewrite a bit, partly to make it compatible
37548         with the GNU coding style.
37549         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
37550         Remove unnecessary double-quotes.
37551         Don't test for acl_to_text; the build will catch that.
37552         Replace acl_entries if it doesn't exist and it is needed.
37553         Check for -lsec and acl_trivial (as used on Solaris 10).
37554         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
37555         lib/file-has-acl.c.
37556         (Depends-on): Add sys_stat, for S_ISLNK.
37557
37558 2007-03-19  Ben Pfaff  <blp@gnu.org>
37559
37560         * doc/gnulib.texi: Fix typos.
37561         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
37562
37563 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
37564
37565         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
37566         If size is zero here, buf must be zero.
37567
37568 2007-03-19  Simon Josefsson  <simon@josefsson.org>
37569
37570         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
37571         <bruno@clisp.org>.
37572
37573 2007-03-18  Bruno Haible  <bruno@clisp.org>
37574
37575         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
37576         Suggested by Eric Blake.
37577
37578 2007-03-18  Ben Pfaff  <blp@gnu.org>
37579
37580         * doc/relocatable.texi: Recommend using as prefix a directory
37581         that does not exist and will never be created.  Based on
37582         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
37583         and others.
37584
37585 2007-03-17  Bruno Haible  <bruno@clisp.org>
37586
37587         * lib/fchownat.c: Include lchown.h.
37588
37589 2007-03-17  Bruno Haible  <bruno@clisp.org>
37590
37591         Fix endless loop when the given allocated size was > INT_MAX.
37592         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
37593         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
37594         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
37595         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
37596         * lib/sprintf.c (sprintf): Likewise.
37597
37598 2007-03-17  Bruno Haible  <bruno@clisp.org>
37599
37600         * tests/test-argp-2.sh (func_compare): Output a context diff.
37601
37602 2007-03-17  Bruno Haible  <bruno@clisp.org>
37603
37604         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
37605         locale's decimal-point character.
37606
37607 2007-03-17  Bruno Haible  <bruno@clisp.org>
37608
37609         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
37610         before comparing it. Needed because on some platforms (e.g. x86) a
37611         'long double' occupies less bytes than sizeof (long double).
37612
37613 2007-03-17  Bruno Haible  <bruno@clisp.org>
37614
37615         * tests/test-crc.c (main): Make printf statements 64-bit clean.
37616         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
37617         * tests/test-getaddrinfo.c (simple): Likewise.
37618         * tests/test-read-file.c (main): Likewise.
37619
37620 2007-03-17  Bruno Haible  <bruno@clisp.org>
37621
37622         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
37623
37624 2007-03-17  Bruno Haible  <bruno@clisp.org>
37625
37626         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
37627         unused variable.
37628
37629 2007-03-17  Bruno Haible  <bruno@clisp.org>
37630
37631         * tests/test-c-strcasecmp.c: Include c-strcase.h.
37632         * tests/test-c-strncasecmp.c: Likewise.
37633
37634 2007-03-17  Bruno Haible  <bruno@clisp.org>
37635
37636         * modules/stdlib (Depends-on): Add unistd.
37637         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
37638         Needed for MacOS X 10.3.
37639
37640 2007-03-17  Bruno Haible  <bruno@clisp.org>
37641
37642         * lib/unistr/u-strdup.h: Include <stdlib.h>.
37643
37644 2007-03-17  Bruno Haible  <bruno@clisp.org>
37645
37646         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
37647
37648 2007-03-17  Bruno Haible  <bruno@clisp.org>
37649
37650         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
37651         to reflect files copied from gnulib (with or without modifications).
37652         Suggested by Jim Meyering.
37653
37654 2007-03-17  Eric Blake  <ebb9@byu.net>
37655
37656         * NEWS: Document stdlib change from 2007-02-18.
37657
37658 2007-03-17  Jim Meyering  <jim@meyering.net>
37659
37660         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
37661         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
37662         someone uses a name containing shell meta-characters.
37663         Reported by Alfred M. Szmidt.
37664
37665         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
37666
37667 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
37668
37669         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
37670         and copy gettext configuration files only if configure.ac contains
37671         a use of AM_GNU_GETTEXT_VERSION.
37672
37673 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
37674
37675         * build-aux/bootstrap (gnulib_name): New variable.
37676         (gnulib_tool_options): Use it.
37677
37678 2007-03-13  Simon Josefsson  <simon@josefsson.org>
37679
37680         * tests/test-des.c: Use new namespace.
37681
37682 2007-03-15  Bruno Haible  <bruno@clisp.org>
37683
37684         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
37685         Reported by James Youngman <jay@gnu.org>.
37686
37687 2007-03-15  Bruno Haible  <bruno@clisp.org>
37688
37689         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
37690         declared prototype. Needed with cc on OSF/1 5.1.
37691
37692 2007-03-15  Bruno Haible  <bruno@clisp.org>
37693
37694         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
37695         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
37696         (struct gl_list_implementation): Add dispose_fn argument to the
37697         'create_empty', 'create' methods.
37698         (struct gl_list_impl_base): Add field 'dispose_fn'.
37699         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
37700         argument.
37701         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
37702         dispose_fn argument.
37703         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
37704         dispose_fn on the dropped values.
37705         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
37706         dispose_fn argument.
37707         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
37708         dropped values.
37709         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
37710         (gl_tree_remove_node): Call dispose_fn on the dropped value.
37711         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
37712         (gl_tree_remove_node): Call dispose_fn on the dropped value.
37713         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
37714         argument.
37715         (gl_tree_list_free): Call dispose_fn on the dropped values.
37716         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
37717         the dropped values.
37718         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
37719         Add dispose_fn argument.
37720         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
37721         Call dispose_fn on the dropped values.
37722         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
37723         Add dispose_fn argument.
37724         (gl_sublist_create): Initialize the 'dispose_fn' field.
37725         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
37726         * tests/test-array_list.c (main): Update.
37727         * tests/test-carray_list.c (main): Update.
37728         * tests/test-avltree_list.c (main): Update.
37729         * tests/test-rbtree_list.c (main): Update.
37730         * tests/test-avltreehash_list.c (main): Update.
37731         * tests/test-rbtreehash_list.c (main): Update.
37732         * tests/test-linked_list.c (main): Update.
37733         * tests/test-linkedhash_list.c (main): Update.
37734         * tests/test-array_oset.c (main): Update.
37735
37736 2007-03-15  Bruno Haible  <bruno@clisp.org>
37737
37738         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
37739         (gl_oset_create_empty): Add dispose_fn argument.
37740         (struct gl_oset_implementation): Add dispose_fn argument to
37741         'create_empty' method.
37742         (struct gl_oset_impl_base): Add dispose_fn field.
37743         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
37744         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
37745         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
37746         values.
37747         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
37748         (gl_tree_oset_free): Call dispose_fn on the dropped values.
37749         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
37750         dropped value.
37751         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
37752         dropped value.
37753         * tests/test-array_oset.c (main): Update.
37754         * tests/test-avltree_oset.c (main): Update.
37755         * tests/test-rbtree_oset.c (main): Update.
37756         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
37757
37758 2007-03-13  Bruno Haible  <bruno@clisp.org>
37759
37760         * tests/test-stdbool.c (i): Update after last patch.
37761
37762 2007-03-12  Bruno Haible  <bruno@clisp.org>
37763
37764         * lib/quotearg.c: Include <wctype.h> early, before the definition of
37765         the iswprint macro. Needed on Solaris 2.5.1.
37766
37767 2007-03-12  Bruno Haible  <bruno@clisp.org>
37768
37769         * tests/test-printf-frexp.c (main): Declare x as volatile.
37770
37771 2007-03-12  Simon Josefsson  <simon@josefsson.org>
37772
37773         * doc/gnulib.texi (Build robot for gnulib): New section.
37774
37775 2007-03-12  Jim Meyering  <jim@meyering.net>
37776
37777         * build-aux/bootstrap: New file.
37778         * build-aux/bootstrap.conf: New file, from coreutils.
37779
37780 2007-03-11  Bruno Haible  <bruno@clisp.org>
37781
37782         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
37783
37784 2007-03-12  Simon Josefsson  <simon@josefsson.org>
37785
37786         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
37787         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
37788         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
37789
37790 2007-03-11  Bruno Haible  <bruno@clisp.org>
37791
37792         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
37793         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
37794
37795 2007-03-11  Bruno Haible  <bruno@clisp.org>
37796
37797         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
37798         formula. Needed for SunPRO C 5.0.
37799
37800 2007-03-11  Bruno Haible  <bruno@clisp.org>
37801
37802         * modules/long-options (Depends-on): Add getopt.
37803
37804 2007-03-11  Bruno Haible  <bruno@clisp.org>
37805
37806         * modules/modechange (Depends-on): Add stdbool.
37807
37808 2007-03-11  Bruno Haible  <bruno@clisp.org>
37809
37810         * modules/i-ring (Depends-on): Add stdbool.
37811
37812 2007-03-11  Bruno Haible  <bruno@clisp.org>
37813
37814         * modules/gc-des (Depends-on): Add stdbool.
37815
37816 2007-03-11  Bruno Haible  <bruno@clisp.org>
37817
37818         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
37819
37820 2007-03-11  Bruno Haible  <bruno@clisp.org>
37821
37822         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
37823
37824 2007-03-11  Bruno Haible  <bruno@clisp.org>
37825
37826         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
37827
37828 2007-03-11  Bruno Haible  <bruno@clisp.org>
37829
37830         * lib/vasnprintf.c (sprintf): Undefine.
37831
37832 2007-03-11  Bruno Haible  <bruno@clisp.org>
37833
37834         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
37835         initializers in SunPRO C and Compaq C compilers.
37836
37837 2007-03-11  Bruno Haible  <bruno@clisp.org>
37838
37839         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
37840         decrementing code ANSI C compliant.
37841
37842 2007-03-11  Bruno Haible  <bruno@clisp.org>
37843
37844         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
37845         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
37846
37847 2007-03-11  Bruno Haible  <bruno@clisp.org>
37848
37849         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
37850         <stdbool.h> substitute doesn't pass.
37851
37852 2007-03-11  Bruno Haible  <bruno@clisp.org>
37853
37854         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
37855
37856 2007-03-11  Bruno Haible  <bruno@clisp.org>
37857
37858         * gnulib-tool (func_create_megatestdir): Create also an autobuild
37859         script, for submission to autobuild.josefsson.org.
37860
37861 2007-03-10  Bruno Haible  <bruno@clisp.org>
37862
37863         * modules/canonicalize-lgpl-tests: New file.
37864         * tests/test-canonicalize-lgpl.sh: New file.
37865         * tests/test-canonicalize-lgpl.c: New file.
37866
37867         * modules/c-strcase-tests: New file.
37868         * tests/test-c-strcase.sh: New file.
37869         * tests/test-c-strcasecmp.c: New file.
37870         * tests/test-c-strncasecmp.c: New file.
37871
37872         * modules/atexit-tests: New file.
37873         * tests/test-atexit.sh: New file.
37874         * tests/test-atexit.c: New file.
37875
37876 2007-03-10  Bruno Haible  <bruno@clisp.org>
37877
37878         * tests/test-binary-io.sh: Use temporary filenames that are not so
37879         likely to clash with those of other tests (in a parallel make).
37880         * tests/test-binary-io.c: Likewise.
37881
37882 2007-03-10  Bruno Haible  <bruno@clisp.org>
37883
37884         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
37885         fallback; use #error instead.
37886         Suggested by Simon Josefsson.
37887
37888 2007-03-10  Bruno Haible  <bruno@clisp.org>
37889
37890         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
37891         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
37892         first and the last.
37893
37894 2007-03-10  Bruno Haible  <bruno@clisp.org>
37895
37896         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
37897
37898 2007-03-10  Bruno Haible  <bruno@clisp.org>
37899
37900         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
37901         "make distcheck".
37902         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
37903         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
37904         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
37905
37906 2007-03-10  Bruno Haible  <bruno@clisp.org>
37907
37908         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
37909         variable.
37910         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
37911         variable.
37912
37913 2007-03-09  Eric Blake  <ebb9@byu.net>
37914         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
37915
37916         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
37917         types are not being provided by gnulib.
37918         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
37919         types are supported.
37920
37921 2007-03-10  Bruno Haible  <bruno@clisp.org>
37922
37923         * lib/stdio_.h (__attribute__): New macro.
37924         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
37925         vsprintf): Specify __attribute__ __format__ for GCC.
37926         Suggested by Eric Blake.
37927
37928 2007-03-09  Bruno Haible  <bruno@clisp.org>
37929
37930         * modules/printf-posix-tests: New file.
37931         * tests/test-printf-posix.sh: New file.
37932         * tests/test-printf-posix.c: New file.
37933
37934         * modules/printf-posix: New file.
37935         * lib/printf.c: New file.
37936         * m4/printf-posix-rpl.m4: New file.
37937         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
37938         REPLACE_PRINTF.
37939         * lib/stdio_.h (printf): New declaration.
37940         (format, __format__, ____printf____, ____scanf____, ____strftime____,
37941         ____strfmon____): New macros.
37942         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
37943         REPLACE_PRINTF.
37944
37945 2007-03-09  Bruno Haible  <bruno@clisp.org>
37946
37947         * tests/test-vasnprintf-posix2.sh: New file.
37948         * tests/test-vasnprintf-posix2.c: New file.
37949         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
37950         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
37951         (Makefile.am): Activate test-vasnprintf-posix2.sh.
37952
37953         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
37954         a locale dependent decimal point, rather than always '.'.
37955
37956 2007-03-09  Eric Blake  <ebb9@byu.net>
37957
37958         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
37959         spite of platforms like Tandem/NSK that define it to -1.
37960
37961 2007-03-08  Bruno Haible  <bruno@clisp.org>
37962
37963         * modules/vprintf-posix-tests: New file.
37964         * tests/test-vprintf-posix.sh: New file.
37965         * tests/test-vprintf-posix.c: New file.
37966         * tests/test-printf-posix.h: New file.
37967
37968         * modules/vprintf-posix: New file.
37969         * lib/vprintf.c: New file.
37970         * m4/vprintf-posix.m4: New file.
37971         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
37972         REPLACE_VPRINTF.
37973         * lib/stdio_.h (vprintf): New declaration.
37974         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
37975         REPLACE_VPRINTF.
37976
37977 2007-03-08  Bruno Haible  <bruno@clisp.org>
37978
37979         * modules/fprintf-posix-tests: New file.
37980         * tests/test-fprintf-posix.sh: New file.
37981         * tests/test-fprintf-posix.c: New file.
37982
37983         * modules/fprintf-posix: New file.
37984         * lib/fprintf.c: New file.
37985         * m4/fprintf-posix.m4: New file.
37986         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
37987         REPLACE_FPRINTF.
37988         * lib/stdio_.h (fprintf): New declaration.
37989         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
37990         REPLACE_FPRINTF.
37991
37992 2007-03-08  Bruno Haible  <bruno@clisp.org>
37993
37994         * modules/vfprintf-posix-tests: New file.
37995         * tests/test-vfprintf-posix.sh: New file.
37996         * tests/test-vfprintf-posix.c: New file.
37997         * tests/test-fprintf-posix.h: New file.
37998         * tests/test-fprintf-posix.out: New file.
37999
38000         * modules/vfprintf-posix: New file.
38001         * lib/vfprintf.c: New file.
38002         * m4/vfprintf-posix.m4: New file.
38003         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
38004         REPLACE_VFPRINTF.
38005         * lib/stdio_.h (vfprintf): New declaration.
38006         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
38007         REPLACE_VFPRINTF.
38008
38009 2007-03-08  Bruno Haible  <bruno@clisp.org>
38010
38011         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
38012
38013 2007-03-08  Bruno Haible  <bruno@clisp.org>
38014
38015         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
38016         instead of 'expr' invocations.
38017         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
38018         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
38019         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
38020         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
38021         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
38022         Suggested by Paul Eggert.
38023
38024 2007-03-08  Bruno Haible  <bruno@clisp.org>
38025
38026         * modules/fseterr-tests: New file.
38027         * tests/test-fseterr.c: New file.
38028
38029         * modules/fseterr: New file.
38030         * lib/fseterr.h: New file.
38031         * lib/fseterr.c: New file.
38032
38033 2007-03-08  Bruno Haible  <bruno@clisp.org>
38034
38035         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
38036         * lib/getopt_.h: Likewise.
38037         * lib/mbswidth.h: Likewise.
38038         * lib/setenv.h: Likewise.
38039         * lib/vasnprintf.h: Likewise.
38040         * lib/vasprintf.h: Likewise.
38041         * lib/verror.h: Likewise.
38042         * lib/xsetenv.h: Likewise.
38043         * lib/xvasprintf.h: Likewise.
38044
38045 2007-03-08  Jim Meyering  <jim@meyering.net>
38046
38047         * users.txt: Add parted.
38048
38049         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
38050
38051 2007-03-07  Bruno Haible  <bruno@clisp.org>
38052
38053         * m4/printf.m4: Make the shell script snippets copy&pastable.
38054
38055 2007-03-02  Bruno Haible  <bruno@clisp.org>
38056
38057         * lib/netinet_in_.h: New file.
38058         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
38059         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
38060         * modules/netinet_in (Files): Add lib/netinet_in_.h.
38061         (Depends-on): Add absolute-header.
38062         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
38063         into netinet/in.h.
38064
38065 2007-03-03  Bruno Haible  <bruno@clisp.org>
38066
38067         * lib/sys_select_.h: New file.
38068         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
38069         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
38070         * modules/sys_select (Files): Add lib/sys_select_.h.
38071         (Depends-on): Add absolute-header.
38072         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
38073         into sys/select.h.
38074
38075 2007-03-02  Bruno Haible  <bruno@clisp.org>
38076
38077         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
38078         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
38079         values.
38080         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
38081         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
38082         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
38083         * modules/sys_socket (Depends-on): Add absolute-header.
38084         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
38085         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
38086         (Include): Remove requirement of inclusion of <sys/types.h>.
38087
38088 2007-03-02  Bruno Haible  <bruno@clisp.org>
38089
38090         * lib/byteswap_.h (bswap_32): Fix formula.
38091
38092 2007-03-06  Bruno Haible  <bruno@clisp.org>
38093
38094         * modules/sprintf-posix-tests: New file.
38095         * tests/test-sprintf-posix.c: New file.
38096
38097         * modules/sprintf-posix: New file.
38098         * lib/sprintf.c: New file.
38099         * m4/sprintf-posix.m4: New file.
38100         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
38101         REPLACE_SPRINTF.
38102         * lib/stdio_.h (sprintf): New declaration.
38103         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
38104         REPLACE_SPRINTF.
38105
38106 2007-03-06  Bruno Haible  <bruno@clisp.org>
38107
38108         * modules/vsprintf-posix-tests: New file.
38109         * tests/test-vsprintf-posix.c: New file.
38110         * tests/test-sprintf-posix.h: New file.
38111
38112         * modules/vsprintf-posix: New file.
38113         * lib/vsprintf.c: New file.
38114         * m4/vsprintf-posix.m4: New file.
38115         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
38116         REPLACE_VSPRINTF.
38117         * lib/stdio_.h (vsprintf): New declaration.
38118         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
38119         REPLACE_VSPRINTF.
38120
38121 2007-03-06  Bruno Haible  <bruno@clisp.org>
38122
38123         * modules/vsnprintf (Depend-on): Remove minmax.
38124
38125 2007-03-06  Bruno Haible  <bruno@clisp.org>
38126
38127         * modules/snprintf-posix-tests: New file.
38128         * tests/test-snprintf-posix.c: New file.
38129
38130         * modules/snprintf-posix: New file.
38131         * m4/snprintf-posix.m4: New file.
38132         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
38133         gl_FUNC_SNPRINTF.
38134         (gl_FUNC_SNPRINTF): Invoke it.
38135         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
38136         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
38137         is set.
38138         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
38139
38140 2007-03-06  Bruno Haible  <bruno@clisp.org>
38141
38142         * modules/vsnprintf-posix-tests: New file.
38143         * tests/test-vsnprintf-posix.c: New file.
38144         * tests/test-snprintf-posix.h: New file.
38145
38146         * modules/vsnprintf-posix: New file.
38147         * m4/vsnprintf-posix.m4: New file.
38148         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
38149         gl_FUNC_VSNPRINTF.
38150         (gl_FUNC_VSNPRINTF): Invoke it.
38151         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
38152         * lib/stdio_.h (vsnprintf): Define as a replacement if
38153         REPLACE_VSNPRINTF is set.
38154         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
38155
38156 2007-03-06  Bruno Haible  <bruno@clisp.org>
38157
38158         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
38159         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
38160
38161 2007-03-06  Bruno Haible  <bruno@clisp.org>
38162
38163         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
38164         (asinl): Declare also if HAVE_DECL_ASINL is set.
38165         (atanl): Declare also if HAVE_DECL_ATANL is set.
38166         (ceill): Declare also if HAVE_DECL_CEILL is set.
38167         (cosl): Declare also if HAVE_DECL_COSL is set.
38168         (expl): Declare also if HAVE_DECL_EXPL is set.
38169         (floorl): Declare also if HAVE_DECL_FLOORL is set.
38170         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
38171         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
38172         (logl): Declare also if HAVE_DECL_LOGL is set.
38173         (sinl): Declare also if HAVE_DECL_SINL is set.
38174         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
38175         (tanl): Declare also if HAVE_DECL_TANL is set.
38176         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
38177         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
38178         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
38179         declaration of frexpl, ldexpl.
38180         * modules/printf-frexpl (Depends-on): Add math.
38181         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
38182
38183 2007-03-05  Bruno Haible  <bruno@clisp.org>
38184
38185         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
38186         frexpl and ldexpl are declared.
38187         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
38188
38189 2007-03-05  Bruno Haible  <bruno@clisp.org>
38190
38191         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
38192         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
38193
38194 2007-03-05  Bruno Haible  <bruno@clisp.org>
38195
38196         * lib/stdio_.h: Include <stddef.h>.
38197
38198 2007-03-05  Bruno Haible  <bruno@clisp.org>
38199
38200         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
38201
38202 2007-03-05  Bruno Haible  <bruno@clisp.org>
38203
38204         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
38205         NetBSD 4, from Ralf Wildenhues.
38206
38207 2007-03-04  Bruno Haible  <bruno@clisp.org>
38208
38209         * lib/vasprintf.h: Update #if logic for the case when the functions
38210         exist but are overridden.
38211
38212 2007-03-04  Bruno Haible  <bruno@clisp.org>
38213
38214         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
38215         implementations: glibc-2.4 and MacOS X 10.3.
38216         * tests/test-vasnprintf-posix.c (test_function): Test also the case
38217         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
38218         * tests/test-vasprintf-posix.c (test_function): Likewise.
38219
38220 2007-03-04  Bruno Haible  <bruno@clisp.org>
38221
38222         * modules/vasprintf-posix-tests: New file.
38223         * tests/test-vasprintf-posix.c: New file.
38224
38225         * modules/vasprintf-posix: New file.
38226         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
38227         defined.
38228         * m4/vasprintf-posix.m4: New file.
38229         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
38230         gl_FUNC_VASPRINTF.
38231         (gl_FUNC_VASPRINTF): Invoke it.
38232         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
38233         here.
38234         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
38235
38236 2007-03-04  Bruno Haible  <bruno@clisp.org>
38237
38238         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
38239         REPLACE_GETTIMEOFDAY.
38240         * modules/sys_time (Makefile.am): Likewise.
38241         * m4/sys_time_h.m4: Likewise.
38242         * m4/gettimeofday.m4: Likewise.
38243
38244 2007-03-04  Bruno Haible  <bruno@clisp.org>
38245
38246         * modules/vasnprintf-posix-tests: New file.
38247         * tests/test-vasnprintf-posix.c: New file.
38248
38249         * modules/vasnprintf-posix: New file.
38250         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
38251         printf-frexpl.h.
38252         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
38253         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
38254         REPLACE_VASNPRINTF is defined.
38255         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
38256         gl_FUNC_VASNPRINTF.
38257         (gl_FUNC_VASNPRINTF): Invoke it.
38258         * m4/vasnprintf-posix.m4: New file.
38259         * m4/printf.m4: New file.
38260
38261 2007-03-04  Bruno Haible  <bruno@clisp.org>
38262
38263         Compile progreloc.c only if --enable-relocatable is specified.
38264         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
38265         if --enable-relocatable was specified.
38266         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
38267         lib_SOURCES.
38268
38269 2007-03-04  Jim Meyering  <jim@meyering.net>
38270
38271         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
38272         Use it consistently, rather than enumerating errno constants.
38273
38274 2007-03-04  Bruno Haible  <bruno@clisp.org>
38275
38276         * modules/xvasprintf-tests: New file.
38277         * tests/test-xvasprintf.c: New file.
38278
38279         * modules/vasprintf-tests: New file.
38280         * tests/test-vasprintf.c: New file.
38281
38282         * modules/vasnprintf-tests: New file.
38283         * tests/test-vasnprintf.c: New file.
38284
38285         * modules/vsnprintf-tests: New file.
38286         * tests/test-vsnprintf.c: New file.
38287
38288         * modules/snprintf-tests: New file.
38289         * tests/test-snprintf.c: New file.
38290
38291 2007-03-04  Bruno Haible  <bruno@clisp.org>
38292
38293         Compile relocatable.c only if --enable-relocatable is specified.
38294         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
38295         gl_RELOCATABLE_LIBRARY.
38296         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
38297         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
38298         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
38299         gl_RELOCATABLE_LIBRARY.
38300         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
38301         (Makefile.am): Remove lib_SOURCES.
38302         * modules/relocatable-lib-lgpl (configure.ac): Invoke
38303         gl_RELOCATABLE_LIBRARY.
38304         (Makefile.am): Remove lib_SOURCES.
38305         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
38306         always.
38307         * modules/relocatable-prog-wrapper (configure.ac): Invoke
38308         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
38309
38310 2007-03-04  Bruno Haible  <bruno@clisp.org>
38311
38312         * modules/argmatch-tests: New file.
38313         * tests/test-argmatch.c: New file.
38314
38315         * tests/test-allocsa.c (main): Halve the number of loop runs.
38316
38317         * modules/alloca-opt-tests: New file.
38318         * tests/test-alloca-opt.c: New file.
38319
38320 2007-03-04  Jim Meyering  <jim@meyering.net>
38321
38322         Work around difference between Linux ACLs and Solaris 10 ZFS.
38323         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
38324         for EINVAL.
38325
38326 2007-03-03  Bruno Haible  <bruno@clisp.org>
38327
38328         * modules/relocatable-prog (Depends-on): Add back progreloc's
38329         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
38330
38331 2007-03-03  Bruno Haible  <bruno@clisp.org>
38332
38333         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
38334         * modules/relocatable-lib: New file.
38335
38336 2007-03-03  Bruno Haible  <bruno@clisp.org>
38337
38338         * modules/relocatable-prog: Renamed from modules/relocatable.
38339         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
38340
38341 2007-03-03  Bruno Haible  <bruno@clisp.org>
38342
38343         * modules/relocatable-script (Files): Add doc/relocatable.texi,
38344         m4/relocatable-lib.m4.
38345         (Depends-on): Remove 'relocatable'.
38346         (configure.ac): Add gl_RELOCATABLE_NOP.
38347
38348 2007-03-03  Bruno Haible  <bruno@clisp.org>
38349
38350         * modules/relocatable-prog-wrapper: New file.
38351         * modules/relocatable (Depends-on): Add it. Remove all other
38352         dependencies except progname.
38353         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
38354
38355         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
38356         (gl_FUNC_STRERROR): Nop.
38357         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
38358
38359         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
38360         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
38361
38362         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
38363         (gl_FUNC_READLINK): Update.
38364
38365         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
38366
38367 2007-03-03  Bruno Haible  <bruno@clisp.org>
38368
38369         * lib/xreadlink.c: Include <unistd.h> unconditionally.
38370         * modules/xreadlink (Depends-on): Add unistd.
38371         * modules/xreadlink-with-size (Depends-on): Likewise.
38372
38373 2007-03-03  Bruno Haible  <bruno@clisp.org>
38374
38375         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
38376         extracted from gt_FUNC_SETENV.
38377         (gt_FUNC_SETENV): Remove macro.
38378         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
38379         remove gt_FUNC_SETENV.
38380
38381 2007-03-03  Bruno Haible  <bruno@clisp.org>
38382
38383         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
38384         ENABLE_RELOCATABLE here.
38385         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
38386
38387 2007-03-03  Bruno Haible  <bruno@clisp.org>
38388
38389         * modules/rbtreehash-list-tests (Depends-on): Add progname.
38390         * tests/test-rbtreehash_list.c: Include progname.h.
38391         (main): Call set_program_name.
38392
38393         * modules/rbtree-oset-tests (Depends-on): Add progname.
38394         * tests/test-rbtree_oset.c: Include progname.h.
38395         (main): Call set_program_name.
38396
38397         * modules/rbtree-list-tests (Depends-on): Add progname.
38398         * tests/test-rbtree_list.c: Include progname.h.
38399         (main): Call set_program_name.
38400
38401         * modules/linked-list-tests (Depends-on): Add progname.
38402         * tests/test-linked_list.c: Include progname.h.
38403         (main): Call set_program_name.
38404
38405 2007-03-03  Bruno Haible  <bruno@clisp.org>
38406
38407         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
38408         All uses of __restrict changed to _Restrict_.
38409         * lib/glob_.h (__restrict): Remove macro.
38410
38411 2007-03-02  Bruno Haible  <bruno@clisp.org>
38412
38413         * modules/gettext (configure.ac): Require gettext infrastructure
38414         from version 0.16.1.
38415
38416 2007-03-02  Bruno Haible  <bruno@clisp.org>
38417
38418         * modules/linkedhash-list-tests (Depends-on): Add progname.
38419         * tests/test-linkedhash_list.c: Include progname.h.
38420         (main): Call set_program_name.
38421
38422         * modules/carray-list-tests (Depends-on): Add progname.
38423         * tests/test-carray_list.c: Include progname.h.
38424         (main): Call set_program_name.
38425
38426         * modules/avltreehash-list-tests (Depends-on): Add progname.
38427         * tests/test-avltreehash_list.c: Include progname.h.
38428         (main): Call set_program_name.
38429
38430         * modules/avltree-oset-tests (Depends-on): Add progname.
38431         * tests/test-avltree_oset.c: Include progname.h.
38432         (main): Call set_program_name.
38433
38434         * modules/avltree-list-tests (Depends-on): Add progname.
38435         * tests/test-avltree_list.c: Include progname.h.
38436         (main): Call set_program_name.
38437
38438         * modules/array-oset-tests (Depends-on): Add progname.
38439         * tests/test-array_oset.c: Include progname.h.
38440         (main): Call set_program_name.
38441
38442         * modules/array-list-tests (Depends-on): Add progname.
38443         * tests/test-array_list.c: Include progname.h.
38444         (main): Call set_program_name.
38445
38446         * modules/argp-tests (Depends-on): Add progname.
38447         * tests/test-argp.c: Include argp.h first. Include progname.h.
38448         (main): Call set_program_name.
38449
38450 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
38451
38452         * doc/gnulib-tool.texi (Initial import): Reword description of
38453         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
38454         limited effect even if defined after the first system include.
38455
38456 2007-03-01  Bruno Haible  <bruno@clisp.org>
38457
38458         * build-aux/config.libpath: Update to libtool-1.5.22.
38459         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
38460
38461 2007-03-01  Bruno Haible  <bruno@clisp.org>
38462
38463         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
38464         foo_CFLAGS.
38465         Reported by Ralf Wildenhues.
38466
38467 2007-03-01  Bruno Haible  <bruno@clisp.org>
38468
38469         * build-aux/install-reloc: Remove object files left over by some
38470         compilers.
38471         Reported by Ralf Wildenhues.
38472
38473 2007-03-01  Bruno Haible  <bruno@clisp.org>
38474
38475         * build-aux/install-reloc: Break long lines.
38476
38477 2007-03-01  Bruno Haible  <bruno@clisp.org>
38478
38479         * doc/relocatable.texi: Document that it may not work on OpenBSD.
38480         Reported by Ralf Wildenhues.
38481
38482 2007-03-01  Bruno Haible  <bruno@clisp.org>
38483
38484         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
38485         include ordering constraints.
38486
38487 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
38488
38489         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
38490         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00136.html>.
38491         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
38492         as another example.
38493         * lib/time_.h: Fix misspelling.
38494         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
38495         Require gl_HEADER_TIME_H_DEFAULTS.
38496         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
38497         * m4/time_r.m4 (gl_TIME_R): Likewise.
38498         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
38499
38500 2007-03-01  Bruno Haible  <bruno@clisp.org>
38501
38502         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
38503         * m4/utimens.m4 (gl_UTIMENS): Likewise.
38504
38505 2007-03-01  Jim Meyering  <jim@meyering.net>
38506
38507         * modules/xreadlink (Maintainer): Add my name.
38508         * modules/xreadlink-with-size (Depends-on): Alphabetize.
38509
38510 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
38511             Bruno Haible  <bruno@clisp.org>
38512
38513         * build-aux/install-reloc: Compile also c-ctype.c.
38514         * build-aux/relocatable.sh.in: New file.
38515         * doc/relocatable.texi: New file.
38516         * doc/relocatable-maint.texi: New file.
38517         * doc/gnulib.texi: Include relocatable-maint.texi.
38518         * lib/progreloc.c: Include unistd.h unconditionally.
38519         * lib/relocwrapper.c: Include unistd.h unconditionally.
38520         Include c-ctype.h.
38521         (add_dotbin): Use c_tolower.
38522         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
38523         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
38524         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
38525         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
38526         to m4/relocatable-lib.m4.
38527         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
38528         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
38529         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
38530         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
38531         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
38532         * modules/relocatable: New file.
38533         * modules/relocatable-lib: New file.
38534         * modules/relocatable-script: New file.
38535
38536 2007-02-28  Bruno Haible  <bruno@clisp.org>
38537
38538         Import --enable-relocatable infrastructure.
38539         * build-aux/config.libpath: New file, from GNU gettext.
38540         * build-aux/install-reloc: New file, from GNU gettext.
38541         * build-aux/reloc-ldflags: New file, from GNU gettext.
38542         * lib/relocatable.h: New file, from GNU gettext.
38543         * lib/relocatable.c: New file, from GNU gettext.
38544         * lib/relocwrapper.c: New file, from GNU gettext.
38545         * m4/relocatable.m4: New file, from GNU gettext.
38546
38547 2007-02-28  Bruno Haible  <bruno@clisp.org>
38548
38549         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
38550
38551         * modules/xreadlink: New file, from GNU gettext with modifications.
38552         * lib/xreadlink.c: New file, from GNU gettext.
38553         * lib/xreadlink.h: Add comments.
38554         (xreadlink): New declaration.
38555
38556         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
38557         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
38558         lib/xreadlink-with-size.c.
38559         (configure.ac): Remove gl_XREADLINK invocation.
38560         (Makefile.am): Augment lib_SOURCES.
38561         * m4/xreadlink.m4: Remove file.
38562         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
38563         (xreadlink_with_size): Renamed from xreadink.
38564         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
38565         * modules/canonicalize (Depends-on): Replace xreadlink with
38566         xreadlink-with-size.
38567         * lib/canonicalize.c (canonicalize_filename_mode): Update.
38568
38569 2007-02-25  Jim Meyering  <jim@meyering.net>
38570
38571         * build-aux/announce-gen: When complaining about excess arguments,
38572         list them.
38573
38574 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
38575
38576         * README: Document signed integer overflow situation more
38577         accurately.
38578
38579 2007-02-25  Bruno Haible  <bruno@clisp.org>
38580
38581         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
38582         'a' or 'A' conversion.
38583
38584 2007-02-25  Bruno Haible  <bruno@clisp.org>
38585
38586         * modules/filename: Renamed from modules/pathname.
38587         (Files): Replace lib/pathname.h with lib/filename.h. Replace
38588         lib/concatpath.c with lib/concat-filename.c.
38589         (Makefile.am): Update.
38590         (Include): Replace pathname.h with filename.h.
38591         * lib/filename.h: Renamed from lib/pathname.h.
38592         (concatenated_filename): Renamed from concatenated_pathname.
38593         * lib/concat-filename.c: Renamed from lib/concatpath.c.
38594         (concatenated_filename): Renamed from concatenated_pathname.
38595         * lib/findprog.c: Include filename.h instead of pathname.h.
38596         (find_in_path): Update.
38597         * lib/javacomp.c: Include filename.h instead of pathname.h.
38598         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
38599         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
38600         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
38601         is_oldgcj_14_13_usable, is_javac_usable): Update.
38602         * lib/javaexec.c: Include filename.h instead of pathname.h.
38603         (execute_java_class): Update.
38604         * modules/findprog: Update.
38605         * modules/javacomp: Update.
38606         * modules/javaexec: Update.
38607         * MODULES.html.sh (File system functions): Add 'filename', remove
38608         'pathname'.
38609
38610 2007-02-25  Bruno Haible  <bruno@clisp.org>
38611
38612         * modules/printf-frexpl-tests: New file.
38613         * tests/test-printf-frexpl.c: New file.
38614
38615         * modules/printf-frexpl: New file.
38616         * lib/printf-frexpl.h: New file.
38617         * lib/printf-frexpl.c: New file.
38618         * m4/printf-frexpl.m4: New file.
38619
38620 2007-02-25  Bruno Haible  <bruno@clisp.org>
38621
38622         * modules/printf-frexp-tests: New file.
38623         * tests/test-printf-frexp.c: New file.
38624
38625         * modules/printf-frexp: New file.
38626         * lib/printf-frexp.h: New file.
38627         * lib/printf-frexp.c: New file.
38628         * m4/printf-frexp.m4: New file.
38629
38630 2007-02-25  Bruno Haible  <bruno@clisp.org>
38631
38632         Assume automake >= 1.10 for the tests.
38633         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
38634         * modules/arctwo-tests: Likewise.
38635         * modules/argp-tests: Likewise.
38636         * modules/avltree-list-tests: Likewise.
38637         * modules/avltree-oset-tests: Likewise.
38638         * modules/avltreehash-list-tests: Likewise.
38639         * modules/carray-list-tests: Likewise.
38640         * modules/crc-tests: Likewise.
38641         * modules/des-tests: Likewise.
38642         * modules/gc-arcfour-tests: Likewise.
38643         * modules/gc-arctwo-tests: Likewise.
38644         * modules/gc-des-tests: Likewise.
38645         * modules/gc-hmac-md5-tests: Likewise.
38646         * modules/gc-hmac-sha1-tests: Likewise.
38647         * modules/gc-md2-tests: Likewise.
38648         * modules/gc-md4-tests: Likewise.
38649         * modules/gc-md5-tests: Likewise.
38650         * modules/gc-pbkdf2-sha1-tests: Likewise.
38651         * modules/gc-rijndael-tests: Likewise.
38652         * modules/gc-sha1-tests: Likewise.
38653         * modules/gc-tests: Likewise.
38654         * modules/getaddrinfo-tests: Likewise.
38655         * modules/hmac-md5-tests: Likewise.
38656         * modules/hmac-sha1-tests: Likewise.
38657         * modules/linked-list-tests: Likewise.
38658         * modules/linkedhash-list-tests: Likewise.
38659         * modules/lock-tests: Likewise.
38660         * modules/md2-tests: Likewise.
38661         * modules/md4-tests: Likewise.
38662         * modules/md5-tests: Likewise.
38663         * modules/rbtree-list-tests: Likewise.
38664         * modules/rbtree-oset-tests: Likewise.
38665         * modules/rbtreehash-list-tests: Likewise.
38666         * modules/read-file-tests: Likewise.
38667         * modules/rijndael-tests: Likewise.
38668         * modules/stdint-tests: Likewise.
38669         * modules/tls-tests: Likewise.
38670
38671 2007-02-24  Bruno Haible  <bruno@clisp.org>
38672
38673         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
38674         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
38675         function; instead check whether isnan with a double argument links.
38676         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
38677         function; instead check whether isnan with a 'long double' argument
38678         links.
38679         Reported by Eric Blake <ebb9@byu.net>.
38680
38681 2007-02-24  Bruno Haible  <bruno@clisp.org>
38682
38683         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
38684         defined.
38685         * lib/isnanl.c: Remove all code. Just include isnan.c.
38686         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
38687
38688 2007-02-25  Jim Meyering  <jim@meyering.net>
38689
38690         Avoid conflicting types for 'unsetenv' on FreeBSD.
38691         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
38692         conflicting with FreeBSD's (5.0 and 6.1) function declaration
38693         in stdlib.h.
38694
38695 2007-02-24  Bruno Haible  <bruno@clisp.org>
38696
38697         * modules/isnanl-nolibm-tests: New file.
38698         * tests/test-isnanl.c: New file.
38699
38700         * modules/isnanl-nolibm: New file.
38701         * lib/isnanl.h: New file.
38702         * lib/isnanl.c: New file.
38703         * m4/isnanl.m4: New file.
38704
38705 2007-02-24  Bruno Haible  <bruno@clisp.org>
38706
38707         * modules/isnan-nolibm-tests: New file.
38708         * tests/test-isnan.c: New file.
38709
38710         * modules/isnan-nolibm: New file.
38711         * lib/isnan.h: New file.
38712         * lib/isnan.c: New file.
38713         * m4/isnan.m4: New file.
38714
38715 2007-02-24  Bruno Haible  <bruno@clisp.org>
38716
38717         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
38718         assume that an exponent fits in 20 bits.
38719
38720 2007-02-24  Jim Meyering  <jim@meyering.net>
38721
38722         * m4/regex.m4: Update the description of the configure-time option,
38723         --without-included-regex, to state accurately what the defaults are,
38724         and perhaps to give people an idea why using this option is risky.
38725
38726 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
38727
38728         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
38729         loops on small arguments.  This attempts to avoid the problem
38730         Bruno Haible reported for AIX 4.3.2 in
38731         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>.
38732
38733 2007-02-23  Bruno Haible  <bruno@clisp.org>
38734
38735         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
38736         Needed for help2man.
38737
38738 2007-02-23  Karl Berry  <karl@gnu.org>
38739
38740         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
38741         exists, foo.h should be cvs-ignored, not committed.
38742
38743 2007-02-23  Eric Blake  <ebb9@byu.net>
38744
38745         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
38746         * lib/stat-time.h (includes): Likewise.
38747         * lib/utimecmp.c (includes): Likewise.
38748         * lib/utimens.h (includes): Likewise.
38749         * lib/getdate.y (includes): Also include "timespec.h" for use
38750         internal to the module.
38751         * modules/utimens (Depends-on): Revert yesterday's patch.
38752         * modules/nanosleep (Depends-on): Add missing dependency.
38753
38754 2007-02-22  Bruno Haible  <bruno@clisp.org>
38755
38756         * lib/glob.c: Don't include getlogin_r.h.
38757
38758 2007-02-22  Jim Meyering  <jim@meyering.net>
38759
38760         * modules/utimens (Depends-on): Add timespec, required for
38761         utimens.h's inclusion of timespec.h.
38762
38763 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
38764
38765         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
38766         long unreadable paths in GNU/Linux.  Problem reported by Andreas
38767         Schwab in
38768         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>.
38769         I'll try to think of a better way to fix the Solaris problem.
38770
38771         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
38772         like glibc; on Solaris 10, it fails with errno == EINVAL.
38773         POSIX says the behavior is unspecified if the first argument is NULL,
38774         so play it safe and never pass NULL to the system getcwd.
38775
38776 2007-02-21  Jim Meyering  <jim@meyering.net>
38777
38778         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
38779         of gettimeofday.  It would conflict with the one now always
38780         provided via sys_time_.h.  Reported by Matthew Woehlke, as
38781         an IRIX 6.5 build failure.
38782
38783 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
38784
38785         Minor fixups to port to Solaris 10 with Sun C 5.8.
38786         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
38787         * modules/getcwd (Depends-on): Add dirfd.
38788         * lib/putenv.c (putenv): #undef it.
38789         (rpl_putenv): New decl.
38790         (malloc, free): Include <stdlib.h> rather than prototyping separately.
38791
38792 2007-02-20  Bruno Haible  <bruno@clisp.org>
38793
38794         * modules/stdio-tests: New file.
38795         * tests/test-stdio.c: New file.
38796
38797         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
38798         (Depends-on): Add stdio.
38799         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
38800         (Include): Use <stdio.h> instead of vsnprintf.h.
38801         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
38802         HAVE_DECL_VSNPRINTF.
38803         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
38804
38805         * modules/snprintf (Files): Remove lib/snprintf.h.
38806         (Depends-on): Add stdio.
38807         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
38808         (Include): Use <stdio.h> instead of snprintf.h.
38809         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
38810         HAVE_DECL_SNPRINTF.
38811         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
38812         * lib/getaddrinfo.c: Likewise.
38813
38814         * modules/stdio: New file.
38815         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
38816         * lib/snprintf.h: Remove file.
38817         * lib/vsnprintf.h: Remove file.
38818         * lib/.cppi-disable: Remove snprintf.h.
38819         * m4/stdio_h.m4: New file.
38820         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
38821
38822 2007-02-20  Jim Meyering  <jim@meyering.net>
38823
38824         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
38825         used by e.g., mingw.  From Bruno Haible.
38826
38827 2007-02-19  Bruno Haible  <bruno@clisp.org>
38828
38829         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
38830         warnings.
38831         Reported by Ben Pfaff <blp@cs.stanford.edu>.
38832
38833 2007-02-19  Bruno Haible  <bruno@clisp.org>
38834
38835         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
38836         from mingw users.
38837
38838 2007-02-19  Bruno Haible  <bruno@clisp.org>
38839
38840         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
38841         warnings.
38842         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
38843
38844 2007-02-19  Jim Meyering  <jim@meyering.net>
38845
38846         Don't use FD after a successful "fdopendir (fd)".
38847         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
38848         Reset it by calling dirfd on the just-obtained DIR*.
38849
38850         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
38851         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
38852
38853 2007-02-18  Bruno Haible  <bruno@clisp.org>
38854
38855         * lib/readlink.c: Include <unistd.h>.
38856         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
38857         HAVE_READLINK.
38858         * modules/readlink (Depends-on): Add unistd.
38859         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
38860         (Include): Add <unistd.h>.
38861
38862         * lib/getlogin_r.h: Remove file.
38863         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
38864         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
38865         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
38866         HAVE_DECL_GETLOGIN_R.
38867         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
38868         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
38869         (Include): Use <unistd.h> instead of getlogin_r.h.
38870
38871         * lib/getcwd.h: Remove file.
38872         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
38873         * lib/xgetcwd.c: Likewise.
38874         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
38875         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
38876         * modules/getcwd (Files): Remove lib/getcwd.h.
38877         (Depends-on): Add unistd.
38878         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
38879         (Include): Use <unistd.h> instad of getcwd.h.
38880
38881         * lib/ftruncate.c: Include <unistd.h> first.
38882         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
38883         Set HAVE_FTRUNCATE.
38884         * modules/ftruncate (Depends-on): Add unistd.
38885         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
38886
38887         * lib/fchdir.c: Include <unistd.h> first.
38888         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
38889         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
38890         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
38891         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
38892         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
38893
38894         * lib/dup2.c: Include <unistd.h> first.
38895         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
38896         HAVE_DUP2.
38897         * modules/dup2 (Depends-on): Add unistd.
38898         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
38899
38900         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
38901         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
38902         REPLACE_CHOWN. Don't define chown as a macro here.
38903         * modules/chown (Depends-on): Add unistd.
38904         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
38905
38906         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
38907         Add definition for GL_LINK_WARNING.
38908         (chown, dup2): New declarations.
38909         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
38910         link warning.
38911         (ftruncate): New declaration.
38912         (getcwd): New declaration, taken from old getcwd.h.
38913         (getlogin_r): New declaration, taken from old getlogin_r.h.
38914         (readlink): New declaration.
38915         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
38916         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
38917         (gl_PREREQ_UNISTD): Remove macro.
38918         (gl_UNISTD_MODULE_INDICATOR): New macro.
38919         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
38920         many new variables. Don't set UNISTD_H.
38921         * modules/unistd (Description): Change.
38922         (Depends-on): Add link-warning.
38923         (configure.ac): Update.
38924         (Makefile.am): Create unistd.h always. Substitute many new variables
38925         into it.
38926
38927 2007-02-18  Bruno Haible  <bruno@clisp.org>
38928
38929         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
38930         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
38931         HAVE_GETSUBOPT.
38932         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
38933         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
38934         * lib/getsubopt.h: Remove file.
38935         * modules/getsubopt (Files): Remove lib/getsubopt.h.
38936         (Depends-on): Add stdlib.
38937         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
38938         (Includes): Use <stdlib.h> instead of getsubopt.h.
38939         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
38940         Set HAVE_GETSUBOPT.
38941         * lib/getsubopt.c: Don't include getsubopt.h.
38942
38943 2007-02-18  Bruno Haible  <bruno@clisp.org>
38944
38945         * modules/fchdir (Depends-on): Add dup2.
38946
38947 2007-02-18  Bruno Haible  <bruno@clisp.org>
38948
38949         * lib/stdlib_.h: Handle glibc's special invocation convention
38950         specially.
38951
38952 2007-02-18  Bruno Haible  <bruno@clisp.org>
38953
38954         * modules/stdlib-tests: New file.
38955         * tests/test-stdlib.c: New file.
38956
38957         * modules/mkstemp (Files): Remove lib/mkstemp.h.
38958         (Depends-on): Add stdlib.
38959         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
38960         (Includes): Use <stdlib.h> instead of mkstemp.h.
38961         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
38962         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
38963         * lib/mkstemp.c: Don't include mkstemp.h.
38964         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
38965         * lib/stdlib--.h: Don't include mkstemp.h.
38966
38967         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
38968         (Depends-on): Add stdlib.
38969         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
38970         (Includes): Use <stdlib.h> instead of mkdtemp.h.
38971         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
38972         HAVE_MKDTEMP.
38973         * lib/mkdtemp.c: Don't include mkdtemp.h.
38974         * lib/clean-temp.c: Don't include mkdtemp.h.
38975
38976         * modules/exit (Files): Remove lib/exit.h.
38977         (Depends-on): Add stdlib.
38978         (Makefile.am): Remove lib_SOURCES.
38979         (Include): Use <stdlib.h> instead of exit.h.
38980         * lib/argmatch.c: Don't include exit.h.
38981         * lib/execute.c: Likewise.
38982         * lib/pagealign_alloc.c: Likewise.
38983         * lib/pipe.c: Likewise.
38984         * lib/wait-process.c: Likewise.
38985         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
38986         * lib/exitfail.c: Likewise.
38987         * lib/savewd.c: Likewise.
38988         * lib/xsetenv.c: Likewise.
38989
38990         * modules/stdlib: New file.
38991         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
38992         and extra comments about mkstemp().
38993         * lib/exit.h: Remove file.
38994         * lib/mkdtemp.h: Remove file.
38995         * lib/mkstemp.h: Remove file.
38996         * m4/stdlib_h.m4: New file.
38997         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
38998
38999 2007-02-18  Bruno Haible  <bruno@clisp.org>
39000
39001         * modules/math-tests: New file.
39002         * tests/test-math.c: New file.
39003
39004         * modules/math: New file.
39005         * modules/mathl (Files): Remove lib/mathl.h.
39006         (Depends-on): Add math.
39007         (Makefile.am): Don't mention mathl.h.
39008         (Include): Use <math.h> instead of mathl.h.
39009         * lib/math_.h: New file.
39010         * lib/mathl.h: Remove file.
39011         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
39012         mathl.h.
39013         * lib/asinl.c: Likewise.
39014         * lib/atanl.c: Likewise.
39015         * lib/ceill.c: Likewise.
39016         * lib/cosl.c: Likewise.
39017         * lib/expl.c: Likewise.
39018         * lib/floorl.c: Likewise.
39019         * lib/frexpl.c: Likewise.
39020         * lib/ldexpl.c: Likewise.
39021         * lib/logl.c: Likewise.
39022         * lib/sincosl.c: Likewise.
39023         * lib/sinl.c: Likewise.
39024         * lib/sqrtl.c: Likewise.
39025         * lib/tanl.c: Likewise.
39026         * lib/trigl.c: Likewise.
39027         * m4/math_h.m4: New file.
39028         * MODULES.html.sh (Mathematics): Add math.
39029
39030 2007-02-17  Bruno Haible  <bruno@clisp.org>
39031
39032         * modules/wctype-tests: New file.
39033         * tests/test-wctype.c: New file.
39034
39035         * modules/wchar-tests: New file.
39036         * tests/test-wchar.c: New file.
39037
39038         * modules/unistd-tests: New file.
39039         * tests/test-unistd.c: New file.
39040
39041         * modules/time-tests: New file.
39042         * tests/test-time.c: New file.
39043
39044         * modules/sysexits-tests: New file.
39045         * tests/test-sysexits.c: New file.
39046
39047         * modules/sys_time-tests: New file.
39048         * tests/test-sys_time.c: New file.
39049
39050         * modules/sys_stat-tests: New file.
39051         * tests/test-sys_stat.c: New file.
39052
39053         * modules/sys_socket-tests: New file.
39054         * tests/test-sys_socket.c: New file.
39055
39056         * modules/sys_select-tests: New file.
39057         * tests/test-sys_select.c: New file.
39058
39059         * modules/string-tests: New file.
39060         * tests/test-string.c: New file.
39061
39062         * modules/stdbool-tests: New file.
39063         * tests/test-stdbool.c: New file.
39064
39065         * modules/netinet_in-tests: New file.
39066         * tests/test-netinet_in.c: New file.
39067
39068         * modules/inttypes-tests: New file.
39069         * tests/test-inttypes.c: New file.
39070
39071         * modules/fcntl-tests: New file.
39072         * tests/test-fcntl.c: New file.
39073
39074         * modules/byteswap-tests: New file.
39075         * tests/test-byteswap.c: New file.
39076
39077         * modules/arpa_inet-tests: New file.
39078         * tests/test-arpa_inet.c: New file.
39079
39080 2007-02-17  Bruno Haible  <bruno@clisp.org>
39081
39082         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
39083         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
39084         if the corresponding module is not enabled. Emit link warnings if
39085         the function is used nevertheless.
39086         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
39087         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
39088         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
39089         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
39090         * modules/inttypes (Depends-on): Add link-warning.
39091         (Makefile.am): Copy the contents of build-aux/link-warning.h into
39092         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
39093         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
39094         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
39095         * modules/imaxdiv (configure.ac): Likewise.
39096         * modules/strtoimax (configure.ac): Likewise.
39097         * modules/strtoumax (configure.ac): Likewise.
39098
39099 2007-02-17  Bruno Haible  <bruno@clisp.org>
39100
39101         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
39102         gl_STRING_MODULE_INDICATOR_DEFAULTS.
39103         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
39104         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
39105
39106 2007-02-17  Bruno Haible  <bruno@clisp.org>
39107
39108         * modules/link-warning: New file.
39109         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
39110         * lib/string_.h (GL_LINK_WARNING): Remove definition.
39111         * modules/string (Depends-on): Add link-warning.
39112         (Makefile.am): Copy the contents of build-aux/link-warning.h into
39113         string.h.
39114         * MODULES.html.sh (Support for building libraries and executables): Add
39115         link-warning.
39116
39117 2007-02-17  Bruno Haible  <bruno@clisp.org>
39118
39119         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
39120         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
39121         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
39122         long lines.
39123
39124 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
39125             Bruno Haible  <bruno@clisp.org>
39126
39127         * modules/tmpfile: New file.
39128         * lib/tmpfile.c: New file.
39129         * m4/tmpfile.m4: New file.
39130         * MODULES.html.sh (func_all_modules): New section "Input/output".
39131
39132 2007-02-15  Bruno Haible  <bruno@clisp.org>
39133
39134         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
39135         (supports_delete_on_close): New function.
39136         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
39137
39138 2007-02-14  Bruno Haible  <bruno@clisp.org>
39139
39140         * modules/mbspcasecmp-tests: New file.
39141         * tests/test-mbspcasecmp.sh: New file.
39142         * tests/test-mbspcasecmp.c: New file.
39143
39144         New module mbspcasecmp.
39145         * modules/mbspcasecmp: New file.
39146         * lib/mbspcasecmp.c: New file.
39147         * lib/string_.h (strncasecmp): Change warning message.
39148         (mbspcasecmp): New declaration.
39149         * m4/mbspcasecmp.m4: New file.
39150         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
39151         GNULIB_MBSPCASECMP.
39152         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
39153         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
39154
39155 2007-02-14  Bruno Haible  <bruno@clisp.org>
39156
39157         * modules/mbsncasecmp-tests: New file.
39158         * tests/test-mbsncasecmp.sh: New file.
39159         * tests/test-mbsncasecmp.c: New file.
39160
39161         New module mbsncasecmp.
39162         * modules/mbsncasecmp: New file.
39163         * lib/mbsncasecmp.c: New file.
39164         * lib/string_.h (mbsncasecmp): New declaration.
39165         * m4/mbsncasecmp.m4: New file.
39166         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
39167         GNULIB_MBSNCASECMP.
39168         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
39169         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
39170
39171 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
39172
39173         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
39174         Verify that it doesn't overlap with our flags.
39175         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
39176         do not have the desired effect in multibyte locales; instead, use
39177         mbscasecmp.
39178         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
39179         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
39180         we don't require GNU fnmatch ourselves (if our users require it, they
39181         should do so explicitly).
39182
39183         Fix regex code so it doesn't rely on strcasecmp.
39184         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
39185         Otherwise, include gnulib's langinfo.h.
39186         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
39187         undesirable behavior in non-C locales.  Instead, rely on localecharset.
39188         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
39189         * modules/regex (FILES): Remove m4/codeset.m4.
39190         (Depends-on): Add localcharset.  Remove strcase.
39191
39192 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39193
39194         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
39195         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
39196
39197 2007-02-13  Bruno Haible  <bruno@clisp.org>
39198
39199         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
39200         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
39201
39202 2007-02-12  Bruno Haible  <bruno@clisp.org>
39203
39204         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
39205         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
39206         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
39207         time warning rather than a link error.
39208
39209 2007-02-12  Bruno Haible  <bruno@clisp.org>
39210
39211         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
39212         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
39213         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
39214
39215 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
39216
39217         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
39218         args, not 2.
39219
39220 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
39221
39222         New module 'time', so that apps can include <time.h> as per
39223         POSIX and GNU instead of separate include files like time_r.h
39224         and timegm.h.  This implementation tries out a simpler approach
39225         for replacing decls in standard include files (as compared to
39226         the string module), somewhat as an experiment.
39227
39228         * config/srclist.txt: Comment out mktime.c for now.
39229         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
39230         since it doesn't apply any more.  Use generic wording instead.
39231         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
39232         'time'.
39233         * lib/time_.h, m4/time_h.m4, modules/time: New files.
39234         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
39235         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
39236         Don't include <sys/types.h>; no longer needed since we assume C89.
39237         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
39238         * lib/strftime.c: Likewise.
39239         * lib/time_r.c: Likewise.
39240         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
39241         * lib/nanosleep.c: Include <time.h> first, to check interface.
39242         * lib/strptime.c: Likewise.
39243         * lib/time_r.c: Likewise.
39244         * lib/timegm.c: Likewise.
39245         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
39246         needed.
39247         * lib/timegm.c: Don't include timegm.h; no longer needed.
39248         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
39249         time.h now handles any problems in that area.
39250         (struct timespec, nanosleep): Remove; time.h now arranges for these.
39251         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
39252         that time.h defines struct timespec.
39253         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
39254         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
39255         handles that.
39256         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
39257         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
39258         needed.  Set REPLACE_LOCALTIME.
39259         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
39260         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
39261         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
39262         nanosleep; time_h.m4 now does that.  Don't require
39263         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
39264         module handles this now.
39265         * modules/getdate (Depends-on): Remove timespec.  Add time.
39266         * modules/nanosleep (Depends-on): Likewise.
39267         * modules/stat-time (Depends-on): Likewise.
39268         * modules/nanosleep (Include): Include time.h, not timespec.h.
39269         * modules/strptime (Files): Remove lib/strptime.h.
39270         (Depends-on): Add extensions, time.
39271         (Include): Include time.h, not strptime.h.
39272         * modules/time_r (Files): Remove lib/time_r.h.
39273         (Depends-on): Add time.
39274         (Include): Include time.h, not time_r.h.
39275         * modules/timegm: Likewise.
39276         * modules/timespec (Description): Now does timespec-related decls
39277         of our own, instead of struct timespec itself.
39278         (Depends-on): Add time; remove extensions.
39279         (Maintainer): Add self.
39280         * modules/utimecmp (Depends-on): Add time; remove timespec.
39281         * modules/utimens (Depends-on): Likewise.
39282         * modules/xnanosleep (Depends-on): Likewise.
39283
39284 2007-02-11  Bruno Haible  <bruno@clisp.org>
39285
39286         * lib/c-strstr.c: Include allocsa.h.
39287         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
39288         * lib/c-strcasestr.c: Include allocsa.h.
39289         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
39290         * lib/strcasestr.c: Include allocsa.h.
39291         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
39292         * lib/mbsstr.c: Include allocsa.h.
39293         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
39294         allocsa/freesa instead of malloc/free.
39295         * lib/mbscasestr.c: Include allocsa.h.
39296         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
39297         allocsa/freesa instead of malloc/free.
39298         * modules/c-strstr (Depends-on): Add allocsa.
39299         * modules/c-strcasestr (Depends-on): Likewise.
39300         * modules/strcasestr (Depends-on): Likewise.
39301         * modules/mbsstr (Depends-on): Likewise.
39302         * modules/mbscasestr (Depends-on): Likewise.
39303
39304 2007-02-11  Bruno Haible  <bruno@clisp.org>
39305
39306         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
39307
39308         * modules/mbsspn-tests: New file.
39309         * tests/test-mbsspn.sh: New file.
39310         * tests/test-mbsspn.c: New file.
39311
39312 2007-02-11  Bruno Haible  <bruno@clisp.org>
39313
39314         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
39315
39316         * modules/mbspbrk-tests: New file.
39317         * tests/test-mbspbrk.sh: New file.
39318         * tests/test-mbspbrk.c: New file.
39319
39320 2007-02-11  Bruno Haible  <bruno@clisp.org>
39321
39322         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
39323         unneeded cast.
39324
39325         * modules/mbscspn-tests: New file.
39326         * tests/test-mbscspn.sh: New file.
39327         * tests/test-mbscspn.c: New file.
39328
39329 2007-02-11  Bruno Haible  <bruno@clisp.org>
39330
39331         * modules/mbscasecmp-tests: New file.
39332         * tests/test-mbscasecmp.sh: New file.
39333         * tests/test-mbscasecmp.c: New file.
39334
39335 2007-02-11  Bruno Haible  <bruno@clisp.org>
39336
39337         Ensure O(n) worst-case complexity of mbscasestr.
39338         * lib/mbscasestr.c: Include stdbool.h.
39339         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
39340         functions.
39341         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
39342         the bookkeeping indicates that it's worth it.
39343         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
39344
39345         * modules/mbscasestr-tests: New file.
39346         * tests/test-mbscasestr1.c: New file.
39347         * tests/test-mbscasestr2.sh: New file.
39348         * tests/test-mbscasestr2.c: New file.
39349         * tests/test-mbscasestr3.sh: New file.
39350         * tests/test-mbscasestr3.c: New file.
39351         * tests/test-mbscasestr4.sh: New file.
39352         * tests/test-mbscasestr4.c: New file.
39353         * m4/locale-tr.m4: New file.
39354
39355 2007-02-11  Bruno Haible  <bruno@clisp.org>
39356
39357         Ensure O(n) worst-case complexity of mbsstr.
39358         * lib/mbsstr.c: Include stdbool.h.
39359         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
39360         functions.
39361         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
39362         bookkeeping indicates that it's worth it.
39363         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
39364
39365         * modules/mbsstr-tests: New file.
39366         * tests/test-mbsstr1.c: New file.
39367         * tests/test-mbsstr2.sh: New file.
39368         * tests/test-mbsstr2.c: New file.
39369         * tests/test-mbsstr3.sh: New file.
39370         * tests/test-mbsstr3.c: New file.
39371         * m4/locale-fr.m4: New file.
39372
39373 2007-02-11  Bruno Haible  <bruno@clisp.org>
39374
39375         * lib/mbsrchr.c (mbsrchr): Fix bug.
39376
39377         * modules/mbsrchr-tests: New file.
39378         * tests/test-mbsrchr.sh: New file.
39379         * tests/test-mbsrchr.c: New file.
39380
39381 2007-02-11  Bruno Haible  <bruno@clisp.org>
39382
39383         * lib/mbschr.c (mbschr): Fix bug.
39384
39385         * modules/mbschr-tests: New file.
39386         * tests/test-mbschr.sh: New file.
39387         * tests/test-mbschr.c: New file.
39388         * m4/locale-zh.m4: New file.
39389
39390 2007-02-11  Bruno Haible  <bruno@clisp.org>
39391
39392         Support for copying multibyte string iterators.
39393         * lib/mbiter.h: Include <string.h>.
39394         (mbiter_multi_copy): New function.
39395         (mbi_copy): New macro.
39396         * lib/mbuiter.h: Include <string.h>.
39397         (mbuiter_multi_copy): New function.
39398         (mbui_copy): New macro.
39399
39400 2007-02-11  Bruno Haible  <bruno@clisp.org>
39401
39402         New module mbslen.
39403         * modules/mbslen: New file.
39404         * lib/mbslen.c: New file.
39405         * lib/string_.h (mbslen): New declaration.
39406         * m4/mbslen.m4: New file.
39407         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
39408         GNULIB_MBSLEN.
39409         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
39410         * MODULES.html.sh (Internationalization functions): Add mbslen.
39411
39412 2007-02-11  Bruno Haible  <bruno@clisp.org>
39413
39414         Ensure O(n) worst-case complexity of strcasestr substitute.
39415         * lib/strcasestr.c: Include stdbool.h.
39416         (knuth_morris_pratt): New function.
39417         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
39418         bookkeeping indicates that it's worth it.
39419         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
39420
39421         * modules/strcasestr-tests: New file.
39422         * tests/test-strcasestr.c: New file.
39423
39424 2007-02-11  Bruno Haible  <bruno@clisp.org>
39425
39426         Ensure O(n) worst-case complexity of c_strcasestr.
39427         * lib/c-strcasestr.c: Include stdbool.h, string.h.
39428         (knuth_morris_pratt): New function.
39429         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
39430         the bookkeeping indicates that it's worth it.
39431         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
39432
39433         * modules/c-strcasestr-tests: New file.
39434         * tests/test-c-strcasestr.c: New file.
39435
39436 2007-02-11  Bruno Haible  <bruno@clisp.org>
39437
39438         Ensure O(n) worst-case complexity of c_strstr.
39439         * lib/c-strstr.c: Include stdbool.h, string.h.
39440         (knuth_morris_pratt): New function.
39441         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
39442         bookkeeping indicates that it's worth it.
39443         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
39444
39445         * lib/c-strstr.c: Complete rewrite for maintainability.
39446
39447         * modules/c-strstr-tests: New file.
39448         * tests/test-c-strstr.c: New file.
39449
39450 2007-02-11  Bruno Haible  <bruno@clisp.org>
39451
39452         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
39453         5.2.1 and earlier, whereby \055 was treated just like the range
39454         delimiter '-'.
39455         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
39456
39457 2007-02-08  Bruno Haible  <bruno@clisp.org>
39458
39459         * modules/regex (Depends-on): Add stdbool.
39460         Reported by Dalibor Topic <robilad@kaffe.org>.
39461
39462 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
39463
39464         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
39465         Prefer returning from main to exiting from it.
39466         Remove unnecessary parens after sizeof.
39467
39468 2007-02-05  Bruno Haible  <bruno@clisp.org>
39469
39470         New module mbssep.
39471         * modules/mbssep: New file.
39472         * lib/mbssep.c: New file.
39473         * lib/string_.h (strsep): Add a conditional link warning.
39474         (mbssep): New declaration.
39475         * m4/mbssep.m4: New file.
39476         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
39477         GNULIB_MBSSEP.
39478         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
39479         * MODULES.html.sh (Internationalization functions): Add mbssep.
39480
39481 2007-02-05  Bruno Haible  <bruno@clisp.org>
39482
39483         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
39484         Optimize search in case of 1 delimiter.
39485
39486 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
39487
39488         * lib/acl.h: Include sys/types.h before sys/acl.h.
39489
39490 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
39491
39492         Merge upstream fix for glibc bugzilla #3957:
39493
39494         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
39495
39496         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
39497         bit for RE_HAT_LISTS_NOT_NEWLINE.
39498         (build_charclass_op): Remove bogus comment.
39499
39500 2007-02-05  Simon Josefsson  <simon@josefsson.org>
39501
39502         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
39503
39504 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
39505
39506         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
39507         * lib/memmem.c [!defined _LIBC]: Include config.h.
39508
39509 2007-02-04  Bruno Haible  <bruno@clisp.org>
39510
39511         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
39512         warning message.
39513
39514 2007-02-04  Bruno Haible  <bruno@clisp.org>
39515
39516         New module mbstok_r.
39517         * modules/mbstok_r: New file.
39518         * lib/mbstok_r.c: New file.
39519         * lib/string_.h (strtok_r): Change argument names to match the
39520         comments. Add a conditional link warning.
39521         (mbstok_r): New declaration.
39522         * m4/mbstok_r.m4: New file.
39523         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
39524         GNULIB_MBSTOK_R.
39525         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
39526         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
39527
39528 2007-02-04  Bruno Haible  <bruno@clisp.org>
39529
39530         New module mbsspn.
39531         * modules/mbsspn: New file.
39532         * lib/mbsspn.c: New file.
39533         * lib/string_.h (strspn): Add a conditional link warning.
39534         (mbsspn): New declaration.
39535         * m4/mbsspn.m4: New file.
39536         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
39537         GNULIB_MBSSPN.
39538         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
39539         * MODULES.html.sh (Internationalization functions): Add mbsspn.
39540
39541 2007-02-04  Bruno Haible  <bruno@clisp.org>
39542
39543         New module mbspbrk.
39544         * modules/mbspbrk: New file.
39545         * lib/mbspbrk.c: New file.
39546         * lib/string_.h (strpbrk): Add a conditional link warning.
39547         (mbspbrk): New declaration.
39548         * m4/mbspbrk.m4: New file.
39549         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
39550         GNULIB_MBSPBRK.
39551         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
39552         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
39553
39554 2007-02-04  Bruno Haible  <bruno@clisp.org>
39555
39556         New module mbscspn.
39557         * modules/mbscspn: New file.
39558         * lib/mbscspn.c: New file.
39559         * lib/string_.h (strcspn): Add a conditional link warning.
39560         (mbscspn): New declaration.
39561         * m4/mbscspn.m4: New file.
39562         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
39563         GNULIB_MBSCSPN.
39564         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
39565         * MODULES.html.sh (Internationalization functions): Add mbscspn.
39566
39567 2007-02-04  Bruno Haible  <bruno@clisp.org>
39568
39569         New module mbscasestr, reduced goal of strcasestr.
39570         * modules/mbscasestr: New file.
39571         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
39572         (mbscasestr): Renamed from strcasestr.
39573         * lib/strcasestr.c: Don't include mbuiter.h.
39574         (strcasestr): Remove support for multibyte locales.
39575         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
39576         Change the conditional link warning.
39577         (mbscasestr): New declaration.
39578         * m4/mbscasestr.m4: New file.
39579         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
39580         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
39581         REPLACE_STRCASESTR.
39582         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
39583         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
39584         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
39585         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
39586         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
39587         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
39588         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
39589         (Depends-on): Remove mbuiter.
39590         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
39591
39592 2007-02-04  Bruno Haible  <bruno@clisp.org>
39593
39594         Simplify handling of strncasecmp.
39595         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
39596         the conditional link warning.
39597         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
39598         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
39599         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
39600         * modules/strcase (configure.ac): Don't invoke
39601         gl_STRING_MODULE_INDICATOR.
39602         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
39603
39604 2007-02-04  Bruno Haible  <bruno@clisp.org>
39605
39606         New module mbscasecmp, reduced goal of strcasecmp.
39607         * modules/mbscasecmp: New file.
39608         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
39609         (mbscasecmp): Renamed from strcasecmp.
39610         * lib/strcasecmp.c: Don't include mbuiter.h.
39611         (strcasecmp): Remove support for multibyte locales.
39612         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
39613         Change the conditional link warning.
39614         (mbscasecmp): New declaration.
39615         * m4/mbscasecmp.m4: New file.
39616         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
39617         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
39618         REPLACE_STRCASECMP.
39619         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
39620         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
39621         GNULIB_MBSCASECMP.
39622         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
39623         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
39624         * modules/strcase (Files): Remove m4/mbrtowc.m4.
39625         (Depends-on): Remove mbuiter.
39626         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
39627
39628 2007-02-04  Bruno Haible  <bruno@clisp.org>
39629
39630         New module mbsstr. Remove module strstr.
39631         * modules/mbsstr: New file.
39632         * modules/strstr: Remove file.
39633         * lib/mbsstr.c: Renamed from lib/strstr.c.
39634         (mbsstr): Renamed from strstr.
39635         * lib/string_.h (strstr): Remove declaration. Change the conditional
39636         link warning.
39637         (mbsstr): New declaration.
39638         * m4/mbsstr.m4: New file.
39639         * m4/strstr.m4: Remove file.
39640         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
39641         REPLACE_STRSTR.
39642         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
39643         Don't initialize GNULIB_STRSTR.
39644         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
39645         substitute GNULIB_STRSTR and REPLACE_STRSTR.
39646         * MODULES.html.sh (Internationalization functions): Add mbsstr.
39647         (Support for systems lacking ANSI C 89): Remove strstr.
39648
39649 2007-02-04  Bruno Haible  <bruno@clisp.org>
39650
39651         New module mbsrchr.
39652         * modules/mbsrchr: New file.
39653         * lib/mbsrchr.c: New file.
39654         * lib/string_.h (strrchr): Add a conditional link warning.
39655         (mbsrchr): New declaration.
39656         * m4/mbsrchr.m4: New file.
39657         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
39658         GNULIB_MBSRCHR.
39659         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
39660         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
39661
39662 2007-02-04  Bruno Haible  <bruno@clisp.org>
39663
39664         New module mbschr.
39665         * modules/mbschr: New file.
39666         * lib/mbschr.c: New file.
39667         * lib/string_.h (strchr): Add a conditional link warning.
39668         (mbschr): New declaration.
39669         * m4/mbschr.m4: New file.
39670         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
39671         GNULIB_MBSCHR.
39672         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
39673         * MODULES.html.sh (Internationalization functions): Add mbschr.
39674
39675 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
39676
39677         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
39678
39679         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
39680
39681 2007-02-04  Bruno Haible  <bruno@clisp.org>
39682
39683         New module description section 'configure.ac-early'.
39684         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
39685         (func_get_autoconf_early_snippet): New function.
39686         (func_import, func_create_testdir): Use it. Remove special cases for
39687         modules 'extensions' and 'lock'.
39688         * modules/extensions (configure.ac-early): Require
39689         gl_USE_SYSTEM_EXTENSIONS.
39690         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
39691
39692 2007-02-04  Bruno Haible  <bruno@clisp.org>
39693
39694         Make use of gcj-4.3's -fsource and -ftarget option.
39695         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
39696         and if so try the options -fsource and -ftarget.
39697         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
39698         source_version, ftarget_option, target_version arguments.
39699         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
39700         (is_envjavac_oldgcj_14_14_usable): Renamed from
39701         is_envjavac_gcj_14_14_usable.
39702         (is_envjavac_oldgcj_14_13_usable): Renamed from
39703         is_envjavac_gcj_14_13_usable.
39704         (is_gcj_present): Update.
39705         (is_gcj_43, is_gcj43_usable): New functions.
39706         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
39707         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
39708         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
39709         try the options -fsource and -ftarget.
39710
39711 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
39712
39713         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
39714         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
39715         larger value.
39716
39717 2007-02-03  Jim Meyering  <jim@meyering.net>
39718
39719         Give tools a better chance to allocate space for very large buffers.
39720         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
39721
39722         Make pwd and readlink work also when run with an unreadable parent dir
39723         on systems with openat support.
39724         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
39725         provided getcwd function, even when we have openat support.
39726         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
39727
39728 2007-02-02  Bruno Haible  <bruno@clisp.org>
39729
39730         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
39731         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
39732         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
39733         portability problems if one of these functions is only used on specific
39734         platforms.
39735         Reported by Paul Eggert.
39736
39737 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
39738
39739         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
39740         is causing more trouble than it's curing.
39741         * lib/regex_internal.h (__mempcpy): Remove.
39742         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
39743         (and make the code a tad smaller to boot).
39744         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
39745
39746 2007-02-02  Jim Meyering  <jim@meyering.net>
39747
39748         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
39749         section, not in the Makefile.am: one.
39750
39751 2007-02-02  Eric Blake  <ebb9@byu.net>
39752
39753         * lib/strchrnul.c: Always include config.h first.
39754
39755         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
39756         gnulib strstr is not necessary here.
39757
39758 2007-02-02  Simon Josefsson  <simon@josefsson.org>
39759
39760         * m4/socklen.m4: Fix typo.
39761
39762 2007-02-02  Eric Blake  <ebb9@byu.net>
39763
39764         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
39765         * modules/netinet_in (Makefile.am): Likewise.
39766
39767 2007-02-01  Bruno Haible  <bruno@clisp.org>
39768
39769         * lib/string_.h (GL_LINK_WARNING): New macro.
39770         (strcasecmp, strstr, strcasestr): If provided by the system,
39771         conditionally define as a macro that leads to a warning instead of to
39772         an error.
39773         (strncasecmp): Conditionally define as a macro that leads to a warning.
39774
39775 2007-02-01  Karl Berry  <karl@gnu.org>
39776
39777         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
39778
39779 2007-02-01  Bruno Haible  <bruno@clisp.org>
39780
39781         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
39782         renamings.
39783
39784 2007-02-01  Eric Blake  <ebb9@byu.net>
39785
39786         * modules/regex (Depends-on): Revert dependence on mempcpy.
39787         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
39788         module's definition of mempcpy.
39789         Reported by Paul Eggert.
39790
39791 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
39792
39793         * lib/string_.h: If the gnulib module XYZ is not present, undefine
39794         the symbol XYZ before redefining it.  This fixes a problem with
39795         programs that don't use XYZ, when compiled on systems that define
39796         XYZ to something else.
39797
39798 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
39799
39800         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
39801         occurs when "mkdir -m foo" creates a setgid directory that is (1)
39802         writeable to group or other and (2) is intended to have a special
39803         mode bit that is set or cleared.  In such a case, the directory
39804         should be neither group- nor other-writeable until the special
39805         mode bits are right.
39806
39807 2007-01-31  Eric Blake  <ebb9@byu.net>
39808
39809         * modules/mountlist (Depends-on): Add strstr.
39810
39811         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
39812         bug.
39813         * modules/string (Makefile.am): Remove redundant replacement.
39814         * modules/regex (Depends-on): Add mempcpy.
39815
39816 2007-01-31  Bruno Haible  <bruno@clisp.org>
39817
39818         New module description field 'Link'.
39819         * gnulib-tool (func_usage): Document --extract-link-directive.
39820         (sed_extract_prog): Recognize 'Link' directive.
39821         (func_get_link_directive): New function.
39822         (func_import): Show summary of link directives.
39823         Handle --extract-link-directive option.
39824         * modules/acl (Link): New section.
39825         * modules/clock-time (Link): New section.
39826         * modules/euidaccess (Link): New section.
39827         * modules/gettext (Link): New section.
39828         * modules/iconv (Link): New section.
39829         * modules/lock (Link): New section.
39830         * modules/nanosleep (Link): New section.
39831         * modules/readline (Link): New section.
39832
39833 2007-01-27  Bruno Haible  <bruno@clisp.org>
39834
39835         Enforce the use of gnulib modules for unportable <string.h> functions.
39836         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
39837         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
39838         (gl_HEADER_STRING_H_BODY): Require it.
39839         * lib/string_.h: If the gnulib module XYZ is not present, redefine
39840         the symbol XYZ to one that gives a link error.
39841         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
39842         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
39843         * modules/mempcpy (configure.ac): Likewise.
39844         * modules/memrchr (configure.ac): Likewise.
39845         * modules/stpcpy (configure.ac): Likewise.
39846         * modules/stpncpy (configure.ac): Likewise.
39847         * modules/strcase (configure.ac): Likewise.
39848         * modules/strcasestr (configure.ac): Likewise.
39849         * modules/strchrnul (configure.ac): Likewise.
39850         * modules/strdup (configure.ac): Likewise.
39851         * modules/strndup (configure.ac): Likewise.
39852         * modules/strnlen (configure.ac): Likewise.
39853         * modules/strpbrk (configure.ac): Likewise.
39854         * modules/strsep (configure.ac): Likewise.
39855         * modules/strstr (configure.ac): Likewise.
39856         * modules/strtok_r (configure.ac): Likewise.
39857
39858 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
39859
39860         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
39861
39862 2007-01-30  Jim Meyering  <jim@meyering.net>
39863
39864         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
39865
39866 2007-01-29  Bruno Haible  <bruno@clisp.org>
39867
39868         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
39869         * lib/execute.c: Likewise.
39870         * lib/pipe.c: Likewise.
39871         * lib/printf-args.h: Likewise.
39872         * lib/printf-args.c: Likewise.
39873         * lib/printf-parse.c: Likewise.
39874         * lib/vasnprintf.c: Likewise.
39875
39876 2007-01-29  Eric Blake  <ebb9@byu.net>
39877
39878         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
39879         declaration.
39880
39881 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
39882
39883         * lib/strptime.h (strptime): Use 'restrict' for args where
39884         POSIX requires this.
39885         * lib/strptime.c (strptime): Likewise.
39886         Change license notice from LGPL to GPL, since gnulib-tool will
39887         change this as needed.
39888         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
39889         defined.
39890         Include "strptime.h" first, to check interface.
39891         Do not #undef _LIBC and _NL_CURRENT.
39892         Do not include <stdlib.h>; no longer needed.
39893         Include "time_r.h" and declare ptime_locale_status
39894         only if _LIBC is not defined.
39895         (__P): Remove unused macro.
39896         (match_string): Bring back glibc version, but use it only if _LIBC
39897         is defined.
39898         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
39899         Remove unnecessary assertion and abort() call.
39900         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
39901         * m4/strptime.m4: Fix serial number comment.
39902         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
39903         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
39904         (Depends-on): Add time_r.
39905
39906 2007-01-29  Bruno Haible  <bruno@clisp.org>
39907
39908         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
39909         strptime.
39910         * modules/strptime (Depends-on): Add stdbool.
39911         * lib/strptime.h: Include <time.h> always. Add comments.
39912
39913 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
39914
39915         * modules/strptime: New file.
39916         * lib/strptime.h: New file.
39917         * lib/strptime.c: New file.
39918         * m4/strptime.m4: New file.
39919
39920 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
39921
39922         * MODULES.html.sh: New module mpsort.
39923         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
39924
39925         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
39926         a circularity problem with HP-UX ia64 reported by Bob Proulx in
39927         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
39928         All uses changed.
39929         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
39930         All uses changed.
39931         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
39932         to _Restrict_.
39933         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
39934         the parameter matches the prototype.
39935
39936 2007-01-28  Jim Meyering  <jim@meyering.net>
39937
39938         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
39939         sys/time.h here, reverting that part of the previous patch:
39940         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
39941
39942 2007-01-28  Bruno Haible  <bruno@clisp.org>
39943
39944         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
39945         value of $(SYS_TIME_H).
39946         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
39947         remove it conditionally, too. [added by Jim Meyering]
39948         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
39949         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
39950         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
39951         GETTIMEOFDAY_REPLACEMENT to 1.
39952
39953 2007-01-28  Bruno Haible  <bruno@clisp.org>
39954
39955         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
39956         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
39957         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
39958         Set UNISTD_H instead of UNISTD_H2.
39959         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
39960
39961 2007-01-28  Bruno Haible  <bruno@clisp.org>
39962
39963         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
39964         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
39965
39966 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39967
39968         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
39969         (func_create_testdir): Ensure C locale for `grep' and `tr'
39970         character ranges.
39971         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
39972         ACLOCAL_AMFLAGS parsing state machine.
39973
39974 2007-01-27  Bruno Haible  <bruno@clisp.org>
39975
39976         * modules/unistr/base: Update.
39977
39978 2007-01-27  Bruno Haible  <bruno@clisp.org>
39979
39980         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
39981         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
39982         * modules/unistr/u32-mbtouc-unsafe: Renamed from
39983         modules/unistr/u32-mbtouc.
39984         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
39985         * lib/unistr.h: Update.
39986         * lib/linebreak.c: Update.
39987         * modules/unistr/u32-mbtouc: Renamed from
39988         modules/unistr/u32-mbtouc-safe.
39989         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
39990         * lib/unistr.h: Update.
39991         * lib/unistr/u32-to-u8.c: Update.
39992         * lib/unistr/u32-to-u16.c: Update.
39993
39994 2007-01-27  Bruno Haible  <bruno@clisp.org>
39995
39996         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
39997         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
39998         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
39999         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
40000         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
40001         * modules/unistr/u16-mbtouc-unsafe: Renamed from
40002         modules/unistr/u16-mbtouc.
40003         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
40004         * lib/unistr.h: Update.
40005         * lib/linebreak.c: Update.
40006         * modules/linebreak: Update.
40007         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
40008         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
40009         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
40010         * modules/unistr/u16-mbtouc: Renamed from
40011         modules/unistr/u16-mbtouc-safe.
40012         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
40013         * lib/unistr.h: Update.
40014         * lib/unistr/u16-to-u8.c: Update.
40015         * modules/unistr/u16-to-u8: Update.
40016         * lib/unistr/u16-to-u32.c: Update.
40017         * modules/unistr/u16-to-u32: Update.
40018
40019 2007-01-27  Bruno Haible  <bruno@clisp.org>
40020
40021         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
40022         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
40023         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
40024         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
40025         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
40026         * modules/unistr/u8-mbtouc-unsafe: Renamed from
40027         modules/unistr/u8-mbtouc.
40028         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
40029         * lib/unistr.h: Update.
40030         * lib/striconveh.c: Update.
40031         * modules/striconveh: Update.
40032         * lib/linebreak.c: Update.
40033         * modules/linebreak: Update.
40034         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
40035         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
40036         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
40037         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
40038         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
40039         * lib/unistr.h: Update.
40040         * lib/striconveh.c: Update.
40041         * modules/striconveh: Update.
40042         * lib/unistr/u8-to-u16.c: Update.
40043         * modules/unistr/u8-to-u16: Update.
40044         * lib/unistr/u8-to-u32.c: Update.
40045         * modules/unistr/u8-to-u32: Update.
40046
40047 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40048
40049         Sync from Libtool.
40050         * lib/argz.c: Do not include strings.h nor memory.h, include
40051         string.h unconditionally.  Patch by Simon Josefsson.
40052
40053 2007-01-27  Bruno Haible  <bruno@clisp.org>
40054
40055         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
40056         from gl_HEADER_STRING_H_BODY.
40057         (gl_HEADER_STRING_H_BODY): Require it.
40058         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
40059         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
40060         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
40061         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
40062         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
40063         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
40064         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
40065         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
40066         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
40067         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
40068         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
40069         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
40070         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
40071         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
40072         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
40073
40074 2007-01-27  Bruno Haible  <bruno@clisp.org>
40075
40076         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
40077         check_PROGRAMS into noinst_PROGRAMS.
40078         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
40079         check_PROGRAMS in this case.
40080         (func_import): Set for_test to false.
40081         (func_create_testdir): Set for_test to true.
40082
40083 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
40084             Bruno Haible  <bruno@clisp.org>
40085
40086         * modules/strcasestr (Files): Remove lib/strcasestr.h.
40087         (Depends-on): Add string.
40088         (Includes): Use <string.h> instead of strcasestr.h.
40089         * modules/string (Makefile.am): Also substitute the value of
40090         REPLACE_STRCASESTR.
40091         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
40092         assume strcasestr is declared in <string.h> not <strings.h>. Also
40093         set REPLACE_STRCASESTR.
40094         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
40095         REPLACE_STRCASESTR.
40096         * lib/strcasestr.h: Remove file.
40097         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
40098         * lib/string_.h (strcasestr): New declaration.
40099
40100 2007-01-27  Bruno Haible  <bruno@clisp.org>
40101
40102         * lib/string_.h: Use 'extern'.
40103
40104 2007-01-27  Jim Meyering  <jim@meyering.net>
40105
40106         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
40107         of set-but-not-used local, "q".
40108
40109         * lib/mempcpy.c: Include <config.h> before <string.h>.
40110         This fixes a compilation error on HP-UX, due to the system's
40111         "restrict"-using mempcpy prototype.
40112
40113 2007-01-26  Bruno Haible  <bruno@clisp.org>
40114
40115         Small optimization.
40116         * lib/javacomp.c: Include c-strstr.h.
40117          (is_envjavac_gcj): Use c_strstr instead of strstr.
40118         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
40119
40120 2007-01-26  Bruno Haible  <bruno@clisp.org>
40121
40122         * MODULES.html.sh (Unicode string functions): Add the new modules.
40123
40124         * modules/uniconv/u32-strconv-to-locale: New file.
40125         * lib/uniconv/u32-strconv-to-locale.c: New file.
40126
40127         * modules/uniconv/u16-strconv-to-locale: New file.
40128         * lib/uniconv/u16-strconv-to-locale.c: New file.
40129
40130         * modules/uniconv/u8-strconv-to-locale: New file.
40131         * lib/uniconv/u8-strconv-to-locale.c: New file.
40132
40133         * modules/uniconv/u32-strconv-from-locale: New file.
40134         * lib/uniconv/u32-strconv-from-locale.c: New file.
40135
40136         * modules/uniconv/u16-strconv-from-locale: New file.
40137         * lib/uniconv/u16-strconv-from-locale.c: New file.
40138
40139         * modules/uniconv/u8-strconv-from-locale: New file.
40140         * lib/uniconv/u8-strconv-from-locale.c: New file.
40141
40142         * modules/uniconv/u32-strconv-to-enc: New file.
40143         * lib/uniconv/u32-strconv-to-enc.c: New file.
40144         * modules/uniconv/u32-strconv-to-enc-tests: New file.
40145         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
40146
40147         * modules/uniconv/u16-strconv-to-enc: New file.
40148         * lib/uniconv/u16-strconv-to-enc.c: New file.
40149         * lib/uniconv/u-strconv-to-enc.h: New file.
40150         * modules/uniconv/u16-strconv-to-enc-tests: New file.
40151         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
40152
40153         * modules/uniconv/u8-strconv-to-enc: New file.
40154         * lib/uniconv/u8-strconv-to-enc.c: New file.
40155         * modules/uniconv/u8-strconv-to-enc-tests: New file.
40156         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
40157
40158         * modules/uniconv/u32-strconv-from-enc: New file.
40159         * lib/uniconv/u32-strconv-from-enc.c: New file.
40160         * modules/uniconv/u32-strconv-from-enc-tests: New file.
40161         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
40162
40163         * modules/uniconv/u16-strconv-from-enc: New file.
40164         * lib/uniconv/u16-strconv-from-enc.c: New file.
40165         * modules/uniconv/u16-strconv-from-enc-tests: New file.
40166         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
40167
40168         * modules/uniconv/u8-strconv-from-enc: New file.
40169         * lib/uniconv/u8-strconv-from-enc.c: New file.
40170         * lib/uniconv/u-strconv-from-enc.h: New file.
40171         * modules/uniconv/u8-strconv-from-enc-tests: New file.
40172         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
40173
40174         * modules/uniconv/u32-conv-from-enc: New file.
40175         * lib/uniconv/u32-conv-from-enc.c: New file.
40176         * modules/uniconv/u32-conv-from-enc-tests: New file.
40177         * tests/uniconv/test-u32-conv-from-enc.c: New file.
40178
40179         * modules/uniconv/u16-conv-from-enc: New file.
40180         * lib/uniconv/u16-conv-from-enc.c: New file.
40181         * lib/uniconv/u-conv-from-enc.h: New file.
40182         * modules/uniconv/u16-conv-from-enc-tests: New file.
40183         * tests/uniconv/test-u16-conv-from-enc.c: New file.
40184
40185         * modules/uniconv/u8-conv-from-enc: New file.
40186         * lib/uniconv/u8-conv-from-enc.c: New file.
40187         * modules/uniconv/u8-conv-from-enc-tests: New file.
40188         * tests/uniconv/test-u8-conv-from-enc.c: New file.
40189
40190         * modules/uniconv/base: New file.
40191         * lib/uniconv.h: New file.
40192
40193 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
40194
40195         * doc/gnulib-tool.texi (Initial import): Update to match current
40196         behavior with strdup module.
40197         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
40198         * lib/memmem.h: Remove; all uses removed.  This is now done
40199         by <string.h>.
40200         * lib/mempcpy.h: Likewise.
40201         * lib/memrchr.h: Likewise.
40202         * lib/stpcpy.h: Likewise.
40203         * lib/stpncpy.h: Likewise.
40204         * lib/strcase.h: Likewise.
40205         * lib/strchrnul.h: Likewise.
40206         * lib/strdup.h: Likewise.
40207         * lib/strndup.h: Likewise.
40208         * lib/strnlen.h: Likewise.
40209         * lib/strpbrk.h: Likewise.
40210         * lib/strsep.h: Likewise.
40211         * lib/strstr.h: Likewise.
40212         * lib/strtok_r.h: Likewise.
40213         * lib/string_.h: New file.
40214         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
40215         Rely on <string.h> instead.
40216         * lib/canon-host.c: Likewise.
40217         * lib/chdir-long.c: Likewise.
40218         * lib/concatpath.c: Likewise.
40219         * lib/exclude.c: Likewise.
40220         * lib/fchdir.c: Likewise.
40221         * lib/getaddrinfo.c: Likewise.
40222         * lib/getcwd.c: Likewise.
40223         * lib/getsubopt.c: Likewise.
40224         * lib/glob.c: Likewise.
40225         * lib/hard-locale.c: Likewise.
40226         * lib/iconvme.c: Likewise.
40227         * lib/javacomp.c: Likewise.
40228         * lib/mempcpy.c: Likewise.
40229         * lib/memrchr.c: Likewise.
40230         * lib/regex_internal.h: Likewise.
40231         * lib/stpncpy.c: Likewise.
40232         * lib/strcasecmp.c: Likewise.
40233         * lib/strchrnul.c: Likewise.
40234         * lib/strdup.c: Likewise.
40235         * lib/striconv.c: Likewise.
40236         * lib/striconveh.c: Likewise.
40237         * lib/striconveha.c: Likewise.
40238         * lib/strncasecmp.c: Likewise.
40239         * lib/strndup.c: Likewise.
40240         * lib/strnlen.c: Likewise.
40241         * lib/strsep.c: Likewise.
40242         * lib/strstr.c: Likewise.
40243         * lib/strtok_r.c: Likewise.
40244         * lib/userspec.c: Likewise.
40245         * lib/w32spawn.h: Likewise.
40246         * lib/xstrndup.c: Likewise.
40247         * lib/mountlist.c (strstr): Remove decl.
40248         * m4/string_h.m4: New file.
40249         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
40250         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
40251         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
40252         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
40253         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
40254         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
40255         Set REPLACE_STRCASECMP if necessary.
40256         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
40257         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
40258         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
40259         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
40260         HAVE_DECL_STRDUP if necessary.
40261         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
40262         since gl_FUNC_STRNDUP does that now.
40263         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
40264         Check for decl here...
40265         (gl_PREREQ_STRNLEN): ... not here.
40266         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
40267         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
40268         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
40269         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
40270         necessary.
40271         * modules/string: New file.
40272         * modules/memmem (Files): Remove special-purpose include file.
40273         (Depends-on): Add string.
40274         (Include): Include <string.h>, not the removed file.
40275         * modules/mempcpy: Likewise.
40276         * modules/memrchr: Likewise.
40277         * modules/stpcpy: Likewise.
40278         * modules/stpncpy: Likewise.
40279         * modules/strcase: Likewise.
40280         * modules/strchrnul: Likewise.
40281         * modules/strdup: Likewise.
40282         * modules/strndup: Likewise.
40283         * modules/strnlen: Likewise.
40284         * modules/strpbrk: Likewise.
40285         * modules/strsep: Likewise.
40286         * modules/strstr: Likewise.
40287         * modules/strtok_r: Likewise.
40288         * tests/test-dirname.c: Don't include "strdup.h", since
40289         <string.h> now suffices.
40290         * tests/test-memmem.c: Don't include "memmem.h", since
40291         <string.h> now suffices.
40292
40293 2007-01-25  Bruno Haible  <bruno@clisp.org>
40294
40295         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
40296         *resultp is 0.
40297
40298         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
40299         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
40300         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
40301         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
40302
40303         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
40304         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
40305         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
40306         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
40307         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
40308         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
40309
40310 2007-01-24  Bruno Haible  <bruno@clisp.org>
40311
40312         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
40313         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
40314         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
40315         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
40316         gl_FUNC_FTS_CORE.
40317         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
40318         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
40319         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
40320         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
40321         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
40322         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
40323         gl_FUNC_FCHOWNAT.
40324         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
40325         gl_FUNC_STRFTIME.
40326         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
40327         Reported by Ralf Wildenhues.
40328
40329 2007-01-24  Bruno Haible  <bruno@clisp.org>
40330
40331         Drop AC_REQUIRE calls that are redundant with the module dependencies.
40332         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
40333         gl_GETADDRINFO.
40334         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
40335         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
40336         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
40337
40338 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
40339
40340         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
40341         Don't use 'exit'; just return from 'main'.
40342         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
40343
40344         * lib/fnmatch_.h: Readjust white space and comments to match
40345         glibc, to avoid spurious diffs.
40346
40347 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
40348
40349         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
40350         2004-12-01 change by Jakub Jelinek, since this code won't compile
40351         if !LIBC.  Problem reported by Bob Proulx.
40352
40353 2007-01-23  Bruno Haible  <bruno@clisp.org>
40354
40355         * lib/striconveh.c: Include c-strcaseeq.h.
40356         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
40357         * modules/striconveh (Depends-on): Add c-strcaseeq.
40358
40359 2007-01-23  Bruno Haible  <bruno@clisp.org>
40360
40361         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
40362
40363         * modules/c-strcaseeq: New file.
40364         * lib/c-strcaseeq.h: New file.
40365
40366         * modules/streq: New file.
40367         * lib/streq.h: New file.
40368
40369 2007-01-23  Bruno Haible  <bruno@clisp.org>
40370
40371         * modules/striconveha-tests: New file.
40372         * tests/test-striconveha.c: New file.
40373
40374         * lib/striconveha.h: Include <stdbool.h>.
40375         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
40376         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
40377         (mem_iconveha_notranslit): Renamed from mem_iconveha.
40378         (mem_iconveha): New function.
40379         (str_iconveha_notranslit): Renamed from str_iconveha.
40380         (str_iconveha): New function.
40381         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
40382         c-strcase.
40383
40384 2007-01-23  Bruno Haible  <bruno@clisp.org>
40385
40386         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
40387         encodings without forgiving before trying any encoding with handler.
40388         (str_iconveha): Try all encodings without forgiving before trying any
40389         encoding with handler.
40390
40391 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
40392
40393         Import the following changes from libc.
40394
40395         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
40396
40397         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
40398
40399         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
40400
40401         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
40402         normal_bracket label.
40403
40404         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
40405
40406         [BZ #361]
40407         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
40408         to normal_bracket after fetching the next character.
40409
40410 2007-01-22  Bruno Haible  <bruno@clisp.org>
40411
40412         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
40413         argument.
40414         * lib/striconveh.c (iconv_carefully_1): New function.
40415         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
40416         argument.
40417         (str_cd_iconveh): Update.
40418         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
40419         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
40420         * tests/test-striconveh.c (MAGIC): New macro.
40421         (new_offsets): New function.
40422         (main): Test call with and without offsets.
40423
40424 2007-01-22  Bruno Haible  <bruno@clisp.org>
40425
40426         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
40427         * modules/sys_select (Makefile.am): Likewise.
40428         * modules/sys_socket (Makefile.am): Likewise.
40429         * modules/sys_time (Makefile.am): Likewise.
40430
40431 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
40432
40433         * modules/gettimeofday (License): Change from GPL to LGPL, since
40434         gettimeofday is a library function.
40435
40436 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
40437
40438         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
40439
40440 2007-01-21  Bruno Haible  <bruno@clisp.org>
40441
40442         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
40443
40444 2007-01-21  Bruno Haible  <bruno@clisp.org>
40445
40446         * modules/striconveha: New file.
40447         * lib/striconveha.h: New file.
40448         * lib/striconveha.c: New file.
40449         * MODULES.html.sh (Internationalization functions): Add striconveha.
40450         * lib/striconv.c (str_iconv): Optimize the case of an empty input
40451         string.
40452         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
40453
40454 2007-01-21  Bruno Haible  <bruno@clisp.org>
40455
40456         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
40457         * lib/striconveh.c (str_iconveh): Likewise.
40458
40459 2007-01-21  Bruno Haible  <bruno@clisp.org>
40460
40461         * lib/striconveh.h (mem_iconveh): New declaration.
40462         * lib/striconveh.c (mem_iconveh): New function.
40463         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
40464
40465 2007-01-21  Bruno Haible  <bruno@clisp.org>
40466
40467         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
40468
40469         * lib/striconveh.h (mem_cd_iconveh): Change specification.
40470         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
40471         original result buffer.
40472         (str_cd_iconveh): Update.
40473         * tests/test-striconveh.c (main): Update.
40474
40475         * lib/striconv.h (mem_cd_iconv): Change specification.
40476         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
40477         result buffer.
40478         (str_cd_iconv): Update.
40479         * tests/test-striconv.c (main): Update.
40480
40481 2007-01-21  Bruno Haible  <bruno@clisp.org>
40482
40483         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
40484
40485 2007-01-20  Jim Meyering  <jim@meyering.net>
40486
40487         * lib/userspec.c (parse_with_separator): If a user or group string
40488         starts with "+", skip the corresponding name-to-ID look-up, since
40489         such a look-up must fail: user and group names may not include "+".
40490
40491 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
40492
40493         * lib/poll.c: Include sys/time.h and time.h unconditionally,
40494         since we now assume the sys_time module.
40495         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
40496         check for sys/time.h; no longer needed.
40497         * modules/poll (Depends-on): Depend on sys_time.
40498
40499 2007-01-18  Bruno Haible  <bruno@clisp.org>
40500
40501         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
40502         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
40503
40504         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
40505         gettimeofday.
40506
40507         * tests/test-gettimeofday.c: Include <time.h>.
40508         (dummy): Remove variable.
40509
40510         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
40511         gl_HEADER_SYS_TIME_H.
40512         (gl_HEADER_SYS_TIME_H): New macro.
40513
40514         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
40515         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
40516         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
40517         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
40518         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
40519         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
40520         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
40521         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
40522         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
40523         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
40524         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
40525
40526         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
40527         last change; it caused a compilation error when cross-compiling to
40528         Cygwin.
40529
40530 2007-01-18  Jim Meyering  <jim@meyering.net>
40531
40532         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
40533         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
40534         than the race-prone "test -d sys || mkdir sys".
40535         (configure.ac): Use AC_PROG_MKDIR_P.
40536         * modules/sys_select: Likewise.
40537         * modules/sys_socket: Likewise.
40538         * modules/sys_time: Likewise.
40539
40540 2007-01-18  Eric Blake  <ebb9@byu.net>
40541
40542         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
40543         replace gettimeofday.
40544         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
40545         name, to avoid infinite recursion.
40546
40547 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
40548
40549         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
40550         module sys_time.
40551         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
40552         assume timespec.h defines struct timeval.
40553         * lib/settime.c: Likewise.
40554         * lib/utimens.c: Likewise.
40555         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
40556         since we now assume the gettimeofday module.
40557         * lib/tempname.c (__gen_tempname): Likewise.
40558         * lib/gettimeofday.h: Remove.
40559         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
40560         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
40561         Include <time.h>, for 'time()'.
40562         (localtime_buffer_addr): Also use this workaround if
40563         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
40564         to simplify the uses.  All uses changed.
40565         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
40566         that #undef is inside {}, and 'const' follows type name consistently.
40567         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
40568         (gettimeofday): Do not use the maximum possible value for
40569         tv->tv_usec, since that might break usages other than ls.c.
40570         Instead, we'll leave ls.c alone.  This undoes today's patch
40571         by Bruno.  Add a compile-time warning for 1s-clock resolution;
40572         we've never observed the problem but might as well keep the
40573         canary.
40574         * lib/nanosleep.c: Include timespec.h first, for interface check.
40575         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
40576         now assume the sys_time module.
40577         * lib/tempname.c: Likewise.
40578         * lib/timespec.h: Likewise.
40579         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
40580         needed.
40581         * lib/strftime.c: Likewise.
40582         * lib/timespec.h: Likewise.
40583         * lib/posixtm.c: Include posixtm.h first, for interface check.
40584         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
40585         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
40586         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
40587         * lib/sys_time_.h: New file.
40588         * lib/timespec.h (struct timespec): Use long int, not long.
40589         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
40590         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
40591         Remove obsolescent call to AC_HEADER_TIME.
40592         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
40593         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
40594         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
40595         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
40596         Likewise.
40597         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
40598         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
40599         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
40600         into the sys_time module.  Check for gettimeofday just once.
40601         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
40602         for gettimeofday signature to just check the signature.  Merely
40603         compile it, since linking doesn't test signature.  Improve test for
40604         whether gettimeofday.o is actually needed.
40605         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
40606         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
40607         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
40608         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
40609         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
40610         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
40611         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
40612         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
40613         than worrying about sys/time.h.
40614         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
40615         Don't bother worrying about TIME_WITH_SYS_TIME.
40616         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
40617         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
40618         * m4/sys_time_h.m4: New file.
40619         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
40620         Don't include sys/time.h.  Return from main rather than exiting.
40621         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
40622         all uses changed.
40623         * modules/gethrxtime (Depends-on): Add sys_time.
40624         * modules/gettime (Depends-on): Likewise.
40625         * modules/gettimeofday (Depends-on): Likewise.
40626         * modules/nanosleep (Depends-on): Likewise.
40627         * modules/settime (Depends-on): Likewise.
40628         * modules/tempname (Depends-on): Likewise.
40629         * modules/utimens (Depends-on): Likewise.
40630         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
40631         (Include:) Change back to <sys/time.h>.
40632         (Maintainer:) Add self.
40633         * modules/sys_time: New file.
40634         * modules/tempname (Depends-on): Add gettimeofday.
40635         * tests/test-gettimeofday.c: Include <sys/time.h>
40636         rather than gettimeofday.h.
40637
40638 2007-01-17  Bruno Haible  <bruno@clisp.org>
40639
40640         * gnulib-tool (func_get_license): Revert last patch. Instead, let
40641         the license default to GPL.
40642         (func_create_testdir): Don't complain if a module is LGPL and its
40643         tests module depends on GPLed modules.
40644
40645 2007-01-17  Bruno Haible  <bruno@clisp.org>
40646
40647         * lib/gettimeofday.c (gettimeofday): Add code for the case
40648         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
40649         maximum possible value for tv->tv_usec, rather than the minimum one.
40650
40651 2005-10-08  Martin Lambers  <marlam@marlam.de>
40652 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
40653 2007-01-16  Bruno Haible  <bruno@clisp.org>
40654
40655         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
40656         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
40657         gl_FUNC_GETTIMEOFDAY.
40658         (Include): Add gettimeofday.h.
40659         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
40660         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
40661         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
40662         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
40663         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
40664         * lib/gettimeofday.h: New file.
40665         * lib/gettimeofday.c: Include <sys/timeb.h>.
40666         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
40667         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
40668         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
40669         fall back on time().
40670
40671         * tests/test-gettimeofday.c: New file.
40672         * modules/gettimeofday-tests: New file.
40673
40674 2007-01-16  Eric Blake  <ebb9@byu.net>
40675
40676         * modules/fnmatch (Depends-on): Depend on wchar.
40677         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
40678         * m4/fnmatch.m4: Likewise.
40679         * modules/mbchar (Makefile.am): Assume <wchar.h>.
40680         * m4/mbchar.m4: Likewise.
40681         * modules/mbswidth (Depends-on): Depend on wchar.
40682         * lib/mbswidth.c: Assume <wchar.h>.
40683         * m4/mbswidth.m4: Likewise.
40684         * modules/quotearg (Depends-on): Depend on wchar.
40685         * lib/quotearg.c: Assume <wchar.h>.
40686         * m4/quotearg.m4: Likewise.
40687         * modules/regex (Depends-on): Depend on wchar.
40688         * lib/regex_internal.h: Assume <wchar.h>.
40689         * m4/regex.m4: Likewise.
40690         * modules/stdint (Depends-on): Depend on wchar.
40691         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
40692         * m4/stdint.m4: Likewise.
40693         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
40694         * modules/strftime (Depends-on): Depend on wchar.
40695         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
40696         * modules/strtol (Depends-on): Depend on wchar.
40697         * lib/strtol.c: Assume <wchar.h>.
40698         * modules/wcwidth (Depends-on): Depend on wchar.
40699         * lib/wcwidth.h: Assume <wchar.h>.
40700         * m4/wcwidth.m4: Likewise.
40701
40702 2007-01-16  Bruno Haible  <bruno@clisp.org>
40703
40704         * modules/csharpexec-script: New, created from...
40705         * modules/csharpexec: ... this.
40706
40707 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
40708
40709         * modules/javaexec-script: New, created from...
40710         * modules/javaexec: ... this.
40711
40712 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
40713
40714         * modules/poll (Dependencies): Add sys_select.
40715
40716 2007-01-15  Jim Meyering  <jim@meyering.net>
40717
40718         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
40719         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
40720         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
40721         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
40722
40723 2007-01-15  Bruno Haible  <bruno@clisp.org>
40724
40725         * modules/striconveh: New file.
40726         * lib/striconveh.h: New file.
40727         * lib/striconveh.c: New file.
40728         * MODULES.html.sh (Internationalization functions): Add striconveh.
40729
40730         * modules/striconveh-tests: New file.
40731         * tests/test-striconveh.c: New file.
40732
40733 2007-01-15  Bruno Haible  <bruno@clisp.org>
40734
40735         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
40736         not from GNU libiconv or GNU libc.
40737
40738 2007-01-15  Bruno Haible  <bruno@clisp.org>
40739
40740         * doc/gnulib-intro.texi (Copyright): Explain the different license
40741         terms for module descriptions, autoconf macros, tests, documentation.
40742
40743 2007-01-14  Bruno Haible  <bruno@clisp.org>
40744
40745         * modules/striconv-tests: New file.
40746         * tests/test-striconv.c: New file.
40747
40748 2007-01-14  Bruno Haible  <bruno@clisp.org>
40749
40750         * modules/iconv-tests: New file.
40751         * tests/test-iconv.c: New file.
40752
40753 2007-01-14  Bruno Haible  <bruno@clisp.org>
40754
40755         * gnulib-tool (func_get_license): For test modules, use the license of
40756         the main module.
40757
40758 2007-01-14  Bruno Haible  <bruno@clisp.org>
40759
40760         * modules/iconv (Include): Clarify that <iconv.h> can only be included
40761         if iconv is found to exist.
40762
40763 2007-01-14  Bruno Haible  <bruno@clisp.org>
40764
40765         * modules/c-ctype-tests: New file.
40766         * tests/test-c-ctype.c: New file.
40767
40768 2007-01-14  Bruno Haible  <bruno@clisp.org>
40769
40770         * modules/binary-io-tests: New file.
40771         * tests/test-binary-io.sh: New file.
40772         * tests/test-binary-io.c: New file.
40773
40774 2007-01-14  Bruno Haible  <bruno@clisp.org>
40775
40776         * modules/array-oset-tests: New file.
40777         * tests/test-array_oset.c: New file.
40778
40779 2007-01-14  Bruno Haible  <bruno@clisp.org>
40780
40781         * modules/array-list-tests: New file.
40782         * tests/test-array_list.c: New file.
40783
40784 2007-01-14  Bruno Haible  <bruno@clisp.org>
40785
40786         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
40787         and make.
40788         Reported by Simon Josefsson in
40789         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
40790
40791 2007-01-14  Bruno Haible  <bruno@clisp.org>
40792
40793         * modules/allocsa-tests: New file.
40794         * tests/test-allocsa.c: New file.
40795
40796 2007-01-14  Bruno Haible  <bruno@clisp.org>
40797
40798         * modules/fchdir (Depends-on): Add absolute-header.
40799         * modules/unistd (Depends-on): Likewise.
40800
40801 2006-12-30  Bruno Haible  <bruno@clisp.org>
40802
40803         * modules/fchdir: New file.
40804         * modules/unistd (Files): Add lib/unistd_.h.
40805         (Makefile.am): Generate unistd.h from unistd_.h.
40806         * lib/fchdir.c: New file.
40807         * lib/dirent_.h: New file.
40808         * lib/unistd_.h: New file.
40809         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
40810         * m4/fchdir.m4: New file.
40811         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
40812         (gl_HEADER_UNISTD): Invoke it.
40813         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
40814         function.
40815         * lib/backupfile.c (opendir, closedir): Undefine.
40816         * lib/chown.c (open, close): Undefine.
40817         * lib/clean-temp.c (open, close): Undefine.
40818         * lib/copy-file.c (open, close): Undefine.
40819         * lib/execute.c (open, close): Undefine.
40820         * lib/fsusage.c (open, close): Undefine.
40821         * lib/gc-gnulib.c (open, close): Undefine.
40822         * lib/getcwd.c (opendir, closedir): Undefine.
40823         * lib/glob.c (opendir, closedir): Undefine.
40824         * lib/javacomp.c (open, close): Undefine.
40825         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
40826         * lib/openat-proc.c (open, close): Undefine.
40827         * lib/pagealign_alloc.c (open, close): Undefine.
40828         * lib/pipe.c (open, close): Undefine.
40829         * lib/progreloc.c (open, close): Undefine.
40830         * lib/savedir.c (opendir, closedir): Undefine.
40831         * lib/utime.c (open, close): Undefine.
40832         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
40833
40834 2007-01-10  Bruno Haible  <bruno@clisp.org>
40835
40836         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
40837
40838 2007-01-12  Eric Blake  <ebb9@byu.net>
40839
40840         Provide a robust <wchar.h>.  Further simplifications are now
40841         possible in other modules, but not included here.
40842         * modules/wchar: New module.
40843         * m4/wchar.m4: New file.
40844         * lib/wchar_.h: Likewise.
40845         * modules/mbchar (Depends-on): Depend on wchar, as the first use
40846         of the new module.
40847         * MODULES.html.sh (Extended multibyte and wide character utilities):
40848         New section.
40849
40850 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
40851
40852         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
40853         to a reasonable default for memory allocation.
40854         (xreadlink): Don't allocate a huge buffer, to work around a buggy
40855         file system that reports garbage st_size values for symlinks.
40856         Problem reported by Liyang Hu.
40857
40858 2007-01-11  Simon Josefsson  <simon@josefsson.org>
40859
40860         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
40861         Emacs .#* auto-save files).
40862
40863 2007-01-11  Bruno Haible  <bruno@clisp.org>
40864
40865         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
40866         directory.
40867
40868 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
40869
40870         Use @...@ consistently in lib/wctype_.h.
40871         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
40872         on it being set to 1 or 0.
40873         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
40874         go back to AC_SUBSTing it.
40875         * modules/wctype (Makefile.am): Undo previous change.
40876
40877 2007-01-10  Eric Blake  <ebb9@byu.net>
40878
40879         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
40880         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
40881         * modules/wctype (Makefile.am): Likewise.
40882         Reported by Chris McGuire.
40883
40884 2007-01-10  Jim Meyering  <jim@meyering.net>
40885
40886         fts.c: a small readability/maintainability improvement
40887         * lib/fts.c (fts_read): Make this code slightly more readable and
40888         maintainable by hoisting the "sp->fts_cur = p" assignments to
40889         immediately follow the statements that set P.  Derived from
40890         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
40891
40892 2007-01-10  Eric Blake  <ebb9@byu.net>
40893
40894         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
40895         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
40896         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
40897         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
40898         Reported by Chris McGuire.
40899
40900 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40901
40902         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
40903         in sed script.
40904
40905 2007-01-09  Bruno Haible  <bruno@clisp.org>
40906
40907         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
40908         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
40909         variables.
40910         (func_module): Use them.
40911
40912 2007-01-09  Bruno Haible  <bruno@clisp.org>
40913
40914         * modules/unistr/base: New file.
40915         * lib/unistr.h: New file.
40916
40917         * modules/unistr/u8-to-u16: New file.
40918         * lib/unistr/u8-to-u16.c: New file.
40919
40920         * modules/unistr/u8-to-u32: New file.
40921         * lib/unistr/u8-to-u32.c: New file.
40922
40923         * modules/unistr/u16-to-u8: New file.
40924         * lib/unistr/u16-to-u8.c: New file.
40925
40926         * modules/unistr/u16-to-u32: New file.
40927         * lib/unistr/u16-to-u32.c: New file.
40928
40929         * modules/unistr/u32-to-u8: New file.
40930         * lib/unistr/u32-to-u8.c: New file.
40931
40932         * modules/unistr/u32-to-u16: New file.
40933         * lib/unistr/u32-to-u16.c: New file.
40934
40935         * modules/unistr/u8-check: New file.
40936         * modules/unistr/u16-check: New file.
40937         * modules/unistr/u32-check: New file.
40938         * lib/unistr/u8-check.c: New file.
40939         * lib/unistr/u16-check.c: New file.
40940         * lib/unistr/u32-check.c: New file.
40941
40942         * modules/unistr/u8-chr: New file.
40943         * modules/unistr/u16-chr: New file.
40944         * modules/unistr/u32-chr: New file.
40945         * lib/unistr/u8-chr.c: New file.
40946         * lib/unistr/u16-chr.c: New file.
40947         * lib/unistr/u32-chr.c: New file.
40948
40949         * modules/unistr/u8-cmp: New file.
40950         * modules/unistr/u16-cmp: New file.
40951         * modules/unistr/u32-cmp: New file.
40952         * lib/unistr/u8-cmp.c: New file.
40953         * lib/unistr/u16-cmp.c: New file.
40954         * lib/unistr/u32-cmp.c: New file.
40955
40956         * modules/unistr/u8-cpy: New file.
40957         * modules/unistr/u16-cpy: New file.
40958         * modules/unistr/u32-cpy: New file.
40959         * lib/unistr/u8-cpy.c: New file.
40960         * lib/unistr/u16-cpy.c: New file.
40961         * lib/unistr/u32-cpy.c: New file.
40962         * lib/unistr/u-cpy.h: New file.
40963
40964         * modules/unistr/u8-cpy-alloc: New file.
40965         * modules/unistr/u16-cpy-alloc: New file.
40966         * modules/unistr/u32-cpy-alloc: New file.
40967         * lib/unistr/u8-cpy-alloc.c: New file.
40968         * lib/unistr/u16-cpy-alloc.c: New file.
40969         * lib/unistr/u32-cpy-alloc.c: New file.
40970         * lib/unistr/u-cpy-alloc.h: New file.
40971
40972         * modules/unistr/u8-endswith: New file.
40973         * modules/unistr/u16-endswith: New file.
40974         * modules/unistr/u32-endswith: New file.
40975         * lib/unistr/u8-endswith.c: New file.
40976         * lib/unistr/u16-endswith.c: New file.
40977         * lib/unistr/u32-endswith.c: New file.
40978         * lib/unistr/u-endswith.h: New file.
40979
40980         * modules/unistr/u8-mblen: New file.
40981         * modules/unistr/u16-mblen: New file.
40982         * modules/unistr/u32-mblen: New file.
40983         * lib/unistr/u8-mblen.c: New file.
40984         * lib/unistr/u16-mblen.c: New file.
40985         * lib/unistr/u32-mblen.c: New file.
40986
40987         * modules/unistr/u8-mbtouc: New file.
40988         * modules/unistr/u16-mbtouc: New file.
40989         * modules/unistr/u32-mbtouc: New file.
40990         * lib/unistr/u8-mbtouc.c: New file.
40991         * lib/unistr/u16-mbtouc.c: New file.
40992         * lib/unistr/u32-mbtouc.c: New file.
40993
40994         * modules/unistr/u8-mbtouc-safe: New file.
40995         * modules/unistr/u16-mbtouc-safe: New file.
40996         * modules/unistr/u32-mbtouc-safe: New file.
40997         * lib/unistr/u8-mbtouc-safe.c: New file.
40998         * lib/unistr/u16-mbtouc-safe.c: New file.
40999         * lib/unistr/u32-mbtouc-safe.c: New file.
41000
41001         * modules/unistr/u8-move: New file.
41002         * modules/unistr/u16-move: New file.
41003         * modules/unistr/u32-move: New file.
41004         * lib/unistr/u8-move.c: New file.
41005         * lib/unistr/u16-move.c: New file.
41006         * lib/unistr/u32-move.c: New file.
41007         * lib/unistr/u-move.h: New file.
41008
41009         * modules/unistr/u8-next: New file.
41010         * modules/unistr/u16-next: New file.
41011         * modules/unistr/u32-next: New file.
41012         * lib/unistr/u8-next.c: New file.
41013         * lib/unistr/u16-next.c: New file.
41014         * lib/unistr/u32-next.c: New file.
41015
41016         * modules/unistr/u8-prev: New file.
41017         * modules/unistr/u16-prev: New file.
41018         * modules/unistr/u32-prev: New file.
41019         * lib/unistr/u8-prev.c: New file.
41020         * lib/unistr/u16-prev.c: New file.
41021         * lib/unistr/u32-prev.c: New file.
41022
41023         * modules/unistr/u8-set: New file.
41024         * modules/unistr/u16-set: New file.
41025         * modules/unistr/u32-set: New file.
41026         * lib/unistr/u8-set.c: New file.
41027         * lib/unistr/u16-set.c: New file.
41028         * lib/unistr/u32-set.c: New file.
41029         * lib/unistr/u-set.h: New file.
41030
41031         * modules/unistr/u8-startswith: New file.
41032         * modules/unistr/u16-startswith: New file.
41033         * modules/unistr/u32-startswith: New file.
41034         * lib/unistr/u8-startswith.c: New file.
41035         * lib/unistr/u16-startswith.c: New file.
41036         * lib/unistr/u32-startswith.c: New file.
41037         * lib/unistr/u-startswith.h: New file.
41038
41039         * modules/unistr/u8-stpcpy: New file.
41040         * modules/unistr/u16-stpcpy: New file.
41041         * modules/unistr/u32-stpcpy: New file.
41042         * lib/unistr/u8-stpcpy.c: New file.
41043         * lib/unistr/u16-stpcpy.c: New file.
41044         * lib/unistr/u32-stpcpy.c: New file.
41045         * lib/unistr/u-stpcpy.h: New file.
41046
41047         * modules/unistr/u8-stpncpy: New file.
41048         * modules/unistr/u16-stpncpy: New file.
41049         * modules/unistr/u32-stpncpy: New file.
41050         * lib/unistr/u8-stpncpy.c: New file.
41051         * lib/unistr/u16-stpncpy.c: New file.
41052         * lib/unistr/u32-stpncpy.c: New file.
41053         * lib/unistr/u-stpncpy.h: New file.
41054
41055         * modules/unistr/u8-strcat: New file.
41056         * modules/unistr/u16-strcat: New file.
41057         * modules/unistr/u32-strcat: New file.
41058         * lib/unistr/u8-strcat.c: New file.
41059         * lib/unistr/u16-strcat.c: New file.
41060         * lib/unistr/u32-strcat.c: New file.
41061         * lib/unistr/u-strcat.h: New file.
41062
41063         * modules/unistr/u8-strchr: New file.
41064         * modules/unistr/u16-strchr: New file.
41065         * modules/unistr/u32-strchr: New file.
41066         * lib/unistr/u8-strchr.c: New file.
41067         * lib/unistr/u16-strchr.c: New file.
41068         * lib/unistr/u32-strchr.c: New file.
41069
41070         * modules/unistr/u8-strcmp: New file.
41071         * modules/unistr/u16-strcmp: New file.
41072         * modules/unistr/u32-strcmp: New file.
41073         * lib/unistr/u8-strcmp.c: New file.
41074         * lib/unistr/u16-strcmp.c: New file.
41075         * lib/unistr/u32-strcmp.c: New file.
41076
41077         * modules/unistr/u8-strcpy: New file.
41078         * modules/unistr/u16-strcpy: New file.
41079         * modules/unistr/u32-strcpy: New file.
41080         * lib/unistr/u8-strcpy.c: New file.
41081         * lib/unistr/u16-strcpy.c: New file.
41082         * lib/unistr/u32-strcpy.c: New file.
41083         * lib/unistr/u-strcpy.h: New file.
41084
41085         * modules/unistr/u8-strcspn: New file.
41086         * modules/unistr/u16-strcspn: New file.
41087         * modules/unistr/u32-strcspn: New file.
41088         * lib/unistr/u8-strcspn.c: New file.
41089         * lib/unistr/u16-strcspn.c: New file.
41090         * lib/unistr/u32-strcspn.c: New file.
41091         * lib/unistr/u-strcspn.h: New file.
41092
41093         * modules/unistr/u8-strdup: New file.
41094         * modules/unistr/u16-strdup: New file.
41095         * modules/unistr/u32-strdup: New file.
41096         * lib/unistr/u8-strdup.c: New file.
41097         * lib/unistr/u16-strdup.c: New file.
41098         * lib/unistr/u32-strdup.c: New file.
41099         * lib/unistr/u-strdup.h: New file.
41100
41101         * modules/unistr/u8-strlen: New file.
41102         * modules/unistr/u16-strlen: New file.
41103         * modules/unistr/u32-strlen: New file.
41104         * lib/unistr/u8-strlen.c: New file.
41105         * lib/unistr/u16-strlen.c: New file.
41106         * lib/unistr/u32-strlen.c: New file.
41107         * lib/unistr/u-strlen.h: New file.
41108
41109         * modules/unistr/u8-strmblen: New file.
41110         * modules/unistr/u16-strmblen: New file.
41111         * modules/unistr/u32-strmblen: New file.
41112         * lib/unistr/u8-strmblen.c: New file.
41113         * lib/unistr/u16-strmblen.c: New file.
41114         * lib/unistr/u32-strmblen.c: New file.
41115
41116         * modules/unistr/u8-strmbtouc: New file.
41117         * modules/unistr/u16-strmbtouc: New file.
41118         * modules/unistr/u32-strmbtouc: New file.
41119         * lib/unistr/u8-strmbtouc.c: New file.
41120         * lib/unistr/u16-strmbtouc.c: New file.
41121         * lib/unistr/u32-strmbtouc.c: New file.
41122
41123         * modules/unistr/u8-strncat: New file.
41124         * modules/unistr/u16-strncat: New file.
41125         * modules/unistr/u32-strncat: New file.
41126         * lib/unistr/u8-strncat.c: New file.
41127         * lib/unistr/u16-strncat.c: New file.
41128         * lib/unistr/u32-strncat.c: New file.
41129         * lib/unistr/u-strncat.h: New file.
41130
41131         * modules/unistr/u8-strncmp: New file.
41132         * modules/unistr/u16-strncmp: New file.
41133         * modules/unistr/u32-strncmp: New file.
41134         * lib/unistr/u8-strncmp.c: New file.
41135         * lib/unistr/u16-strncmp.c: New file.
41136         * lib/unistr/u32-strncmp.c: New file.
41137
41138         * modules/unistr/u8-strncpy: New file.
41139         * modules/unistr/u16-strncpy: New file.
41140         * modules/unistr/u32-strncpy: New file.
41141         * lib/unistr/u8-strncpy.c: New file.
41142         * lib/unistr/u16-strncpy.c: New file.
41143         * lib/unistr/u32-strncpy.c: New file.
41144         * lib/unistr/u-strncpy.h: New file.
41145
41146         * modules/unistr/u8-strnlen: New file.
41147         * modules/unistr/u16-strnlen: New file.
41148         * modules/unistr/u32-strnlen: New file.
41149         * lib/unistr/u8-strnlen.c: New file.
41150         * lib/unistr/u16-strnlen.c: New file.
41151         * lib/unistr/u32-strnlen.c: New file.
41152         * lib/unistr/u-strnlen.h: New file.
41153
41154         * modules/unistr/u8-strpbrk: New file.
41155         * modules/unistr/u16-strpbrk: New file.
41156         * modules/unistr/u32-strpbrk: New file.
41157         * lib/unistr/u8-strpbrk.c: New file.
41158         * lib/unistr/u16-strpbrk.c: New file.
41159         * lib/unistr/u32-strpbrk.c: New file.
41160         * lib/unistr/u-strpbrk.h: New file.
41161
41162         * modules/unistr/u8-strrchr: New file.
41163         * modules/unistr/u16-strrchr: New file.
41164         * modules/unistr/u32-strrchr: New file.
41165         * lib/unistr/u8-strrchr.c: New file.
41166         * lib/unistr/u16-strrchr.c: New file.
41167         * lib/unistr/u32-strrchr.c: New file.
41168
41169         * modules/unistr/u8-strspn: New file.
41170         * modules/unistr/u16-strspn: New file.
41171         * modules/unistr/u32-strspn: New file.
41172         * lib/unistr/u8-strspn.c: New file.
41173         * lib/unistr/u16-strspn.c: New file.
41174         * lib/unistr/u32-strspn.c: New file.
41175         * lib/unistr/u-strspn.h: New file.
41176
41177         * modules/unistr/u8-strstr: New file.
41178         * modules/unistr/u16-strstr: New file.
41179         * modules/unistr/u32-strstr: New file.
41180         * lib/unistr/u8-strstr.c: New file.
41181         * lib/unistr/u16-strstr.c: New file.
41182         * lib/unistr/u32-strstr.c: New file.
41183         * lib/unistr/u-strstr.h: New file.
41184
41185         * modules/unistr/u8-strtok: New file.
41186         * modules/unistr/u16-strtok: New file.
41187         * modules/unistr/u32-strtok: New file.
41188         * lib/unistr/u8-strtok.c: New file.
41189         * lib/unistr/u16-strtok.c: New file.
41190         * lib/unistr/u32-strtok.c: New file.
41191         * lib/unistr/u-strtok.h: New file.
41192
41193         * modules/unistr/u8-uctomb: New file.
41194         * modules/unistr/u16-uctomb: New file.
41195         * modules/unistr/u32-uctomb: New file.
41196         * lib/unistr/u8-uctomb.c: New file.
41197         * lib/unistr/u16-uctomb.c: New file.
41198         * lib/unistr/u32-uctomb.c: New file.
41199
41200         * MODULES.html.sh (Unicode string functions): Add the new modules.
41201
41202 2007-01-08  Bruno Haible  <bruno@clisp.org>
41203
41204         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
41205         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
41206         subdirectories.
41207
41208 2007-01-08  Karl Berry  <karl@gnu.org>
41209
41210         * doc/error.texi: mention that main() fns must set program_name
41211         when progname is used.
41212
41213 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
41214
41215         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
41216         WCTYPE_H is empty, for the benefit of builds from non-distclean
41217         directories.  Problem reported by Eric Blake in
41218         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
41219
41220 2007-01-08  Bruno Haible  <bruno@clisp.org>
41221
41222         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
41223         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
41224         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
41225         PROVIDE_CANONICALIZE_FILENAME_MODE.
41226         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
41227
41228 2007-01-08  Bruno Haible  <bruno@clisp.org>
41229
41230         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
41231         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
41232         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
41233         * lib/fts.c: Likewise.
41234         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
41235
41236 2006-12-25  Bruno Haible  <bruno@clisp.org>
41237
41238         * modules/utf8-ucs4-safe: New file.
41239         * lib/utf8-ucs4-safe.h: New file.
41240         * lib/unistr/utf8-ucs4-safe.c: New file.
41241
41242         * modules/utf16-ucs4-safe: New file.
41243         * lib/utf16-ucs4-safe.h: New file.
41244         * lib/unistr/utf16-ucs4-safe.c: New file.
41245
41246         * MODULES.html.sh (Unicode string functions): Add the new modules.
41247
41248 2007-01-08  Bruno Haible  <bruno@clisp.org>
41249
41250         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
41251         (Depends-on): Add unitypes.
41252         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
41253         (u8_mbtouc_aux): Move out to separate file.
41254         (u8_mbtouc): Use ucs4_t, uint8_t types.
41255         * lib/unistr/utf8-ucs4.c: New file.
41256
41257         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
41258         (Depends-on): Add unitypes.
41259         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
41260         (u16_mbtouc_aux): Move out to separate file.
41261         (u16_mbtouc): Use ucs4_t, uint16_t types.
41262         * lib/unistr/utf16-ucs4.c: New file.
41263
41264         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
41265         (Depends-on): Add unitypes.
41266         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
41267         (u8_uctomb_aux): Move out to separate file.
41268         (u8_uctomb): Use ucs4_t, uint8_t types.
41269         * lib/unistr/ucs4-utf8.c: New file.
41270
41271         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
41272         (Depends-on): Add unitypes.
41273         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
41274         (u16_uctomb_aux): Move out to separate file.
41275         (u16_uctomb): Use ucs4_t, uint16_t types.
41276         * lib/unistr/ucs4-utf16.c: New file.
41277
41278 2006-12-25  Bruno Haible  <bruno@clisp.org>
41279
41280         * modules/unitypes: New file.
41281         * lib/unitypes.h: New file.
41282         * MODULES.html.sh (func_all_modules): New section "Unicode string
41283         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
41284         this section. Add unitypes.
41285
41286 2007-01-08  Bruno Haible  <bruno@clisp.org>
41287
41288         Avoid variable names that conflict with those from libtool.
41289         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
41290         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
41291         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
41292         library_names_spec to acl_library_names_spec, hardcode_* to
41293         acl_hardcode_*.
41294         Reported by Ralf Wildenhues.
41295
41296 2007-01-08  Bruno Haible  <bruno@clisp.org>
41297
41298         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
41299         definition.
41300         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
41301         definition.
41302         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
41303         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
41304         definition.
41305         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
41306         definition.
41307         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
41308         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
41309         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
41310         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
41311         definition.
41312         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
41313         definition.
41314         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
41315         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
41316         GC_USE_<algorithm>.
41317         * lib/gc-libgcrypt.c: Likewise.
41318         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
41319         * modules/gc-arctwo (configure.ac): Likewise.
41320         * modules/gc-des (configure.ac): Likewise.
41321         * modules/gc-hmac-md5 (configure.ac): Likewise.
41322         * modules/gc-hmac-sha1 (configure.ac): Likewise.
41323         * modules/gc-md2 (configure.ac): Likewise.
41324         * modules/gc-md4 (configure.ac): Likewise.
41325         * modules/gc-md5 (configure.ac): Likewise.
41326         * modules/gc-random (configure.ac): Likewise.
41327         * modules/gc-rijndael (configure.ac): Likewise.
41328         * modules/gc-sha1 (configure.ac): Likewise.
41329
41330 2007-01-08  Bruno Haible  <bruno@clisp.org>
41331
41332         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
41333         macro definition.
41334         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
41335         definition.
41336         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
41337         definition.
41338         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
41339         * modules/fcntl-safer (configure.ac): Likewise.
41340         * modules/fopen-safer (configure.ac): Likewise.
41341         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
41342         GNULIB_FWRITEERROR macro definition.
41343
41344 2007-01-08  Bruno Haible  <bruno@clisp.org>
41345
41346         * m4/gnulib-common.m4: New file.
41347         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
41348         (func_get_filelist): Add m4/gnulib-common.m4.
41349
41350 2007-01-08  Bruno Haible  <bruno@clisp.org>
41351
41352         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
41353         command.
41354
41355 2007-01-08  Jim Meyering  <jim@meyering.net>
41356
41357         Use a more robust test for a "can't happen" condition.
41358         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
41359         narrowed the st_size value.  Presuming the "can't happen" condition
41360         is true, that narrowing could conceivably convert an invalid st_size
41361         value into a valid one.  Instead, use a change based on Matthew
41362         Woehlke's original patch.
41363
41364         Slight readability improvement: use an assert-like macro
41365         in place of literal "abort ()" uses.
41366         * lib/fts.c (fts_assert): Define.
41367         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
41368         Use this macro instead of a bare 'abort'.
41369
41370 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
41371
41372         Don't worry about using IRIX 5.3's wctype.h broken definitions;
41373         simply work around them.
41374         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
41375         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
41376         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
41377         declaring.
41378         Don't bother to define as macros, since the standard doesn't require it.
41379         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
41380         longer worry about IRIX 5.3.
41381         (HAVE_WCTYPE_CTMP_BUG): Remove.
41382
41383 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
41384
41385         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
41386         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
41387         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
41388         Problems reported by Georg Schwarz for IRIX 5.3.
41389
41390         * gnulib-tool (autoconf_minversion): Take the maximum version number
41391         found, not the minimum.  Problem reported by James Youngman.
41392
41393 2007-01-03  Karl Berry  <karl@gnu.org>
41394
41395         * doc/error.texi: new file, explaining interaction with progname.
41396         * doc/gnulib.texi: include it.  Update copyright.
41397
41398 2007-01-03  Simon Josefsson  <simon@josefsson.org>
41399
41400         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
41401         AC_CANONICAL_HOST, to improve autobuild outputs.
41402
41403 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
41404             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
41405
41406         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
41407         sockets, server sockets, and other file descriptors.  Count errors
41408         to compute the return value.  Reorder the code a bit to be easier
41409         to follow.  Don't set event bits that were not requested (except
41410         POLLERR and POLLHUP).
41411
41412 2007-01-01  Bruno Haible  <bruno@clisp.org>
41413
41414         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
41415
41416 2007-01-03  Jim Meyering  <jim@meyering.net>
41417
41418         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
41419
41420 2007-01-02  Bruno Haible  <bruno@clisp.org>
41421
41422         * modules/settime (Include): Require timespec.h.
41423         * modules/nanosleep (Include): Likewise.
41424
41425 2007-01-01  Bruno Haible  <bruno@clisp.org>
41426
41427         * gnulib-tool (func_emit_copyright_notice): Bump year.
41428         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
41429
41430 2007-01-01  Bruno Haible  <bruno@clisp.org>
41431
41432         Improve support for OpenBSD.
41433         * build-aux/config.rpath (libname_spec): Export.
41434         (library_names_spec): New variable. Export.
41435         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
41436         library_names_spec from the config.rpath output. Locate shared library
41437         through the name pattern in library_names_spec.
41438
41439 2007-01-01  Eric Blake  <ebb9@byu.net>
41440
41441         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
41442
41443 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
41444
41445         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
41446         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
41447         assume the C locale, and avoid an "eval" that could cause trouble.
41448         Problem with SORT reported by Bob Proulx.
41449
41450         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
41451         Define.  Trivial patch from Henning Nielsen Lund, originally
41452         sent to bug-grep@gnu.org today.
41453
41454 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
41455
41456         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
41457         struct stat.  Problem reported by Henning Nielsen Lund.
41458         * lib/acl.c: Include acl.h first, to check interface.  Don't
41459         bother to include sys/types.h and sys/stat.h again.
41460
41461 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
41462
41463         Import the following change from libc; problem reported by
41464         Sven Verdoolaege.
41465
41466         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
41467
41468         [BZ #1373]
41469         * lib/argp.h: Remove __NTH for __argp_usage inline function.
41470
41471 2006-12-28  Jim Meyering  <jim@meyering.net>
41472
41473         * build-aux/announce-gen: Do not assume that the package
41474         builds any of tar.gz, tar.bz2, and .xdelta files.
41475         Suggestion from Simon Josefsson.
41476
41477 2006-12-28  Simon Josefsson  <simon@josefsson.org>
41478
41479         * modules/announce-gen: New file.
41480
41481 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
41482
41483         * lib/mbchar.h: Just include <wctype.h>; the wctype module
41484         handles its gotchas now.
41485         * lib/mbswidth.c: Likewise.
41486         * lib/wcwidth.h: Likewise.
41487         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
41488         and iswcntrl; the wctype module does this stuff now.
41489         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
41490         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
41491         * modules/mbchar (Depends-on): Add wctype.
41492         * modules/mbswidth (Depends-on): Likewise.
41493         * modules/wcwidth (Depends-on): Likewise.
41494
41495 2006-12-27  Eric Blake  <ebb9@byu.net>
41496
41497         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
41498         module uses more than what <wctype.h> is required to provide.
41499
41500 2006-12-26  Eric Blake  <ebb9@byu.net>
41501
41502         * gnulib-tool (sed_extract_prog): Avoid space-tab.
41503
41504 2006-12-26  Eric Blake  <ebb9@byu.net>
41505
41506         * modules/absolute-header: New module.
41507         * modules/fcntl (Depends-on): Depend on it.
41508         * modules/inttypes (Depends-on): Likewise.
41509         * modules/stdint (Depends-on): Likewise.
41510         * modules/sys_stat (Depends-on): Likewise.
41511         * modules/wctype (Depends-on): Likewise.
41512         * MODULES.html.sh (Support for building libraries and
41513         executables): Document it.
41514
41515 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
41516
41517         * gnulib-tool (SED): Remove, undoing previous change.
41518         The problem was that it broke coreutils on Solaris, because
41519         "sed --posix" leaked into a makefile.
41520         (sed): New alias, if 'alias' and GNU sed.
41521
41522 2006-12-24  Jim Meyering  <jim@meyering.net>
41523
41524         Work around an fchownat bug in glibc-2.4:
41525         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
41526         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
41527         in spite of the -P option.
41528         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
41529         New macros.
41530         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
41531         * modules/openat (Files): Add lib/fchownat.c.
41532         * lib/openat.c (fchownat): Don't define here.  Move to...
41533         * lib/fchownat.c: ...this new file.
41534
41535 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
41536
41537         Fix bug reported by Bruno Haible in
41538         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
41539         where quotearg.c didn't compile on Mac OS X 10.2 because it
41540         lacks <wchar.h> and wint_t.
41541         * lib/wctype_.h (__wctype_wint_t): New type.
41542         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
41543         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
41544         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
41545         Arg is now of type __wctype_wint_t, not wint_t.
41546         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
41547         substitute HAVE_WINT_T.
41548         * modules/wctype (Files): Add m4/wint_t.m4.
41549         (wctype.h): Substitute HAVE_WINT_T.
41550
41551 2006-12-23  Bruno Haible  <bruno@clisp.org>
41552
41553         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
41554
41555 2006-12-23  Bruno Haible  <bruno@clisp.org>
41556
41557         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
41558         S_ISLNK.
41559         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
41560         mingw.
41561
41562 2006-12-22  Bruno Haible  <bruno@clisp.org>
41563
41564         * lib/copy-file.c: Include acl.h.
41565         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
41566         Close the file descriptors only after being done with copy_acl.
41567         * modules/copy-file (Depends-on): Add acl.
41568
41569 2006-12-22  Bruno Haible  <bruno@clisp.org>
41570
41571         * gnulib-tool (SED): New variable.
41572         Use $SED instead of sed everywhere.
41573
41574 2006-12-22  Bruno Haible  <bruno@clisp.org>
41575
41576         * modules/no-c++: New file.
41577         * m4/no-c++.m4: New file.
41578         * MODULES.html.sh (Support for building libraries and executables):
41579         Add no-c++.
41580
41581 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
41582
41583         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
41584         Include <limits.h>, and use its INT_MAX to rewrite the
41585         j loop so that it does not overflow 'int'.  Problem reported by
41586         Ralf Wildenhues in
41587         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
41588         Play it safe by shifting left by 1 rather than multiplying by 2,
41589         as GCC is less likely to optimize this away when the value
41590         is signed (when it assumes overflow leads to undefined behavior).
41591         Also, don't assume time_t uses two's complement.
41592
41593 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
41594
41595         * MODULES.html.sh: New module wctype.
41596         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
41597         * lib/fnmatch.c: Don't bother to include <wchar.h> before
41598         <wctype.h>, since the new wctype module should fix this.
41599         * lib/quotearg.c: Include <wctype.h> unconditionally, since
41600         the wctype module should arrange for it.
41601         * lib/regex_internal.h: Likewise.
41602         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
41603         since the wctype module should handle this now.
41604         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
41605         * modules/fnmatch (Depends-on): Add wctype.
41606         * modules/quotearg (Depends-on): Likewise.
41607         * modules/regex (Depends-on): Likewise.
41608
41609 2006-12-19  Bruno Haible  <bruno@clisp.org>
41610
41611         * lib/strdup.h [C++]: Wrap definitions in extern "C".
41612         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
41613
41614 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41615
41616         * modules/savewd (Depends-on): Fix dependency on fcntl.
41617
41618 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
41619
41620         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
41621         conforms to C99, rather than relying on the user's environment
41622         setting of STDINT_H.
41623
41624 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
41625         and Eric Blake  <ebb9@byu.net>
41626
41627         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
41628         This is more consistent with the other defines here.
41629         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
41630         Port to z/OS.  Problem reported by Paul Gilmartin.
41631         Change local vars to use gl_ prefix rather than ac_.
41632         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
41633         with other defines.
41634         * modules/double-slash-root: New module.
41635         * modules/dirname (Files): Remove m4/double-slash-root.m4.
41636         (Depends-on): Add double-slash-root.
41637         * MODULES.html.sh (File system functions): Mention new module.
41638
41639 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
41640
41641         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
41642         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
41643         This is for the benefit of gzip, which doesn't do i18n.
41644
41645 2006-12-12  Jim Meyering  <jim@meyering.net>
41646
41647         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
41648         Reported by Andreas Schwab <schwab@suse.de>.
41649
41650 2006-12-12  Bruno Haible  <bruno@clisp.org>
41651
41652         Merge these changes.
41653         2006-09-05  Bruno Haible  <bruno@clisp.org>
41654         * lib/iconvme.c (iconv_string): No need to save and restore errno when
41655         iconv_alloc succeeded.
41656         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
41657         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
41658         test for " && dest " at the end - dest is always != NULL there. Call
41659         iconv with 4xNULL arguments initially, to reset the state. Call iconv
41660         with 2xNULL arguments, also to flush the state storage. Handle the
41661         IRIX iconv behaviour. Realloc the final result, to throw away unused
41662         memory.
41663
41664 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
41665
41666         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
41667         and fchmodat unconditionally, since glibc 2.4 has them.
41668         Problem reported by Arkadiusz Miskiewicz.
41669
41670 2006-12-10  Bruno Haible  <bruno@clisp.org>
41671
41672         * gnulib-tool (func_import): Show the include files only for those
41673         modules that are copied and specified.
41674         Reported by Karl Berry.
41675
41676 2006-12-08  Jim Meyering  <jim@meyering.net>
41677
41678         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
41679         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
41680
41681         * build-aux/announce-gen: Add two new options, both optional:
41682         --bootstrap-tools=TOOL_LIST
41683               a comma-separated list of tools, e.g.,
41684               autoconf,automake,bison,gnulib
41685         --gnulib-snapshot-date=DATE
41686               if gnulib is in the bootstrap tool list,
41687               then report this as the snapshot date.
41688               If not specified, use the current date/time.
41689               If you specify a date here, be sure it's UTC.
41690
41691 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41692
41693         * tests/test-argp-2.sh: Fix test to match actual output.
41694         (func_compare): Fix sed script to be portable.
41695
41696 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
41697
41698         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
41699         workaround for this case.  It is not autoconfigured now; offhand
41700         it's hard to see how to autoconfigure it.
41701
41702 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
41703
41704         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
41705         a directory that is about to be chowned.  Such a directory's
41706         initial file permissions should permit the owner only and this
41707         should not be changed until after the chown, since the group and
41708         other bits would be incorrect if they granted permission before
41709         the chown.
41710
41711         Fix porting problem for iswctype reported by Georg Schwarz in:
41712         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
41713         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
41714         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
41715         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
41716         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
41717
41718 2006-12-03  Jim Meyering  <jim@meyering.net>
41719
41720         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
41721         p->fts_statp may not yet be defined.
41722         (fts_read): Instead, set it in the caller, once p->fts_statp is
41723         sure to be defined, and corresponds to a top-level directory.
41724         This bug made du -x fail.  Here's the coreutils test case:
41725         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
41726         Reported by Mike Frysinger.
41727
41728 2006-12-01  Jim Meyering  <jim@meyering.net>
41729
41730         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
41731         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
41732         Reported by Simon Josefsson.
41733
41734 2006-11-30  Jim Meyering  <jim@meyering.net>
41735
41736         * m4/warning.m4: Use the all-permissive copyright notice
41737         recommended by RMS (rather than LGPL).
41738         * m4/vararrays.m4: Likewise.
41739         * m4/flexmember.m4: Likewise.
41740
41741 2006-11-29  Bruno Haible  <bruno@clisp.org>
41742
41743         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
41744         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
41745         using +=.
41746         Reported by Simon Josefsson <simon@josefsson.org>.
41747
41748 2006-11-28  James Youngman <jay@gnu.org>
41749
41750         * README: Advise users that they might find the bug-gnulib@gnu.org
41751         and autotools-announce@gnu.org mailing lists useful.
41752
41753 2006-11-28  Bruno Haible  <bruno@clisp.org>
41754
41755         * m4/ptrdiff_max.m4: Remove file.
41756
41757 2006-11-21  Bruno Haible  <bruno@clisp.org>
41758
41759         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
41760         _AC_COMPUTE_INT.
41761         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
41762         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
41763         _AC_COMPUTE_INT.
41764         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
41765         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
41766         _AC_COMPUTE_INT.
41767         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
41768
41769 2006-11-28  Jim Meyering  <jim@meyering.net>
41770
41771         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
41772         warning from "gcc -Wshadow" about shadowing the builtin.
41773
41774 2006-11-27  Bruno Haible  <bruno@clisp.org>
41775
41776         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
41777         _AC_COMPUTE_INT.
41778         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
41779
41780 2006-11-27  Bruno Haible  <bruno@clisp.org>
41781             Paul Eggert  <eggert@cs.ucla.edu>
41782
41783         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
41784
41785 2006-11-26  Bruno Haible  <bruno@clisp.org>
41786
41787         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
41788         noinst_LTLIBRARIES.
41789
41790 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
41791             Bruno Haible  <bruno@clisp.org>
41792
41793         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
41794         if compiling with "gcc -ansi".
41795
41796 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
41797
41798         Fix some incompatibilities with gcc -ansi -pedantic.
41799         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
41800         if compiling pedantically with GCC, unless it's C99 or later.
41801         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
41802         it mishandles gcc -ansi -pedantic as well.
41803         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
41804         if gcc -pedantic.
41805         * lib/regexec.c (check_node_accept_bytes): Don't use auto
41806         initializers for struct if -pedantic, unless it's C99 or later.
41807
41808 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
41809
41810         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
41811         Don't close an fd more than once. Identical atimes indicate
41812         success, not failure.
41813
41814 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
41815
41816         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
41817
41818 2006-11-23  Jim Meyering  <jim@meyering.net>
41819
41820         * build-aux/announce-gen: New file.  From coreutils.
41821
41822 2006-11-22  Jim Meyering  <jim@meyering.net>
41823
41824         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
41825         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
41826         (fts_read): Use a temporary to narrow the overused st_size member
41827         before using it in a switch statement.  Reported by Matthew Woehlke.
41828
41829         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
41830         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
41831
41832 2006-11-20  Bruno Haible  <bruno@clisp.org>
41833
41834         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
41835         changequote instead of pairs of brackets.
41836         Reported by Andreas Schwab <schwab@suse.de>.
41837
41838 2006-11-21  Jim Meyering  <jim@meyering.net>
41839
41840         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
41841         so as to remain compatible with older compilers.
41842         Patch from Michael Deutschmann.
41843
41844 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
41845
41846         * MODULES.html.sh (File system functions): Add openat.
41847
41848         * lib/openat.h (rpl_fstatat): New macro, if
41849         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
41850         (fstatat): Define to rpl_fstatat under the same conditions,
41851         unless COMPILING_FSTATAT.
41852         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
41853         seems to have the bug.
41854         * lib/fstatat.c: New file.
41855         * modules/openat (Files): Add it.
41856
41857 2006-11-20  Bruno Haible  <bruno@clisp.org>
41858
41859         * Makefile: New file.
41860
41861 2006-11-20  Jim Meyering  <jim@meyering.net>
41862
41863         The beginnings of syntax-related checks for gnulib.
41864         * lib/Makefile: New file.
41865         * lib/t-idcache: New script.  Ensure that the two halves of
41866         idcache.c stay in sync.
41867
41868         * lib/idcache.c: Adjust comments in user- and group- portions to
41869         be more accurate, and to be consistent with one another.
41870
41871 2006-11-20  Jim Meyering  <jim@meyering.net>
41872
41873         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
41874         continue using the flexible array member (thus, this module performs
41875         half as many malloc calls), with the addition that...
41876         (getgroup, getuser): Consistently record a non-match via an empty
41877         "name" string, and map an empty string match to a NULL return value.
41878         * modules/idcache (Depends-on): Re-add flexmember.
41879
41880         * lib/idcache.c (getuser): Remove all uses of the register keyword.
41881         (getuidbyname, getgroup, getgidbyname): Likewise.
41882
41883         Use cleaner syntax: NULL rather than 0.
41884         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
41885
41886 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
41887
41888         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
41889         It mishandled the case where the group was missing.
41890         Problem reported by Greg Schafer.
41891         * modules/idcache: Likewise.
41892
41893 2006-11-18  Jim Meyering  <jim@meyering.net>
41894
41895         * check-module (%exempt_header): Add exception for some
41896         conditionally-included headers.
41897
41898         * modules/i-ring (Depends-on): Add verify.
41899         (License): Change to LGPL.
41900
41901 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
41902
41903         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
41904         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
41905         and inttostr.h.  Use snprintf rather than uinttostr, so that
41906         LGPLed code doesn't depend on GPLed.
41907
41908 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
41909
41910         * modules/inline (License): Change from GPL to LGPL.
41911
41912 2006-11-17  Jim Meyering  <jim@meyering.net>
41913
41914         * modules/d-type (License): Switch to LGPL.
41915
41916 2006-11-15  Bruno Haible  <bruno@clisp.org>
41917
41918         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
41919
41920 2006-11-15  Eric Blake  <ebb9@byu.net>
41921
41922         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
41923         the module dependency.
41924
41925 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
41926             Bruno Haible  <bruno@clisp.org>
41927
41928         * gnulib-tool (func_create_testdir): Add license consistency check.
41929
41930 2006-11-15  Eric Blake  <ebb9@byu.net>
41931
41932         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
41933         random "(cached)" in configure output.
41934
41935 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41936
41937         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
41938         test for conforming inttypes.h is both announced and cached.
41939
41940         * MODULES.html.sh (seen_modules, seen_files): New variables.
41941         (func_module): Rewrite to use a few less gnulib-tool and sed
41942         invocations.  Avoid a couple of quadratic algorithms for ...
41943         (missed_modules, missed_files): ... these, with ...
41944         (func_append, func_tmpdir): ... these new functions, from
41945         gnulib-tool.  Analogously, install traps for cleanup.
41946
41947         * tests/test-gc.c (main): Remove unused variables.
41948         * tests/test-read-file.c: Include stdlib.h, for 'free'.
41949
41950 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
41951
41952         * modules/inttostr (License): Change to LGPL.
41953
41954 2006-11-14  Eric Blake  <ebb9@byu.net>
41955
41956         * modules/tempname (License): Change to LGPL.
41957
41958 2006-11-14  Eric Blake  <ebb9@byu.net>
41959
41960         * doc/functions.texi (Function Portability): *printf functions on
41961         Cygwin now understand all POSIX size specifiers.
41962
41963 2006-11-14  Bruno Haible  <bruno@clisp.org>
41964
41965         * modules/c-ctype (License): Change to LGPL.
41966
41967 2006-11-12  Bruno Haible  <bruno@clisp.org>
41968
41969         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
41970         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
41971         for GNOME libraries, for which the include files are installed in
41972         subdirectories of $prefix/include.
41973
41974 2006-11-12  Bruno Haible  <bruno@clisp.org>
41975
41976         * m4/lib-link.m4: Require at least autoconf-2.54.
41977         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
41978         name to underscores for the --with option.
41979
41980 2006-11-13  Bruno Haible  <bruno@clisp.org>
41981
41982         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
41983         the tests directory.
41984         Reported by Ralf Wildenhues.
41985
41986 2006-11-13  Bruno Haible  <bruno@clisp.org>
41987
41988         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
41989         (func_emit_initmacro_end): Undo the override here.
41990         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
41991         Works around the famous automake error in coreutils.
41992
41993 2006-11-13  Eric Blake  <ebb9@byu.net>
41994
41995         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
41996         element, not its node.
41997
41998 2006-11-12  Bruno Haible  <bruno@clisp.org>
41999
42000         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
42001         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
42002
42003 2006-11-12  Bruno Haible  <bruno@clisp.org>
42004
42005         * gnulib-tool: New option --local-symlink.
42006         (func_usage): Document it.
42007         (lsymbolic): New variable.
42008         (func_import, func_create_testdir): If --symlink was not specified,
42009         test whether --local-symlink was specified and the file comes from
42010         the local_gnulib_dir.
42011
42012 2006-11-12  Bruno Haible  <bruno@clisp.org>
42013
42014         * gnulib-tool (func_ln): New function.
42015         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
42016
42017 2006-11-12  Bruno Haible  <bruno@clisp.org>
42018
42019         Finish support for source files in subdirectories.
42020         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
42021         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
42022         AUTOMAKE_OPTIONS.
42023         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
42024
42025 2006-11-12  Bruno Haible  <bruno@clisp.org>
42026
42027         * gnulib-tool (func_get_automake_snippet): Synthesize also an
42028         EXTRA_lib_SOURCES augmentation.
42029         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
42030
42031 2006-11-12  Jim Meyering  <jim@meyering.net>
42032
42033         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
42034         file descriptors.  This also averts a failure on systems with
42035         native openat support when a traversed directory lacks "x" access.
42036         * lib/fts_.h: Include "i-ring.h"
42037         (struct FTS) [fts_fd_ring]: New member.
42038         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
42039         (FCHDIR): Add parentheses.
42040         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
42041         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
42042         When descending, rather than simply closing the previous
42043         fts_cwd_fd value, push that file descriptor onto the ring.
42044         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
42045         (fts_open): Initialize the new fd_ring member.
42046         (fts_close): Clear the ring.
42047         (fts_safe_changedir): When possible, use our new fd_ring to skip
42048         the diropen and fstat and dev/ino comparison that would normally
42049         accompany a virtual `chdir ("..")'.
42050
42051         * modules/fts (Depends-on): Add i-ring.
42052         * modules/i-ring: New module.
42053         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
42054         * m4/i-ring.m4: New file.
42055
42056 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42057
42058         * gnulib-tool (func_create_testdir): Fix replacement of
42059         `build-aux' in configure.ac.  Run autotools in gltests
42060         subdirectory.
42061         (func_create_testdir, func_create_megatestdir, test): There is
42062         no need for '--force' in most autotool invocations in a new
42063         tree.  Actually fail the whole test if any of the tools, or the
42064         configure or make stages fail.
42065
42066         Sync from Automake.
42067         * build-aux/gnupload: Revert last change.  Add pointer to upload
42068         instructions of the GNU Maintenance Instructions.
42069         Suggestion by Karl Berry.
42070
42071 2006-11-10  Jim Meyering  <jim@meyering.net>
42072
42073         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
42074
42075 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
42076
42077         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
42078         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
42079         (bind_textdomain_codeset) [! ENABLE_NLS]:
42080         Evaluate all the arguments.  That way, callers get compatible behavior
42081         if the arguments have side effects.  Also, it avoids some GCC
42082         diagnostics in some cases; Joel E. Denny reported problems when Bison
42083         was configured with --enable-gcc-warnigs.
42084
42085 2006-11-10  Jim Meyering  <jim@meyering.net>
42086
42087         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
42088         relevant options in CFLAGS (like -O, -fno-inline) are taken into
42089         account.
42090
42091 2006-11-10  Jim Meyering  <jim@meyering.net>
42092
42093         * modules/inline: New file/module.
42094         * modules/xalloc (Files): Remove m4/inline.m4.
42095         (Depends-on): Add inline, instead.
42096         * modules/oset: Likewise.
42097         * modules/list: Likewise.
42098
42099 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
42100
42101         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
42102         Problem reported by Matthew Woehlke.
42103
42104 2006-11-09  Bruno Haible  <bruno@clisp.org>
42105
42106         * lib/tempname.c (gen_tempname): Remove variant that invokes
42107         __gen_tempname.
42108         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
42109         __gen_tempname.
42110
42111 2006-11-08  Bruno Haible  <bruno@clisp.org>
42112
42113         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
42114         to 'yes' instead of 'cross-compiling'.
42115
42116 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
42117
42118         * lib/quotearg.h (quotearg_free): New decl.
42119         * lib/quotearg.c (quotearg_free): New function.
42120         (slot0, nslots, slotvec0, slotvec):
42121         Now file-scope so that quotearg_free can get at them.
42122
42123 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42124
42125         Sync from Automake.
42126         * build-aux/gnupload: Add missing 'gnu' to example URL.
42127         Report by Karl Berry.
42128
42129 2006-11-08  Bruno Haible  <bruno@clisp.org>
42130
42131         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
42132         Suggested by Paul Eggert.
42133
42134 2006-11-08  Jim Meyering  <jim@meyering.net>
42135
42136         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
42137         It's already included if !_LIBC.
42138         (fts_safe_changedir): Add a comment.
42139
42140 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
42141
42142         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
42143         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
42144         Matthew Woehlke.
42145
42146         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
42147         definitions up, to avoid colliding with change below.
42148         (static_inline) [HAVE_INLINE]: New macro.
42149         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
42150         Provide extern decls when !HAVE_INLINE.  Do not define unless
42151         static_inline is defined, either by us or by xmalloc.c.  Use
42152         static_inline rather than static inline.
42153         (XCALLOC): Optimize sizeof(T) = 1 case.
42154         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
42155
42156 2006-11-07  Bruno Haible  <bruno@clisp.org>
42157
42158         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
42159         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
42160         AC_C_INLINE.
42161         * modules/xalloc (Files): Add m4/inline.m4.
42162
42163 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42164
42165         * README: Fix typo.
42166         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
42167         (Miscellanous Notes): ...from this.
42168
42169 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
42170
42171         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
42172         Mention that offsetof should be used instead of sizeof.
42173         From Bruno Haible.
42174
42175 2006-11-07  Bruno Haible  <bruno@clisp.org>
42176
42177         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
42178
42179 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
42180
42181         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
42182         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
42183         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
42184         (gl_tree_add_before, gl_tree_add_after):
42185         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
42186         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
42187         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
42188         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
42189         (gl_linked_add_after, gl_linked_add_at): Likewise.
42190         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
42191         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
42192         (gl_tree_add_before, gl_tree_add_after): Likewise.
42193         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
42194         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
42195         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
42196
42197 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42198
42199         * lib/gl_oset.h: Use C comment style, not C++ comment style.
42200
42201 2006-11-06  Bruno Haible  <bruno@clisp.org>
42202
42203         * m4/inline.m4: New file.
42204         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
42205         * modules/list (Files): Add m4/inline.m4.
42206         * modules/oset (Files): Likewise.
42207
42208 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
42209
42210         * lib/idcache.c: Include <stddef.h>, for offsetof.
42211         (struct userid.name): Change from char * to a flexible array member.
42212         All uses changed.
42213         * modules/idcache (Depends-on): Add flexmember.
42214
42215         * MODULES.html.sh (Core language properties): New module flexmember.
42216         * modules/flexmember, m4/flexmember.m4: New files.
42217
42218         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
42219         inline functions that are identical with the old xnmalloc_inline,
42220         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
42221         that we can avoid some unnecessary integer multiplications and
42222         divisions in the common case where the element size is known at
42223         compile time.
42224         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
42225         needed.
42226         (xnboundedmalloc): Remove.
42227         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
42228         arguments, for consistency with rest of this header.
42229         (xcharalloc): Rewrite using XNMALLOC.
42230         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
42231         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
42232         versions have been moved to lib/xalloc.h and renamed to be the
42233         non-*_inline versions.
42234         (xmalloc, xrealloc): Implement without reference to the xnmalloc
42235         and xnrealloc functions, since those functions are now inline and
42236         now call us.
42237         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
42238         renaming described above.
42239         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
42240         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
42241         captures the dependency in AC_C_INLINE.
42242
42243         New module canonicalize-lgpl, proposed by Charles Wilson in
42244         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
42245         with a few small changes afterwards.
42246         * MODULES.html.sh (File system functions): New module
42247         canonicalize-lgpl.
42248         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
42249         and canonicalize_file_name.
42250         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
42251         * modules/canonicalize-lgpl: New files.
42252
42253 2006-11-05  Bruno Haible  <bruno@clisp.org>
42254
42255         * gnulib-tool (func_import, func_create_testdir): Create directories
42256         also for files in subdirectories of lib/.
42257
42258 2006-11-05  Bruno Haible  <bruno@clisp.org>
42259
42260         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
42261         ANSI C compliant.
42262
42263 2006-11-03  Bruno Haible  <bruno@clisp.org>
42264
42265         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
42266         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
42267         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
42268         (xnboundedmalloc): New inline function.
42269         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
42270         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
42271         xmalloc.
42272         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
42273         xmalloc.
42274         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
42275         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
42276         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
42277         xmalloc.
42278         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
42279         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
42280         xmalloc.
42281         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
42282         gl_tree_add_after): Use XMALLOC instead of xmalloc.
42283         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
42284         xmalloc.
42285         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
42286         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
42287         gl_tree_add_after): Use XMALLOC instead of xmalloc.
42288         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
42289         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
42290         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
42291         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
42292
42293 2006-11-03  Bruno Haible  <bruno@clisp.org>
42294
42295         * lib/c-ctype.h [C++]: Define functions without name mangling.
42296         * lib/fwriteerror.h [C++]: Likewise.
42297         * lib/gcd.h [C++]: Likewise.
42298         * lib/linebreak.h [C++]: Likewise.
42299
42300 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
42301
42302         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
42303         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
42304         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
42305         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
42306         Check for functions and headers just once.
42307         Check for declaration of canonicalize_file_name.
42308         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
42309
42310 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
42311
42312         * gnulib-tool (func_import): Fix typo in actioncmd.
42313
42314 2006-11-02  Bruno Haible  <bruno@clisp.org>
42315
42316         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
42317         newline sequence in the Makefile.am snippet as a space, like "make"
42318         does.
42319         Reported by Roger Persson <perrog@gmail.com>.
42320
42321 2006-11-01  Bruno Haible  <bruno@clisp.org>
42322
42323         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
42324         already declared in <string.h>.
42325         * lib/strcase.h (strncasecmp): Don't declare it if yes.
42326
42327 2006-11-01  Bruno Haible  <bruno@clisp.org>
42328
42329         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
42330         * lib/strcase.h: Include <string.h>.
42331         (strcasecmp): Define to rpl_strcasecmp here.
42332
42333 2006-11-01  Bruno Haible  <bruno@clisp.org>
42334
42335         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
42336
42337 2006-11-01  Eric Blake  <ebb9@byu.net>
42338
42339         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
42340
42341         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
42342
42343 2006-10-29  Bruno Haible  <bruno@clisp.org>
42344
42345         Make it compile in C++ mode.
42346         * lib/full-write.c (full_rw): Add a cast.
42347
42348 2006-11-01  Bruno Haible  <bruno@clisp.org>
42349
42350         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
42351         be POSIX compliant.
42352         Reported by Roger Persson <perrog@gmail.com>.
42353
42354 2006-11-01  Eric Blake  <ebb9@byu.net>
42355
42356         * lib/getopt_.h: Fix comments.
42357
42358 2006-10-31  Eric Blake  <ebb9@byu.net>
42359
42360         * modules/tmpdir (Depends-on): Add sys_stat.
42361         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
42362         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
42363         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
42364         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
42365         tempname.
42366
42367 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
42368
42369         Avoid some C++ diagnostics reported by Bruno Haible.
42370         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
42371         xmalloc.
42372         (quotearg_alloc): Use xcharalloc rather than xmalloc.
42373         (struct slotvec): Move to top level.
42374         (quotearg_n_options): Rewrite to avoid xmalloc.
42375         * lib/xalloc.h (xcharalloc): New function.
42376         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
42377         [defined __cplusplus]: Add function template that provides result
42378         type propagation.  This part of the change is from Bruno Haible.
42379
42380 2006-10-29  Bruno Haible  <bruno@clisp.org>
42381
42382         Make it compile in C++ mode.
42383         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
42384         * lib/strnlen1.c (strnlen1): Cast memchr result.
42385         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
42386         * lib/clean-temp.c (string_equals, string_hash): Add casts.
42387         (create_temp_dir): Rename local variable 'template'.
42388         (compile_csharp_using_sscli): Add cast.
42389         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
42390         * lib/findprog.c (find_in_path): Likewise.
42391         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
42392         * lib/wait-process.c (register_slave_subprocess): Likewise.
42393
42394 2006-10-22  Bruno Haible  <bruno@clisp.org>
42395
42396         * modules/tsearch: New file.
42397         * lib/tsearch.h: New file.
42398         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
42399         * m4/tsearch.m4: New file.
42400         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
42401
42402 2006-10-29  Eric Blake  <ebb9@byu.net>
42403
42404         * lib/arcfour.c: Assume config.h.
42405         * lib/arctwo.c: Likewise.
42406         * lib/base64.c: Likewise.
42407         * lib/check-version.c: Likewise.
42408         * lib/crc.c: Likewise.
42409         * lib/des.c: Likewise.
42410         * lib/gc-gnulib.c: Likewise.
42411         * lib/gc-libgcrypt.c: Likewise.
42412         * lib/gc-pbkdf2-sha1.c: Likewise.
42413         * lib/getaddrinfo.c: Likewise.
42414         * lib/getdelim.c: Likewise.
42415         * lib/getline.c: Likewise.
42416         * lib/hmac-md5.c: Likewise.
42417         * lib/hmac-sha1.c: Likewise.
42418         * lib/iconvme.c: Likewise.
42419         * lib/md2.c: Likewise.
42420         * lib/md4.c: Likewise.
42421         * lib/memxor.c: Likewise.
42422         * lib/read-file.c: Likewise.
42423         * lib/readline.c: Likewise.
42424         * lib/rijndael-alg-fst.c: Likewise.
42425         * lib/rijndael-api-fst.c: Likewise.
42426         * lib/xgetdomainname.c: Likewise.
42427
42428 2006-10-28  Eric Blake  <ebb9@byu.net>
42429
42430         * lib/xstrndup.c: Assume config.h.
42431
42432 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
42433
42434         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
42435         stat-macros.h is now for our own macros, whereas stat_h is for
42436         macros in the <sys/stat.h> name space.
42437         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
42438         (STAT_MACROS_H): Remove.
42439         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
42440         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
42441         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
42442         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
42443         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
42444         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
42445         Move these macros to ...
42446         * lib/stat_.h: here.  Don't include stat-macros.h.
42447         * lib/canonicalize.c: Don't include stat-macros.h.
42448         * lib/chown.c: Likewise.
42449         * lib/euidaccess.c: Likewise.
42450         * lib/file-type.c: Likewise.
42451         * lib/filemode.c: Likewise.
42452         * lib/glob.c: Likewise.
42453         * lib/isapipe.c: Likewise.
42454         * lib/lchown.c: Likewise.
42455         * lib/lstat.c: Likewise.
42456         * lib/mkdir-p.c: Likewise.
42457         * lib/rmdir.c: Likewise.
42458         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
42459         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
42460         unless mkdir isn't declared, to speed up 'configure'.
42461         Always create sys/stat.h, since it's unlikely any real sys/stat.h
42462         would define all the S_* symbols.
42463         * modules/canonicalize (Depends-on):
42464         Depend on sys_stat, not stat-macros.
42465         * modules/chown: Likewise.
42466         * modules/euidaccess: Likewise.
42467         * modules/filemode: Likewise.
42468         * modules/file-type: Likewise.
42469         * modules/glob: Likewise.
42470         * modules/isapipe: Likewise.
42471         * modules/lchown: Likewise.
42472         * modules/lstat: Likewise.
42473         * modules/mkancesdirs: Likewise.
42474         * modules/rmdir: Likewise.
42475         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
42476         * modules/modechange: Likewise.
42477         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
42478         (configure.ac): Remove gl_STAT_MACROS.
42479         * modules/sys_stat (Depends-on): Remove stat-macros.
42480
42481 2006-10-27  Bruno Haible  <bruno@clisp.org>
42482
42483         * m4/signed.m4: Remove file.
42484         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
42485         invocation.
42486         * modules/vasnprintf (Files): Remove m4/signed.m4.
42487
42488 2006-10-27  Bruno Haible  <bruno@clisp.org>
42489
42490         Update to GNU gettext 0.16.
42491         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
42492         m4/inttypes-h.m4, m4/signed.m4.
42493         * m4/gettext.m4: Update to GNU gettext 0.16.
42494         * m4/intl.m4: New file, from GNU gettext.
42495         * m4/intldir.m4: New file, from GNU gettext.
42496         * config/srclist.txt: Update
42497
42498 2006-10-27  Eric Blake  <ebb9@byu.net>
42499
42500         * MODULES.html.sh: Document tempname.
42501         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
42502         dependencies.
42503         (Files): Move lib/tempname.c...
42504         * modules/tempname: ...to this new module.
42505         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
42506         (gl_PREREQ_TEMPNAME): Move...
42507         * m4/tempname.m4: ...to this new file.
42508         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
42509         * modules/sys_stat (Depends-on): Add stat-macros.
42510         * lib/stat_.h (includes): Pick up stat macros.
42511         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
42512         if stat macros are broken.
42513         * lib/tempname.c (includes): No need to include "stat-macros.h".
42514         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
42515         (direxists, __path_search) [!_LIBC]: Don't compile these in
42516         gnulib; the tmpdir module covers that.
42517         * lib/tempname.h: New file.
42518
42519 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
42520
42521         * COPYING: Explain how gnulib-tool converts licence headers.
42522         Almost all wording by Eric Blake.
42523
42524 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
42525
42526         * lib/mbchar.h (is_basic_table): Make read-only.
42527         * lib/mbchar.c (is_basic_table): Likewise.
42528         Reported by John Darrington.
42529
42530 2006-10-25  Bruno Haible  <bruno@clisp.org>
42531
42532         * lib/progname.h (set_program_name): Undefine before defining.
42533
42534 2006-10-25  Bruno Haible  <bruno@clisp.org>
42535
42536         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
42537         false for non-gcc C++ compilers.
42538         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
42539
42540 2006-10-24  Bruno Haible  <bruno@clisp.org>
42541
42542         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
42543         iconv implementations like Irix iconv.
42544
42545 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
42546
42547         * modules/vararrays: New file.
42548         * m4/vararrays.m4: New file, taken from diffutils.
42549         * MODULES.html.sh: New module vararrays.
42550
42551 2006-10-24  Karl Berry  <karl@gnu.org>
42552
42553         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
42554         Don't call GNU Unix.
42555
42556 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42557
42558         * users.txt: Add Libtool.
42559
42560         Sync from Libtool:
42561
42562         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
42563
42564         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
42565         to gnulib's policy of including config.h unconditionally.
42566
42567 2006-10-24  Bruno Haible  <bruno@clisp.org>
42568
42569         * modules/wcwidth (Files): Add m4/wint_t.m4.
42570         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
42571         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
42572
42573 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
42574
42575         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
42576         to pacify GCC with some -W flags enabled.  Problem reported by
42577         Bruno Haible.
42578
42579 2006-10-24  Jim Meyering  <jim@meyering.net>
42580
42581         * MODULES.html.sh: Remove uinttostr.  It's not a module.
42582         Reported by Karl Berry.
42583
42584 2006-10-23  Bruno Haible  <bruno@clisp.org>
42585
42586         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
42587
42588 2006-10-24  Bruno Haible  <bruno@clisp.org>
42589
42590         * lib/gl_list.h: Use C comment style, not C++ comment style.
42591
42592 2006-10-23  Eric Blake  <ebb9@byu.net>
42593
42594         * lib/getaddrinfo.c (includes): Add missing include.
42595
42596 2006-10-23  Bruno Haible  <bruno@clisp.org>
42597             Paul Eggert  <eggert@cs.ucla.edu>
42598
42599         Ability to rename obstack_free.
42600         * lib/obstack.h (__obstack_free): New macro. Declare instead of
42601         obstack_free.
42602         (obstack_free): Invoke the __obstack_free macro.
42603         * lib/obstack.c (obstack_free): Use __obstack_free macro.
42604
42605 2006-10-23  Bruno Haible  <bruno@clisp.org>
42606             Paul Eggert  <eggert@cs.ucla.edu>
42607
42608         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
42609         __argc, __argv from the declaration. (They are defined as macros on
42610         mingw.)
42611
42612 2006-10-22  Bruno Haible  <bruno@clisp.org>
42613
42614         * doc/gnulib-intro.texi: New file.
42615         * doc/gnulib.texi: Include it.
42616
42617 2006-10-21  Bruno Haible  <bruno@clisp.org>
42618
42619         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
42620         "Introduction", "Miscellanous Notes", "Particular Modules".
42621
42622 2006-10-21  Bruno Haible  <bruno@clisp.org>
42623
42624         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
42625         Change mostlyclean-local rule to avoid sh syntax error from bash
42626         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
42627
42628 2006-10-23  Jim Meyering  <jim@meyering.net>
42629
42630         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
42631         in place of snprintf.
42632
42633         * modules/inttostr (Files): Add lib/uinttostr.c.
42634         * lib/uinttostr.c (inttostr): New file/function.
42635         * lib/inttostr.h (uinttostr): Declare.
42636         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
42637         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
42638         Add uinttostr.
42639         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
42640
42641 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
42642
42643         * lib/canonicalize.c (ELOOP): Define if not already defined.
42644         Problem reported by Bruno Haible in
42645         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
42646
42647 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
42648
42649         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
42650         Problem reported by Perry Smith and Ville Laurikari.
42651
42652         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
42653         uses.
42654
42655 2006-10-19  Bruno Haible  <bruno@clisp.org>
42656
42657         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
42658         for mingw.
42659
42660 2006-10-19  Bruno Haible  <bruno@clisp.org>
42661
42662         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
42663         Needed for mingw.
42664
42665 2006-10-19  Bruno Haible  <bruno@clisp.org>
42666
42667         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
42668
42669 2006-10-19  Bruno Haible  <bruno@clisp.org>
42670
42671         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
42672         it.
42673
42674 2006-10-19  Bruno Haible  <bruno@clisp.org>
42675
42676         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
42677         invocation.
42678
42679 2006-10-19  Bruno Haible  <bruno@clisp.org>
42680
42681         * gnulib-tool (func_create_testdir): Don't include ftruncate and
42682         mountlist by default.
42683
42684 2006-10-16  Bruno Haible  <bruno@clisp.org>
42685
42686         * lib/c-strstr.c: Include c-strstr.h.
42687
42688 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
42689
42690         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
42691         in a slash.
42692
42693 2006-10-18  Bruno Haible  <bruno@clisp.org>
42694
42695         * lib/lock.h [C++]: Wrap definitions in extern "C".
42696
42697 2006-10-18  Bruno Haible  <bruno@clisp.org>
42698
42699         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
42700         gl_LIBOBJS list.
42701
42702 2006-10-18  Bruno Haible  <bruno@clisp.org>
42703
42704         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
42705
42706 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
42707
42708         * lib/xstrtol.h: Include gettext.h.
42709         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
42710         Problem reported by Eric Blake.
42711         * modules/xstrtol (Depends-on): Add gettext-h.
42712
42713 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
42714
42715         * lib/strftime.c (advance): New macro.
42716         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
42717         incomplete type, so you can't add 0 to it.  Problem and patch
42718         reported by Eelco Dolstra for dietlibc.
42719
42720 2006-10-18  Jim Meyering  <jim@meyering.net>
42721
42722         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
42723         type for a local, and rename it: s/up/user_proc/.
42724
42725 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
42726
42727         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
42728         READ_UTMP_USER_PROCESS.
42729         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
42730
42731 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
42732
42733         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
42734         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
42735
42736 2006-10-17  Eric Blake  <ebb9@byu.net>
42737
42738         * lib/sigprocmask.c (sigprocmask): Fix typo.
42739
42740         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
42741
42742         * modules/clean-temp (Makefile.am): Don't add to make output...
42743         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
42744         config.h.
42745
42746 2006-10-17  Bruno Haible  <bruno@clisp.org>
42747
42748         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
42749         differently if DEFAULT_TEXT_DOMAIN is set.
42750
42751 2006-10-16  Bruno Haible  <bruno@clisp.org>
42752
42753         * lib/clean-temp.c: Include fwriteerror.h.
42754
42755 2006-10-16  Bruno Haible  <bruno@clisp.org>
42756
42757         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
42758
42759 2006-10-16  Bruno Haible  <bruno@clisp.org>
42760
42761         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
42762         * lib/sigprocmask.h: Include <sys/types.h>.
42763         (sigset_t): Use the system's definition if present.
42764
42765 2006-10-17  Eric Blake  <ebb9@byu.net>
42766
42767         * lib/xvasprintf.c (includes): Assume config.h.
42768         * lib/xasprintf.c (includes): Likewise.
42769
42770 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
42771
42772         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
42773         at least as wide as intmax_t.
42774
42775 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
42776
42777         (Imported from Automake.)
42778         * build-aux/gnupload: Update to version 1.1 of directive file.
42779
42780 2006-10-16  Eric Blake  <ebb9@byu.net>
42781
42782         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
42783         match Automake 1.10a.
42784
42785 2006-10-14  Bruno Haible  <bruno@clisp.org>
42786
42787         * modules/sigprocmask: New file.
42788         * lib/sigprocmask.h: New file.
42789         * lib/sigprocmask.c: New file.
42790         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
42791         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
42792         request sigprocmask.o.
42793         (gl_PREREQ_SIGPROCMASK): New macro.
42794         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
42795         (Depends-on): Add sigprocmask.
42796         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
42797         gt_SIGNALBLOCKING. Test for 'raise' only once.
42798         * lib/fatal-signal.c: Include sigprocmask.h.
42799         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
42800         unblock_fatal_signals): Define always.
42801         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
42802         sigprocmask.
42803
42804 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
42805
42806         Sync from Automake.
42807         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
42808         which incorrectly sets the mode of an existing destination
42809         directory.  In some cases the unpatched install-sh could do the
42810         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
42811         system.  We hope this is rare in practice, but it's clearly worth
42812         fixing.  Problem reported by Alex Unleashed in
42813         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
42814         Also, don't bother to check for -m bugs unless we're using -m;
42815         suggested by Stepan Kasal.
42816
42817 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42818
42819         Sync from Automake.
42820         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
42821         `-c' flag, so they appear at the same position as in %FASTDEP%
42822         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
42823         which ignores unknown options only after the first non-option.
42824         Bug report against M4 by Nelson H. F. Beebe.
42825
42826 2006-10-13  Jim Meyering  <jim@meyering.net>
42827
42828         Fix a bug in yesterday's change.
42829         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
42830         p->fts_statp->st_dev would be used uninitialized.
42831         Ensures that we always call fts_stat on the very first entry.
42832         Miklos Szeredi reported that find -xdev stopped working.
42833
42834 2006-10-12  Bruno Haible  <bruno@clisp.org>
42835
42836         * gnulib-tool (func_get_automake_snippet): Append an automatically
42837         computed EXTRA_DIST augmentation.
42838         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
42839         * modules/alloca-opt (Makefile.am): Likewise.
42840         * modules/allocsa (Makefile.am): Likewise.
42841         * modules/arcfour (Makefile.am): Likewise.
42842         * modules/arctwo (Makefile.am): Likewise.
42843         * modules/argmatch (Makefile.am): Likewise.
42844         * modules/argz (Makefile.am): Likewise.
42845         * modules/atexit (Makefile.am): Likewise.
42846         * modules/backupfile (Makefile.am): Likewise.
42847         * modules/byteswap (Makefile.am): Likewise.
42848         * modules/c-strtod (Makefile.am): Likewise.
42849         * modules/c-strtold (Makefile.am): Likewise.
42850         * modules/calloc (Makefile.am): Likewise.
42851         * modules/canon-host (Makefile.am): Likewise.
42852         * modules/canonicalize (Makefile.am): Likewise.
42853         * modules/chdir-long (Makefile.am): Likewise.
42854         * modules/chdir-safer (Makefile.am): Likewise.
42855         * modules/check-version (Makefile.am): Likewise.
42856         * modules/chown (Makefile.am): Likewise.
42857         * modules/cloexec (Makefile.am): Likewise.
42858         * modules/close-stream (Makefile.am): Likewise.
42859         * modules/closeout (Makefile.am): Likewise.
42860         * modules/crc (Makefile.am): Likewise.
42861         * modules/csharpexec (Makefile.am): Likewise.
42862         * modules/cycle-check (Makefile.am): Likewise.
42863         * modules/des (Makefile.am): Likewise.
42864         * modules/dev-ino (Makefile.am): Likewise.
42865         * modules/dirfd (Makefile.am): Likewise.
42866         * modules/dirname (Makefile.am): Likewise.
42867         * modules/dup2 (Makefile.am): Likewise.
42868         * modules/eealloc (Makefile.am): Likewise.
42869         * modules/error (Makefile.am): Likewise.
42870         * modules/euidaccess (Makefile.am): Likewise.
42871         * modules/exclude (Makefile.am): Likewise.
42872         * modules/exitfail (Makefile.am): Likewise.
42873         * modules/fcntl-safer (Makefile.am): Likewise.
42874         * modules/fcntl (Makefile.am): Likewise.
42875         * modules/file-type (Makefile.am): Likewise.
42876         * modules/fileblocks (Makefile.am): Likewise.
42877         * modules/filemode (Makefile.am): Likewise.
42878         * modules/filenamecat (Makefile.am): Likewise.
42879         * modules/fnmatch (Makefile.am): Likewise.
42880         * modules/fopen-safer (Makefile.am): Likewise.
42881         * modules/fpending (Makefile.am): Likewise.
42882         * modules/fprintftime (Makefile.am): Likewise.
42883         * modules/free (Makefile.am): Likewise.
42884         * modules/fsusage (Makefile.am): Likewise.
42885         * modules/ftruncate (Makefile.am): Likewise.
42886         * modules/fts (Makefile.am): Likewise.
42887         * modules/gc-arcfour (Makefile.am): Likewise.
42888         * modules/gc-des (Makefile.am): Likewise.
42889         * modules/gc-hmac-md5 (Makefile.am): Likewise.
42890         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
42891         * modules/gc-md4 (Makefile.am): Likewise.
42892         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
42893         * modules/gc-sha1 (Makefile.am): Likewise.
42894         * modules/gc (Makefile.am): Likewise.
42895         * modules/getaddrinfo (Makefile.am): Likewise.
42896         * modules/getcwd (Makefile.am): Likewise.
42897         * modules/getdelim (Makefile.am): Likewise.
42898         * modules/getdomainname (Makefile.am): Likewise.
42899         * modules/getgroups (Makefile.am): Likewise.
42900         * modules/gethostname (Makefile.am): Likewise.
42901         * modules/gethrxtime (Makefile.am): Likewise.
42902         * modules/getline (Makefile.am): Likewise.
42903         * modules/getloadavg (Makefile.am): Likewise.
42904         * modules/getlogin_r (Makefile.am): Likewise.
42905         * modules/getndelim2 (Makefile.am): Likewise.
42906         * modules/getopt (Makefile.am): Likewise.
42907         * modules/getpagesize (Makefile.am): Likewise.
42908         * modules/getpass-gnu (Makefile.am): Likewise.
42909         * modules/getpass (Makefile.am): Likewise.
42910         * modules/getsubopt (Makefile.am): Likewise.
42911         * modules/gettime (Makefile.am): Likewise.
42912         * modules/gettimeofday (Makefile.am): Likewise.
42913         * modules/getugroups (Makefile.am): Likewise.
42914         * modules/getusershell (Makefile.am): Likewise.
42915         * modules/glob (Makefile.am): Likewise.
42916         * modules/group-member (Makefile.am): Likewise.
42917         * modules/hard-locale (Makefile.am): Likewise.
42918         * modules/hash (Makefile.am): Likewise.
42919         * modules/hmac-md5 (Makefile.am): Likewise.
42920         * modules/hmac-sha1 (Makefile.am): Likewise.
42921         * modules/human (Makefile.am): Likewise.
42922         * modules/idcache (Makefile.am): Likewise.
42923         * modules/imaxabs (Makefile.am): Likewise.
42924         * modules/imaxdiv (Makefile.am): Likewise.
42925         * modules/inet_ntop (Makefile.am): Likewise.
42926         * modules/inet_pton (Makefile.am): Likewise.
42927         * modules/intprops (Makefile.am): Likewise.
42928         * modules/inttostr (Makefile.am): Likewise.
42929         * modules/inttypes (Makefile.am): Likewise.
42930         * modules/isapipe (Makefile.am): Likewise.
42931         * modules/javaversion (Makefile.am): Likewise.
42932         * modules/lchmod (Makefile.am): Likewise.
42933         * modules/lchown (Makefile.am): Likewise.
42934         * modules/localcharset (Makefile.am): Likewise.
42935         * modules/long-options (Makefile.am): Likewise.
42936         * modules/lstat (Makefile.am): Likewise.
42937         * modules/malloc (Makefile.am): Likewise.
42938         * modules/mathl (Makefile.am): Likewise.
42939         * modules/mbchar (Makefile.am): Likewise.
42940         * modules/md2 (Makefile.am): Likewise.
42941         * modules/md4 (Makefile.am): Likewise.
42942         * modules/md5 (Makefile.am): Likewise.
42943         * modules/memcasecmp (Makefile.am): Likewise.
42944         * modules/memchr (Makefile.am): Likewise.
42945         * modules/memcmp (Makefile.am): Likewise.
42946         * modules/memcoll (Makefile.am): Likewise.
42947         * modules/memcpy (Makefile.am): Likewise.
42948         * modules/memmem (Makefile.am): Likewise.
42949         * modules/memmove (Makefile.am): Likewise.
42950         * modules/mempcpy (Makefile.am): Likewise.
42951         * modules/memrchr (Makefile.am): Likewise.
42952         * modules/memset (Makefile.am): Likewise.
42953         * modules/memxor (Makefile.am): Likewise.
42954         * modules/mkancesdirs (Makefile.am): Likewise.
42955         * modules/mkdir-p (Makefile.am): Likewise.
42956         * modules/mkdir (Makefile.am): Likewise.
42957         * modules/mkdtemp (Makefile.am): Likewise.
42958         * modules/mkstemp (Makefile.am): Likewise.
42959         * modules/mktime (Makefile.am): Likewise.
42960         * modules/modechange (Makefile.am): Likewise.
42961         * modules/mountlist (Makefile.am): Likewise.
42962         * modules/nanosleep (Makefile.am): Likewise.
42963         * modules/obstack (Makefile.am): Likewise.
42964         * modules/openat (Makefile.am): Likewise.
42965         * modules/pagealign_alloc (Makefile.am): Likewise.
42966         * modules/pathmax (Makefile.am): Likewise.
42967         * modules/physmem (Makefile.am): Likewise.
42968         * modules/poll (Makefile.am): Likewise.
42969         * modules/posixtm (Makefile.am): Likewise.
42970         * modules/posixver (Makefile.am): Likewise.
42971         * modules/putenv (Makefile.am): Likewise.
42972         * modules/quote (Makefile.am): Likewise.
42973         * modules/quotearg (Makefile.am): Likewise.
42974         * modules/raise (Makefile.am): Likewise.
42975         * modules/read-file (Makefile.am): Likewise.
42976         * modules/readline (Makefile.am): Likewise.
42977         * modules/readlink (Makefile.am): Likewise.
42978         * modules/readtokens (Makefile.am): Likewise.
42979         * modules/readutmp (Makefile.am): Likewise.
42980         * modules/realloc (Makefile.am): Likewise.
42981         * modules/regex (Makefile.am): Likewise.
42982         * modules/rename-dest-slash (Makefile.am): Likewise.
42983         * modules/rename (Makefile.am): Likewise.
42984         * modules/rijndael (Makefile.am): Likewise.
42985         * modules/rmdir (Makefile.am): Likewise.
42986         * modules/rpmatch (Makefile.am): Likewise.
42987         * modules/safe-read (Makefile.am): Likewise.
42988         * modules/safe-write (Makefile.am): Likewise.
42989         * modules/same-inode (Makefile.am): Likewise.
42990         * modules/same (Makefile.am): Likewise.
42991         * modules/save-cwd (Makefile.am): Likewise.
42992         * modules/savedir (Makefile.am): Likewise.
42993         * modules/setenv (Makefile.am): Likewise.
42994         * modules/settime (Makefile.am): Likewise.
42995         * modules/sha1 (Makefile.am): Likewise.
42996         * modules/sig2str (Makefile.am): Likewise.
42997         * modules/snprintf (Makefile.am): Likewise.
42998         * modules/stat-macros (Makefile.am): Likewise.
42999         * modules/stat-time (Makefile.am): Likewise.
43000         * modules/stdbool (Makefile.am): Likewise.
43001         * modules/stdint (Makefile.am): Likewise.
43002         * modules/stdlib-safer (Makefile.am): Likewise.
43003         * modules/stpcpy (Makefile.am): Likewise.
43004         * modules/stpncpy (Makefile.am): Likewise.
43005         * modules/strcase (Makefile.am): Likewise.
43006         * modules/strcasestr (Makefile.am): Likewise.
43007         * modules/strchrnul (Makefile.am): Likewise.
43008         * modules/strcspn (Makefile.am): Likewise.
43009         * modules/strdup (Makefile.am): Likewise.
43010         * modules/strerror (Makefile.am): Likewise.
43011         * modules/strftime (Makefile.am): Likewise.
43012         * modules/strndup (Makefile.am): Likewise.
43013         * modules/strnlen (Makefile.am): Likewise.
43014         * modules/strpbrk (Makefile.am): Likewise.
43015         * modules/strsep (Makefile.am): Likewise.
43016         * modules/strstr (Makefile.am): Likewise.
43017         * modules/strtod (Makefile.am): Likewise.
43018         * modules/strtoimax (Makefile.am): Likewise.
43019         * modules/strtok_r (Makefile.am): Likewise.
43020         * modules/strtol (Makefile.am): Likewise.
43021         * modules/strtoll (Makefile.am): Likewise.
43022         * modules/strtoul (Makefile.am): Likewise.
43023         * modules/strtoull (Makefile.am): Likewise.
43024         * modules/strtoumax (Makefile.am): Likewise.
43025         * modules/strverscmp (Makefile.am): Likewise.
43026         * modules/sys_socket (Makefile.am): Likewise.
43027         * modules/sys_stat (Makefile.am): Likewise.
43028         * modules/sysexits (Makefile.am): Likewise.
43029         * modules/time_r (Makefile.am): Likewise.
43030         * modules/timegm (Makefile.am): Likewise.
43031         * modules/timespec (Makefile.am): Likewise.
43032         * modules/tmpfile-safer (Makefile.am): Likewise.
43033         * modules/trim (Makefile.am): Likewise.
43034         * modules/unistd-safer (Makefile.am): Likewise.
43035         * modules/unlinkdir (Makefile.am): Likewise.
43036         * modules/unlocked-io (Makefile.am): Likewise.
43037         * modules/userspec (Makefile.am): Likewise.
43038         * modules/utime (Makefile.am): Likewise.
43039         * modules/utimecmp (Makefile.am): Likewise.
43040         * modules/utimens (Makefile.am): Likewise.
43041         * modules/vasnprintf (Makefile.am): Likewise.
43042         * modules/vasprintf (Makefile.am): Likewise.
43043         * modules/vsnprintf (Makefile.am): Likewise.
43044         * modules/xalloc (Makefile.am): Likewise.
43045         * modules/xgetcwd (Makefile.am): Likewise.
43046         * modules/xnanosleep (Makefile.am): Likewise.
43047         * modules/xreadlink (Makefile.am): Likewise.
43048         * modules/xstrtod (Makefile.am): Likewise.
43049         * modules/xstrtol (Makefile.am): Likewise.
43050         * modules/xstrtold (Makefile.am): Likewise.
43051         * modules/yesno (Makefile.am): Likewise.
43052         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
43053
43054 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
43055
43056         * modules/error (Makefile.am): Distribute files through
43057         EXTRA_DIST, not lib_SOURCES.
43058
43059 2006-10-12  Eric Blake  <ebb9@byu.net>
43060
43061         * modules/error (Makefile.am): Distribute files in /lib.
43062         * modules/obstack (Makefile.am): Likewise.
43063
43064 2006-10-12  Bruno Haible  <bruno@clisp.org>
43065
43066         * modules/acl (Makefile.am): Distribute all files in lib/ through
43067         EXTRA_DIST.
43068         * modules/arcfour (Makefile.am): Likewise.
43069         * modules/arctwo (Makefile.am): Likewise.
43070         * modules/argmatch (Makefile.am): Likewise.
43071         * modules/argz (Makefile.am): Likewise.
43072         * modules/atexit (Makefile.am): Likewise.
43073         * modules/backupfile (Makefile.am): Likewise.
43074         * modules/c-strtod (Makefile.am): Likewise.
43075         * modules/c-strtold (Makefile.am): Likewise.
43076         * modules/calloc (Makefile.am): Likewise.
43077         * modules/canon-host (Makefile.am): Likewise.
43078         * modules/canonicalize (Makefile.am): Likewise.
43079         * modules/chdir-long (Makefile.am): Likewise.
43080         * modules/chdir-safer (Makefile.am): Likewise.
43081         * modules/check-version (Makefile.am): Likewise.
43082         * modules/chown (Makefile.am): Likewise.
43083         * modules/cloexec (Makefile.am): Likewise.
43084         * modules/close-stream (Makefile.am): Likewise.
43085         * modules/closeout (Makefile.am): Likewise.
43086         * modules/crc (Makefile.am): Likewise.
43087         * modules/cycle-check (Makefile.am): Likewise.
43088         * modules/des (Makefile.am): Likewise.
43089         * modules/dirfd (Makefile.am): Likewise.
43090         * modules/dirname (Makefile.am): Likewise.
43091         * modules/dup2 (Makefile.am): Likewise.
43092         * modules/euidaccess (Makefile.am): Likewise.
43093         * modules/exclude (Makefile.am): Likewise.
43094         * modules/exitfail (Makefile.am): Likewise.
43095         * modules/fcntl-safer (Makefile.am): Likewise.
43096         * modules/file-type (Makefile.am): Likewise.
43097         * modules/fileblocks (Makefile.am): Likewise.
43098         * modules/filemode (Makefile.am): Likewise.
43099         * modules/filenamecat (Makefile.am): Likewise.
43100         * modules/fnmatch (Makefile.am): Likewise.
43101         * modules/fopen-safer (Makefile.am): Likewise.
43102         * modules/fpending (Makefile.am): Likewise.
43103         * modules/fprintftime (Makefile.am): Likewise.
43104         * modules/free (Makefile.am): Likewise.
43105         * modules/fsusage (Makefile.am): Likewise.
43106         * modules/ftruncate (Makefile.am): Likewise.
43107         * modules/fts (Makefile.am): Likewise.
43108         * modules/gc (Makefile.am): Likewise.
43109         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
43110         * modules/getaddrinfo (Makefile.am): Likewise.
43111         * modules/getcwd (Makefile.am): Likewise.
43112         * modules/getdelim (Makefile.am): Likewise.
43113         * modules/getdomainname (Makefile.am): Likewise.
43114         * modules/getgroups (Makefile.am): Likewise.
43115         * modules/gethostname (Makefile.am): Likewise.
43116         * modules/gethrxtime (Makefile.am): Likewise.
43117         * modules/getline (Makefile.am): Likewise.
43118         * modules/getloadavg (Makefile.am): Likewise.
43119         * modules/getlogin_r (Makefile.am): Likewise.
43120         * modules/getopt (Makefile.am): Likewise.
43121         * modules/getpass (Makefile.am): Likewise.
43122         * modules/getpass-gnu (Makefile.am): Likewise.
43123         * modules/getsubopt (Makefile.am): Likewise.
43124         * modules/gettime (Makefile.am): Likewise.
43125         * modules/gettimeofday (Makefile.am): Likewise.
43126         * modules/getugroups (Makefile.am): Likewise.
43127         * modules/getusershell (Makefile.am): Likewise.
43128         * modules/glob (Makefile.am): Likewise.
43129         * modules/group-member (Makefile.am): Likewise.
43130         * modules/hard-locale (Makefile.am): Likewise.
43131         * modules/hash (Makefile.am): Likewise.
43132         * modules/hmac-md5 (Makefile.am): Likewise.
43133         * modules/hmac-sha1 (Makefile.am): Likewise.
43134         * modules/human (Makefile.am): Likewise.
43135         * modules/idcache (Makefile.am): Likewise.
43136         * modules/imaxabs (Makefile.am): Likewise.
43137         * modules/imaxdiv (Makefile.am): Likewise.
43138         * modules/inet_ntop (Makefile.am): Likewise.
43139         * modules/inet_pton (Makefile.am): Likewise.
43140         * modules/inttostr (Makefile.am): Likewise.
43141         * modules/isapipe (Makefile.am): Likewise.
43142         * modules/lchown (Makefile.am): Likewise.
43143         * modules/long-options (Makefile.am): Likewise.
43144         * modules/lstat (Makefile.am): Likewise.
43145         * modules/malloc (Makefile.am): Likewise.
43146         * modules/mathl (Makefile.am): Likewise.
43147         * modules/mbchar (Makefile.am): Likewise.
43148         * modules/md2 (Makefile.am): Likewise.
43149         * modules/md4 (Makefile.am): Likewise.
43150         * modules/md5 (Makefile.am): Likewise.
43151         * modules/memcasecmp (Makefile.am): Likewise.
43152         * modules/memchr (Makefile.am): Likewise.
43153         * modules/memcmp (Makefile.am): Likewise.
43154         * modules/memcoll (Makefile.am): Likewise.
43155         * modules/memcpy (Makefile.am): Likewise.
43156         * modules/memmem (Makefile.am): Likewise.
43157         * modules/memmove (Makefile.am): Likewise.
43158         * modules/mempcpy (Makefile.am): Likewise.
43159         * modules/memrchr (Makefile.am): Likewise.
43160         * modules/memset (Makefile.am): Likewise.
43161         * modules/memxor (Makefile.am): Likewise.
43162         * modules/mkancesdirs (Makefile.am): Likewise.
43163         * modules/mkdir (Makefile.am): Likewise.
43164         * modules/mkdir-p (Makefile.am): Likewise.
43165         * modules/mkdtemp (Makefile.am): Likewise.
43166         * modules/mkstemp (Makefile.am): Likewise.
43167         * modules/mktime (Makefile.am): Likewise.
43168         * modules/modechange (Makefile.am): Likewise.
43169         * modules/mountlist (Makefile.am): Likewise.
43170         * modules/nanosleep (Makefile.am): Likewise.
43171         * modules/openat (Makefile.am): Likewise.
43172         * modules/pagealign_alloc (Makefile.am): Likewise.
43173         * modules/physmem (Makefile.am): Likewise.
43174         * modules/poll (Makefile.am): Likewise.
43175         * modules/posixtm (Makefile.am): Likewise.
43176         * modules/posixver (Makefile.am): Likewise.
43177         * modules/putenv (Makefile.am): Likewise.
43178         * modules/quote (Makefile.am): Likewise.
43179         * modules/quotearg (Makefile.am): Likewise.
43180         * modules/raise (Makefile.am): Likewise.
43181         * modules/read-file (Makefile.am): Likewise.
43182         * modules/readline (Makefile.am): Likewise.
43183         * modules/readlink (Makefile.am): Likewise.
43184         * modules/readtokens (Makefile.am): Likewise.
43185         * modules/readutmp (Makefile.am): Likewise.
43186         * modules/realloc (Makefile.am): Likewise.
43187         * modules/regex (Makefile.am): Likewise.
43188         * modules/rename (Makefile.am): Likewise.
43189         * modules/rename-dest-slash (Makefile.am): Likewise.
43190         * modules/rijndael (Makefile.am): Likewise.
43191         * modules/rmdir (Makefile.am): Likewise.
43192         * modules/rpmatch (Makefile.am): Likewise.
43193         * modules/safe-read (Makefile.am): Likewise.
43194         * modules/safe-write (Makefile.am): Likewise.
43195         * modules/same (Makefile.am): Likewise.
43196         * modules/save-cwd (Makefile.am): Likewise.
43197         * modules/savedir (Makefile.am): Likewise.
43198         * modules/setenv (Makefile.am): Likewise.
43199         * modules/settime (Makefile.am): Likewise.
43200         * modules/sha1 (Makefile.am): Likewise.
43201         * modules/sig2str (Makefile.am): Likewise.
43202         * modules/snprintf (Makefile.am): Likewise.
43203         * modules/stdlib-safer (Makefile.am): Likewise.
43204         * modules/stpcpy (Makefile.am): Likewise.
43205         * modules/stpncpy (Makefile.am): Likewise.
43206         * modules/strcase (Makefile.am): Likewise.
43207         * modules/strcasestr (Makefile.am): Likewise.
43208         * modules/strchrnul (Makefile.am): Likewise.
43209         * modules/strcspn (Makefile.am): Likewise.
43210         * modules/strdup (Makefile.am): Likewise.
43211         * modules/strerror (Makefile.am): Likewise.
43212         * modules/strftime (Makefile.am): Likewise.
43213         * modules/strndup (Makefile.am): Likewise.
43214         * modules/strnlen (Makefile.am): Likewise.
43215         * modules/strpbrk (Makefile.am): Likewise.
43216         * modules/strsep (Makefile.am): Likewise.
43217         * modules/strstr (Makefile.am): Likewise.
43218         * modules/strtod (Makefile.am): Likewise.
43219         * modules/strtoimax (Makefile.am): Likewise.
43220         * modules/strtok_r (Makefile.am): Likewise.
43221         * modules/strtol (Makefile.am): Likewise.
43222         * modules/strtoll (Makefile.am): Likewise.
43223         * modules/strtoul (Makefile.am): Likewise.
43224         * modules/strtoull (Makefile.am): Likewise.
43225         * modules/strtoumax (Makefile.am): Likewise.
43226         * modules/strverscmp (Makefile.am): Likewise.
43227         * modules/time_r (Makefile.am): Likewise.
43228         * modules/timegm (Makefile.am): Likewise.
43229         * modules/tmpfile-safer (Makefile.am): Likewise.
43230         * modules/unistd-safer (Makefile.am): Likewise.
43231         * modules/unlinkdir (Makefile.am): Likewise.
43232         * modules/userspec (Makefile.am): Likewise.
43233         * modules/utime (Makefile.am): Likewise.
43234         * modules/utimecmp (Makefile.am): Likewise.
43235         * modules/utimens (Makefile.am): Likewise.
43236         * modules/vasnprintf (Makefile.am): Likewise.
43237         * modules/vasprintf (Makefile.am): Likewise.
43238         * modules/vsnprintf (Makefile.am): Likewise.
43239         * modules/xalloc (Makefile.am): Likewise.
43240         * modules/xgetcwd (Makefile.am): Likewise.
43241         * modules/xnanosleep (Makefile.am): Likewise.
43242         * modules/xreadlink (Makefile.am): Likewise.
43243         * modules/xstrtod (Makefile.am): Likewise.
43244         * modules/xstrtol (Makefile.am): Likewise.
43245         * modules/xstrtold (Makefile.am): Likewise.
43246         * modules/yesno (Makefile.am): Likewise.
43247
43248 2006-10-12  Jim Meyering  <jim@meyering.net>
43249
43250         * m4/getloadavg.m4: Revert the change below.
43251
43252         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
43253         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
43254         fail with a symlink, which is what coreutils' ./bootstrap now
43255         creates by default.
43256
43257 2006-10-12  Bruno Haible  <bruno@clisp.org>
43258
43259         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
43260         mingw.
43261         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
43262         MSVC and mingw explicitly.
43263
43264 2006-10-11  Simon Josefsson  <jas@extundo.com>
43265             Bruno Haible  <bruno@clisp.org>
43266
43267         Add support for multiple gnulib-tool invocations in the scope of a
43268         single configure.ac file.
43269         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
43270         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
43271         with the same contents as the _LIBADD variable.
43272         (func_emit_initmacro_start, func_emit_initmacro_end,
43273         func_emit_initmacro_done): New functions.
43274         (func_import, func_create_testdir): Invoke them. Allow the identifiers
43275         gl_LIBOBJS and gl_LTLIBOBJS.
43276
43277 2006-10-11  Bruno Haible  <bruno@clisp.org>
43278
43279         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
43280         (func_create_testdir): Don't create po/Makefile.am, don't invoke
43281         autoreconf. Instead, invoke autopoint explicitly but move back the
43282         *.m4 files from gnulib.
43283
43284 2006-10-11  Bruno Haible  <bruno@clisp.org>
43285
43286         * gnulib-tool (func_usage): Make module names after --create-testdir
43287         optional.
43288         (func_create_testdir): If no module was specified, use nearly all
43289         modules.
43290
43291 2006-10-12  Jim Meyering  <jim@meyering.net>
43292
43293         Big performance improvement for fts-based tools that use FTS_NOSTAT.
43294         Avoid spurious inode-mismatch problems on non-POSIX file systems.
43295         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
43296         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
43297         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
43298         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
43299         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
43300         (fts_set_stat_required): New function.
43301         (fts_open): Defer the calls to fts_stat, if possible or requested.
43302         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
43303         into fts_stat itself.
43304         (fts_read): Perform any required (deferred) fts_stat call.
43305         (fts_build): Likewise, for the directory we're about to open and read.
43306         In the readdir loop, carefully decide whether each entry will require
43307         an eventual call to fts_stat, using dirent.d_type info if available.
43308         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
43309         a command line argument into this function.  Update all callers.
43310         Map a return value of FTS_DOT to FTS_D for a command line argument.
43311         * modules/fts (Depends-on): Add d-type.  Alphabetize.
43312         Thanks to Miklos Szeredi for his tenacity and for the initial
43313         bug report about "find" failing on a FUSE-based file system.
43314
43315         * lib/fts.c (fts_open): Use consistent indentation.
43316
43317 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
43318
43319         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
43320         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
43321         reported by Jim Meyering.  All uses of cache variables renamed
43322         to match Autoconf's.
43323         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
43324         the other one.
43325
43326         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
43327         Fix misspelling in diagnostic.
43328
43329 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
43330
43331         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
43332         defined.  Problem reported by Matthew Woehlke.
43333
43334         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
43335         Add support for Tandem NonStop R series.
43336         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
43337         Use new macro.
43338
43339         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
43340         (has_trailing_slash): Omit size arg; all callers changed.
43341         Omit 'inline', since it doesn't help performance and we'd
43342         need to configure it.
43343         Don't count //, ///, etc. as having a trailing slash.
43344         As a side effect, this removes a C99ism reported by Matthew Woehlke.
43345         (rpl_rename_dest_slash): On failure, use rename's errno rather
43346         than (in some cases) an incorrect or junk errno.
43347         Simplify code by removing need to compute length; this does
43348         cause it to make two passes instead of one over the file name,
43349         but it's worth it.
43350
43351         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
43352         change, since Autoconf's version may no longer be appropriate now
43353         that we are using CVS Autoconf's version.  Add support for Tandem.
43354
43355 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
43356             Bruno Haible  <bruno@clisp.org>
43357
43358         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
43359         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
43360         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
43361         gl_AC_TYPE_LONG_LONG.
43362
43363         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
43364         instead of HAVE_LONG_LONG.
43365         * lib/printf-args.c (printf_fetchargs): Likewise.
43366         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
43367         * lib/vasnprintf.c (VASNPRINTF): Likewise.
43368         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
43369         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
43370         gl_AC_TYPE_LONG_LONG.
43371
43372 2006-10-11  Bruno Haible  <bruno@clisp.org>
43373
43374         * m4/longlong.m4: Add comments.
43375         * m4/ulonglong.m4: Likewise.
43376
43377 2006-10-10  Bruno Haible  <bruno@clisp.org>
43378
43379         Make it possible to #define stpcpy, strdup to aliases.
43380         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
43381         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
43382
43383 2006-10-10  Bruno Haible  <bruno@clisp.org>
43384
43385         Make it possible to #define gcd to an alias.
43386         * lib/gcd.c: Include config.h.
43387
43388 2006-10-10  Bruno Haible  <bruno@clisp.org>
43389
43390         Make it possible to #define c_isascii to an alias.
43391         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
43392         defined. Undefine the macros before defining them, to avoid gcc
43393         warnings.
43394         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
43395         define NO_C_CTYPE_MACROS early.
43396
43397 2006-10-10  Bruno Haible  <bruno@clisp.org>
43398
43399         Make it possible to #define set_program_name to an alias.
43400         * lib/progname.c: Don't undefine set_program_name; instead, undefine
43401         ENABLE_RELOCATABLE early.
43402
43403 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
43404
43405         Port to Tandem NSK OSS, which has 64-bit signed int but at most
43406         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
43407         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
43408         More generally, don't assume that 64-bit signed int is available
43409         if unsigned int is, and vice versa.
43410         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
43411         unsigned symbols, not on their signed counterparts.
43412         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
43413         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
43414         (UINT64_C, UINTMAX_C):
43415         Likewise.
43416         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
43417         unsigned counterparts.
43418         (Have_long_long, Unsigned): New macros.
43419         (Int): Renamed from INT.
43420         (strtoimax): Use the new macros.
43421         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
43422         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
43423         * modules/inttypes (inttypes.h): Substitute
43424         HAVE_UNSIGNED_LONG_LONG_INT.
43425         * modules/stdint (stdint.h): Likewise.
43426         (Files): Add m4/ulonglong.m4.
43427
43428 2006-10-10  Bruno Haible  <bruno@clisp.org>
43429
43430         Fix a gcc -Wshadow warning.
43431         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
43432         to 'bucket'.
43433         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
43434         gl_linked_indexof_from_to): Likewise.
43435         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
43436         Likewise.
43437         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
43438         Likewise.
43439         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
43440         Reported by Eric Blake.
43441
43442 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
43443
43444         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
43445         for NetBSD.  Problem reported by Bruno Haible.
43446
43447 2006-10-09  Jim Meyering  <jim@meyering.net>
43448
43449         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
43450         Patch from Bruno Haible.
43451
43452 2006-10-09  Jim Meyering  <jim@meyering.net>
43453
43454         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
43455         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
43456         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
43457
43458 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
43459
43460         Don't include <config.h> twice; this doesn't work in some cases,
43461         e.g., when config.h has "#define intmax_t long long int" and
43462         we include <config.h>, <inttypes.h>, <config.h> in that order.
43463         Problem reported by Matthew Woehlke in:
43464         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
43465         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
43466         * lib/fts-cycle.c: Don't include config.h.
43467         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
43468         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
43469         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
43470         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
43471         inttypes.h.
43472         * lib/xstrtoumax.c: Likewise.
43473         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
43474         __strtol and the like, so that this module is more like its siblings.
43475         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
43476         Remove; no longer needed now that we assume gnulib inttypes.h.
43477
43478 2006-10-08  Bruno Haible  <bruno@clisp.org>
43479
43480         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
43481         option.
43482
43483 2006-10-07  Jim Meyering  <jim@meyering.net>
43484
43485         * modules/inttypes (inttypes.h): Revert what seems to have been
43486         an inadvertent part of today's change: use "|", not "/" in the
43487         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
43488
43489 2006-10-07  Bruno Haible  <bruno@clisp.org>
43490
43491         * modules/sublist: New file.
43492
43493 2006-10-07  Bruno Haible  <bruno@clisp.org>
43494
43495         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
43496         * modules/argz (argz.h): Likewise.
43497         * modules/arpa_inet (arpa/inet.h): Likewise.
43498         * modules/byteswap (byteswap.h): Likewise.
43499         * modules/configmake (configmake.h): Likewise.
43500         * modules/fcntl (fcntl.h): Likewise.
43501         * modules/fnmatch (fnmatch.h): Likewise.
43502         * modules/getopt (getopt.h): Likewise.
43503         * modules/glob (glob.h): Likewise.
43504         * modules/inttypes (inttypes.h): Likewise.
43505         * modules/netinet_in (netinet/in.h): Likewise.
43506         * modules/poll (poll.h): Likewise.
43507         * modules/stdbool (stdbool.h): Likewise.
43508         * modules/stdint (stdint.h): Likewise.
43509         * modules/sys_select (sys/select.h): Likewise.
43510         * modules/sys_socket (sys/socket.h): Likewise.
43511         * modules/sys_stat (sys/stat.h): Likewise.
43512         * modules/sysexits (sysexits.h): Likewise.
43513         * modules/unistd (unistd.h): Likewise.
43514         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
43515         Add a "DO NOT EDIT" comment to the generated file.
43516         (func_import): Likewise for gnulib-comp.m4.
43517
43518 2006-10-07  Bruno Haible  <bruno@clisp.org>
43519
43520         * lib/gl_sublist.h: New file.
43521         * lib/gl_sublist.c: New file.
43522
43523 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
43524
43525         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
43526         name (relative to the original working directory) and the file
43527         name component (relative to the temporary working directory).  All
43528         callers changed.
43529         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
43530         * lib/mkdir-p.c (make_dir_parents): Likewise.
43531         * lib/mkdir-p.h (make_dir_parents): Likewise.
43532
43533 2006-10-06  Eric Blake  <ebb9@byu.net>
43534
43535         Define several macros for use by the clean-temp module.
43536         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
43537         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
43538         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
43539
43540         * lib/clean-temp.h (close_stream_temp): New declaration.
43541         * lib/clean-temp.c (includes): Pull in headers according to what
43542         other modules are in use.
43543         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
43544
43545 2006-10-06  Bruno Haible  <bruno@clisp.org>
43546
43547         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
43548         instead of fopen, fwriteerror.
43549
43550 2006-10-06  Bruno Haible  <bruno@clisp.org>
43551
43552         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
43553         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
43554         int.
43555         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
43556         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
43557         Return an error indicator.
43558         Suggested by Eric Blake.
43559
43560 2006-10-06  Bruno Haible  <bruno@clisp.org>
43561
43562         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
43563         Reported by Eric Blake.
43564
43565 2006-10-06  Bruno Haible  <bruno@clisp.org>
43566
43567         * modules/closeout (Description): Mention stderr too.
43568
43569 2006-10-06  Bruno Haible  <bruno@clisp.org>
43570         and Paul Eggert  <eggert@cs.ucla.edu>
43571
43572         * lib/closeout.c (close_stdout): Also close stderr.
43573         * lib/closeout.h: Update comment.
43574
43575 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
43576
43577         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
43578         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
43579         * lib/dirchownmod.c: Include lchown.h.
43580         * lib/lchown.c: Don't include files that lchown.h now includes.
43581         Don't declare chown, since lchown.h now does that.
43582         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
43583         (lchown): Define to rpl_chown if lchown is declared but
43584         does not exist.  Declare using a prototype if lchown is not
43585         declared.  Add a copyright notice.
43586         * lib/mkstemp.h: Include <unistd.h>.
43587         * lib/openat.c: Include lchown.h.
43588
43589         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
43590         we now test for that separately.
43591         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
43592         rather than O_NOFOLLOW, when testing whether it's possible to
43593         avoid a race condition reliably.
43594         * lib/savewd.c (savewd_chdir): Likewise.
43595
43596         Remove macros that are no longer needed now that stdint.h is
43597         reliable.
43598         * lib/fsusage.c (UINTMAX_MAX): Remove.
43599         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
43600         * lib/utimecmp.c (SIZE_MAX): Remove.
43601
43602         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
43603
43604         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
43605         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
43606         O_NOATIME works.
43607
43608 2006-10-05  Bruno Haible  <bruno@clisp.org>
43609
43610         * lib/gl_list.h (gl_sortedlist_search_from_to,
43611         gl_sortedlist_indexof_from_to): New declarations.
43612         (gl_list_implementation): New fields sortedlist_search_from_to,
43613         sortedlist_indexof_from_to.
43614         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
43615         inline functions.
43616         * lib/gl_list.c (gl_sortedlist_search_from_to,
43617         gl_sortedlist_indexof_from_to): New functions.
43618         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
43619         function.
43620         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
43621         (gl_array_sortedlist_search_from_to): New function.
43622         (gl_array_list_implementation): Update.
43623         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
43624         function.
43625         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
43626         (gl_carray_sortedlist_search_from_to): New function.
43627         (gl_carray_list_implementation): Update.
43628         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
43629         gl_linked_sortedlist_indexof_from_to): New functions.
43630         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
43631         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
43632         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
43633         gl_tree_sortedlist_indexof_from_to): New functions.
43634         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
43635         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
43636         Update.
43637         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
43638         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
43639         Update.
43640
43641 2006-10-05  Bruno Haible  <bruno@clisp.org>
43642
43643         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
43644         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
43645         (struct gl_list_implementation): Add fields search_from_to,
43646         indexof_from_to. Remove fields search, indexof.
43647         (gl_list_search): Use the search_from_to method.
43648         (gl_list_search_from, gl_list_search_from_to): New functions.
43649         (gl_list_indexof): Use the indexof_from_to method.
43650         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
43651         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
43652         (gl_list_search_from, gl_list_search_from_to): New functions.
43653         (gl_list_indexof): Use the indexof_from_to method.
43654         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
43655         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
43656         gl_array_indexof. Add start_index, end_index arguments.
43657         (gl_array_search_from_to): Renamed from gl_array_search. Add
43658         start_index, end_index arguments.
43659         (gl_array_remove, gl_array_list_implementation): Update.
43660         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
43661         gl_carray_indexof. Add start_index, end_index arguments.
43662         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
43663         start_index, end_index arguments.
43664         (gl_carray_remove, gl_carray_list_implementation): Update.
43665         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
43666         gl_linked_search. Add start_index, end_index arguments.
43667         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
43668         start_index, end_index arguments.
43669         (gl_linked_remove): Update.
43670         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
43671         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
43672         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
43673         field to 'size_t'.
43674         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
43675         gl_tree_search. Add start_index, end_index arguments.
43676         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
43677         start_index, end_index arguments.
43678         (gl_tree_remove): Update.
43679         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
43680         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
43681         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
43682         function.
43683         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
43684         gl_tree_search. Add start_index, end_index arguments.
43685         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
43686         start_index, end_index arguments.
43687         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
43688         Update.
43689         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
43690
43691 2006-10-05  Bruno Haible  <bruno@clisp.org>
43692
43693         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
43694
43695         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
43696         fwriteerror_temp): New declarations.
43697         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
43698         (descriptors): New variable.
43699         (cleanup): First, close the descriptors.
43700         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
43701         fclose_temp, fwriteerror_temp): New functions.
43702
43703 2006-10-04  Jim Meyering  <jim@meyering.net>
43704
43705         * lib/fts.c (fts_open): Tiny comment change.
43706
43707 2006-10-04  Bruno Haible  <bruno@clisp.org>
43708
43709         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
43710         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
43711         gl_LOCK_BODY.
43712         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
43713         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
43714         gl_LOCK_EARLY_BODY.
43715         (gl_LOCK): Require gl_LOCK_BODY.
43716
43717 2006-10-04  Bruno Haible  <bruno@clisp.org>
43718
43719         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
43720         (gl_oset_search_atleast): New declaration.
43721         (struct gl_oset_implementation): Add field 'search_atleast'.
43722         (gl_oset_search_atleast): New inline function.
43723         * lib/gl_oset.c (gl_oset_search_atleast): New function.
43724         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
43725         (gl_array_oset_implementation): Update.
43726         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
43727         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
43728         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
43729
43730 2006-10-04  Bruno Haible  <bruno@clisp.org>
43731
43732         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
43733
43734 2006-10-03  Bruno Haible  <bruno@clisp.org>
43735
43736         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
43737         from gl_avltreehash_list_implementation.
43738
43739 2006-10-03  Bruno Haible  <bruno@clisp.org>
43740
43741         * lib/gl_oset.c (gl_oset_add): Fix return type.
43742
43743 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
43744
43745         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
43746
43747 2006-10-02  Eric Blake  <ebb9@byu.net>
43748
43749         * modules/strnlen (Depends-on): Add extensions.
43750
43751 2006-10-02  Eric Blake  <ebb9@byu.net>
43752
43753         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
43754         definition in 2.60+.
43755
43756 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
43757
43758         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
43759         checks.
43760
43761 2006-10-02  Bruno Haible  <bruno@clisp.org>
43762
43763         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
43764         to the AUTOMAKE_OPTIONS.
43765         Reported by Jim Meyering.
43766
43767 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
43768
43769         Work around bug in Solaris 10 /proc file system:
43770         /proc/self/fd/NNN/.. isn't the parent directory of
43771         the directory whose file descriptor is NNN.  This needs to
43772         be worked around at run time, not compile time, since a
43773         program might be built on Solaris 8, where things work, and
43774         run on Solaris 10.
43775         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
43776         to use the following interface instead:
43777         (OPENAT_BUFFER_SIZE): New macro.
43778         (openat_proc_name): New function.
43779         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
43780         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
43781         Likewise.
43782         * lib/openat-proc.c: New file.
43783         * modules/openat (Files): Add lib/openat-proc.c.
43784         (Depends-on): Add same-inode, stdbool.
43785         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
43786
43787 2006-09-29  Bruno Haible  <bruno@clisp.org>
43788
43789         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
43790         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
43791         argument. Set stdout_closed before testing for ferror, not after.
43792         (fwriteerror, fwriteerror_no_ebadf): New functions.
43793
43794 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43795
43796         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
43797
43798 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
43799
43800         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
43801         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
43802
43803 2006-09-28  Jim Meyering  <jim@meyering.net>
43804
43805         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
43806         Include <unistd.h>.
43807
43808 2006-09-28  Bruno Haible  <bruno@clisp.org>
43809
43810         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
43811         * modules/linkedhash-list (Depends-on): Likewise.
43812         * modules/rbtreehash-list (Depends-on): Likewise.
43813
43814 2006-09-28  Bruno Haible  <bruno@clisp.org>
43815
43816         * lib/strndup.h: Simplify the redefinition of strndup.
43817         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
43818         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
43819
43820 2006-09-28  Bruno Haible  <bruno@clisp.org>
43821
43822         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
43823         * lib/gl_linkedhash_list.c: Likewise.
43824         * lib/gl_rbtreehash_list.c: Likewise.
43825
43826 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
43827
43828         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
43829         getaddrinfo.
43830
43831         * lib/__fpending.h: Don't include <stdio_ext.h> unless
43832         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
43833         it causes <stdio_ext.h> to cause a compile-time error.
43834         Problem reported by Nelson H. F. Beebe.
43835         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
43836         of HAVE_DECL___PENDING.
43837
43838         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
43839         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
43840         declaration.
43841
43842 2006-09-27  Jim Meyering  <jim@meyering.net>
43843
43844         This file could end up with a definition for a function
43845         named __strndup, rather than rpl_strndup on a system with
43846         incomplete weak_alias support.
43847         * lib/strndup.c (strndup): Rename from __strndup.
43848         Remove #defines that used to map __strndup to strndup.
43849         Don't use K&R prototypes.
43850         Remove LIBC-related code, since this file is not sync'd with glibc.
43851         * lib/strndup.h: Revamp, accordingly.
43852         * m4/strndup.m4: Modernize.
43853
43854 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
43855
43856         * modules/savewd (Depends-on): Add 'raise'.
43857         * lib/savewd.c: Include <signal.h>, for 'raise'.
43858
43859 2006-09-26  Jim Meyering  <jim@meyering.net>
43860
43861         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
43862         when we detect Darwin 8.7.0's acl_get_file bug.
43863         Rearrange to perform the new (below) run-test while $LIBS
43864         contains any acl-related library.  Set USE_ACL at the end.
43865         (gl_ACL_GET_FILE): New function.
43866
43867 2006-09-26  Eric Blake  <ebb9@byu.net>
43868
43869         * lib/verror.c: Include <config.h> unconditionally.
43870
43871 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
43872
43873         * modules/clock-time (Maintainer): Add self.
43874         * modules/getlogin_r (Depends-on): Add extensions.
43875
43876 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43877
43878         * modules/clock-time: New module.
43879         * modules/nanosleep (Depends-on): Add clock-time.
43880         * modules/gethrxtime (Depends-on): Likewise.
43881         * modules/gettime (Depends-on): Likewise.
43882         * modules/settime (Depends-on): Likewise.
43883
43884         * modules/fts-lgpl: Depend on openat.
43885         * modules/mkancesdirs: Depend on savewd.
43886         * modules/mkdir-p: Likewise.
43887
43888 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43889
43890         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
43891
43892         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
43893         `gl_have_arbitrary_file_name_length_limit' to
43894         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
43895         actually works between configure runs.
43896
43897 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43898             Bruno Haible  <bruno@clisp.org>
43899
43900         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
43901
43902 2006-09-25  Jim Meyering  <jim@meyering.net>
43903
43904         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
43905         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
43906
43907 2006-09-25  Eric Blake  <ebb9@byu.net>
43908
43909         * gnulib-tool (func_import, func_create_testdir): Fix typos in
43910         exec's in 2006-09-18 patch when shuffling fds.
43911
43912 2006-09-25  Bruno Haible  <bruno@clisp.org>
43913
43914         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
43915         Reported by Jim Meyering.
43916
43917 2006-09-24  Jim Meyering  <jim@meyering.net>
43918
43919         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
43920         compare a pointer against a literal "0".  That caused failures with
43921         at least HP-UX's hpcc.
43922
43923 2006-09-22  Simon Josefsson  <jas@extundo.com>
43924
43925         * modules/gc-sha1:
43926         * modules/gc-md4:
43927         * modules/gc-hmac-sha1:
43928         * modules/gc-hmac-md5:
43929         * modules/gc-des:
43930         * modules/gc-arcfour: Distribute more files.
43931
43932 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43933
43934         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
43935         (gl_linked_iterator_from_to): Initialize struct completely.
43936         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
43937         (gl_tree_iterator_from_to): Likewise
43938         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
43939         * lib/gl_array_list.c [lint] (gl_array_iterator)
43940         (gl_array_iterator_from_to): Likewise.
43941         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
43942         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
43943         (gl_carray_iterator_from_to): Likewise.
43944
43945         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
43946         * lib/md4.c (md4_process_block): Remove unused variable.
43947         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
43948         parentheses for clarity.
43949
43950 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43951
43952         * modules/bison-i18n (Depends-on): Add gettext.
43953
43954 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43955
43956         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
43957         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
43958         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
43959         also add missing comma that caused broken test.
43960         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
43961         stdlib.h, for `abort'.
43962         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
43963         variables.
43964         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
43965         include unistd.h if present, for `rmdir'.
43966         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
43967         variables.
43968         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
43969         in the process include standard headers for prototypes.
43970         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
43971         gets declared on GNU/Linux.
43972         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
43973         unistd.h, for `rmdir'.
43974         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
43975
43976         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
43977         always true.
43978         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
43979
43980         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
43981
43982 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43983
43984         * gnulib-tool (func_version): Create output all at once.  This
43985         may help avoid triggering unnecessary SIGPIPEs, and at any
43986         rate it doesn't hurt.
43987
43988 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43989             Bruno Haible  <bruno@clisp.org>
43990
43991         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
43992         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
43993         * m4/signed.m4 (bh_C_SIGNED): Likewise.
43994
43995         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
43996         (gl_FUNC_VASPRINTF): Invoke it.
43997
43998 2006-09-22  Bruno Haible  <bruno@clisp.org>
43999
44000         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
44001         getloadavg.c as first argument.
44002
44003 2006-09-22  Bruno Haible  <bruno@clisp.org>
44004
44005         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
44006         at the beginning of the gl_INIT macro.
44007         * modules/getloadavg (configure.ac): Pass $gl_source_base to
44008         gl_GETLOADAVG.
44009
44010 2006-09-22  Bruno Haible  <bruno@clisp.org>
44011
44012         * gnulib-tool (func_create_megatestdir): Don't include the config-h
44013         module.
44014         Suggested by Ralf Wildenhues.
44015
44016 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
44017
44018         Import this patch from libc:
44019
44020         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
44021
44022         * lib/regex_internal.c (re_string_reconstruct): Handle
44023         offset < pstr->valid_raw_len && pstr->offsets_needed case.
44024         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
44025         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
44026         re_string_context_at.
44027
44028         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
44029         now requires it.
44030         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
44031         gl_REGEX now does it for us.
44032         (gl_REGEX): Add test taken from
44033         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
44034
44035         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
44036         Check that large offsets work.  Modernize Autoconf usages.
44037         Prefer "yes" to mean a good thing rather than a bad.
44038         Don't put "#define mkstemp" in config.h, as this might interfere
44039         with standard system headers that "#define mkstemp mkstemp64".
44040
44041         * modules/mkstemp (Depends-on): Add extensions, so that
44042         mkstemp is visible on some platforms.
44043         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
44044         (Include): Change to "mkstemp.h" from <stdlib.h>.
44045         (Files): Add mkstemp.h.
44046
44047         * lib/mkstemp.h: New file, since some standard headers
44048         #define mkstemp.
44049         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
44050         Include "mkstemp.h".
44051         Make the _LIBC code resemble glibc original more,
44052         e.g., use K&R style.
44053         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
44054         (mkstemp): Remove, since mkstemp.h does this for us.
44055         * lib/stdlib--.h: Include mkstemp.h.
44056
44057         Import this patch from libc:
44058
44059         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
44060
44061         * lib/tempname.c (__gen_tempname): Change attempts_min
44062         into a macro.  Use preprocessor to decide how to initialize
44063         attempts [Coverity CID 67].
44064
44065 2006-09-20  Bruno Haible  <bruno@clisp.org>
44066
44067         * lib/mkdtemp.c: Import from libc.
44068         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
44069                 * sysdeps/posix/tempname.c (__gen_tempname): Change
44070                 attempts_min into a macro.  Use preprocessor to decide how to
44071                 initialize attempts [Coverity CID 67].
44072         2001-11-27  Paul Eggert  <eggert@twinsun.com>
44073                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
44074                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
44075
44076 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44077
44078         * gnulib-tool (func_exit): New function, to allow to pass the
44079         exit status portably through the trap.  Use everywhere.
44080         (--help, --version): Signal a write error.
44081         (trap): catch SIGPIPE, for write errors.
44082         Exit at the end of the trap, with the correct exit status.
44083
44084 2006-09-19  Karl Berry  <karl@gnu.org>
44085
44086         * doc/gnulib.texi: note about the license texinfo files.
44087
44088 2006-09-19  Eric Blake  <ebb9@byu.net>
44089
44090         * gnulib-tool: Avoid space-tab.
44091
44092 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
44093
44094         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
44095         that prevented coreutils 6.1 from building.  Problem reported
44096         by Petter Reinholdtsen.
44097
44098 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
44099
44100         * gnulib-tool (avoidlist): Fix typo that broke options like
44101         --avoid=lock that are used by coreutils bootstrap.
44102
44103 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
44104
44105         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
44106         more systematically.
44107
44108 2006-09-18  Jim Meyering  <jim@meyering.net>
44109
44110         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
44111
44112 2006-09-18  Bruno Haible  <bruno@clisp.org>
44113
44114         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
44115
44116 2006-09-18  Bruno Haible  <bruno@clisp.org>
44117
44118         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
44119         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
44120         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
44121         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
44122         * m4/gettext.m4: Require autoconf >= 2.52.
44123         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
44124         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
44125         of gl_cv_header_inttypes_h.
44126
44127 2006-09-18  Bruno Haible  <bruno@clisp.org>
44128
44129         * lib/javaversion.c: Include configmake.h.
44130
44131 2006-09-18  Bruno Haible  <bruno@clisp.org>
44132
44133         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
44134         avoid that the while loops be executed in a subshell.
44135
44136 2006-09-18  Bruno Haible  <bruno@clisp.org>
44137
44138         * MODULES.html.sh (func_module): Break long lines.
44139         Suggested by Bruce Korb <bkorb@gnu.org>.
44140
44141 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44142
44143         Speed up by a factor of 1.12.
44144         * gnulib-tool (nl): New variable.
44145         (func_import): Rewrite include directive extraction to only read each
44146         directive once.
44147
44148 2006-09-17  Bruno Haible  <bruno@clisp.org>
44149
44150         * modules/javaversion (Makefile.am): Remove DEFS setting.
44151         (Depends-on): Add configmake, for PKGDATADIR definition.
44152
44153 2006-09-17  Bruno Haible  <bruno@clisp.org>
44154
44155         * gnulib-tool (func_create_testdir): Rewrite all files at once.
44156
44157 2006-09-17  Bruno Haible  <bruno@clisp.org>
44158
44159         * gnulib-tool (func_append): New function, stolen from libtool.m4.
44160         (func_modules_transitive_closure, func_modules_add_dummy,
44161         func_modules_to_filelist, func_import, func_create_testdir,
44162         func_create_megatestdir, ...): Use it wherever possible.
44163         Suggested by Ralf Wildenhues.
44164
44165 2006-09-16  Karl Berry  <karl@gnu.org>
44166
44167         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
44168         to avoid sectioning errors.
44169         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
44170         [ifinfo]: blank line after @center-ed titles.
44171         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
44172         Spell FSF address consistently with others.
44173         (These changes approved by rms.)
44174
44175 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44176
44177         Speed up by a factor of 1.61.
44178         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
44179         already checked module names again.
44180
44181 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44182
44183         Speed up by a factor of 1.13.
44184         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
44185         for new_files, and the input to func_add_or_update.
44186
44187 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44188
44189         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
44190         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
44191
44192 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
44193
44194         * modules/mkancesdirs (Depends-on): Add fcntl.
44195         * modules/savewd: New file.
44196         * MODULES.html.sh (File system functions): Add savewd.
44197
44198         * modules/configmake (Makefile.am): Add support for the
44199         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
44200
44201 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
44202
44203         * m4/savewd.m4: New file.
44204
44205 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
44206
44207         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
44208         (dirchownmod): New arg FD.  All callers changed.
44209         Use FD rather than opening the directory ourself, as opening is
44210         now the caller's responsibility.
44211         * lib/dirchownmod.h: Likewise.
44212         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
44213         hosts that require <sys/types.h> before <sys/stat.h>.  Include
44214         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
44215         (test_dir): Remove.
44216         (mkancesdirs): Return length of prefix of FILE that has already
44217         been made, or -2 if there is a child doing the work.  Redo
44218         algorithm so that it is O(N) rather than O(N**2).  Optimize away
44219         ".", and treat ".." specially since it might stray back into
44220         already-created areas.  Use a subprocess if necessary.  New arg
44221         WD; all users changed.  MAKE_DIR function should now return 1
44222         if it creates a directory that is not readable.  Return -2 if
44223         a child process is spun off.
44224         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
44225         Adjust signature to match code.
44226         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
44227         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
44228         all users changed.
44229         * lib/savewd.c, lib/savewd.h: New files.
44230
44231 2006-09-15  Jim Meyering  <jim@meyering.net>
44232
44233         * modules/rename-dest-slash: New module.
44234         * MODULES.html.sh (posix_compat): Add it here.
44235
44236         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
44237
44238 2006-09-15  Jim Meyering  <jim@meyering.net>
44239
44240         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
44241         file.
44242
44243         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
44244
44245 2006-09-15  Jim Meyering  <jim@meyering.net>
44246
44247         * lib/rename-dest-slash.c (has_trailing_slash): Use
44248         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
44249         (rpl_rename_dest_slash): Perform the cheaper trailing slash
44250         test before testing whether SRC is a directory.
44251         Suggestions from Bruno Haible.
44252
44253         Avoid a warning about an unused variable.
44254         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
44255         into the #ifdef block where it's used.
44256
44257         * lib/rename-dest-slash.c: New file.
44258
44259 2006-09-14  Bruno Haible  <bruno@clisp.org>
44260
44261         * lib/allocsa.c: Include <config.h> unconditionally.
44262         * lib/asnprintf.c: Likewise.
44263         * lib/asprintf.c: Likewise.
44264         * lib/c-strcasecmp.c: Likewise.
44265         * lib/c-strcasestr.c: Likewise.
44266         * lib/c-strncasecmp.c: Likewise.
44267         * lib/c-strstr.c: Likewise.
44268         * lib/classpath.c: Likewise.
44269         * lib/clean-temp.c: Likewise.
44270         * lib/concatpath.c: Likewise.
44271         * lib/copy-file.c: Likewise.
44272         * lib/csharpcomp.c: Likewise.
44273         * lib/csharpexec.c: Likewise.
44274         * lib/execute.c: Likewise.
44275         * lib/fatal-signal.c: Likewise.
44276         * lib/findprog.c: Likewise.
44277         * lib/fwriteerror.c: Likewise.
44278         * lib/gl_array_list.c: Likewise.
44279         * lib/gl_array_oset.c: Likewise.
44280         * lib/gl_avltree_list.c: Likewise.
44281         * lib/gl_avltree_oset.c: Likewise.
44282         * lib/gl_avltreehash_list.c: Likewise.
44283         * lib/gl_carray_list.c: Likewise.
44284         * lib/gl_linked_list.c: Likewise.
44285         * lib/gl_linkedhash_list.c: Likewise.
44286         * lib/gl_list.c: Likewise.
44287         * lib/gl_oset.c: Likewise.
44288         * lib/gl_rbtree_list.c: Likewise.
44289         * lib/gl_rbtree_oset.c: Likewise.
44290         * lib/gl_rbtreehash_list.c: Likewise.
44291         * lib/imaxabs.c: Likewise.
44292         * lib/imaxdiv.c: Likewise.
44293         * lib/javacomp.c: Likewise.
44294         * lib/javaexec.c: Likewise.
44295         * lib/javaversion.c: Likewise.
44296         * lib/linebreak.c: Likewise.
44297         * lib/localcharset.c: Likewise.
44298         * lib/lock.c: Likewise.
44299         * lib/mbchar.c: Likewise.
44300         * lib/mbswidth.c: Likewise.
44301         * lib/mkdtemp.c: Likewise.
44302         * lib/pipe.c: Likewise.
44303         * lib/printf-args.c: Likewise.
44304         * lib/printf-parse.c: Likewise.
44305         * lib/progname.c: Likewise.
44306         * lib/progreloc.c: Likewise.
44307         * lib/readlink.c: Likewise.
44308         * lib/sh-quote.c: Likewise.
44309         * lib/stpcpy.c: Likewise.
44310         * lib/stpncpy.c: Likewise.
44311         * lib/strcasecmp.c: Likewise.
44312         * lib/strcasestr.c: Likewise.
44313         * lib/strcspn.c: Likewise.
44314         * lib/striconv.c: Likewise.
44315         * lib/strncasecmp.c: Likewise.
44316         * lib/strnlen1.c: Likewise.
44317         * lib/strstr.c: Likewise.
44318         * lib/strtok_r.c: Likewise.
44319         * lib/tls.c: Likewise.
44320         * lib/tmpdir.c: Likewise.
44321         * lib/unicodeio.c: Likewise.
44322         * lib/unsetenv.c: Likewise.
44323         * lib/vasnprintf.c: Likewise.
44324         * lib/vasprintf.c: Likewise.
44325         * lib/wait-process.c: Likewise.
44326         * lib/xallocsa.c: Likewise.
44327         * lib/xsetenv.c: Likewise.
44328         * lib/xstriconv.c: Likewise.
44329
44330 2006-09-13  Simon Josefsson  <jas@extundo.com>
44331
44332         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
44333         that internally, suggested by Ralf Wildenhues
44334         <Ralf.Wildenhues@gmx.de>.
44335
44336 2006-09-13  Simon Josefsson  <jas@extundo.com>
44337
44338         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
44339         @LIBOBJS@.
44340         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
44341
44342 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
44343
44344         * lib/_fpending.c: Include <config.h> unconditionally, since we no
44345         longer worry about uses that don't define HAVE_CONFIG_H.
44346         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
44347         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
44348         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
44349         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
44350         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
44351         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
44352         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
44353         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
44354         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
44355         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
44356         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
44357         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
44358         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
44359         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
44360         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
44361         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
44362         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
44363         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
44364         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
44365         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
44366         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
44367         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
44368         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
44369         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
44370         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
44371         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
44372         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
44373         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
44374         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
44375         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
44376         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
44377         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
44378         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
44379         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
44380         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
44381         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
44382         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
44383         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
44384         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
44385         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
44386         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
44387         Likewise.
44388
44389 2006-09-13  Eric Blake  <ebb9@byu.net>
44390
44391         * lib/getopt.c: Fix typo in last commit.
44392
44393 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
44394
44395         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
44396         dgettext.
44397
44398 2006-09-12  Jim Meyering  <jim@meyering.net>
44399
44400         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
44401         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
44402         Reported by Nelson H. F. Beebe.
44403
44404 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
44405
44406         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
44407         program_invocation_name and program_invocation_short_name are
44408         initialized.
44409         * lib/argp-namefrob.h: Move declarations of program_invocation_name
44410         and program_invocation_short_name to argp.h, so they are visible
44411         to user programs.
44412         * lib/argp.h: Likewise
44413
44414 2006-09-10  Bruno Haible  <bruno@clisp.org>
44415
44416         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
44417         m4/inttypes_h.m4, m4/uintmax_t.m4.
44418
44419 2006-09-10  Bruno Haible  <bruno@clisp.org>
44420
44421         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
44422         gl_AC_TYPE_UINTMAX_T.
44423
44424 2006-09-10  Bruno Haible  <bruno@clisp.org>
44425
44426         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
44427
44428 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
44429
44430         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
44431         convention.  Text proposed by Bruno Haible.
44432         (struct argp_option): Document the use of N_() wrappers.
44433
44434         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
44435         '\v', and translate the two parts separately, instead of feeding
44436         the whole string to gettext.  This allows to exclude
44437         '\v' from the strings visible to the translator by writing doc
44438         strings as N_("..") "\v" N_("..").
44439
44440 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
44441
44442         * config/srclist.txt: Undo latest change; the bug was fixed.
44443
44444 2006-09-09  Bruno Haible  <bruno@clisp.org>
44445
44446         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
44447         assignments if building a library without libtool.
44448         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
44449         in func_emit_lib_Makefile_am.
44450         (func_import): When building a static library libfoo.a, arrange to
44451         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
44452         (func_create_testdir): Likewise.
44453         * modules/gc (configure.ac, Makefile.am): If building statically,
44454         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
44455         * modules/iconvme (configure.ac, Makefile.am): Likewise.
44456         * modules/striconv (configure.ac, Makefile.am): Likewise.
44457         Based on a suggestion by Ralf Wildenhues.
44458
44459 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
44460
44461         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
44462         Check for unistd.h too, since Autoconf doesn't assume POSIX.
44463         Also:
44464
44465         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
44466         Add year_2050_test to catch glibc bug 2821
44467         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
44468
44469         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
44470         Prefer #ifdef to #if.
44471
44472         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
44473         Return from 'main' instead of calling 'exit'.
44474
44475 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
44476
44477         * lib/mktime.c (guess_time_tm): Fix bug where mktime
44478         returned the maximum time_t value rather than (time_t) -1.
44479         Problem originally reported by William Bardwell
44480         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
44481
44482         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
44483         Moved to here ...
44484         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
44485         ... from here.
44486
44487 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
44488
44489         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
44490         2821 is fixed.
44491
44492 2006-09-08  Jim Meyering  <jim@meyering.net>
44493
44494         Don't make generated files read-only.  That would bother too many
44495         people.  However, do retain the ability to work when targets are
44496         read-only: remove the destination and temporary files before writing
44497         them (when generated via sed or echo), or by using the -f option for
44498         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
44499         * modules/alloca-opt, modules/argz, modules/arpa_inet:
44500         * modules/byteswap, modules/configmake, modules/fcntl:
44501         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
44502         * modules/localcharset, modules/netinet_in, modules/poll:
44503         * modules/stdbool, modules/stdint, modules/sys_select:
44504         * modules/sys_socket, modules/sys_stat, modules/sysexits:
44505
44506 2006-09-08  Jim Meyering  <jim@meyering.net>
44507
44508         Avoid new build failure on FreeBSD 6.0.
44509         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
44510         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
44511         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
44512
44513 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44514
44515         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
44516
44517 2006-09-07  Jim Meyering  <jim@meyering.net>
44518
44519         Fix global typo in last change: use chmod u-w, not chmod u-x.
44520         Spotted by Paul Eggert and Bruce Korb.
44521         * modules/alloca-opt, modules/argz, modules/arpa_inet:
44522         * modules/byteswap, modules/configmake, modules/fcntl:
44523         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
44524         * modules/localcharset, modules/netinet_in, modules/poll:
44525         * modules/stdbool, modules/stdint, modules/sys_select:
44526         * modules/sys_socket, modules/sys_stat, modules/sysexits:
44527
44528 2006-09-06  Jim Meyering  <jim@meyering.net>
44529
44530         Make generated files be read-only.
44531         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
44532         Ensure that each generated file is now read-only.
44533         * modules/argz: Likewise.
44534         * modules/arpa_inet: Likewise.
44535         * modules/byteswap: Likewise.
44536         * modules/configmake: Likewise.
44537         * modules/fcntl: Likewise.
44538         * modules/fnmatch: Likewise.
44539         * modules/getopt: Likewise.
44540         * modules/glob: Likewise.
44541         * modules/inttypes: Likewise.
44542         * modules/netinet_in: Likewise.
44543         * modules/poll: Likewise.
44544         * modules/stdbool: Likewise.
44545         * modules/stdint: Likewise.
44546         * modules/sys_select: Likewise.
44547         * modules/sys_socket: Likewise.
44548         * modules/sys_stat: Likewise.
44549         * modules/sysexits: Likewise.
44550         * modules/localcharset: Same as above, but continue using temporary
44551         file named "t-$@" (why different?) rather than the "$@-t" used
44552         everywhere else.
44553
44554         * modules/sysexits (Makefile.am): Replace literal occurrences
44555         of "sysexit.h" more readable, and more consistent, "$@".
44556
44557 2006-09-06  Bruno Haible  <bruno@clisp.org>
44558
44559         * modules/striconv: New file.
44560         * modules/xstriconv: New file.
44561         * MODULES.html.sh (Internationalization functions): Add striconv,
44562         xstriconv.
44563
44564 2006-09-06  Bruno Haible  <bruno@clisp.org>
44565
44566         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
44567         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
44568         not using libtool correctly.
44569
44570 2006-09-06  Bruno Haible  <bruno@clisp.org>
44571
44572         * lib/striconv.h: New file.
44573         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
44574         iconvstring.c.
44575         * lib/xstriconv.h: New file.
44576         * lib/xstriconv.c: New file.
44577
44578 2006-09-06  Bruno Haible  <bruno@clisp.org>
44579
44580         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
44581         lib_..._LDFLAGS.
44582
44583 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44584
44585         * lib/argz_.h: Sync from Libtool.
44586
44587         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
44588                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
44589
44590         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
44591
44592 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
44593
44594         * modules/trim: New file.
44595
44596 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
44597
44598         * lib/trim.h: New file.
44599         * lib/trim.c: New file.
44600
44601 2006-09-05  Bruno Haible  <bruno@clisp.org>
44602
44603         * MODULES.html.sh (String handling): Add trim.
44604
44605 2006-09-04  Karl Berry  <karl@gnu.org>
44606
44607         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
44608         until next release.
44609
44610 2006-09-03  Bruno Haible  <bruno@clisp.org>
44611
44612         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
44613         correctly.
44614
44615 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
44616
44617         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
44618         not gl_GETLOADAVG.  Omit unneeded semicolons.
44619         Problems reported by Ralf Wildenhues in
44620         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
44621         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
44622         at the end, which is the usual gnulib style.
44623
44624         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
44625         of doing all the work ourselves.
44626         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
44627         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
44628
44629 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
44630
44631         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
44632         Problem reported by Ralf Wildenhues in
44633         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
44634
44635         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
44636         HAVE_STRUCT_STATFS_F_FSTYPENAME.
44637
44638 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
44639
44640         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
44641         yesterday's patch by changing test -n to test -z.
44642
44643 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
44644
44645         * modules/getloadavg (Files): Add m4/getloadavg.m4.
44646         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
44647         the former is now obsolescent.
44648
44649         * modules/chdir-long (Depends-on): Add fcntl.
44650
44651 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
44652
44653         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
44654         obsolescent, and programs should use gnulib instead.
44655         * m4/getloadavg.m4: New file, with contents taken from Autoconf
44656         but with prefixes changed.
44657
44658 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
44659
44660         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
44661         or stdbool.h, because they might not exist while configuring.
44662
44663         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
44664         Don't include unistd.h or limits.h; not needed, since chdir-long.h
44665         does that for us.
44666         (O_DIRECTORY): Remove.
44667
44668 2006-08-31  Eric Blake  <ebb9@byu.net>
44669
44670         * gnulib-tool: Don't let emacs change spaces to TAB.
44671
44672 2006-08-31  Bruno Haible  <bruno@clisp.org>
44673
44674         * gnulib-tool: When calling func_import more than once, do it in a
44675         subshell.
44676         Reported by Eric Blake <ebb9@byu.net>.
44677
44678 2006-08-31  Bruno Haible  <bruno@clisp.org>
44679
44680         * gnulib-tool (nl): Remove variable.
44681         (sed_transform_lib_file): Use more robust test for config-h module.
44682         (func_import): Fix typo in 2006-08-25 patch.
44683
44684 2006-08-31  Bruno Haible  <bruno@clisp.org>
44685
44686         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
44687         specified, augment Makefile.am variables instead of assigning them.
44688
44689 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
44690
44691         Work around a bug in both the Linux and SunOS 64-bit kernels:
44692         nanosleep mishandles sleeps for longer than 2**31 seconds.
44693         Problem reported by Frank v Waveren in
44694         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
44695         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
44696         Check for nanosleep bug.
44697         (LIB_NANOSLEEP): Append clock_gettime library if needed.
44698
44699 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
44700
44701         Work around a bug in both the Linux and SunOS 64-bit kernels:
44702         nanosleep mishandles sleeps for longer than 2**31 seconds.
44703         Problem reported by Frank v Waveren in
44704         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
44705         * lib/nanosleep.c (BILLION): New constant.
44706         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
44707         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
44708         implementation.
44709
44710 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
44711
44712         * modules/nanosleep (Depends-on): Add gettime.
44713
44714 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
44715         and Simon Josefsson  <jas@extundo.com>
44716         and Oskar Liljeblad  <oskar@osk.mine.nu>
44717
44718         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
44719         * gnulib-tool (func_import): New license type 'unmodifiable license
44720         text'.
44721         * modules/fdl: Use it.  Longer description.
44722         * module/gpl, module/lgpl: New files.
44723
44724 2006-08-30  Jim Meyering  <jim@meyering.net>
44725
44726         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
44727         shadowing the parameter.
44728
44729 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44730
44731         Sync from Libtool:
44732
44733         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44734
44735         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
44736         sharing with gnulib.  Report by Eric Blake.
44737
44738 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
44739
44740         * modules/isapipe: New file.
44741         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
44742
44743 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
44744
44745         * modules/configmake (Makefile.am): Add a comment, and omit
44746         the CONFIGMAKE_ prefix from generated macro names.  Suggested
44747         by Bruno Haible.
44748
44749 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
44750
44751         * m4/isapipe.m4: New file.
44752
44753 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
44754
44755         * lib/isapipe.c, lib/isapipe.h: New files.
44756
44757 2006-08-29  Jim Meyering  <jim@meyering.net>
44758
44759         * modules/configmake (Makefile.am): Make configmake.h depend on
44760         Makefile.  Otherwise, a stale configmake.h could hang around.
44761
44762 2006-08-29  Eric Blake  <ebb9@byu.net>
44763
44764         * lib/error.c (error_at_line, print_errno_message): Match libc, after
44765         resolution of upstream bug 3044.
44766
44767 2006-08-29  Bruno Haible  <bruno@clisp.org>
44768
44769         * modules/localcharset (Depends-on): Add configmake.
44770         (Makefile.am): Remove setting of LIBDIR through DEFS.
44771
44772 2006-08-29  Bruno Haible  <bruno@clisp.org>
44773
44774         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
44775         defined.
44776
44777 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
44778
44779         * modules/fcntl: New file.
44780         * modules/chdir-safer (Depends-on): Add fcntl.
44781         * modules/fts: Likewise.
44782         * modules/mkdir-p: Likewise.
44783
44784         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
44785         This undoes the most recent change, since we're now addressing the
44786         problem in a different way.
44787
44788         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
44789         into output, since the output might be called Makefile.am even
44790         if $makefile_name is something different.
44791         (func_import): Use $makefile_am rather than
44792         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
44793         empty.
44794
44795         * modules/inttypes (Files): Add m4/inttypes-h.m4.
44796
44797 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
44798
44799         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
44800         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
44801         recent change to stdint.m4, since we're now addressing the problem in a
44802         different way.
44803
44804 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
44805
44806         * m4/fcntl_h.m4: New file.
44807
44808 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
44809
44810         * lib/fcntl_.h: New file.
44811         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
44812         the fcntl module.
44813         * lib/dirchownmod.c: Likewise.
44814         * lib/fts.c: Likewise.
44815
44816         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
44817         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
44818         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
44819         just before including <inttypes.h>, to avoid circular inclusion.
44820
44821 2006-08-28  Jim Meyering  <jim@meyering.net>
44822
44823         * doc/visibility.texi: Actually read and correct the grammar of the
44824         sentence affected by yesterday's change.
44825
44826 2006-08-28  Eric Blake  <ebb9@byu.net>
44827
44828         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
44829         needs wrapper.
44830
44831 2006-08-28  Eric Blake  <ebb9@byu.net>
44832
44833         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
44834
44835 2006-08-28  Eric Blake  <ebb9@byu.net>
44836
44837         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
44838
44839 2006-08-28  Bruno Haible  <bruno@clisp.org>
44840
44841         * modules/c-strstr: New file, from GNU gettext.
44842         * MODULES.html.sh (String handling): Add c-strstr.
44843
44844 2006-08-28  Bruno Haible  <bruno@clisp.org>
44845
44846         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
44847         macros.
44848         Reported by Eric Blake.
44849
44850 2006-08-28  Bruno Haible  <bruno@clisp.org>
44851
44852         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
44853         (VASNPRINTF): Return a string of length > INT_MAX without failing.
44854         * lib/vasprintf.c: Include errno.h, limits.h.
44855         (EOVERFLOW): New fallback definition.
44856         (vasprintf): Test here whether the string length is > INT_MAX.
44857         * lib/vsnprintf.c: Include errno.h, limits.h.
44858         (EOVERFLOW): New fallback definition.
44859         (vsnprintf): Fix bug when generated string was too long for the buffer.
44860         Test here whether the string length is > INT_MAX.
44861
44862 2006-08-28  Bruno Haible  <bruno@clisp.org>
44863
44864         * lib/inttypes_.h (SCNX*): Remove definitions.
44865         Reported by Eric Blake.
44866
44867 2006-08-28  Bruno Haible  <bruno@clisp.org>
44868
44869         * lib/c-strstr.h: New file, from GNU gettext.
44870         * lib/c-strstr.c: New file, from GNU gettext.
44871
44872 2006-08-28  Bruno Haible  <bruno@clisp.org>
44873
44874         * gnulib-tool: Reorder some statements.
44875
44876 2006-08-28  Bruno Haible  <bruno@clisp.org>
44877
44878         * gnulib-tool: New option --makefile-name.
44879         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
44880         $makefile_name.
44881         (func_import): Write $makefile_name to the cache file, and read it from
44882         there unless explicitly specified. Use $makefile_name as file name
44883         instead of Makefile.am. Adjust the recommendations accordingly.
44884
44885 2006-08-28  Bruno Haible  <bruno@clisp.org>
44886
44887         * gnulib-tool (func_verify_module): Check against misapplying patch.
44888
44889 2006-08-28  Bruno Haible  <bruno@clisp.org>
44890
44891         * gnulib-tool (func_relativize, func_relconcat): New functions.
44892         Give an error if --local-dir is given with --update.
44893         Remove trailing slashes from $local_gnulib_dir.
44894         (func_import): Store the relativized $local_gnulib_dir in
44895         gnulib-cache.m4, and read it from there if not specified explicitly.
44896
44897 2006-08-28  Bruno Haible  <bruno@clisp.org>
44898
44899         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
44900         is the current directory. Respect also $local_gnulib_dir.
44901
44902 2006-08-28  Bruno Haible  <bruno@clisp.org>
44903             Simon Josefsson  <jas@extundo.com>
44904
44905         BeOS portability.
44906         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
44907
44908 2006-08-27  Jim Meyering  <jim@meyering.net>
44909
44910         * doc/visibility.texi: Remove duplicate word: "pointer".
44911
44912 2006-08-26  Bruno Haible  <bruno@clisp.org>
44913
44914         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
44915         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
44916         (Makefile.am): Create inttypes.h from inttypes_.h.
44917         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
44918
44919         * modules/imaxabs: New file.
44920
44921         * modules/imaxdiv: New file.
44922
44923 2006-08-26  Bruno Haible  <bruno@clisp.org>
44924
44925         * m4/inttypes.m4: New file.
44926         * m4/_inttypes_h.m4: Remove file.
44927         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
44928         PRI_MACROS_BROKEN.
44929         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
44930
44931         * m4/imaxabs.m4: New file.
44932
44933         * m4/imaxdiv.m4: New file.
44934
44935 2006-08-26  Bruno Haible  <bruno@clisp.org>
44936
44937         * lib/inttypes_.h: New file.
44938         * lib/inttypes.h: Remove file.
44939         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
44940
44941         * lib/imaxabs.c: New file.
44942
44943         * lib/imaxdiv.c: New file.
44944
44945 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
44946
44947         New config-h module, so that "make" output needn't be cluttered
44948         by -DHAVE_CONFIG_H.
44949         * MODULES.html.sh (Support for building libraries and executables):
44950         Add config-h.
44951         * modules/config-h: New file.
44952         * gnulib-tool (nl, sed_transform_lib_file): New vars.
44953         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
44954         the config-h module is used.
44955
44956         New configmake module, so that "make" output needn't be cluttered
44957         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
44958         * MODULES.html.sh (Support for building libraries and executables):
44959         Add configmake.
44960         * modules/configmake: New file.
44961
44962 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
44963
44964         * m4/config-h.m4: New file.
44965
44966 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
44967
44968         * config/srclist.txt: Add elisp-comp.
44969
44970 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
44971
44972         * MODULES.html.sh (Support for building libraries and executables):
44973         Add elisp-comp.
44974         * build-aux/elisp-comp: New file.
44975         * modules/elisp-comp: New file.
44976
44977 2006-08-24  Bruno Haible  <bruno@clisp.org>
44978
44979         * gnulib-tool (func_create_testdir): Use non-default values of
44980         sourcebase and m4base.
44981
44982 2006-08-24  Bruno Haible  <bruno@clisp.org>
44983
44984         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
44985         HTML structure.
44986
44987 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
44988
44989         * modules/openat (Depends-on): Add lchown.
44990
44991 2006-08-23  Bruno Haible  <bruno@clisp.org>
44992
44993         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
44994         of gl_LOCK_EARLY instead of gl_LOCK.
44995
44996 2006-08-23  Bruno Haible  <bruno@clisp.org>
44997
44998         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
44999         on OSF/1 to no.
45000         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
45001
45002 2006-08-23  Bruno Haible  <bruno@clisp.org>
45003
45004         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
45005         as unusable.
45006
45007         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
45008         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
45009         (gl_LOCK): New macro.
45010
45011 2006-08-22  Simon Josefsson  <jas@extundo.com>
45012
45013         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
45014         to md5 module.
45015
45016 2006-08-22  Simon Josefsson  <jas@extundo.com>
45017
45018         * MODULES.html.sh: Add "Support for maintaining and release
45019         projects".
45020
45021         * build-aux/gnupload: New file, from coreutils.
45022
45023 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
45024
45025         Avoid the need for AC_LIBSOURCES in m4 macros.
45026         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
45027         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
45028         * modules/check-version (EXTRA_DIST): Add check-version.h.
45029         * modules/crc (EXTRA_DIST): Add crc.h.
45030         * modules/des (EXTRA_DIST): Add des.h.
45031         * modules/gc (EXTRA_DIST): Add gc.h.
45032         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
45033         * modules/getline (EXTRA_DIST): Add getline.h.
45034         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
45035         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
45036         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
45037         * modules/md2 (EXTRA_DIST): Add md2.h.
45038         * modules/md4 (EXTRA_DIST): Add md4.h.
45039         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
45040         * modules/read-file (EXTRA_DIST): Add read-file.h.
45041         * modules/readline (EXTRA_DIST): Add readline.h.
45042         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
45043         rijndael-api-fst.h.
45044
45045 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
45046
45047         * m4/rijndael.m4 (gl_ARCFOUR):
45048         * m4/arctwo.m4 (gl_ARCTWO):
45049         * m4/check-version.m4 (gl_CHECK_VERSION):
45050         * m4/crc.m4 (gl_CRC):
45051         * m4/des.m4 (gl_DES):
45052         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
45053         * m4/gc.m4 (gl_GC):
45054         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
45055         * m4/getline.m4 (gl_FUNC_GETLINE):
45056         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
45057         * m4/hmac-md5.m4 (gl_HMAC_MD5):
45058         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
45059         * m4/md2.m4 (gl_MD2):
45060         * m4/md4.m4 (gl_MD4):
45061         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
45062         * m4/read-file.m4 (gl_FUNC_READ_FILE):
45063         * m4/readline.m4 (gl_FUNC_READLINE):
45064         * m4/rijndael.m4 (gl_RIJNDAEL):
45065         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
45066         to get the necessary .h files and whatnot.
45067
45068 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
45069
45070         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
45071         gnulib rather than the other way around.
45072         * config/srclistvars.sh (COREUTILS): Remove.
45073
45074 2006-08-22  Jim Meyering  <jim@meyering.net>
45075
45076         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
45077
45078         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
45079
45080 2006-08-22  Eric Blake  <ebb9@byu.net>
45081
45082         * modules/regexprops-generic: New file.
45083         * MODULES.html.sh (Support for building documentation): List it.
45084
45085 2006-08-22  Eric Blake  <ebb9@byu.net>
45086
45087         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
45088         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
45089         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
45090         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
45091
45092 2006-08-22  Bruno Haible  <bruno@clisp.org>
45093
45094         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
45095         and lib_LTLIBRARIES like the other lib_* variables.
45096
45097 2006-08-22  Bruno Haible  <bruno@clisp.org>
45098
45099         * build-aux/x-to-1.in: New file, from GNU gettext.
45100
45101 2006-08-22  Bruno Haible  <bruno@clisp.org>
45102
45103         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
45104         <utmpx.h> exists.
45105
45106 2006-08-22  Bruno Haible  <bruno@clisp.org>
45107
45108         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
45109         <utmpx.h> exists.
45110
45111 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
45112
45113         BeOS portability.
45114         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
45115         exist.
45116         Problem reported by Bruno Haible.
45117
45118 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
45119
45120         Avoid the need for AC_LIBSOURCES in m4 macros.
45121         * modules/acl (EXTRA_DIST): Add acl.h.
45122         * modules/argmatch (Files): Add m4/argmatch.m4.
45123         (configure.ac): Add gl_ARGMATCH.
45124         (EXTRA_DIST): Renamed from lib_SOURCES, for
45125         consistency with the other modules.  Remove argmatch.c.
45126         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
45127         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
45128         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
45129         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
45130         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
45131         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
45132         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
45133         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
45134         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
45135         * modules/closeout (EXTRA_DIST): Add closeout.h.
45136         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
45137         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
45138         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
45139         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
45140         dirname.h; remove basename.c and stripslash.c.
45141         * modules/exclude (EXTRA_DIST): Add exclude.h.
45142         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
45143         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
45144         * modules/file-type (EXTRA_DIST): Add file-type.h.
45145         * modules/filemode (EXTRA_DIST): Add filemode.h.
45146         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
45147         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
45148         * modules/fpending (EXTRA_DIST): Add __fpending.h.
45149         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
45150         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
45151         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
45152         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
45153         * modules/getdate (EXTRA_DIST): Add getdate.c.
45154         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
45155         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
45156         * modules/getpass (EXTRA_DIST): Add getpass.h.
45157         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
45158         * modules/group-member (EXTRA_DIST): Add group-member.h.
45159         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
45160         * modules/hash (EXTRA_DIST): Add hash.h.
45161         * modules/human (EXTRA_DIST): Add human.h.
45162         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
45163         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
45164         * modules/lchown (EXTRA_DIST): Add lchown.h.
45165         * modules/long-options (EXTRA_DIST): Add long-options.h.
45166         * modules/lstat (EXTRA_DIST): Add lstat.h.
45167         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
45168         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
45169         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
45170         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
45171         * modules/memxor (EXTRA_DIST): Add memxor.h.
45172         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
45173         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
45174         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
45175         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
45176         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
45177         * modules/physmem (EXTRA_DIST): Add physmem.h.
45178         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
45179         * modules/posixver (EXTRA_DIST): Add posixver.h.
45180         * modules/quote (EXTRA_DIST): Add quote.h.
45181         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
45182         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
45183         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
45184         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
45185         regex_internal.h regexec.c.
45186         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
45187         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
45188         * modules/same (EXTRA_DIST): Add same.h.
45189         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
45190         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
45191         * modules/savedir (EXTRA_DIST): Add savedir.h.
45192         * modules/sha1 (EXTRA_DIST): Add sha1.h.
45193         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
45194         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
45195         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
45196         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
45197         * modules/strdup (EXTRA_DIST): Add strdup.h.
45198         * modules/strftime (EXTRA_DIST): Add strftime.h.
45199         * modules/strndup (EXTRA_DIST): Add strndup.h.
45200         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
45201         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
45202         * modules/time_r (EXTRA_DIST): Add time_r.h.
45203         * modules/timespec (EXTRA_DIST): Add timespec.h.
45204         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
45205         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
45206         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
45207         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
45208         * modules/userspec (EXTRA_DIST): Add userspec.h.
45209         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
45210         * modules/utimens (EXTRA_DIST): Add utimens.h.
45211         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
45212         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
45213         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
45214         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
45215         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
45216         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
45217         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
45218         * modules/yesno (EXTRA_DIST): Add yesno.h.
45219
45220 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
45221
45222         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
45223
45224         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
45225         * m4/dev-ino.m4, same-inode.m4: Remove.
45226
45227         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
45228         * m4/acl.m4 (AC_FUNC_ACL):
45229         * m4/backupfile.m4 (gl_BACKUPFILE):
45230         * m4/c-strtod.m4 (gl_C99_STRTOLD):
45231         * m4/canon-host.m4 (gl_CANON_HOST):
45232         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
45233         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
45234         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
45235         * m4/cloexec.m4 (gl_CLOEXEC):
45236         * m4/close-stream.m4 (gl_CLOSE_STREAM):
45237         * m4/closeout.m4 (gl_CLOSEOUT):
45238         * m4/dirfd.m4 (gl_FUNC_DIRFD):
45239         * m4/dirname.m4 (gl_DIRNAME):
45240         * m4/exclude.m4 (gl_EXCLUDE):
45241         * m4/exitfail.m4 (gl_EXITFAIL):
45242         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
45243         * m4/file-type.m4 (gl_FILE_TYPE):
45244         * m4/filemode.m4 (gl_FILEMODE):
45245         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
45246         * m4/fpending.m4 (gl_FUNC_FPENDING):
45247         * m4/fprintftime.m4 (gl_FPRINTFTIME):
45248         * m4/fts.m4 (gl_FUNC_FTS):
45249         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
45250         * m4/getdate.m4 (gl_GETDATE):
45251         * m4/gethrxtime.m4 (gl_GETHRXTIME):
45252         * m4/getpagesize.m4 (gl_GETPAGESIZE):
45253         * m4/getpass.m4 (gl_FUNC_GETPASS):
45254         * m4/gettime.m4 (gl_GETTIME):
45255         * m4/getugroups.m4 (gl_GETUGROUPS):
45256         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
45257         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
45258         * m4/hard-locale.m4 (gl_HARD_LOCALE):
45259         * m4/hash.m4 (gl_HASH):
45260         * m4/idcache.m4 (gl_IDCACHE):
45261         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
45262         * m4/lchown.m4 (gl_FUNC_LCHOWN):
45263         * m4/long-options.m4 (gl_LONG_OPTIONS):
45264         * m4/lstat.m4 (gl_FUNC_LSTAT):
45265         * m4/md5.m4 (gl_MD5):
45266         * m4/memcasecmp.m4 (gl_MEMCASECMP):
45267         * m4/memcoll.m4 (gl_MEMCOLL):
45268         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
45269         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
45270         * m4/memxor.m4 (gl_MEMXOR):
45271         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
45272         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
45273         * m4/modechange.m4 (gl_MODECHANGE):
45274         * m4/mountlist.m4 (gl_MOUNTLIST):
45275         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
45276         * m4/openat.m4 (gl_FUNC_OPENAT):
45277         * m4/pathmax.m4 (gl_PATHMAX):
45278         * m4/physmem.m4 (gl_PHYSMEM):
45279         * m4/posixtm.m4 (gl_POSIXTM):
45280         * m4/posixver.m4 (gl_POSIXVER):
45281         * m4/quote.m4 (gl_QUOTE):
45282         * m4/quotearg.m4 (gl_QUOTEARG):
45283         * m4/readtokens.m4 (gl_READTOKENS):
45284         * m4/readutmp.m4 (gl_READUTMP):
45285         * m4/regex.m4 (gl_REGEX):
45286         * m4/safe-read.m4 (gl_SAFE_READ):
45287         * m4/safe-write.m4 (gl_SAFE_WRITE):
45288         * m4/same.m4 (gl_SAME):
45289         * m4/save-cwd.m4 (gl_SAVE_CWD):
45290         * m4/savedir.m4 (gl_SAVEDIR):
45291         * m4/settime.m4 (gl_SETTIME):
45292         * m4/sha1.m4 (gl_SHA1):
45293         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
45294         * m4/stat-macros.m4 (gl_STAT_MACROS):
45295         * m4/stat-time.m4 (gl_STAT_TIME):
45296         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
45297         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
45298         * m4/strdup.m4 (gl_FUNC_STRDUP):
45299         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
45300         * m4/strndup.m4 (gl_FUNC_STRNDUP):
45301         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
45302         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
45303         * m4/time_r.m4 (gl_TIME_R):
45304         * m4/timespec.m4 (gl_TIMESPEC):
45305         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
45306         * m4/unlinkdir.m4 (gl_UNLINKDIR):
45307         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
45308         * m4/userspec.m4 (gl_USERSPEC):
45309         * m4/utimecmp.m4 (gl_UTIMECMP):
45310         * m4/utimens.m4 (gl_UTIMENS):
45311         * m4/xalloc.m4 (gl_XALLOC):
45312         * m4/xgetcwd.m4 (gl_XGETCWD):
45313         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
45314         * m4/xreadlink.m4 (gl_XREADLINK):
45315         * m4/xstrtod.m4 (gl_XSTRTOD):
45316         * m4/yesno.m4 (gl_YESNO):
45317         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
45318         to get the necessary .h files and whatnot.
45319
45320 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
45321             Bruno Haible  <bruno@clisp.org>
45322
45323         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
45324         /bin/sh understanding of '!' conditional negation.
45325
45326 2006-08-21  Jim Meyering  <jim@meyering.net>
45327
45328         * modules/openat (Depends-on): Really alphabetize.
45329
45330         * modules/acl (Depends-on): Add error and quote.
45331
45332         * check-module (find_included_lib_files): Add at-func.c to the
45333         ok-to-include-more-than-once white list.
45334
45335         * modules/openat (Depends-on): Add lstat.  Alphabetize.
45336
45337 2006-08-21  Bruno Haible  <bruno@clisp.org>
45338
45339         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
45340         Emit a pkgdata_DATA variable only if some snippets add contents to it.
45341         Reported by Martin Lambers <marlam@marlam.de>.
45342
45343 2006-08-21  Bruno Haible  <bruno@clisp.org>
45344
45345         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
45346         specify an installation location, don't emit a noinst_LIBRARIES or
45347         noinst_LTLIBRARIES assignment.
45348
45349 2006-08-21  Bruno Haible  <bruno@clisp.org>
45350
45351         BeOS portability.
45352         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
45353         BeOS has mbrtowc() but no <wctype.h>.
45354
45355 2006-08-21  Bruno Haible  <bruno@clisp.org>
45356
45357         BeOS portability.
45358         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
45359         exist.
45360
45361 2006-08-21  Bruno Haible  <bruno@clisp.org>
45362
45363         BeOS portability.
45364         * lib/mbchar.h: Include <wctype.h> only if it exists.
45365
45366 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
45367
45368         Remove files that are no longer needed by their respective modules.
45369         * m4/obstack.m4: Remove.
45370         * m4/strerror_r.m4: Remove.
45371         * m4/uint32_t.m4: Remove.
45372         * m4/uintptr_t.m4: Remove.
45373         * m4/ullong_max.m4: Remove.
45374         * m4/xstrtoimax.m4: Remove.
45375         * m4/xstrtoumax.m4: Remove.
45376
45377         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
45378         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
45379         dependencies now capture this.
45380
45381         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
45382         Do not use AC_LIBSOURCES, since gnulib modules now do this.
45383         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
45384         * m4/human.m4 (gl_HUMAN): Likewise.
45385         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
45386         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
45387
45388         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
45389
45390         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
45391         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
45392         stdint.
45393         * m4/human.m4 (gl_HUMAN): Likewise.
45394         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
45395         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
45396         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
45397         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
45398         * m4/xstrtol (gl_XSTRTOL): Likewise.
45399
45400         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
45401         AC_TYPE_LONG_LONG_INT.
45402         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
45403         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
45404         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
45405         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
45406
45407         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
45408         on stdbool.
45409
45410         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
45411         (gl_PREREQ_XSTRTOUL): Remove.
45412
45413         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
45414
45415         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
45416         mode.
45417
45418 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
45419
45420         Add and change modules to make it easier for coreutils to use
45421         gnulib-tool.
45422         * modules/backupfile (Files): Remove m4/d-ino.m4.
45423         (Depends-on): Add d-ino.
45424         * modules/cycle-check (Depends-on): Add stdint.
45425         (lib_SOURCES): Add cycle-check.h.
45426         * modules/d-ino: New module.
45427         * modules/d-type: New module.
45428         * modules/error (Files): Remove m4/strerror_r.m4.
45429         * modules/filemode (Files): Add m4/st_dm_mode.m4.
45430         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
45431         m4/inttypes_h.m4, m4/uintmax_t.m4.
45432         (Depends-on): Add stdint.
45433         (lib_SOURCES): Add fsusage.h.
45434         * modules/getcwd (Files): Remove d-ino.m4.
45435         (Depends-on): Add d-ino.
45436         * modules/getndelim2 (Depends-on): Add stdint.
45437         * modules/glob (Files): Remove m4/d-type.m4.
45438         (Depends-on): Add d-type.
45439         * modules/host-os: New module.
45440         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
45441         m4/inttypes_h.m4, m4/uintmax_t.m4.
45442         * Depends-on: Add stdint.
45443         (lib_SOURCES): Add human.h.
45444         * modules/inttostr (Files): Remove m4/intmax_t.m4,
45445         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
45446         m4/uintmax_t.m4, m4/ulonglong.m4.
45447         (Depends-on): Add stdint.
45448         (EXTRA_DIST): Add inttostr.h.
45449         * modules/lchmod: New module.
45450         * modules/link-follow: New module.
45451         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
45452         (Depends-on): Add lchmod.
45453         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
45454         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
45455         (Depends-on): Add stdint.
45456         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
45457         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
45458         (Depends-on): Add stdint.
45459         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
45460         * modules/perl: New module.
45461         * modules/regex (Depends-on): Add stdint.
45462         * modules/rmdir-errno: New module.
45463         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
45464         m4/intmax_t.m4.
45465         (Depends-on): Add stdint.
45466         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
45467         m4/uintmax_t.m4.
45468         (Depends-on): Add stdint.
45469         * modules/unlink-busy: New module.
45470         * modules/utimecmp (Depends-on): Add stdint.
45471         * modules/uptime: New module.
45472         * modules/winsz-ioctl: New module.
45473         * modules/winsz-termios: New module.
45474         * modules/xnanosleep (Depends-on): Add nanosleep.
45475         * modules/ullong_max: Remove.
45476         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
45477         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
45478         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
45479         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
45480         (Depends-on): Add inttypes.
45481         (lib_SOURCES): Add xstrtol.h.
45482         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
45483         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
45484         * MODULES.html.sh: Move 'assert' into the assert section.
45485         Move 'dummy' into the linking section.
45486         Remove ullong_max.
45487         Add section for compatibility checks for POSIX:2001 functions,
45488         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
45489         winsz-ioctl, and winsz-termios into it.
45490         Add lchmod.
45491         Add top-level Misc section and put host-os, perl, and uptime
45492         into it.
45493
45494 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
45495
45496         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
45497         now assume the stdint module.  Do not include inttypes.h.
45498         * lib/fsusage.h: Likewise.
45499         * lib/getndelim2.c: Likewise.
45500         * lib/human.h: Likewise.
45501         * lib/inttostr.h: Likewise.
45502         * lib/obstack.c: Likewise.
45503         * lib/regex_internal.h: Likewise.
45504         * lib/tempname.c: Likewise.
45505         * lib/utimecmp.c: Likewise.
45506         * lib/xstrtol.h: Likewise.
45507
45508         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
45509
45510         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
45511         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
45512         * lib/xtime.h: Likewise.
45513
45514 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
45515
45516         * modules/openat (Files): Add lib/fchmodat.c.
45517         Fixes problem reported by Jay Youngman.
45518
45519 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
45520
45521         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
45522         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
45523
45524 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
45525             Bruno Haible  <bruno@clisp.org>
45526
45527         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
45528         and is a script that invokes bison. Tighten the code. Add comments.
45529
45530 2006-08-18  Jim Meyering  <jim@meyering.net>
45531
45532         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
45533         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
45534         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
45535         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
45536
45537 2006-08-18  Bruno Haible  <bruno@clisp.org>
45538
45539         * modules/bison-i18n: New file.
45540         * MODULES.html.sh (Internationalization functions): Add it.
45541
45542 2006-08-18  Bruno Haible  <bruno@clisp.org>
45543
45544         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
45545         sys/statvfs.h. When getmntinfo was found, check its declaration and
45546         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
45547
45548 2006-08-18  Bruno Haible  <bruno@clisp.org>
45549
45550         * m4/bison-i18n.m4: New file, from bison.
45551
45552 2006-08-18  Bruno Haible  <bruno@clisp.org>
45553
45554         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
45555         (ME_DUMMY): Treat "kernfs" as a dummy.
45556         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
45557
45558 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
45559
45560         Update from coreutils.
45561
45562         2006-08-15  Jim Meyering  <jim@meyering.net>
45563
45564         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
45565
45566         2006-01-17  Jim Meyering  <jim@meyering.net>
45567
45568         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
45569
45570         2006-01-11  Jim Meyering  <jim@meyering.net>
45571
45572         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
45573         Check for the lchmod function.
45574
45575 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
45576
45577         Update from coreutils.
45578
45579         * lib/__fpending.h: Add copyright notice.
45580         * lib/fprintftime.h: Likewise.
45581         * lib/savedir.c: Use (C) in copyright notice.
45582         * lib/savedir.h: Likewise.
45583
45584         2006-08-15  Jim Meyering  <jim@meyering.net>
45585
45586         * lib/at-func.c: New file, with the logic of all emulated at-functions.
45587         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
45588         in support of the EXPECTED_ERRNO macro.
45589         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
45590         definitions.  Instead, define the appropriate symbols and include
45591         "at-func.c".
45592         * lib/mkdirat.c (mkdirat): Likewise.
45593         * lib/fchmodat.c (fchmodat): Likewise.
45594         (ENOSYS): Remove definition.
45595         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
45596         it.  Don't include "unistd--.h" -- it wasn't ever used.
45597
45598         2006-01-17  Jim Meyering  <jim@meyering.net>
45599
45600         Rewrite fts.c not to change the current working directory,
45601         by using openat, fstatat, fdopendir, etc..
45602
45603         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
45604         (HAVE_OPENAT_SUPPORT): Define.
45605         [_LIBC] (fchdir): Don't undef or define; no longer used.
45606         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
45607         Now, this `function' always succeeds, and consumes its file descriptor
45608         parameter -- so callers must not close such FDs.  Update callers.
45609         (diropen_fd, opendirat, cwd_advance_fd): New functions.
45610         (diropen): Add parameter, SP.  Adjust all callers.
45611         Implement using diropen_fd, rather than open.
45612         (fts_open): Initialize new member, fts_cwd_fd.
45613         Remove fts_rft-setting code.
45614         (fts_close): Close fts_cwd_fd, if necessary.
45615         (__opendir2): Define in terms of opendir or opendirat,
45616         depending on whether the FST_NOCHDIR flag is set.
45617         (fts_build): Since fts_safe_changedir consumes its FD, and since
45618         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
45619         and close the dup'd file descriptor upon failure.
45620         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
45621         (fts_safe_changedir): Tweak semantics to reflect that this function
45622         now calls cwd_advance_fd and hence consumes its FD argument.
45623         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
45624         [struct FTS] (fts_rft): Remove now-unused member.
45625         [struct FTS] (fts_cycle.state): Improve comment.
45626
45627         * lib/openat.c (openat_needs_fchdir): New function.
45628         * lib/openat.h (openat_needs_fchdir): Declare it.
45629
45630 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
45631
45632         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
45633         Problem and fix reported by Pádraig Brady in
45634         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
45635
45636 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
45637
45638         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
45639
45640 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
45641
45642         * lib/memcoll.c (memcoll): Optimize for the common case where the
45643         arguments are bytewise equal.
45644
45645 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
45646
45647         * doc/regexprops-generic.texi: Add a copyright notice.
45648
45649 2006-08-15  Bruno Haible  <bruno@clisp.org>
45650
45651         * modules/tmpdir (License): Change to LGPL.
45652
45653 2006-08-15  Bruno Haible  <bruno@clisp.org>
45654
45655         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
45656         module.
45657
45658 2006-08-14  Simon Josefsson  <jas@extundo.com>
45659
45660         * config/srclist.txt: Add gnupload.
45661
45662 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
45663
45664         Change copyright notice from LGPL 2 to GPL 2, since that's the
45665         standard form used in the gnulib repository.
45666         * tests/test-lock.c: Likewise.
45667         * tests/test-stdint.c: Likewise.
45668         * tests/test-tls.c: Likewise.
45669
45670         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
45671         prelude-manager.  User shorter URLs for GNU projects, without '?'.
45672         Add copyright notice.
45673
45674         * check-module: Add copyright notice.  Output a copyright
45675         notice if "--version" is specified.
45676         * modules/COPYING: New file.
45677         * tests/test-getaddrinfo.c: Add copyright notice.
45678         * tests/test-verify.c: Likewise.
45679
45680 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
45681
45682         Change copyright notice from LGPL 2 to GPL 2, since that's the
45683         standard form used in the gnulib repository.
45684         * lib/lock.c: LGPL -> GPL.
45685         * lib/lock.h: Likewise.
45686         * lib/strnlen1.c: Likewise.
45687         * lib/strnlen1.h: Likewise.
45688         * lib/tls.c: Likewise.
45689         * lib/tls.h: Likewise.
45690         * lib/tmpdir.c: Likewise.
45691
45692         * lib/TODO: Remove; this belongs only in coreutils.
45693
45694 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
45695
45696         Add copyright notices to long-enough files that lack them, since
45697         otherwise the files aren't clearly free.  Use the same notice that
45698         getdate.texi already uses.
45699         * doc/alloca-opt.texi: Add copyright notice.
45700         * doc/alloca.texi: Likewise.
45701         * doc/ctime.texi: Likewise.
45702         * doc/functions.texi: Likewise.
45703         * doc/gcd.texi: Likewise.
45704         * doc/gnulib-tool.texi: Likewise.
45705         * doc/inet_ntoa.texi: Likewise.
45706         * doc/visibility.texi: Likewise.
45707
45708         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
45709         * doc/quote.texi: Add copyright notice.
45710
45711         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
45712         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
45713         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
45714         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
45715         is now obsolete, and give a pointer to the Sun list.
45716         Add copyright notice.
45717
45718 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
45719
45720         * config/srclistvars.sh: Add copyright notice.
45721
45722 2006-08-14  Eric Blake  <ebb9@byu.net>
45723
45724         Import the following change from libc:
45725
45726         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
45727
45728         Upstream bug 2997.
45729         * lib/misc/error.c: Add space between program name and message if file
45730         name is missing.
45731
45732 2006-08-12  Karl Berry  <karl@gnu.org>
45733
45734         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
45735         remove, these originate in gnulib now.
45736
45737 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45738
45739         * doc/Makefile (standards.info standards.html standards.dvi):
45740         Also depend on make-stds.texi.
45741
45742 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
45743
45744         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
45745         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
45746
45747         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
45748         in wchar_t.  Problem reported by Eric Blake.
45749
45750         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
45751         LEN is smaller than SIZE.  Suggested by Bruno Haible.
45752         Also, help the compiler to keep LEN in a register.
45753
45754 2006-08-11  Eric Blake  <ebb9@byu.net>
45755
45756         * users.txt: Sort.  Add tar.
45757
45758 2006-08-11  Bruno Haible  <bruno@clisp.org>
45759
45760         * users.txt: New file.
45761
45762 2006-08-11  Bruno Haible  <bruno@clisp.org>
45763
45764         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
45765         before <wchar.h>. Needed for OSF/1 and BSD/OS.
45766
45767 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
45768
45769         * modules/snprintf (Depends-on): Remove minmax.
45770         (Maintainer): Add self and Bruno.
45771
45772 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
45773
45774         * lib/.cppi-disable: Add snprintf.h, socket_.h.
45775         * lib/snprintf.c: Include <errno.h> and <limits.h>.
45776         (EOVERFLOW): Define if the system does not.
45777         Do not include "minmax.h"; it wasn't used.
45778         (snprintf): Don't assume size_t promotes to an unsigned type.
45779         Fix bug when generated string was too long for the buffer: the
45780         buffer's contents are supposed to be the initial prefix of the
45781         output.  Don't assume vasnprintf returns EOVERFLOW if the size
45782         exceeds INT_MAX; do the check ourselves.
45783
45784         Import the following changes from libc:
45785
45786         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
45787
45788         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
45789         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
45790         set wc to the byte which couldn't be converted.
45791         (re_string_reconstruct): Don't clear valid_raw_len before calling
45792         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
45793         tip_context using re_string_context_at.
45794
45795         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
45796
45797         * lib/posix/regex.h: g++ still cannot handled [restrict].
45798
45799         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
45800
45801         * lib/posix/regex.h: Remove special handling for VMS.
45802
45803 2006-08-10  Jim Meyering  <jim@meyering.net>
45804
45805         * modules/same-inode: New module.
45806         * modules/dev-ino: New module.
45807         * modules/cycle-check: Depend on these modules, rather than simply
45808         including their .h files.
45809         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
45810         required via m4/cycle-check.m4.
45811         * modules/same: Depend on new same-inode module, rather than
45812         including same-inode.h.
45813         * modules/chdir-safer: New file.
45814
45815         * modules/chown (Depends-on): Add stat-macros.
45816
45817 2006-08-10  Jim Meyering  <jim@meyering.net>
45818
45819         * m4/cycle-check.m4: New file.
45820         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
45821         * m4/dev-ino.m4, m4/same-inode.m4: New files.
45822
45823 2006-08-10  Eric Blake  <ebb9@byu.net>
45824
45825         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
45826         in from original proposal.
45827
45828 2006-08-10  Eric Blake  <ebb9@byu.net>
45829         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
45830
45831         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
45832         namespace.
45833
45834 2006-08-10  Bruno Haible  <bruno@clisp.org>
45835
45836         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
45837         as well.
45838
45839 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
45840
45841         Sync from coreutils.
45842
45843         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
45844
45845         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
45846         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
45847
45848 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
45849
45850         * modules/restrict: Remove; no longer needed now that we assume
45851         Autoconf 2.59 or later.
45852         * MODULES.html.sh: Remove 'restrict'.
45853         * modules/argp (Depends-on): Remove 'restrict'.
45854         * modules/base64 (Depends-on): Likewise.
45855         * modules/gc (Depends-on): Likewise.
45856         * modules/getaddrinfo (Depends-on): Likewise.
45857         * modules/glob (Depends-on): Likewise.
45858         * modules/inet_ntop (Depends-on): Likewise.
45859         * modules/inet_pton (Depends-on): Likewise.
45860         * modules/memxor (Depends-on): Likewise.
45861         * modules/regex (Depends-on): Likewise.
45862         * modules/strtok_r (Depends-on): Likewise.
45863         * modules/time_r (Depends-on): Likewise.
45864
45865 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
45866
45867         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
45868         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
45869         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
45870         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
45871         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
45872         * m4/memxor.m4 (gl_MEMXOR): Likewise.
45873         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
45874         gl_C_RESTRICT replaced by AC_C_RESTRICT.
45875
45876         Merge from coreutils.
45877         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
45878         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
45879         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
45880         * m4/time_r.m4 (gl_TIME_R): Likewise.
45881
45882 2006-08-09  Karl Berry  <karl@gnu.org>
45883
45884         * config/srclist.txt: no more gettext-tools, per Bruno.
45885
45886 2006-08-08  Eric Blake  <ebb9@byu.net>
45887
45888         * modules/verror: New module.
45889         * MODULES.html.sh: Document it.
45890
45891 2006-08-08  Eric Blake  <ebb9@byu.net>
45892
45893         * lib/verror.h, lib/verror.c: New files.
45894
45895 2006-08-08  Eric Blake  <ebb9@byu.net>
45896
45897         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
45898         verror_at_line output complies with GNU Coding Standards even when
45899         file is NULL.
45900
45901 2006-08-07  Bruno Haible  <bruno@clisp.org>
45902
45903         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
45904         versions of AIX.
45905         Reported by Ralf Wildenhues.
45906
45907 2006-08-07  Bruno Haible  <bruno@clisp.org>
45908
45909         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
45910         in an AC_DEFUN. Needed so that the autoconf snippets can use
45911         AC_REQUIRE.
45912
45913 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45914
45915         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
45916         Initialize pkgdata_DATA.
45917         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
45918         overriding it.
45919
45920 2006-08-06  Eric Blake  <ebb9@byu.net>
45921
45922         * lib/error.h: Fold in some upstream changes from glibc.
45923         * lib/error.c: Likewise.
45924
45925 2006-08-04  Bruno Haible  <bruno@clisp.org>
45926
45927         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
45928         Make the mostlyclean-local rule depend on mostlyclean-generic.
45929         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
45930
45931 2006-07-31  Bruno Haible  <bruno@clisp.org>
45932
45933         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
45934         <stdlib.h>, <string.h>.
45935
45936 2006-07-30  Bruno Haible  <bruno@clisp.org>
45937
45938         * modules/readlink (License): Change to LGPL.
45939
45940 2006-07-30  Bruno Haible  <bruno@clisp.org>
45941
45942         * modules/javaversion (Makefile.am): Distribute javaversion.java and
45943         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
45944         set PKGDATADIR to point to it.
45945
45946 2006-07-30  Bruno Haible  <bruno@clisp.org>
45947
45948         * modules/csharpexec (configure.ac): Comment out macro invocation.
45949         * modules/javaexec (configure.ac): Likewise.
45950         * modules/javacomp-script (configure.ac): Likewise.
45951
45952         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
45953
45954 2006-07-30  Bruno Haible  <bruno@clisp.org>
45955
45956         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
45957         linked-list.
45958
45959 2006-07-30  Bruno Haible  <bruno@clisp.org>
45960
45961         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
45962
45963 2006-07-30  Bruno Haible  <bruno@clisp.org>
45964
45965         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
45966         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
45967         get removed.
45968
45969 2006-07-29  Bruno Haible  <bruno@clisp.org>
45970
45971         Make it possible for gnulib-tool to work with locally modified or
45972         augmented gnulib repositories.
45973         * gnulib-tool (func_usage): Document --local-dir option.
45974         (local_gnulib_dir): New variable.
45975         Handle --local-dir option.
45976         (func_lookup_file): New function.
45977         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
45978         (func_get_description, func_get_filelist, func_get_description,
45979         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
45980         func_get_automake_snippet, func_get_include_directive,
45981         func_get_license, func_get_maintainer): Use func_lookup_file.
45982         (func_import, func_create_testdir): Use func_lookup_file.
45983
45984 2006-07-29  Bruno Haible  <bruno@clisp.org>
45985
45986         * modules/setenv (Depends-on): Add unistd.
45987
45988 2006-07-29  Bruno Haible  <bruno@clisp.org>
45989
45990         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
45991
45992 2006-07-29  Bruno Haible  <bruno@clisp.org>
45993
45994         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
45995
45996 2006-07-29  Bruno Haible  <bruno@clisp.org>
45997
45998         * gnulib-tool (import, update): If there is no Makefile.am, look at
45999         aclocal.m4, instead of bailing out.
46000
46001 2006-07-29  Bruno Haible  <bruno@clisp.org>
46002
46003         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
46004         Categorize the options by when they are useful.
46005
46006 2006-07-29  Bruno Haible  <bruno@clisp.org>
46007
46008         * gnulib-tool (func_usage): Document option --no-libtool.
46009         Handle option --no-libtool.
46010         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
46011         for changed semantics of $libtool variable.
46012         (func_import): Likewise. If libtool is not used, show this through
46013         an option --no-libtool.
46014         (func_create_testdir): Update.
46015
46016 2006-07-29  Bruno Haible  <bruno@clisp.org>
46017
46018         * gnulib-tool (func_import): Extend error message about missing
46019         --doc-base.
46020
46021 2006-07-29  Bruno Haible  <bruno@clisp.org>
46022
46023         * gnulib-tool (func_import): Don't create the $docbase directory if
46024         there is no file to store there.
46025
46026 2006-07-29  Bruno Haible  <bruno@clisp.org>
46027
46028         * gnulib-tool (autoconf_minversion): If a --dir option is given and
46029         relevant, look for configure.ac there, not in the current directory.
46030         Also use a simple search for AC_PREREQ, not "autoconf --trace".
46031
46032 2006-07-29  Bruno Haible  <bruno@clisp.org>
46033
46034         * gnulib-tool (SORT): New variable.
46035         (func_usage): Undocument --assume-autoconf option.
46036         Remove --assume-autoconf option handling.
46037         (autoconf_minversion): Determine from the contents of configure.ac.
46038         (func_import): Remove autoconf_minversion handling.
46039         Suggested by Eric Blake.
46040
46041 2006-07-29  Bruno Haible  <bruno@clisp.org>
46042
46043         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
46044
46045 2006-07-29  Bruno Haible  <bruno@clisp.org>
46046
46047         * config/srclist.txt (*setenv.[ch]): Remove rules.
46048
46049 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
46050
46051         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
46052
46053 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
46054
46055         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
46056         arpa/inet.h.
46057
46058 2006-07-28  Simon Josefsson  <jas@extundo.com>
46059
46060         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
46061         * modules/inet_pton (Depends-on): Likewise.
46062
46063 2006-07-28  Simon Josefsson  <jas@extundo.com>
46064
46065         * m4/netinet_in_h.m4: New file.
46066
46067 2006-07-28  Simon Josefsson  <jas@extundo.com>
46068
46069         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
46070         #include's.
46071
46072 2006-07-28  Simon Josefsson  <jas@extundo.com>
46073
46074         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
46075         #include's.
46076
46077 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
46078
46079         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
46080         setgid on directories only if they set these bits.
46081         * lib/modechange.h: Remove obsolete comment about masks.
46082
46083 2006-07-28  Eric Blake  <ebb9@byu.net>
46084
46085         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
46086         macro expansion.
46087
46088 2006-07-28  Bruno Haible  <bruno@clisp.org>
46089
46090         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
46091
46092 2006-07-28  Bruno Haible  <bruno@clisp.org>
46093
46094         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
46095
46096 2006-07-28  Bruno Haible  <bruno@clisp.org>
46097
46098         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
46099         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
46100         Define fallbacks.
46101         Avoids link error on FreeBSD 4.x.
46102         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
46103
46104         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
46105         encoding.
46106         * lib/mbswidth.c (iswcntrl): Likewise.
46107
46108 2006-07-27  Bruno Haible  <bruno@clisp.org>
46109
46110         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
46111         test.
46112
46113 2006-07-27  Bruno Haible  <bruno@clisp.org>
46114
46115         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
46116         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
46117         defined.
46118
46119 2006-07-26  Eric Blake  <ebb9@byu.net>
46120
46121         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
46122
46123 2006-07-26  Eric Blake  <ebb9@byu.net>
46124
46125         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
46126         like mingw that lack mkstemp.
46127         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
46128         avoid compilation warning on mingw.
46129
46130 2006-07-26  Bruno Haible  <bruno@clisp.org>
46131
46132         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
46133         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
46134         INT_FAST*_MIN, INTPTR_MIN.
46135
46136 2006-07-25  Bruno Haible  <bruno@clisp.org>
46137
46138         * modules/version-etc (Depends-on): Add stdarg.
46139
46140 2006-07-25  Bruno Haible  <bruno@clisp.org>
46141
46142         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
46143         complex commands.
46144
46145 2006-07-25  Bruno Haible  <bruno@clisp.org>
46146
46147         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
46148         defined in <stdarg.h> or config.h.
46149
46150 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
46151
46152         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
46153         (gl_STDIO_SAFER): Remove.
46154
46155 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
46156
46157         * MODULES.html.sh (File stream based Input/Output):
46158         Add fopen-safer, tmpfile-safer; remove stdio-safer.
46159         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
46160         * modules/fopen-safer, modules/tmpfile-safer: New files.
46161         * modules/stdio-safer: Remove.
46162
46163 2006-07-24  Bruno Haible  <bruno@clisp.org>
46164
46165         * modules/tmpdir: New file.
46166         * MODULES.html.sh (File system functions): Add it.
46167
46168 2006-07-24  Bruno Haible  <bruno@clisp.org>
46169
46170         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
46171         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
46172
46173 2006-07-24  Bruno Haible  <bruno@clisp.org>
46174
46175         * modules/clean-temp: New file.
46176
46177 2006-07-24  Bruno Haible  <bruno@clisp.org>
46178
46179         * m4/tmpdir.m4: New file, from GNU gettext.
46180
46181 2006-07-24  Bruno Haible  <bruno@clisp.org>
46182
46183         * lib/tmpdir.h: New file, from GNU gettext.
46184         * lib/tmpdir.c: New file, from GNU gettext.
46185
46186 2006-07-24  Bruno Haible  <bruno@clisp.org>
46187
46188         * lib/clean-temp.h: New file, from GNU gettext.
46189         * lib/clean-temp.c: New file, from GNU gettext.
46190
46191 2006-07-23  Eric Blake  <ebb9@byu.net>
46192
46193         * modules/stdio-safer (Files): Add tmpfile-safer.c.
46194         (Depends-on): Add binary-io.
46195
46196 2006-07-23  Eric Blake  <ebb9@byu.net>
46197
46198         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
46199
46200 2006-07-23  Eric Blake  <ebb9@byu.net>
46201
46202         * lib/tmpfile-safer.c: New file.
46203         * lib/stdio-safer.h (fopen_safer): Add prototype.
46204         * lib/stdio--.h (tmpfile): Make safer.
46205
46206 2006-07-23  Bruno Haible  <bruno@clisp.org>
46207
46208         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
46209         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
46210         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
46211         gl_linked_remove_at): Use it.
46212
46213 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
46214         and Simon Josefsson <jas@extundo.com>
46215
46216         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
46217
46218         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
46219
46220 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
46221
46222         * modules/close-stream: New file.
46223         * modules/closeout (Description): Make it clear that it exits
46224         with a diagnostic on error.
46225         (Depends-on): Add close-stream.  Remove fpending, stdbool.
46226         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
46227
46228 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
46229
46230         * m4/close-stream.m4: New file.
46231
46232 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
46233
46234         * lib/close-stream.c, lib/close-stream.h: New files.
46235
46236 2006-07-22  Bruno Haible  <bruno@clisp.org>
46237
46238         Merge from GNU gettext 0.15.
46239
46240         2006-05-01  Bruno Haible  <bruno@clisp.org>
46241
46242                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
46243
46244         2006-07-22  Bruno Haible  <bruno@clisp.org>
46245
46246                 * modules/javaversion: New file.
46247                 * MODULES.html.sh (Java): Add javaversion.
46248
46249         2006-03-12  Bruno Haible  <bruno@clisp.org>
46250
46251                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
46252
46253         2005-12-04  Bruno Haible  <bruno@clisp.org>
46254
46255                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
46256                 (untested).
46257
46258         2006-06-21  Bruno Haible  <bruno@clisp.org>
46259
46260                 Avoid warnings from recent versions of mcs.
46261                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
46262                 -o, -L, -r any more. Use options documented since mcs-1.0
46263                 instead. Similarly for -g.
46264
46265         2005-12-04  Bruno Haible  <bruno@clisp.org>
46266
46267                 * build-aux/csharpcomp.sh.in: Suffix for resources is
46268                 .resources, not .resource.
46269
46270         2005-07-09  Bruno Haible  <bruno@clisp.org>
46271
46272                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
46273                 add a .dll suffix.
46274                 Reported by Mark Junker <mjscod@gmx.de>.
46275
46276         2006-07-22  Bruno Haible  <bruno@clisp.org>
46277
46278                 * modules/gettext: Upgrade to gettext-0.15.
46279                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
46280                 m4/visibility.m4.
46281                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
46282
46283 2006-07-22  Bruno Haible  <bruno@clisp.org>
46284
46285         Merge from GNU gettext 0.15.
46286
46287         2006-03-25  Bruno Haible  <bruno@clisp.org>
46288
46289                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
46290
46291         2006-07-21  Bruno Haible  <bruno@clisp.org>
46292
46293                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
46294                 "1.1".
46295
46296         2006-05-09  Bruno Haible  <bruno@clisp.org>
46297
46298                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
46299                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
46300                 for the conftestver execution.
46301
46302         2006-05-01  Bruno Haible  <bruno@clisp.org>
46303
46304                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
46305                 optional target-version argument. Verify that the compiler
46306                 groks source of the specified source-version, or add -source
46307                 option as necessary. Verify that the compiler produces
46308                 bytecode in the specified target-version, or add -target and
46309                 -source options as necessary. Make the result of the test
46310                 available as variable CONF_JAVAC. Also log error output in
46311                 config.log.
46312
46313         2006-03-11  Bruno Haible  <bruno@clisp.org>
46314
46315                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
46316
46317         2006-05-09  Bruno Haible  <bruno@clisp.org>
46318
46319                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
46320                 CLASSPATH_SEPARATOR to a semicolon.
46321
46322         2006-03-12  Bruno Haible  <bruno@clisp.org>
46323
46324                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
46325                 available as variable CONF_JAVA, for subsequent autoconf
46326                 tests. Also log error output in config.log.
46327
46328         2006-07-19  Bruno Haible  <bruno@clisp.org>
46329
46330                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
46331                 that getline works on glibc2 systems. Needed to avoid trouble
46332                 in relocatable.c.
46333                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
46334
46335         2005-12-04  Bruno Haible  <bruno@clisp.org>
46336
46337                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
46338                 launcher (untested).
46339
46340         2005-12-04  Bruno Haible  <bruno@clisp.org>
46341
46342                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
46343
46344         2006-07-22  Bruno Haible  <bruno@clisp.org>
46345
46346                 * gettext.m4: Update from GNU gettext-0.15.
46347                 * nls.m4: Likewise.
46348                 * po.m4: Likewise.
46349                 * inttypes-pri.m4: Likewise.
46350                 * inttypes-h.m4: Renamed from inttypes.m4.
46351                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
46352
46353 2006-07-22  Bruno Haible  <bruno@clisp.org>
46354
46355         Merge from GNU gettext 0.15.
46356
46357         2005-07-05  Bruno Haible  <bruno@clisp.org>
46358
46359                 * printf-args.c (printf_fetchargs): Work around broken
46360                 definition of wint_t on mingw.
46361
46362         2005-02-12  Bruno Haible  <bruno@clisp.org>
46363
46364                 * xallocsa.h: Add extern "C" for C++.
46365
46366         2006-05-17  Bruno Haible  <bruno@clisp.org>
46367
46368                 Cygwin portability.
46369                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
46370
46371         2006-04-30  Bruno Haible  <bruno@clisp.org>
46372
46373                 * progreloc.c: Include <mach-o/dyld.h> if available.
46374                 (find_executable): Use _NSGetExecutablePath when possible.
46375
46376         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
46377
46378                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
46379                 function.
46380
46381         2005-12-29  Bruno Haible  <bruno@clisp.org>
46382
46383                 * progreloc.c (set_program_name_and_installdir): Fix
46384                 compilation error.
46385
46386         2005-12-04  Bruno Haible  <bruno@clisp.org>
46387
46388                 Cygwin portability.
46389                 * progreloc.c: Include <windows.h> also on Cygwin.
46390                 (find_executable): Add support for Cygwin.
46391                 (set_program_name_and_installdir): Handle also platforms with
46392                 nonempty EXEEXT.
46393
46394         2006-07-11  Bruno Haible  <bruno@clisp.org>
46395
46396                 * javacomp.c: Fix a comment.
46397                 Reported by Jim Meyering.
46398
46399         2006-04-30  Bruno Haible  <bruno@clisp.org>
46400
46401                 * javacomp.h (compile_java_class): Add source_version,
46402                 target_version arguments.
46403                 * javacomp.c: Rewritten to choose only a compiler that
46404                 respects the specified source_version and target_version.
46405
46406         2006-06-27  Bruno Haible  <bruno@clisp.org>
46407
46408                 Assume correct S_ISDIR macro.
46409                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
46410
46411         2006-07-22  Bruno Haible  <bruno@clisp.org>
46412
46413                 * javaversion.h: New file, from GNU gettext.
46414                 * javaversion.c: New file, from GNU gettext.
46415                 * javaversion.java: New file, from GNU gettext.
46416                 * javaversion.class: New file, from GNU gettext.
46417
46418         2006-05-17  Bruno Haible  <bruno@clisp.org>
46419
46420                 Cygwin portability.
46421                 * javaexec.c (execute_java_class): Test for jview program
46422                 also on Cygwin.
46423
46424         2006-04-09  Bruno Haible  <bruno@clisp.org>
46425
46426                 * fatal-signal.c: Don't include string.h.
46427                 (at_fatal_signal): Use a copying loop instead of memcpy.
46428
46429         2005-12-04  Bruno Haible  <bruno@clisp.org>
46430
46431                 * csharpexec.c: Add support for 'clix' launcher (untested).
46432                 (execute_csharp_using_sscli): New function.
46433                 (execute_csharp_program): Call it.
46434
46435         2006-06-21  Bruno Haible  <bruno@clisp.org>
46436
46437                 Avoid warnings from recent versions of mcs.
46438                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
46439                 -o, -L, -r any more. Use options documented since mcs-1.0
46440                 instead. Similarly for -g.
46441
46442         2005-07-09  Bruno Haible  <bruno@clisp.org>
46443
46444                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
46445                 add a .dll suffix.
46446                 Reported by Mark Junker <mjscod@gmx.de>.
46447
46448         2006-06-17  Bruno Haible  <bruno@clisp.org>
46449
46450                 * config.charset: Update for NetBSD 3.0.
46451
46452         2006-05-17  Bruno Haible  <bruno@clisp.org>
46453
46454                 Cygwin portability.
46455                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
46456
46457         2006-05-16  Bruno Haible  <bruno@clisp.org>
46458
46459                 * localcharset.c [CYGWIN]: Include <windows.h>.
46460                 (get_charset_aliases): For Cygwin, return the same CPxxx
46461                 aliases list as under WIN32.
46462                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
46463                 the environment variables. Fall back to GetACP().
46464
46465         2006-04-05  Bruno Haible  <bruno@clisp.org>
46466
46467                 * config.charset: Update Juan Manuel Guerrero's address.
46468
46469         2005-02-12  Bruno Haible  <bruno@clisp.org>
46470
46471                 * allocsa.h: Add extern "C" for C++.
46472
46473         2005-02-10  Bruno Haible  <bruno@clisp.org>
46474
46475                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
46476                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
46477
46478         2006-07-22  Bruno Haible  <bruno@clisp.org>
46479
46480                 * gettext.h: Update to GNU gettext-0.15.
46481
46482 2006-07-22  Bruno Haible  <bruno@clisp.org>
46483
46484         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
46485         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
46486         lib-prefix.m4, longdouble.m4, ssize_t.m4.
46487
46488 2006-07-21  Eric Blake  <ebb9@byu.net>
46489
46490         * modules/stdlib-safer: New file.
46491         * MODULES.html.sh (File stream based Input/Output): Add
46492         stdlib-safer.
46493
46494 2006-07-21  Eric Blake  <ebb9@byu.net>
46495
46496         * lib/stdlib-safer.h: New file from coreutils, required by
46497         stdlib--.h.
46498
46499 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
46500
46501         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
46502
46503 2006-07-20  Bruno Haible  <bruno@clisp.org>
46504
46505         * gnulib-tool: Recognize new option --assume-autoconf.
46506         (autoconf_minversion): New variable.
46507         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
46508
46509 2006-07-20  Bruno Haible  <bruno@clisp.org>
46510
46511         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
46512
46513 2006-07-19  Derek R. Price  <derek@ximbiot.com>
46514
46515         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
46516         Reindent and repaginate.
46517
46518 2006-07-19  Derek Price  <derek@ximbiot.com>
46519
46520         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
46521         Correct grammar.
46522
46523 2006-07-17  Bruno Haible  <bruno@clisp.org>
46524
46525         * modules/list: New file.
46526         * modules/array-list: New file.
46527         * modules/carray-list, modules/carray-list-tests: New files.
46528         * modules/linked-list, modules/linked-list-tests: New files.
46529         * modules/avltree-list, modules/avltree-list-tests: New files.
46530         * modules/rbtree-list, modules/rbtree-list-tests: New files.
46531         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
46532         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
46533         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
46534         * modules/oset: New file.
46535         * modules/array-oset: New file.
46536         * modules/avltree-oset, modules/avltree-oset-tests: New files.
46537         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
46538         * tests/test-carray_list.c: New file.
46539         * tests/test-linked_list.c: New file.
46540         * tests/test-avltree_list.c: New file.
46541         * tests/test-rbtree_list.c: New file.
46542         * tests/test-linkedhash_list.c: New file.
46543         * tests/test-avltreehash_list.c: New file.
46544         * tests/test-rbtreehash_list.c: New file.
46545         * tests/test-avltree_oset.c: New file.
46546         * tests/test-rbtree_oset.c: New file.
46547         * MODULES.html.sh (Container data structures): New section.
46548
46549 2006-07-17  Bruno Haible  <bruno@clisp.org>
46550
46551         * m4/gl_list.m4: New file.
46552
46553 2006-07-17  Bruno Haible  <bruno@clisp.org>
46554
46555         * lib/gl_list.h: New file.
46556         * lib/gl_list.c: New file.
46557         * lib/gl_array_list.h: New file.
46558         * lib/gl_array_list.c: New file.
46559         * lib/gl_carray_list.h: New file.
46560         * lib/gl_carray_list.c: New file.
46561         * lib/gl_linked_list.h: New file.
46562         * lib/gl_linked_list.c: New file.
46563         * lib/gl_anylinked_list1.h: New file.
46564         * lib/gl_anylinked_list2.h: New file.
46565         * lib/gl_avltree_list.h: New file.
46566         * lib/gl_avltree_list.c: New file.
46567         * lib/gl_anyavltree_list1.h: New file.
46568         * lib/gl_anyavltree_list2.h: New file.
46569         * lib/gl_rbtree_list.h: New file.
46570         * lib/gl_rbtree_list.c: New file.
46571         * lib/gl_anyrbtree_list1.h: New file.
46572         * lib/gl_anyrbtree_list2.h: New file.
46573         * lib/gl_anytree_list1.h: New file.
46574         * lib/gl_anytree_list2.h: New file.
46575         * lib/gl_linkedhash_list.h: New file.
46576         * lib/gl_linkedhash_list.c: New file.
46577         * lib/gl_anyhash_list1.h: New file.
46578         * lib/gl_anyhash_list2.h: New file.
46579         * lib/gl_avltreehash_list.h: New file.
46580         * lib/gl_avltreehash_list.c: New file.
46581         * lib/gl_rbtreehash_list.h: New file.
46582         * lib/gl_rbtreehash_list.c: New file.
46583         * lib/gl_anytreehash_list1.h: New file.
46584         * lib/gl_anytreehash_list2.h: New file.
46585
46586         * lib/gl_oset.h: New file.
46587         * lib/gl_oset.c: New file.
46588         * lib/gl_array_oset.h: New file.
46589         * lib/gl_array_oset.c: New file.
46590         * lib/gl_avltree_oset.h: New file.
46591         * lib/gl_avltree_oset.c: New file.
46592         * lib/gl_rbtree_oset.h: New file.
46593         * lib/gl_rbtree_oset.c: New file.
46594         * lib/gl_anytree_oset.h: New file.
46595
46596 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
46597
46598         * m4/mkancesdirs.m4: New file.
46599         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
46600         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
46601         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
46602         it.
46603
46604 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
46605
46606         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
46607         * lib/mkancesdirs.h: New files.
46608         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
46609         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
46610         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
46611         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
46612         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
46613         callers changed.  Revamp internals significantly, by not
46614         attempting to create directories that are temporarily more
46615         permissive than the final results.  Do not attempt to use
46616         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
46617         This removes some race conditions, fixes some bugs, and simplifies
46618         things.  Use new dirchownmod function to do owner and mode changes.
46619         * lib/mkdir-p.h: Likewise.
46620         * lib/modechange.c (octal_to_mode): New function.
46621         (struct mode_change): New member mentioned.
46622         (make_node_op_equals): New arg mentioned.  All callers changed.
46623         (mode_compile): Keep track of which mode bits the user has explicitly
46624         mentioned.
46625         (mode_adjust): New arg DIR, so that we implement the X op correctly.
46626         New arg PMODE_BITS, to keep track of which mode bits the user
46627         mentioned; it treats S_ISUID and S_ISGID speciall.
46628         All callers changed.
46629         * lib/modechange.h: Likewise.
46630
46631 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
46632
46633         * MODULES.html.sh: Add mkancestors.
46634         * modules/mkancesdirs: New module.
46635         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
46636         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
46637         The chdir-safer and afs files are now orphans; I'll remove them
46638         unless someone speaks up.
46639         Add lib/dirchownmod.c, lib/dirchownmod.h.
46640         (Depends-on): Remove alloca, chown, save-cwd, dirname.
46641         Add lchown, mkancesdirs.
46642         (Maintainer): Add self.
46643
46644 2006-07-15  Karl Berry  <karl@gnu.org>
46645
46646         * gnulib-tool: help message wording/arrangement.
46647
46648 2006-07-14  Simon Josefsson  <jas@extundo.com>
46649
46650         * doc/gnulib.texi (Libtool and Windows): New section.
46651
46652 2006-07-12  Simon Josefsson  <jas@extundo.com>
46653
46654         * modules/gendocs (License): Fix license, approved by Karl.
46655
46656 2006-07-12  Eric Blake  <ebb9@byu.net>
46657
46658         * MODULES.html.sh: Add gendocs.
46659
46660 2006-07-11  Eric Blake  <ebb9@byu.net>
46661
46662         * modules/fdl: New module, to install doc/fdl.texi.
46663         * MODULES.html.sh: Add new section for documentation modules.
46664         * gnulib-tool: Avoid space-tab.
46665         (--doc-base): New option, to manage files from doc.
46666
46667 2006-07-11  Eric Blake  <ebb9@byu.net>
46668
46669         * m4/absolute-header.m4: Fix comments to match recent change.
46670
46671 2006-07-11  Eric Blake  <ebb9@byu.net>
46672
46673         * gnulib-tool: List --doc-base before --tests-base.
46674
46675 2006-07-11  Derek R. Price  <derek@ximbiot.com>
46676
46677         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
46678
46679 2006-07-11  Bruno Haible  <bruno@clisp.org>
46680
46681         * README: Mention where to put documentation.
46682
46683 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46684
46685         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
46686
46687 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
46688
46689         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
46690         to stdint.m4.
46691
46692 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
46693
46694         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
46695         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
46696         "no/such/file/stdint.h" when there is no such file, so that
46697         the resulting C code can be parsed by dodgy compilers.
46698         Problems reported by Bob Proulx.
46699
46700 2006-07-10  Derek R. Price  <derek@ximbiot.com>
46701
46702         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
46703         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
46704         macros into the GNU _D_EXACT_NAMLEN.
46705         * lib/savedir.c:  Likewise.
46706         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
46707
46708 2006-07-10  Derek R. Price  <derek@ximbiot.com>
46709         and Paul Eggert  <eggert@cs.ucla.edu>
46710
46711         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
46712         * m4/savedir.m4:
46713         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
46714         macros into the GNU _D_EXACT_NAMLEN.
46715
46716 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
46717
46718         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
46719         around the absolute name, to work around a problem with the HP-UX
46720         11.23 native C compiler, reported by Bob Proulx.
46721
46722 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
46723
46724         * doc/maintain.texi, make-stds.texi: Sync from
46725         <http://savannah.gnu.org/projects/gnustandards>.
46726
46727 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
46728
46729         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
46730
46731 2006-07-09  Jim Meyering  <jim@meyering.net>
46732
46733         * m4/glob.m4: Remove a doubled word in a comment.
46734
46735 2006-07-09  Jim Meyering  <jim@meyering.net>
46736
46737         * lib/argp-pv.c: Remove a doubled word in a comment.
46738         * lib/check-version.c (check_version): Likewise.
46739         * lib/javacomp.c (compile_java_class): Likewise.
46740
46741 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
46742
46743         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
46744         for the benefit of people using Autoconf 2.60.  If you want to
46745         support older Autoconf versions you can copy m4/onceonly_2_57.m4
46746         (or m4/onceonly.m4, if pre-2.57) manually.
46747
46748 2006-07-08  Jim Meyering  <jim@meyering.net>
46749
46750         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
46751         comment.
46752         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
46753         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
46754         comment.
46755
46756 2006-07-08  Jim Meyering  <jim@meyering.net>
46757
46758         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
46759
46760 2006-07-07  Simon Josefsson  <jas@extundo.com>
46761
46762         * tests/test-crc.c: Change expected crc value, the test vector
46763         were probably computed using the old broken crc.c?
46764
46765 2006-07-06  Simon Josefsson  <jas@extundo.com>
46766
46767         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
46768         now the canonical place for the M4 file).
46769
46770         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
46771         from the sys_socket dependency now.
46772
46773         * modules/inet_pton (Files): Ditto.
46774
46775         * modules/inet_ntop (Files): Ditto.
46776
46777 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
46778
46779         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
46780         not gl_PREREQ_GETUSERSHELL.
46781
46782 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46783
46784         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
46785         with only one argument, for Autoconf 2.60.
46786         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
46787         expand to nothing, so add a shell command to avoid syntax error.
46788         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
46789
46790 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46791
46792         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
46793
46794 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
46795
46796         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
46797         no longer needed.  Check for isblank decl.
46798         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
46799         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
46800         of existence.
46801
46802 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
46803
46804         * lib/getloadavg.c: Use __VMS, not VMS.
46805         * lib/getopt.c: Likewise.
46806         * lib/getpagesize.h: Likewise.
46807         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
46808         and probably does not work.
46809
46810 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
46811
46812         * lib/.cppi-disable: Add wcwidth.
46813         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
46814         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
46815         (ISGRAPH): Remove.  All uses changed to isgraph.
46816         (FOLD) [!defined _LIBC]: Remove special case.
46817         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
46818         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
46819         HAVE_ISBLANK.
46820         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
46821         case.
46822
46823 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
46824
46825         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
46826         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
46827         brackets.  Other minor changes to suppress some compiler
46828         warnings.
46829
46830 2006-07-06  Derek R. Price  <derek@ximbiot.com>
46831         and Paul Eggert  <eggert@cs.ucla.edu>
46832
46833         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
46834         of invoking obsolescent AC_HEADER_DIRENT macro.
46835         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
46836         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
46837         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
46838         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
46839         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
46840         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
46841         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
46842         * m4/readdir.m4: Remove; no longer needed.
46843
46844 2006-07-06  Derek R. Price  <derek@ximbiot.com>
46845         and Paul Eggert  <eggert@cs.ucla.edu>
46846
46847         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
46848         Don't worry about this obsolete case any more.
46849         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
46850         directories.
46851         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
46852         worry about this obsolete case any more.
46853         * lib/fts.c: Likewise.
46854         * lib/getcwd.c: Likewise.
46855         * lib/glob.h: Likewise.
46856         * lib/savedir.c: Likewise.
46857
46858 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
46859
46860         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
46861         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
46862         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
46863         needed.
46864         All uses removed.
46865         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
46866         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
46867         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
46868         needed.
46869         * m4/getdate.m4 (gl_GETDATE): Likewise.
46870         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
46871         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
46872         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
46873         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
46874         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
46875         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
46876         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
46877         needed.
46878
46879 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
46880
46881         * lib/memcasecmp.c: Include <limits.h>.
46882         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
46883         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
46884         Don't assume isdigit succeeds only on '0' through '9'.
46885
46886 2006-07-05  Eric Blake  <ebb9@byu.net>
46887
46888         * modules/getaddrinfo (Depends-on): Add snprintf.
46889
46890 2006-07-05  Eric Blake  <ebb9@byu.net>
46891
46892         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
46893         to avoid 'header present but could not be compiled' on cygwin.
46894
46895 2006-07-05  Eric Blake  <ebb9@byu.net>
46896
46897         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
46898         missing from netdb.h.
46899         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
46900
46901 2006-07-05  Derek R. Price  <derek@ximbiot.com>
46902
46903         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
46904         no longer needed.
46905         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
46906         * m4/getdate.m4 (gl_GETDATE): Likewise.
46907         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
46908         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
46909         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
46910         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
46911         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
46912
46913 2006-07-05  Derek R. Price  <derek@ximbiot.com>
46914
46915         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
46916         All uses of is_space replaced by isspace.
46917         * lib/exit.h: Don't talk about STDC_HEADERS.
46918         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
46919         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
46920         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
46921         replaced by isprint etc.
46922         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
46923         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
46924         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
46925         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
46926         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
46927         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
46928
46929 2006-07-05  Bruno Haible  <bruno@clisp.org>
46930
46931         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
46932         the function exists, before testing against AIX.
46933         Reported by Martin Lambers <marlam@marlam.de>.
46934
46935 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
46936
46937         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
46938         From Mark D. Baushke.
46939
46940 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
46941
46942         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
46943         to the absolute name, not just one, to bypass Sun C 5.8's
46944         "warning: #include of /usr/include/... may be non-portable".
46945
46946 2006-07-04  Eric Blake  <ebb9@byu.net>
46947
46948         * modules/dirname-tests: New test module.
46949         * tests/test-dirname.c: New file, replacing dirname.c
46950         TEST_DIRNAME section that was recently deleted.
46951
46952 2006-07-04  Bruno Haible  <bruno@clisp.org>
46953
46954         Assume ANSI C header files and <ctype.h> functions.
46955         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
46956         (mbsnwidth): Use isprint, iscntrl instead.
46957
46958 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
46959
46960         Merge from coreutils.
46961         * MODULES.html.sh: Add xstrtold.
46962         * modules/xstrtold: New file.
46963         * modules/cycle-check (Files): Add lib/same-inode.h.
46964         * modules/dirname (Files): Add m4/double-slash-root.m4.
46965         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
46966         * modules/mkdir-p (Files): Add lib/same-inode.h.
46967         * modules/same (Files): Add lib/same-inode.h.
46968
46969 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
46970
46971         * m4/absolute-header.m4: Renamed from full-header-path.m4.
46972         This is to keep the terminology clean; POSIX talks about
46973         "absolute pathnames", not "full pathnames", but the GNU
46974         Coding Standards say to use "path" for something else;
46975         so use "absolute" to keep both sides happy.
46976         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
46977         Set gl_absolute_header, not gl_full_header_path.
46978         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
46979         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
46980         All uses changed.
46981
46982         Merge from coreutils.
46983
46984         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
46985
46986         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
46987         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
46988         want to require the building of c-strtod.o.
46989         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
46990         needs -lm directly.
46991         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
46992
46993         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
46994
46995         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
46996         --as-needed option if available.  Problem reported by Albert Chin in
46997         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
46998         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
46999         cc merely issues a bunch of annoying warnings for --as-needed
47000         (this problem was reported by Bob Proulx).  Also, try linking with
47001         -lm to detect a bug in binutils 2.16 (this problem was reported
47002         by Ralf Wildenhues).
47003
47004         2006-06-18  Jim Meyering  <jim@meyering.net>
47005
47006         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
47007         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
47008         macro.
47009         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
47010         also check for glibc-2.4's abort-inducing bug.
47011
47012         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
47013         Low-probability clean-up should be to use rmdir to get rid of
47014         the just-created directory, not unlink.
47015
47016         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
47017         configure fail, and request a bug report to inform us about it.
47018         Add a comment that, barring reports to the contrary, in 2007 we'll
47019         assume ftruncate is universally available.
47020
47021         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
47022
47023         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
47024
47025         2006-03-12  Jim Meyering  <jim@meyering.net>
47026
47027         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
47028         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
47029         * m4/same.m4 (gl_SAME): Likewise.
47030         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
47031
47032         2006-03-11  Eric Blake  <ebb9@byu.net>
47033
47034         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
47035         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
47036         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
47037         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
47038
47039 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
47040
47041         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
47042         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
47043         reported by Mark D. Baushke, one in
47044         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
47045
47046         Merge from coreutils.
47047
47048         * lib/.cppi-disable: Add stdint_.h.
47049         * lib/.cvsignore: Add stdint.h.
47050
47051         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
47052
47053         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
47054         both double and long double versions.
47055         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
47056         * lib/xstrtold.c: New file.
47057         * lib/xstrtod.h (xstrtold): New decl.
47058
47059         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
47060
47061         * lib/filemode.c (setst): Remove.
47062         (strmode): Rewrite to avoid setst.  This makes the code shorter,
47063         (arguably) clearer, and the generated code is a bit smaller on my
47064         Debian GNU/Linux stable x86 host.
47065
47066         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
47067
47068         * lib/filemode.c: Include "filemode.h" first, to test the interface.
47069         Assume that filemode.h includes sys/types.h and sys/stat.h.
47070         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
47071         (ftypelet): Reorder to put common cases first, for efficiency.
47072         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
47073         to do 'M'.
47074         (strmode): Renamed from mode_string, and now stores 12 bytes instead
47075         of 10, for compatibility with FreeBSD.  All callers changed.
47076         (filemodestring): Now stores 12 bytes instead of 10, and sets file
47077         types that can't be deduced solely from st_mode.  First arg is now a
47078         const pointer.
47079         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
47080         (strmode): Renamed from mode_string.
47081         (filemodestring): New decl.
47082         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
47083         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
47084         needed.
47085         (S_ISPORT, S_ISWHT): New macros, if not already defined.
47086
47087         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
47088
47089         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
47090         fsusage.h now does that.  Include fsusage.h first, to test interface.
47091         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
47092         at most one method (the old code could have generated decls that
47093         didn't conform to C89, not that this was ever exercised).
47094         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
47095
47096         2006-03-19  Jim Meyering  <jim@meyering.net>
47097
47098         Work even in a chroot where d_ino values for entries in "/"
47099         don't match the stat.st_ino values for the same names.
47100         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
47101         number, iterate through all entries again, using lstat instead.
47102         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
47103         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
47104
47105         * lib/getcwd.c (__getcwd): Clarify a comment.
47106         Use memcpy in place of a call to strcpy.
47107
47108         2006-03-12  Jim Meyering  <jim@meyering.net>
47109
47110         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
47111         matches that of the current directory (which we're about to chdir ".."
47112         out of), then save the dev-ino of the parent, instead.
47113
47114         * lib/same-inode.h (SAME_INODE): New file/macro.
47115         * lib/chdir-safer.c (SAME_INODE): Remove definition.
47116         Include "same-inode.h", instead.
47117         * lib/same.c: Likewise.
47118         * lib/cycle-check.h: Include "same-inode.h".
47119         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
47120         * lib/cycle-check.c (SAME_INODE): Remove definition.
47121         * lib/root-dev-ino.h: Include "same-inode.h".
47122
47123         2006-03-11  Eric Blake  <ebb9@byu.net>
47124
47125         * lib/same.c (same_name): s/base_name/last_component/
47126         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
47127         * lib/filenamecat.c (file_name_concat): Likewise.
47128
47129         2006-03-11  Eric Blake  <ebb9@byu.net>,
47130                     Paul Eggert  <eggert@cs.ucla.edu>
47131
47132         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
47133         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
47134         drive prefix.
47135         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
47136         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
47137         (last_component): New method.
47138         * lib/dirname.c (dir_len): Determine when drive letters need a
47139         subsequent slash.  Preserve // when it is special.
47140         (dir_name): Don't append dot when drive letter is absolute.
47141         [TEST_DIRNAME]: Move into a full-blown gnulib test.
47142         * lib/basename.c (base_name): New semantics - malloc the result.
47143         Preserve // when it is special.  Preserve relative files that look
47144         like drive letters.
47145         (base_len): Preserve // when it is special.
47146         (last_component): New method, similar to old base_name semantics.
47147         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
47148         base_name.  Strip redundant slashes from ///.
47149
47150 2006-07-03  Jim Meyering  <jim@meyering.net>
47151
47152         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
47153         macro is used before the first cycle_check call.
47154
47155 2006-07-03  Eric Blake  <ebb9@byu.net>
47156
47157         * modules/dirname (Depends-on): Add xstrndup.
47158
47159 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
47160
47161         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
47162         test cases, so that config.log is a bit easier to follow.
47163
47164 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
47165
47166         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
47167         both are 64 bits, since this seems to be the tradition, and this
47168         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
47169         we ever run into a host that prefers long long to long in this
47170         case, we'll need another configure-time test.  Problem reported by
47171         Jim Meyering.
47172
47173 2006-07-02  Eric Blake  <ebb9@byu.net>
47174
47175         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
47176
47177 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
47178
47179         * modules/inttypes (Depends-on): No longer depends on stdint.
47180         * modules/stdint (Description): Say more about assumptions.
47181         Say that the fast types might differ.  Say macros are used.
47182         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
47183         (Makefile.am): Revise list of substituted symbols to match
47184         new stdint.m4.
47185         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
47186         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
47187         * tests/test-stdint.c (verify_same_types)
47188         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
47189         the code conforms to C99/C89.
47190         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
47191         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
47192
47193 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
47194
47195         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
47196         but fix a bug, by requiring at least 64 bits.
47197         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
47198         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
47199         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
47200         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG) Likewise.
47201
47202         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
47203         changes.  Make 2.59 a prerequisite.  Check and substitute for
47204         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
47205         inttypes.h.  Do not use special include files; just use the
47206         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
47207         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
47208         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
47209         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
47210         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
47211         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
47212         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
47213         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
47214         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
47215         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
47216         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
47217         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
47218         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
47219         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
47220         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
47221         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
47222         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
47223         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
47224         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
47225         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
47226         WINT_MAX.  Check for C99 conformance more strictly, by detecting
47227         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
47228         not check for things that C99 does not require, e.g., int8_t.  If
47229         a test isn't needed unless <stdint.h> isn't working, and is
47230         unlikely to be needed for any other reason, then don't do it
47231         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
47232         size_t, since we assume C89 freestanding at least.  Do not check
47233         for sig_atomic_t, wchar_t, or wint_t, since the code now does
47234         the right thing even if the types are not defined.  Instead use:
47235         (gl_STDINT_TYPE_PROPERTIES): New macro.
47236         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
47237         testing whether <sys/types.h> clashes, as Autoconf does this for
47238         us now.  All uses removed.
47239         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
47240         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
47241         (gl_CHECK_TYPE_SAME):
47242         Remove; no longer needed.
47243         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
47244         exists, since we'll return 0 anyway in that case.
47245         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
47246
47247 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
47248
47249         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
47250         possible collision with system files.
47251         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
47252         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
47253         WCHAR_MIN and WCHAR_MAX in this case.
47254         (<stddef.h>): Do not include; no longer needed.
47255         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
47256         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
47257         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
47258         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
47259         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
47260         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
47261         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
47262         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
47263         !defined(__c99))]: Include in this case too, since it's harmless
47264         now.
47265         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
47266         dangerous to do so.
47267         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
47268         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
47269         (_STDINT_MIN, _STDINT_MAX): New macros.
47270         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
47271         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
47272         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
47273         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
47274         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
47275         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
47276         macros, not typedefs; this simplifies things quite a bit.
47277         Use long int for all types narrower than int64_t.
47278         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
47279         Define in terms of long long int or int64_t or long int,
47280         not int64_t or int32_t.  This saves some compile-time testing.
47281         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
47282         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
47283         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
47284         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
47285         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
47286         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
47287         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
47288         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
47289         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
47290         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
47291         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
47292         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
47293         undef any previous version and define our own version, for
47294         simplicity and consistency with the new macros for types.
47295         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
47296         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
47297         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
47298         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
47299         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
47300         @WINT_T_SUFFIX@ to keep things simple here.
47301         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
47302         Simplify by assuming typical 8/16/32/64 host, since we're
47303         already doing that elsewhere anyway.
47304         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
47305         and assume long long int is 64 bits if available.  This
47306         speeds up 'configure'.
47307
47308 2006-07-01  Eric Blake  <ebb9@byu.net>
47309
47310         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
47311         Reported by Andreas Buening.
47312
47313 2006-07-01  Eric Blake  <ebb9@byu.net>
47314
47315         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
47316
47317 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
47318
47319         * lib/getaddrinfo.c: fixed typo
47320
47321 2006-06-29  Jim Meyering  <jim@meyering.net>
47322
47323         * modules/strftime (Maintainer): Add my name, since with the
47324         FPRINTFTIME changes strftime.c has forked from glibc.
47325
47326 2006-06-29  Eric Blake  <ebb9@byu.net>
47327
47328         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
47329
47330 2006-06-29  Eric Blake  <ebb9@byu.net>
47331
47332         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
47333
47334 2006-06-29  Eric Blake  <ebb9@byu.net>
47335
47336         * lib/stat_.h: New file.
47337
47338 2006-06-29  Eric Blake  <ebb9@byu.net>
47339
47340         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
47341         unused static function.
47342
47343 2006-06-29  Eric Blake  <ebb9@byu.net>
47344
47345         * doc/functions.texi (Function Portability): Document missing lstat
47346         on mingw.
47347
47348 2006-06-29  Eric Blake  <ebb9@byu.net>
47349
47350         * MODULES.html.sh: Add sys_stat.
47351         * modules/sys_stat: New module.
47352         * modules/mkstemp (Depends-on): Add sys_stat.
47353
47354 2006-06-29  Derek R. Price  <derek@ximbiot.com>
47355
47356         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
47357
47358 2006-06-29  Derek R. Price  <derek@ximbiot.com>
47359
47360         * m4/c-bs-a.m4: Removed.
47361
47362 2006-06-29  Derek R. Price  <derek@ximbiot.com>
47363
47364         * lib/strftime.c: Assume strftime() exists.
47365
47366 2006-06-29  Derek Price  <derek@ximbiot.com>
47367
47368         * modules/c-bs-a: Removed - \a is C89.
47369         * MODULES.html.sh: Remove c-bs-a.
47370
47371 2006-06-29  Bruno Haible  <bruno@clisp.org>
47372
47373         * modules/wcwidth (License): Change to LGPL.
47374
47375 2006-06-28  Simon Josefsson  <jas@extundo.com>
47376
47377         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
47378         on _WIN32.
47379
47380         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
47381         getnameinfo.
47382
47383 2006-06-28  Simon Josefsson  <jas@extundo.com>
47384
47385         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
47386
47387 2006-06-28  Simon Josefsson  <jas@extundo.com>
47388
47389         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
47390         functions there.  It will succeed on Windows XP, but on Windows
47391         2000 and (presumably) earlier, it will fail, and use the internal
47392         re-implementation.
47393         (use_win32_p): New function.
47394         (getaddrinfo): Use strtoul on servname, to support numeric ports.
47395         Support AI_NUMERICSERV to disable getservbyname.
47396         (getnameinfo): New function, only supports
47397         NI_NUMERICHOST|NI_NUMERICSERV for now.
47398
47399         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
47400         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
47401         getnameinfo.
47402
47403 2006-06-28  Eric Blake  <ebb9@byu.net>
47404
47405         * modules/wcwidth: New file.
47406         * modules/mbchar (Depends-on): Add wcwidth.
47407         * modules/mbswidth (Depends-on): Add wcwidth.
47408         * MODULES.html.sh: Add wcwidth.
47409
47410 2006-06-28  Eric Blake  <ebb9@byu.net>
47411
47412         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
47413         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
47414
47415 2006-06-28  Eric Blake  <ebb9@byu.net>
47416
47417         * lib/xvasprintf.h: Fix comments.
47418
47419 2006-06-28  Eric Blake  <ebb9@byu.net>
47420
47421         * lib/mbchar.h (wcwidth): Include wcwidth.h.
47422         * lib/mbswidth.c (wcwidth): Move from here...
47423         * lib/wcwidth.h: ...to this new file.
47424
47425 2006-06-28  Derek R. Price  <derek@ximbiot.com>
47426
47427         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
47428
47429         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
47430         it's obsolete.
47431         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
47432
47433 2006-06-28  Derek R. Price  <derek@ximbiot.com>
47434
47435         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
47436         Autoconf 2.60 says this stuff was obsolete.
47437
47438 2006-06-28  Bruno Haible  <bruno@clisp.org>
47439
47440         * modules/wcwidth (Files): Add m4/wchar_t.m4.
47441
47442 2006-06-28  Bruno Haible  <bruno@clisp.org>
47443
47444         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
47445         gt_TYPE_WCHAR_T.
47446
47447 2006-06-28  Bruno Haible  <bruno@clisp.org>
47448
47449         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
47450         declaration for wcwidth.
47451         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctypes.h>.
47452
47453 2006-06-28  Bruno Haible  <bruno@clisp.org>
47454
47455         * lib/mkdtemp.c [MINGW]: Include <io.h>.
47456         (mkdir): Define using _mkdir.
47457
47458 2006-06-28  Bruno Haible  <bruno@clisp.org>
47459
47460         * lib/getaddrinfo.h: Fix POSIX URL.
47461         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
47462         _WIN32.
47463         (use_win32_p): Make static.
47464         (getaddrinfo): Reject service name if it is empty or does not consist
47465         solely of decimal digits, or if its value is > 65535.
47466         (getnameinfo): Remove useless casts.
47467
47468 2006-06-27  Simon Josefsson  <jas@extundo.com>
47469
47470         * modules/sys_select: New file, suggested by Bruno Haible, Paul
47471         Eggert and Martin Lambers.
47472
47473 2006-06-27  Simon Josefsson  <jas@extundo.com>
47474
47475         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
47476         Eggert and Martin Lambers.
47477
47478 2006-06-27  Bruno Haible  <bruno@clisp.org>
47479
47480         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
47481         result to 0, not to empty.
47482         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
47483
47484 2006-06-27  Bruno Haible  <bruno@clisp.org>
47485
47486         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
47487
47488 2006-06-26  Simon Josefsson  <jas@extundo.com>
47489
47490         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
47491         present.
47492
47493 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
47494
47495         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
47496         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
47497         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
47498
47499 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
47500
47501         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
47502
47503 2006-06-26  Bruno Haible  <bruno@clisp.org>
47504
47505         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
47506
47507 2006-06-26  Bruno Haible  <bruno@clisp.org>
47508
47509         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
47510
47511 2006-06-26  Bruno Haible  <bruno@clisp.org>
47512
47513         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
47514         SGI C compiler in pre-C99 mode.
47515         Suggested by Mark D. Baushke and Larry Jones.
47516
47517 2006-06-26  Bruno Haible  <bruno@clisp.org>
47518
47519         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
47520         WCHAR_MAX.
47521         Reported by Mark D. Baushke and Larry Jones.
47522
47523 2006-06-26  Bruno Haible  <bruno@clisp.org>
47524
47525         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
47526         in pre-C99 mode.
47527         Suggested by Mark D. Baushke and Larry Jones.
47528
47529 2006-06-23  Simon Josefsson  <jas@extundo.com>
47530             Bruno Haible  <bruno@clisp.org>
47531
47532         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
47533         Emit mostlyclean-local rule.
47534         (func_emit_tests_Makefile_am): Likewise.
47535         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
47536
47537 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
47538
47539         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
47540
47541 2006-06-23  Bruno Haible  <bruno@clisp.org>
47542
47543         * tests/test-stdint.c: Update to match ISO C 99 Technical
47544         Corrigendum 1.
47545
47546 2006-06-23  Bruno Haible  <bruno@clisp.org>
47547
47548         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
47549
47550 2006-06-23  Bruno Haible  <bruno@clisp.org>
47551
47552         * lib/stdint_.h: Treat IRIX like OpenBSD.
47553
47554 2006-06-23  Bruno Haible  <bruno@clisp.org>
47555
47556         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
47557         ISO C 99 Technical Corrigendum 1.
47558
47559 2006-06-22  Simon Josefsson  <jas@extundo.com>
47560
47561         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
47562         MinGW.
47563
47564 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
47565
47566         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
47567         needed.  Some compiler complained about some of them.  Problem reported
47568         by Larry Jones in
47569         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
47570
47571 2006-06-21  Simon Josefsson  <jas@extundo.com>
47572
47573         * tests/test-getaddrinfo.c: New file.
47574
47575         * modules/getaddrinfo-tests: New file.
47576
47577         * MODULES.html.sh: Add inet_pton.
47578
47579         * modules/inet_pton: New file.
47580
47581 2006-06-21  Simon Josefsson  <jas@extundo.com>
47582
47583         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
47584         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
47585         of using the (limited) gnulib implementation on Windows XP.
47586
47587         * m4/inet_pton.m4: New file.
47588
47589 2006-06-21  Simon Josefsson  <jas@extundo.com>
47590
47591         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
47592         variable.
47593
47594         * lib/socket_.h: Don't define WINVER.
47595
47596         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
47597         slightly modified to work in gnulib.
47598
47599 2006-06-21  Simon Josefsson  <jas@extundo.com>
47600
47601         * doc/gnulib.texi (Windows sockets): Add.
47602
47603 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
47604
47605         * lib/read-file.c (fread_file): Start with buffer allocation of
47606         0 bytes rather than 1 byte; this simplifies the code.
47607         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
47608         code to free buffer and save/restore errno.
47609         (internal_read_file): Remove unused local.
47610
47611 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
47612
47613         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
47614         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
47615         Problem reported by Denis Excoffier in
47616         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
47617
47618 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
47619
47620         * modules/sys_socket, modules/socklen: Include sys/types since
47621         FreeBSD 4.x's sys/socket.h needs it.
47622
47623 2006-06-19  Simon Josefsson  <jas@extundo.com>
47624
47625         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
47626
47627 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
47628
47629         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
47630
47631 2006-06-19  Bruno Haible  <bruno@clisp.org>
47632
47633         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
47634         and FULL_PATH_INTTYPES_H in angle brackets.
47635         Reported by Mark D. Baushke <mdb@gnu.org>.
47636
47637 2006-06-17  Eric Blake  <ebb9@byu.net>
47638
47639         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
47640         errno.
47641
47642 2006-06-17  Bruno Haible  <bruno@clisp.org>
47643
47644         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
47645         <sys/inttypes.h>.
47646
47647 2006-06-17  Bruno Haible  <bruno@clisp.org>
47648
47649         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
47650         whether errno is declared. Assume <errno.h> declares errno.
47651
47652 2006-06-17  Bruno Haible  <bruno@clisp.org>
47653
47654         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
47655
47656 2006-06-17  Bruno Haible  <bruno@clisp.org>
47657
47658         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
47659         problem on Solaris 2.5.1.
47660
47661 2006-06-16  Eric Blake  <ebb9@byu.net>
47662
47663         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
47664         * lib/unicodeio.c [!defined errno]: Likewise.
47665         * lib/strtol.c [!defined errno]: Likewise.
47666         * lib/strtod.c [!defined errno]: Likewise.
47667
47668 2006-06-15  Eric Blake  <ebb9@byu.net>
47669
47670         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
47671
47672 2006-06-15  Eric Blake  <ebb9@byu.net>
47673
47674         * config/srclist.txt (ssize_t.m4): Lose sync.
47675
47676 2006-06-15  Bruno Haible  <bruno@clisp.org>
47677
47678         * modules/stdint (Files): Include m4/full-header-path.m4,
47679         m4/size_max.m4, m4/wchar_t.m4.
47680         (Makefile.am): Many more substitutions.
47681         * modules/stdint-tests: New file.
47682         * tests/test-stdint.c: New file.
47683
47684 2006-06-15  Bruno Haible  <bruno@clisp.org>
47685
47686         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
47687         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
47688         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
47689         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
47690         gl_CHECK_TYPE_SAME): New macros.
47691
47692 2006-06-15  Bruno Haible  <bruno@clisp.org>
47693
47694         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
47695
47696 2006-06-15  Bruno Haible  <bruno@clisp.org>
47697
47698         * lib/stdint_.h: Rewritten to be fully auto-configured.
47699         Fixes bug on HP-UX/IA64.
47700
47701 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
47702
47703         * lib/getdate.y (__attribute__): Don't define if already defined.
47704         Problem reported by Larry Jones.
47705         * lib/utimens.c (__attribute__): Likewise.
47706
47707 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
47708
47709         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
47710         reported by Andreas Schwab.
47711
47712 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47713             Bruno Haible  <bruno@clisp.org>
47714
47715         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
47716         check for the declaration of strnlen and a run test that exposes the
47717         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
47718         rpl_strndup.
47719
47720 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47721             Bruno Haible  <bruno@clisp.org>
47722
47723         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
47724
47725 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47726
47727         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
47728         compile test, for Tru64 4.0D.
47729
47730 2006-05-28  Karl Berry  <karl@gnu.org>
47731
47732         * config/srclist.txt (printf-args.c): lose sync.
47733
47734 2006-05-26  Martin Lambers  <marlam@marlam.de>
47735
47736         * lib/getpass.c: Updates the test for the native W32 API, and adds
47737         missing includes, thus fixing compilation warnings.
47738
47739 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
47740
47741         * lib/exclude.c (exclude_fnmatch): New function.
47742         (excluded_file_name): Call exclude_fnmatch.
47743         * lib/exclude.h (excluded_file_name): New prototype
47744
47745 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
47746
47747         * lib/tempname.c (small_open, large_open): New macros.
47748         (__open, __open64) [!_LIBC]: Remove.
47749         (__gen_tempname): Use small_open and large_open instead of __open
47750         and __open64.  This fixes a portability bug on HP-UX 11.11i
47751         reported by Simon Wing-Tang in
47752         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
47753
47754 2006-05-24  Bruno Haible  <bruno@clisp.org>
47755
47756         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
47757         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
47758         Reported by Thorsten Maerz <torte@netztorte.de> via
47759         Aaron Stone <aaron@serendipity.cx>.
47760
47761 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
47762
47763         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
47764         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
47765         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
47766         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
47767         not really conditional on the cache.
47768         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
47769
47770 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
47771
47772         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
47773         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
47774         (my_usleep): Don't mishandle maximum value.
47775
47776 2006-05-19  Jim Meyering  <jim@meyering.net>
47777
47778         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
47779
47780 2006-05-17  Bruno Haible  <bruno@clisp.org>
47781
47782         Cygwin portability.
47783         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
47784
47785 2006-05-17  Bruno Haible  <bruno@clisp.org>
47786
47787         * lib/stdint_.h: Fix recognition of Cygwin.
47788
47789 2006-05-15  Bruno Haible  <bruno@clisp.org>
47790
47791         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
47792         on libtool patch by Ralf Wildenhues.
47793
47794 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
47795
47796         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
47797         test for C99 conformance; (bool) 0.5 is an integer constant
47798         expression, but (bool) -0.5 is not.  Problem reported by Fedor
47799         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
47800
47801 2006-05-11  Simon Josefsson  <jas@extundo.com>
47802
47803         * m4/xvasprintf.m4: Fix obvious typo.
47804
47805 2006-05-11  Jim Meyering  <jim@meyering.net>
47806
47807         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
47808         James Lemley.
47809
47810 2006-05-10  Simon Josefsson  <jas@extundo.com>
47811
47812         * lib/md4.c: Typo fix, update copyright years.
47813         (K1, K2): Don't use L because it turn computations into 64-bit on
47814         64-bit platforms.
47815
47816 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
47817
47818         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
47819         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
47820         unwanted sign propagation, e.g., on hosts with 64-bit int.
47821         There still are some problems with reeelly weird theoretical hosts
47822         (e.g., 33-bit int) but it's not worth worrying about now.
47823         * lib/sha1.c (rol): Likewise.
47824         (K1, K2, K3, K4): Remove unnecessary L suffix.
47825
47826 2006-05-10  Bruno Haible  <bruno@clisp.org>
47827
47828         * lib/des.c: Cast to avoid warnings.
47829
47830 2006-05-09  Bruno Haible  <bruno@clisp.org>
47831
47832         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
47833         (Depends-on): Depend also on xsize, stdarg.
47834         (configure.ac): Add gl_XVASPRINTF.
47835
47836 2006-05-09  Bruno Haible  <bruno@clisp.org>
47837
47838         * m4/xvasprintf.m4: New file.
47839
47840 2006-05-09  Bruno Haible  <bruno@clisp.org>
47841
47842         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
47843         (EOVERFLOW): Define fallback value.
47844         (xstrcat): New function.
47845         (xvasprintf): Recognize the special case of a string concatenation.
47846
47847 2006-05-08  Eric Blake  <ebb9@byu.net>
47848
47849         * gnulib-tool (func_version): Base copyright year on CVS date.
47850         (func_emit_copyright_notice): New function.
47851         (func_emit_lib_Makefile_am): Use it.
47852         (func_emit_tests_Makefile_am): Likewise.
47853         (func_import): Likewise.
47854
47855 2006-05-08  Bruno Haible  <bruno@clisp.org>
47856
47857         * modules/stdarg: New file.
47858         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
47859
47860 2006-05-08  Bruno Haible  <bruno@clisp.org>
47861
47862         * m4/stdarg.m4: New file, from GNU gettext.
47863
47864 2006-05-08  Bruno Haible  <bruno@clisp.org>
47865
47866         * config/srclist.txt (build-aux/config.rpath): different from latest
47867         release.
47868
47869 2006-05-08  Bruno Haible  <bruno@clisp.org>
47870
47871         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
47872
47873 2006-05-05  Jim Meyering  <jim@meyering.net>
47874
47875         * m4/warning.m4: New file, derived from bison's file by the same name.
47876
47877 2006-05-03  Bruno Haible  <bruno@clisp.org>
47878
47879         * lib/stdint_.h: Shorter URL.
47880         * lib/inttypes.h: Likewise.
47881
47882 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
47883
47884         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
47885
47886 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
47887
47888         * lib/verify.h: Document the internals better.  Most of this change
47889         was written by Bruno Haible.
47890
47891 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
47892
47893         * doc/verify.texi: New file, partly based on a proposal by
47894         Bruno Haible.
47895
47896 2006-05-02  Bruno Haible  <bruno@clisp.org>
47897
47898         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
47899         test from here...
47900         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
47901
47902 2006-04-29  Bruno Haible  <bruno@clisp.org>
47903
47904         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
47905         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
47906
47907 2006-04-29  Bruno Haible  <bruno@clisp.org>
47908
47909         * gnulib-tool: Make --update option actually work.
47910
47911 2006-04-29  Bruno Haible  <bruno@clisp.org>
47912
47913         * doc/gcd.texi: New file.
47914         * doc/gnulib.texi: Include it.
47915
47916 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
47917
47918         * lib/getdate.y (get_date): When adding relative date, start with the
47919         initial time, not with the result of the first mktime call.
47920
47921 2006-04-25  Bruno Haible  <bruno@clisp.org>
47922
47923         * gnulib-tool (func_import): Output the include directives in three
47924         blocks, sorted separately.
47925         Reported by Ben Pfaff <blp@cs.stanford.edu>.
47926
47927 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
47928
47929         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
47930         to define main with arguments, for C++.  Reported by Eric Blake.
47931         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
47932         Prefer 'int main ()' to 'int main (void)', for C++.
47933         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
47934         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
47935         for 'main', for C99 and C++.
47936
47937 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
47938
47939         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
47940         Don't assume that exit status -1 is valid.
47941         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
47942         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
47943         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
47944         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
47945         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
47946         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
47947         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
47948         functions can be used without declaring them, or that you can
47949         exit with status -1.
47950         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
47951
47952 2006-04-24  Karl Berry  <karl@gnu.org>
47953
47954         * config/srclist.txt (longdouble.m4): sync lost.
47955
47956 2006-04-24  Eric Blake  <ebb9@byu.net>
47957
47958         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
47959
47960 2006-04-24  Bruno Haible  <bruno@clisp.org>
47961
47962         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
47963         poll() implementation in AIX.
47964         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
47965
47966 2006-04-24  Bruno Haible  <bruno@clisp.org>
47967
47968         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
47969         assigned exactly once.
47970
47971 2006-04-23  Claudio Fontana  <claudio@gnu.org>
47972             Bruno Haible  <bruno@clisp.org>
47973
47974         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
47975         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
47976         for AM_CPPFLAGS.
47977
47978 2006-04-23  Bruno Haible  <bruno@clisp.org>
47979
47980         * modules/copy-file: Depend on unistd.
47981         * modules/execute: Likewise.
47982         * modules/fatal-signal: Likewise.
47983         * modules/findprog: Likewise.
47984         * modules/mkdtemp : Likewise.
47985         * modules/pipe: Likewise.
47986         * modules/wait-process: Likewise.
47987
47988 2006-04-23  Bruno Haible  <bruno@clisp.org>
47989
47990         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
47991         condition was already detected.
47992         Reported by Ben Pfaff <blp@cs.stanford.edu>.
47993
47994 2006-04-23  Bruno Haible  <bruno@clisp.org>
47995
47996         * lib/copy-file.c: Include <unistd.h> unconditionally.
47997         * lib/execute.c: Likewise.
47998         * lib/fatal-signal.c: Likewise.
47999         * lib/findprog.c: Likewise.
48000         * lib/mkdtemp.c: Likewise.
48001         * lib/pipe.h: Likewise.
48002         * lib/pipe.c: Likewise.
48003         * lib/wait-process.h: Likewise.
48004
48005 2006-04-23  Bruno Haible  <bruno@clisp.org>
48006
48007         * gnulib-tool (func_usage): Fix --import description. Document
48008         --update.
48009         (func_import): Create temporary file in a temporary directory, if
48010         --dry-run is specified. Silence errors from 'grep' when there are no
48011         m4 files in $m4dir.
48012         (func_create_testdir): Silence errors from 'grep' when there are no
48013         m4 files in $m4dir.
48014         Reported by Karl Berry <karl@freefriends.org>.
48015
48016 2006-04-20  Bruno Haible  <bruno@clisp.org>
48017
48018         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
48019         one argument, so that the code will be portable to Autoconf 2.60.
48020         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
48021         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
48022         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
48023
48024 2006-04-19  Derek Price  <derek@ximbiot.com>
48025             Eric Blake  <ebb9@byu.net>
48026
48027         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
48028         rather than "/full/path.h".  Update comment to match.  Shorten &
48029         generalize m4_translit call via AS_TR_CPP.
48030
48031 2006-04-19  Derek Price  <derek@ximbiot.com>
48032             Eric Blake  <ebb9@byu.net>
48033
48034         * lib/inttypes.h: Correct grammar in comment.
48035
48036 2006-04-18  Derek Price  <derek@ximbiot.com>
48037             Paul Eggert  <eggert@cs.ucla.edu>
48038
48039         * modules/inttypes: New file.
48040         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
48041
48042 2006-04-18  Derek Price  <derek@ximbiot.com>
48043             Paul Eggert  <eggert@cs.ucla.edu>
48044
48045         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
48046         New files.
48047
48048 2006-04-18  Derek Price  <derek@ximbiot.com>
48049             Paul Eggert  <eggert@cs.ucla.edu>
48050
48051         * lib/inttypes.h: New file.
48052         * lib/strtoimax.c: Assume <inttypes.h>.
48053
48054 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
48055
48056         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
48057         isn't mounted.  Problem reported by Kir Kolyshkin.
48058
48059 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
48060
48061         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
48062         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
48063         Derek R. Price.
48064         * lib/regex.h (RE_DUP_MAX): Update comment to match current
48065         implementation.
48066
48067 2006-04-12  Eric Blake  <ebb9@byu.net>
48068
48069         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
48070         is now done automatically by the corresponding Autoconf macro.
48071
48072 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
48073
48074         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
48075         time_r.h.
48076
48077 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
48078
48079         Merge regex changes from libc, removing some of our
48080         POSIX-conformance changes that were rejected and redoing them in a
48081         less-intrusive way.
48082
48083         * lib/regcomp.c (re_compile_internal, init_dfa):
48084         Length arg is now size_t, not Idx.  All uses changed.
48085         (peek_token): Forward decl now says internal_function.
48086         (__re_error_msgid, __re_error_msgid_idx):
48087         Now static rather than extern with attribute_hidden.
48088         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
48089         For some reason libc prefers K&R style defns for external functions.
48090         (regerror) [!defined _LIBC]: Likewise.
48091         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
48092         (seek_collating_symbol_entry, lookup_collation_sequence_value):
48093         (build_range_exp, build_collating_symbol):
48094         Use K&R-style defn.
48095         (re_compile_fastmap): Use '\0' to memset, not 0.
48096         (utf8_sb_map): Make the calculations more obvious.
48097         (init_dfa, parse_bracket_exp, build_charclass_op):
48098         Call calloc and cast result, as glibc does.
48099         (init_word_char, fetch_token, peek_token, peek_token_bracket):
48100         (build_range_exp, build_collating_symbol):
48101         Now internal functions.
48102
48103         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
48104
48105         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
48106         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
48107         Don't depend on VMS; depend on __VMS instead, for POSIX
48108         namespace cleanness.
48109         (regoff_t): Define to ssize_t, not long int.
48110
48111         Remove the REG_ macros named below.  Instead, make the old names
48112         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
48113         __USE_GNU_REGEX.
48114         (REG_BACKSLASH_ESCAPE_IN_LISTS):
48115         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
48116         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
48117         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
48118         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
48119         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
48120         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
48121         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
48122         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
48123         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
48124         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
48125         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
48126         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
48127         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
48128         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
48129         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
48130         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
48131         (REG_NREGS):
48132         Remove.  All uses replaced by the old RE_* names.
48133         (RE_BACKSLASH_ESCAPE_IN_LISTS):
48134         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
48135         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
48136         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
48137         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
48138         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
48139         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
48140         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
48141         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
48142         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
48143         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
48144         Don't bother having these macros be independent of each others'
48145         values, since they no longer exist in the POSIX name space.
48146
48147         Rename the following member names back to their old names,
48148         unless !__USE_GNU_REGEX.  All uses changed back.
48149         (buffer): Renamed from re_buffer.
48150         (allocated): Renamed from re_allocated.
48151         (used): Renamed from re_used.
48152         (syntax): Renamed from re_syntax.
48153         (fastmap): Renamed from re_fastmap.
48154         (translate): Renamed from re_translate.
48155         (can_be_null): Renamed from re_can_be_null.
48156         (regs_allocated): Renamed from re_regs_allocated.
48157         (fastmap_accurate): Renamed from re_fastmap_accurate.
48158         (no_sub): Renamed from re_no_sub.
48159         (not_bol): Renamed from re_not_bol.
48160         (not_eol): Renamed from re_not_eol.
48161         (newline_anchor): Renamed from re_newline_anchor.
48162         (num_regs): Renamed from rm_num_regs.
48163         (start): Renamed from rm_start.
48164         (end): Renamed from rm_end.
48165
48166         (free_state): Move up a bit.
48167
48168         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
48169         #define to be empty.
48170         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
48171         when that is what is intended.
48172         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
48173         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
48174         (MAX): New macro.
48175         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
48176         All uses changed back to re_malloc, etc.  It's now the caller's
48177         responsibility to check for overflow; all callers changed.
48178         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
48179         (re_x2nrealloc): Remove.
48180         (free_state): Remove decl.
48181
48182         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
48183         (re_set_registers, re_exec):
48184         Use K&R-style defn.
48185
48186         2006-01-31  Roland McGrath  <roland@redhat.com>
48187
48188         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
48189         Reported by Mike Frysinger <vapier@gentoo.org>.
48190
48191         2006-01-15  Andreas Jaeger  <aj@suse.de>
48192
48193         [BZ #1950]
48194         * lib/regex_internal.c (re_string_reconstruct): Adjust for
48195         build_wcs_upper_buffer change.
48196         (build_wcs_upper_buffer): Change return type.
48197
48198         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
48199
48200         * lib/regex_internal.h: Include <stdint.h> if available.
48201
48202         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
48203
48204         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
48205
48206         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
48207
48208         * lib/regcomp.c: Adjust for changed secondary hash function.
48209
48210         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
48211
48212         * lib/regex.h: Pretty printing.
48213         Clean up namespace a bit.
48214
48215         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
48216
48217         * lib/regexec.c (update_cur_sifted_state, check_arrival,
48218         check_arrival_add_next_nodes): Avoid using uninitialized variable.
48219
48220         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
48221                     Ulrich Drepper  <drepper@redhat.com>
48222
48223         [BZ #1302]
48224         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
48225         changed.
48226         (bitset_word_t): Renamed from bitset_word.  All uses changed.
48227
48228         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
48229
48230         [BZ #281]
48231         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
48232         * lib/regcomp.c: Remove unnecessary uses of
48233         unsigned RE_TRANSLATE_TYPE.
48234         * lib/regex_internal.h: Likewise.
48235         * lib/regex_internal.c: Likewise.
48236         * lib/regexec.c: Likewise.
48237         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
48238
48239         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
48240
48241         * lib/regexec.c (find_recover_state): Remove unnecessary
48242         initialization.
48243         (transit_state_bkref): Make DFA a const pointer.
48244         (get_subexp): Likewise.
48245         (check_arrival): Likewise.
48246         (update_cur_sifted_state): Likewise.
48247         (re_search_internal): Likewise.
48248         (prune_impossible_nodes): Likewise.
48249         (acquire_init_state_context): Likewise.
48250         (proceed_next_node): Likewise.
48251         (set_regs): Likewise.
48252         (free_fail_stack_return): Likewise.
48253         (check_arrival_expand_ecl): Mark DFA parameter as const.
48254         (check_arrival_expand_ecl_sub): Likewise.
48255         (check_subexp_limits): Likewise.
48256         (sub_epsilon_src_nodes):  Likewise.
48257         (add_epsilon_src_nodes):  Likewise.
48258         (merge_state_array): Likewise.
48259         (update_regs): Likewise.
48260         (build_trtable): Likewise.
48261         (sift_states_backward): Mark MCTX parameter as const.
48262         (build_sifted_states): Likewise.
48263         (update_cur_sifted_state): Likewise.
48264         (sift_states_mkref): Likewise.
48265         (check_arrival_expand_ecl): Mark eclosure as const.
48266         (check_dst_limits_calc_pos_1): Likewise.
48267         * lib/regex_internal.h (re_match_context_t): Make dfa a const
48268         pointer.
48269
48270         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
48271
48272         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
48273         (transit_state_sb): Likewise.
48274         (transit_state_mb): Likewise.
48275         (sift_states_iter_mb): Likewise.
48276         (check_arrival_add_next_nodes): Likewise.
48277         (check_node_accept_bytes): Change first parameter to pointer-to-const.
48278         [_LIBC] (re_search_2_stub): Use mempcpy.
48279
48280         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
48281         mbrtowc for very simple UTF-8 case.
48282
48283         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
48284         a pointer-to-const.
48285         (re_acquire_state_context): Likewise.
48286         * lib/regex_internal.h: Adjust prototypes.
48287
48288         * lib/regex.c: Prevent using C++ compilers.
48289
48290         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
48291         (re_acquire_state_context): Likewise.
48292
48293 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
48294
48295         * modules/regex (Depends-on): Add ssize_t.
48296
48297 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
48298
48299         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
48300         translation table.
48301
48302 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
48303
48304         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
48305
48306 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
48307             Bruno Haible  <bruno@clisp.org>
48308
48309         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
48310         <sys/types.h> and <inttypes.h>.
48311
48312 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48313
48314         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
48315         `__error_t_defined', so argp.h will not typedef the former.
48316
48317 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
48318
48319         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
48320         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
48321         glibc names.  Even if glibc is changed to conform to POSIX, the
48322         traditional names will be available anyway, since regex depends on
48323         the extensions module.  Also, fix a longstanding typo in the
48324         implementation of Spencer ERE test #75 from grep 2.3.  Problems
48325         reported by Emanuele Giaquinta.  Also, change sense of cached
48326         variable, so that the message makes sense.
48327
48328 2006-03-24  Simon Josefsson  <jas@extundo.com>
48329
48330         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
48331         including some doc fixes.
48332         (base64_encode_alloc): Fix +1 bug on allocation failures.
48333
48334 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48335
48336         * lib/base64.c (base64_encode): Do not read past end of array with
48337         unsanitized input on systems with CHAR_BIT > 8.
48338
48339 2006-03-24  Eric Blake  <ebb9@byu.net>
48340
48341         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
48342
48343 2006-03-22  Karl Berry  <karl@gnu.org>
48344
48345         * config/srclist.txt (*setenv.[ch]): get from coreutils.
48346         * config/srclistvars.sh (COREUTILS): new var.
48347
48348 2006-03-17  Jim Meyering  <jim@meyering.net>
48349
48350         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
48351         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
48352
48353 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
48354
48355         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
48356         no longer needs it.  Instead, check that regoff_t is as least
48357         as wide as ptrdiff_t.
48358
48359         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
48360         so that our regex.h stays compatible with the installed regex.
48361         This is helpful for installers who configure --without-included-regex.
48362         Problem reported by Emanuele Giaquinta.
48363
48364 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
48365
48366         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
48367         Typedef to long int, not to off_, as POSIX will likely change
48368         in that direction.
48369
48370 2006-03-15  Eric Blake  <ebb9@byu.net>
48371
48372         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
48373
48374 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
48375
48376         * lib/argp-help.c (validate_uparams): Fix typo
48377         * lib/argp-parse.c (argp_default_options): Consistently begin help
48378         messages with a lowercase letter.
48379
48380 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
48381
48382         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
48383         overrun buffers and shouldn't be used (much as gets shouldn't be
48384         used).
48385         * lib/time_r.c (asctime_r, ctime_r): Likewise.
48386
48387 2006-03-08  Simon Josefsson  <jas@extundo.com>
48388
48389         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
48390         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
48391
48392 2006-03-08  Simon Josefsson  <jas@extundo.com>
48393
48394         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
48395         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
48396
48397 2006-03-08  Simon Josefsson  <jas@extundo.com>
48398
48399         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
48400         signal that configure disabled the device.
48401
48402 2006-03-08  Simon Josefsson  <jas@extundo.com>
48403
48404         * build-aux/maint.mk: Fix refresh-po, to handle no translated
48405         languages.
48406
48407 2006-03-07  Simon Josefsson  <jas@extundo.com>
48408
48409         * modules/getopt (Depends-on): Add unistd.
48410
48411         * modules/unistd: New file.
48412
48413 2006-03-07  Simon Josefsson  <jas@extundo.com>
48414
48415         * modules/gc-random: New file.
48416
48417 2006-03-07  Simon Josefsson  <jas@extundo.com>
48418
48419         * m4/unistd_h.m4: New file.
48420
48421 2006-03-07  Simon Josefsson  <jas@extundo.com>
48422
48423         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
48424         test to be side-effect free by storing the result in the cache
48425         variable gl_cv_lib_readline, and moving the assignment of
48426         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
48427         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
48428
48429 2006-03-07  Simon Josefsson  <jas@extundo.com>
48430
48431         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
48432         error on missing devices (the functions will return an error).
48433
48434         * m4/gc.m4: Move random stuff to gc-random.m4
48435
48436 2006-03-07  Simon Josefsson  <jas@extundo.com>
48437
48438         * lib/unistd_.h: New file.
48439
48440 2006-03-07  Simon Josefsson  <jas@extundo.com>
48441
48442         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
48443
48444 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
48445
48446         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
48447         Problem reported by Juan Manuel Guerrero.
48448
48449 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
48450
48451         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
48452         the unistd module.
48453         * lib/getlogin_r.c: Likewise.
48454         * lib/getlogin_r.h: Likewise.
48455         * lib/glob.c: Likewise.
48456         * lib/pagealign_alloc.c: Likewise.
48457         * lib/unistd_.h: Remove; no longer needed.
48458
48459 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
48460
48461         * MODULES.html.sh (Support for systems lacking POSIX:2001):
48462         Add unistd.
48463         * modules/c-stack (Depends-on): Add unistd.
48464         * modules/getlogin_r: Likewise.
48465         * modules/glob: Likewise.
48466         * modules/pagealign_alloc: Likewise.
48467         * modules/unistd (Files): Remove lib/unistd_.h.
48468         (EXTRA_DIST): Remove.
48469         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
48470         need unistd_.h.
48471         (MOSTLYCLEANFILES): Remove unistd.h-t.
48472
48473 2006-03-03  Simon Josefsson  <jas@extundo.com>
48474
48475         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
48476
48477 2006-03-03  Simon Josefsson  <jas@extundo.com>
48478
48479         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
48480         libidn and bison.
48481
48482 2006-03-03  Simon Josefsson  <jas@extundo.com>
48483
48484         * build-aux/maint.mk: Add indent target.
48485
48486 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
48487
48488         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
48489         our replacement poll.h in any case, to avoid a differing
48490         declaration from a system header.  Seen on AIX.
48491
48492 2006-03-01  Simon Josefsson  <jas@extundo.com>
48493
48494         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
48495         <kasal@ucw.cz>.
48496
48497 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
48498
48499         * modules/gettime (Depends-on): Add extensions module.
48500         * modules/nanosleep (Depends-on): Likewise.
48501         * modules/settime (Depends-on): Likewise.
48502
48503 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
48504
48505         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
48506         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
48507         pedantically.
48508         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
48509         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
48510
48511         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
48512         not "==".  Reported by Ralf Wildenhues.
48513
48514 2006-03-01  Karl Berry  <karl@gnu.org>
48515
48516         * doc/Copyright/request-*: new files, synced from gnuorg.
48517
48518 2006-03-01  Karl Berry  <karl@gnu.org>
48519
48520         * config/srclist.txt (Copyright/*): new entries.
48521
48522 2006-02-28  Simon Josefsson  <jas@extundo.com>
48523
48524         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
48525
48526 2006-02-27  Simon Josefsson  <jas@extundo.com>
48527
48528         * lib/base64.h: Indent #define's.  From Jim Meyering
48529         <jim@meyering.net>.
48530
48531 2006-02-27  Jim Meyering  <jim@meyering.net>
48532
48533         Revert the change of 2006-02-24, so these files can continue
48534         to be sync'd from gettext.
48535         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
48536         of `config.h'.
48537
48538 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
48539
48540         * modules/intprops: New file.
48541         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
48542         Add intprops.
48543         * modules/getloadavg (Files): Remove lib/intprops.h.
48544         (Depends-on): Add intprops.
48545         * modules/human: Likewise.
48546         * modules/inttostr: Likewise.
48547         * modules/openat: Likewise.
48548         * modules/sig2str: Likewise.
48549         * modules/userspec: Likewise.
48550         * modules/utimecmp: Likewise.
48551         * modules/xnanosleep: Likewise.
48552         * modules/xstrtol: Likewise.
48553
48554 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
48555
48556         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
48557         * modules/lock-tests (TESTS): Use $(EXEEXT).
48558         * modules/tls-tests: Likewise.
48559         * modules/argp-tests: Likewise.
48560         (check_PROGRAMS): New var, replacing...
48561         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
48562
48563 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48564
48565         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
48566         `config.h'.
48567
48568 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
48569
48570         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
48571
48572 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48573
48574         Sync from coreutils.
48575         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
48576         gl_CHDIR_SAFER.
48577
48578 2006-02-22  Jim Meyering  <jim@meyering.net>
48579
48580         Sync from coreutils.
48581         * m4/chdir-safer.m4: New file.
48582
48583 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
48584
48585         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
48586         AT_FDCWD exceeds INT_MAX.
48587         * lib/openat.h (AT_FDCWD): Likewise.
48588
48589 2006-02-17  Eric Blake  <address@hidden>
48590
48591         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
48592
48593 2006-02-16  Simon Josefsson  <jas@extundo.com>
48594
48595         * modules/getaddrinfo (Depends-on): Add sys_socket.
48596
48597 2006-02-15  Simon Josefsson  <jas@extundo.com>
48598
48599         * build-aux/maint.mk: Add dsyntax-check rule.
48600
48601 2006-02-15  Eric Blake  <ebb9@byu.net>
48602
48603         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
48604         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
48605         'present but cannot compile' warnings on cygwin.
48606         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
48607         use ws2tcpip.h if sys/socket.h works.
48608         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
48609         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
48610
48611 2006-02-14  Simon Josefsson  <jas@extundo.com>
48612
48613         * modules/maintainer-makefile (Files): Rename.
48614
48615         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
48616         and (the local) Makefile.cfg to maint-cfg.mk.
48617
48618         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
48619         to the latter.
48620
48621         * modules/maintainer-makefile: New module.
48622
48623         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
48624         severaly stripped to make it possible to build it up from scratch
48625         with reliable tests.
48626
48627         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
48628         fixes to permit overriding the default actions when configure and
48629         makefile are not available.
48630
48631 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
48632
48633         Sync from coreutils.
48634         * modules/lstat (Depends-on): Don't depend on xalloc.
48635         (License): Change from GPL to LGPL, since this is now simply a
48636         replacement for a libc function.
48637
48638 2006-02-14  Jim Meyering  <jim@meyering.net>
48639
48640         Sync from coreutils.
48641
48642         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
48643         failure on deficient systems, and simplify gnulib lgpl dependencies.
48644         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
48645         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
48646
48647         * lib/xalloc-die.c: Remove unused definition of N_.
48648
48649 2006-02-14  Jim Meyering  <jim@meyering.net>
48650
48651         Sync from coreutils.
48652         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
48653         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
48654         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
48655         double-quote uses of that variable, to accommodate the rare case in
48656         which getmntent is available in none of the libraries checked.  This
48657         happens at least on FreeBSD 5.0.
48658
48659 2006-02-13  Simon Josefsson  <jas@extundo.com>
48660
48661         * gnulib-tool (Usage): Fix --import, from
48662         karl@freefriends.org (Karl Berry).
48663
48664 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
48665
48666         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
48667
48668 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
48669
48670         * lib/argp-namefrob.h: Restore changes accidentally lost during the
48671         "autoupdate" on 2005-12-12.
48672
48673 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
48674
48675         * modules/closeout (Depends-on): Remove atexit.
48676
48677 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
48678
48679         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
48680         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
48681
48682 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
48683
48684         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
48685         __EXTENSIONS__ if this causes compilation to fail.  Problem
48686         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
48687         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
48688
48689 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
48690
48691         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
48692         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
48693         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
48694         All uses changed.
48695
48696 2006-01-26  Simon Josefsson  <jas@extundo.com>
48697
48698         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
48699         prototype is visible on mingw32.
48700
48701         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
48702         for mingw32.
48703
48704         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
48705         mingw32).
48706
48707 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
48708
48709         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
48710         attempt to open for write; this always fails, at least on POSIX
48711         hosts.  This reinstates the 2006-01-09 change, which was
48712         inadvertently removed.
48713
48714 2006-01-26  Bruno Haible  <bruno@clisp.org>
48715
48716         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
48717         Reported by Paul Eggert.
48718
48719 2006-01-26  Bruno Haible  <bruno@clisp.org>
48720             Paul Eggert  <eggert@cs.ucla.edu>
48721
48722         * lib/stdbool_.h (_Bool)
48723         [(! (defined __cplusplus || defined __BEOS__)
48724           && !defined __GNUC__
48725           && !(defined __HP_cc || defined __xlc__
48726                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
48727                || defined __sgi))]:
48728         #define to signed char in these cases too; this simplifies
48729         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
48730         etc., separately) and makes it more conservative.
48731
48732 2006-01-25  Simon Josefsson  <jas@extundo.com>
48733
48734         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
48735         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
48736         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
48737
48738 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
48739
48740         * lib/argp-namefrob.h: Bugfix. Remove stray #
48741
48742 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
48743
48744         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
48745         so that we test the test.
48746         Check for yet another HP-UX cc bug involving *bool |= bool.
48747
48748 2006-01-25  Karl Berry  <karl@gnu.org>
48749
48750         * config/srclist.txt (vasnprintf.c): sync lost.
48751
48752 2006-01-25  Jim Meyering  <jim@meyering.net>
48753
48754         Sync from the stable (b5) branch of coreutils:
48755
48756         * lib/fts.c (fts_children): Don't let close() clobber errno from
48757         failed fchdir().
48758
48759         * lib/fts.c (fts_stat): When following a symlink-to-directory,
48760         don't necessarily interpret stat-fails+lstat-succeeds as indicating
48761         a dangling symlink.  That can also happen at least for ELOOP.
48762         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
48763         FYI, this bug predates the inclusion of fts.c in coreutils.
48764
48765         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
48766         in their own block, so pre-c99 compilers don't object.
48767
48768         Avoid the double-free (first in fts_read, second in fts_close) that
48769         would occur when an `active' directory is made inaccessible (e.g.,
48770         via chmod a-x) during a traversal.
48771         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
48772         before returning.  Reproduce this failure by
48773         mkdir -p a/b; cd a; chmod a-x . b
48774         Reported by Stavros Passas.
48775
48776 2006-01-25  Jim Meyering  <jim@meyering.net>
48777
48778         * lib/fileblocks.c: Remove more useless parentheses.
48779         * lib/readutmp.h: Likewise.
48780
48781 2006-01-25  Bruno Haible  <bruno@clisp.org>
48782
48783         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
48784         warnings.
48785         Reported by Paul Eggert.
48786
48787 2006-01-25  Bruno Haible  <bruno@clisp.org>
48788
48789         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
48790         rid of a trap command. For Solaris sh.
48791         Reported by Mark D. Baushke <mdb@gnu.org>.
48792
48793 2006-01-24  Simon Josefsson  <jas@extundo.com>
48794
48795         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
48796         Bruno.
48797
48798 2006-01-24  Karl Berry  <karl@gnu.org>
48799
48800         * config/srclist.txt (argp-namefrob.h): sync lost.
48801
48802 2006-01-24  Jim Meyering  <jim@meyering.net>
48803
48804         * modules/openat (Files): Add lib/intprops.h.
48805         From Mark D. Baushke.
48806
48807 2006-01-24  Jim Meyering  <jim@meyering.net>
48808
48809         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
48810         Reported by Mark D. Baushke.
48811
48812 2006-01-24  Jim Meyering  <jim@meyering.net>
48813
48814         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
48815
48816 2006-01-24  Bruno Haible  <bruno@clisp.org>
48817
48818         * modules/strnlen (Maintainer): Change from glibc to all.
48819
48820 2006-01-24  Bruno Haible  <bruno@clisp.org>
48821
48822         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
48823         Patch by Paul Eggert.
48824
48825 2006-01-24  Bruno Haible  <bruno@clisp.org>
48826
48827         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
48828         already has it.
48829         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
48830         2005-11-26.
48831
48832         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
48833         'signed char' to avoid problems with the built-in _Bool type.
48834         Reported by Paul Eggert on 2005-11-26.
48835
48836 2006-01-24  Bruno Haible  <bruno@clisp.org>
48837
48838         * gnulib-tool (func_import): Avoid constructing complicated sed
48839         expressions inside backquote.
48840         Report and solution by Mark D. Baushke <mdb@gnu.org>.
48841
48842 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
48843
48844         These changes imported from libc.
48845         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
48846         test and two separate function calls.
48847         * lib/strndup.c (__strndup): Add libc_hidden_def.
48848
48849 2006-01-23  Simon Josefsson  <jas@extundo.com>
48850
48851         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
48852         Remove the test_*_SOURCES variable: automake infers it by default.
48853         * modules/tls-tests: Likewise.
48854
48855 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
48856
48857         Work around porting bugs reported by Dieter in
48858         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
48859         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
48860         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
48861         Include "getopt.h" first, to check interface.
48862         (getenv): Declare only if defined HAVE_DECL_GETENV &&
48863         !HAVE_DECL_GETENV.
48864         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
48865         (__strndup): Revert to K&R-style function dfns, the glibc style.
48866         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
48867         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
48868         Include strnlen.h first, to get prototype properly.
48869         (strnlen): Renamed from __strnlen.
48870         Remove weak alias.
48871
48872 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
48873
48874         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
48875
48876 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
48877
48878         * config/srclist.txt: Adjust to reflect glibc reorganization.
48879         This affects only comments.
48880
48881 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
48882
48883          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
48884          Reported by Bruce Korb <bkorb@gnu.org>.
48885
48886 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
48887
48888         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
48889         to pacify gcc -Wswitch-default.
48890
48891 2006-01-22  Bruno Haible  <bruno@clisp.org>
48892
48893         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
48894         temporary buffer for sprintf, take into account the precision also
48895         for 'd', 'i', 'u', 'o', 'x', 'X'.
48896
48897 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
48898
48899         * modules/argp-tests: New module
48900         * tests/test-argp.c: New file
48901         * tests/test-argp-2.sh: New file
48902
48903 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
48904
48905         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
48906         (__argp_base_name): Removed
48907         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
48908         typo.
48909         (__argp_base_name): Provide macro definition or extern declaration
48910         depending on the configuration
48911
48912 2006-01-20  Simon Josefsson  <jas@extundo.com>
48913
48914         * modules/inet_ntop (Depends-on): Depend on sys_socket.
48915
48916 2006-01-20  Simon Josefsson  <jas@extundo.com>
48917
48918         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
48919
48920 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
48921
48922         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
48923         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
48924         Suggested by Bruno Haible.
48925
48926 2006-01-20  Karl Berry  <karl@gnu.org>
48927
48928         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
48929         until changes propagate, I guess.
48930
48931 2006-01-19  Simon Josefsson  <jas@extundo.com>
48932
48933         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
48934
48935 2006-01-19  Simon Josefsson  <jas@extundo.com>
48936
48937         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
48938
48939 2006-01-19  Simon Josefsson  <jas@extundo.com>
48940
48941         * gnulib-tool: Set check_PROGRAMS.
48942
48943         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
48944         modules/des-tests, modules/gc-arcfour-tests,
48945         modules/gc-arctwo-tests, modules/gc-des-tests,
48946         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
48947         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
48948         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
48949         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
48950         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
48951         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
48952         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
48953         test_*_SOURCES.
48954
48955 2006-01-18  Simon Josefsson  <jas@extundo.com>
48956
48957         * modules/socklen (Depends-on): Depend on sys_socket.
48958
48959 2006-01-18  Simon Josefsson  <jas@extundo.com>
48960
48961         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
48962         modules/des-tests, modules/gc-arcfour-tests,
48963         modules/gc-arctwo-tests, modules/gc-des-tests,
48964         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
48965         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
48966         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
48967         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
48968         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
48969         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
48970         $(EXEEXT) to automake TESTS variable, for mingw32.
48971
48972 2006-01-17  Simon Josefsson  <jas@extundo.com>
48973
48974         * modules/socklen (Include): Need sys/socket.h.
48975
48976 2006-01-17  Bruno Haible  <bruno@clisp.org>
48977
48978         * modules/ssize_t (Include): Add <sys/types.h>.
48979
48980 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
48981
48982         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
48983         it's not portable and it doesn't work with cross-compiles.
48984         Problem reported by Bruno Haible.  Fix missing-$ typo in
48985         'test "gl_cv_ignore_unused_libraries" ...' that prevented
48986         -zignore from being used with Sun's C compiler.
48987
48988 2006-01-12  Simon Josefsson  <jas@extundo.com>
48989
48990         * lib/base64.c: Fix warning, reported by Bruno Haible
48991         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
48992
48993 2006-01-12  Bruno Haible  <bruno@clisp.org>
48994
48995         * modules/ldd: New file.
48996         * build-aux/ldd.sh.in: New file.
48997         * MODULES.html.sh (Support for building libraries and executables): Add
48998         ldd.
48999
49000 2006-01-12  Bruno Haible  <bruno@clisp.org>
49001
49002         * m4/ldd.m4: New file.
49003
49004 2006-01-12  Bruno Haible  <bruno@clisp.org>
49005
49006         * gnulib-tool (func_import, func_create_testdir): Don't go into an
49007         endless loop while replacing $auxdir with build-aux.
49008
49009 2006-01-11  Simon Josefsson  <jas@extundo.com>
49010
49011         * lib/stdint_.h (SIZE_MAX): Add missing (.
49012
49013 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
49014
49015         Sync from coreutils.
49016         * lib/md5.c: Fix commentary typos.
49017         (alignof, UNALIGNED_P): No need for a GCC-specific version.
49018         * lib/md5.h (__attribute__): Remove; unused.
49019         * lib/sha1.c: Fix commentary to match md5 better.
49020         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
49021         so that we don't need to worry about alignment.  All uses changed.
49022         This merges the 2005-10-28 md5 change into sha1.
49023
49024 2006-01-11  Jim Meyering  <jim@meyering.net>
49025
49026         Sync from coreutils.
49027         * lib/md5.c (OP): Fix spacing.
49028
49029 2006-01-11  Bruno Haible  <bruno@clisp.org>
49030
49031         Ensure automatic ordering between gl_LOCK and gl_ARGP.
49032         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
49033         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
49034
49035 2006-01-11  Bruno Haible  <bruno@clisp.org>
49036
49037         Ensure automatic ordering between gl_LOCK and gl_ARGP.
49038         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
49039         the "early" section as well.
49040
49041 2006-01-11  Bruno Haible  <bruno@clisp.org>
49042
49043         Avoid "ar: no archive members specified" error on MacOS X.
49044         * gnulib-tool (func_modules_add_dummy): New function.
49045         (func_import, func_create_testdir): Invoke it.
49046
49047 2006-01-11  Bruno Haible  <bruno@clisp.org>
49048
49049         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
49050         with $auxdir in AC_CONFIG_FILES statements.
49051
49052 2006-01-11  Bruno Haible  <bruno@clisp.org>
49053
49054         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
49055         Initialize also noinst_HEADERS to empty.
49056
49057 2006-01-11  Bruno Haible  <bruno@clisp.org>
49058
49059         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
49060         variables.
49061         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
49062         autoreconf.
49063
49064 2006-01-11  Bruno Haible  <bruno@clisp.org>
49065
49066         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
49067         overridable by the user.
49068         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
49069
49070 2006-01-10  Simon Josefsson  <jas@extundo.com>
49071
49072         * modules/sys_socket: New file.
49073
49074 2006-01-10  Simon Josefsson  <jas@extundo.com>
49075
49076         * m4/sys_socket_h.m4: New file.
49077
49078 2006-01-10  Simon Josefsson  <jas@extundo.com>
49079
49080         * lib/socket_.h: New file.
49081
49082 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
49083
49084         * modules/readutmp (Maintainer): Add myself.
49085
49086 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
49087
49088         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
49089         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
49090         People who are still concerned with buggy memcmp implementations
49091         can invoke gl_FUNC_MEMCMP themselves.
49092
49093 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
49094
49095         * lib/regex_internal.h (BITSET_WORD_BITS):
49096         Work around a bug in 64-bit PGC (before version 6.1-2), where the
49097         preprocessor mishandles large unsigned values as if they were signed.
49098         Problem reported by Claudio Fontana in
49099         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
49100
49101 2006-01-10  Jim Meyering  <jim@meyering.net>
49102
49103         Avoid the double-free (first in fts_read, second in fts_close) that
49104         would occur when an `active' directory is made inaccessible (e.g.,
49105         via chmod a-x) during a traversal.
49106         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
49107         before returning.  Reproduce this failure by
49108         mkdir -p a/b; cd a; chmod a-x . b
49109         Reported by Stavros Passas.
49110
49111         Sync from coreutils.
49112         * lib/sha1.c: Tweak grammar in a comment.
49113
49114 2006-01-10  Jim Meyering  <jim@meyering.net>
49115
49116         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
49117         Patch by Joerg Sonnenberger.
49118
49119 2006-01-10  Bruno Haible  <bruno@clisp.org>
49120
49121         * modules/readutmp: Depend on module free.
49122         * modules/strtok_r: Depend on module restrict.
49123
49124 2006-01-10  Bruno Haible  <bruno@clisp.org>
49125
49126         * modules/gettext (configure.ac): Add an invocation of
49127         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
49128
49129 2006-01-10  Bruno Haible  <bruno@clisp.org>
49130
49131         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
49132         Reported by Werner Lemberg <wl@gnu.org>.
49133
49134 2006-01-10  Bruno Haible  <bruno@clisp.org>
49135
49136         * lib/localcharset.c: Update from GNU gettext.
49137
49138 2006-01-10  Bruno Haible  <bruno@clisp.org>
49139
49140         * lib/argp.h (__const): Remove macro. Use const instead.
49141         * lib/argp-fmtstream.h (__const): Likewise.
49142         * lib/glob_.h (__const): Remove macro.
49143         * lib/glob-libc.h: Use const instead of __const.
49144
49145 2006-01-10  Bruno Haible  <bruno@clisp.org>
49146
49147         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
49148         variable.
49149         Needed to avoid an automake error regarding the 'gettext' module.
49150
49151 2006-01-09  Simon Josefsson  <jas@extundo.com>
49152
49153         * modules/inet_ntop (Depends-on): Add restrict.
49154
49155 2006-01-09  Simon Josefsson  <jas@extundo.com>
49156
49157         * modules/gc-rijndael-tests (License): Put under LGPL.
49158
49159         * modules/gc-des-tests (License): Likewise.
49160
49161         * modules/gc-arcfour-tests (License): Likewise.
49162
49163         * modules/gc-arctwo-tests (License): Likewise.
49164
49165         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
49166
49167         * modules/gc-hmac-sha1-tests (Files): Likewise.
49168
49169         * modules/gc-hmac-md5-tests (License): Likewise.
49170
49171         * modules/gc-sha1-tests (License): Likewise.
49172
49173         * modules/gc-md5-tests (License): Likewise.
49174
49175         * modules/gc-md4-tests (License): Likewise.
49176
49177         * modules/gc-md2-tests (License): Likewise.
49178
49179         * modules/gc-tests (License): Likewise.
49180
49181         * modules/des-tests (License): Likewise.
49182
49183         * modules/md4-tests (License): Likewise.
49184
49185         * modules/md2-tests (License): Likewise.
49186
49187 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
49188
49189         Sync from coreutils:
49190
49191         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
49192         * modules/lib-ignore: New file.
49193         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
49194         chdir-safer.m4, lchmod.m4.
49195         * modules/openat: Add mkdirat.c, openat-priv.h.
49196
49197 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
49198
49199         Sync from coreutils.
49200         * m4/lib-ignore.m4: New file.
49201         * m4/lchmod.m4: New file.
49202
49203 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
49204
49205         Sync from coreutils.
49206         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
49207         for write access: POSIX says that must fail.
49208         * lib/fts.c (diropen): Likewise.
49209         * lib/save-cwd.c (save_cwd): Likewise.
49210         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
49211         well, for minor improvements on hosts that lack O_DIRECTORY.
49212         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
49213         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
49214         Fall back on chown if open failed with EACCES.
49215
49216         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
49217         Report an error at compile-time if only a 1-second nominal clock
49218         resolution is found.
49219
49220         * lib/lchmod.h: New file.
49221         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
49222         (make_dir_parents): Use lchown rather than chown, and
49223         lchmod rather than chmod.
49224
49225         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
49226         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
49227         "proc" reported by n0dalus.
49228
49229         * lib/mountlist.c: Include <limits.h>.
49230         (dev_from_mount_options)
49231         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
49232         New function.  It no longer assumes "dev=" has the System V meaning
49233         on Linux (since it doesn't).  It also parses "dev=" more carefully.
49234         (read_file_system_list)
49235         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
49236         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
49237         dev= in that case.
49238
49239         * lib/posixtm.h (PDS_PRE_2000): New macro.
49240         * lib/posixtm.c (year): Arg is now syntax_bits rather than
49241         allow_century.  All usages changed.  Reject dates outside the range
49242         1969-1999 if PDS_PRE_2000 is used.
49243
49244 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
49245
49246         Sync from coreutils.
49247         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
49248         (Time of day items): Mention the possibility of leap seconds.
49249         Problem reported by Dr. David Alan Gilbert.
49250
49251 2006-01-09  Jim Meyering  <jim@meyering.net>
49252
49253         Sync from coreutils.
49254
49255         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
49256
49257         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
49258
49259         * lib/modechange.c (mode_compile): Reject an invalid mode string
49260         that starts with an octal digit.  From Andreas Gruenbacher.
49261
49262         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
49263         and dup to open_safer and dup_safer, respectively.
49264         (openat_permissive): Fix typo in comment.
49265
49266         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
49267         "gettext.h"; either no longer needed or are guaranteed by openat.h.
49268         (_): Remove; no longer needed.
49269         (openat): Renamed from rpl_openat; no need for rpl_openat
49270         since openat.h renames openat for us.
49271         Replace most of the body with a call to openat_permissive,
49272         to avoid duplicate code.
49273         Port to (probably hypothetical) environments were mode_t is
49274         wider than int.
49275         (openat_permissive): Require mode arg, so that we can check
49276         types better.  Put it just after flags.  Change cwd failure
49277         indicator from pointer-to-bool to pointer-to-errno-value.
49278         All callers changed.
49279         Invoke openat_save_fail and/or openat_restore_fail if
49280         cwd_errno is null, so that openat can call us.
49281         (openat_permissive, fdopendir, fstatat, unlinkat):
49282         Simplify errno handling to avoid some duplicate code,
49283         as it's OK to set errno on success.
49284         * lib/openat.h: Revamp code so that function macros depend on
49285         __OPENAT_PREFIX only, not also on AT_FDCWD.
49286         (openat_ro): Remove.  Caller changed to use openat_permissive.
49287         (openat_permissive): Now a macro, if not a function.
49288         (openat_restore_fail, openat_save_fail): Now always functions,
49289         since mkdirat needs them even if __OPENAT_PREFIX is defined.
49290
49291         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
49292         and openat.c.
49293         * lib/mkdirat.c: Include openat-priv.h.
49294         Remove definitions of macros defined therein.
49295         * lib/openat.c: Likewise.
49296
49297         * lib/mkdirat.c (mkdirat): New file and function.
49298         * lib/openat.h (mkdirat): Declare.
49299
49300         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
49301
49302         * lib/openat.h (openat_permissive): Declare.
49303         (openat_ro): Define.
49304
49305         * lib/openat.c (EXPECTED_ERRNO): New macro.
49306         (openat_permissive): New function -- used in remove.c rewrite.
49307         (all functions): Set errno just before returning, only if there
49308         was an actual failure.
49309         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
49310
49311         Emulate openat-family functions using Linux's procfs, if possible.
49312         Idea and some code based on Ulrich Drepper's glibc changes.
49313
49314         * lib/openat.c: (BUILD_PROC_NAME): New macro.
49315         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
49316         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
49317         before falling back on save_cwd and restore_cwd.
49318         (fdopendir, fstatat, unlinkat): Likewise.
49319
49320         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
49321         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
49322
49323         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
49324         as second argument to va_arg.  Otherwise, some versions of gcc
49325         warn that `if this code is reached, the program will abort'.
49326
49327 2006-01-09  Jim Meyering  <jim@meyering.net>
49328
49329         Sync from coreutils.
49330         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
49331         Require openat-priv.h.
49332
49333 2006-01-09  Bruno Haible  <bruno@clisp.org>
49334
49335         * modules/strnlen (Include): Use strnlen.h.
49336
49337 2006-01-09  Bruno Haible  <bruno@clisp.org>
49338
49339         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
49340
49341 2006-01-09  Bruno Haible  <bruno@clisp.org>
49342
49343         * lib/sysexit_.h (EX_OK): New macro.
49344         Suggested by Martin Lambers <marlam@marlam.de>.
49345
49346 2006-01-09  Bruno Haible  <bruno@clisp.org>
49347
49348         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
49349         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
49350
49351 2006-01-09  Bruno Haible  <bruno@clisp.org>
49352
49353         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
49354         numbers.
49355
49356 2006-01-09  Bruno Haible  <bruno@clisp.org>
49357
49358         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
49359         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
49360         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
49361         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
49362
49363 2006-01-09  Bruno Haible  <bruno@clisp.org>
49364
49365         * build-aux/javacomp.sh.in: New file, moved from lib/.
49366         * modules/javacomp-script (Files): Update.
49367         (configure.ac): Add AC_CONFIG_FILES invocation.
49368         (EXTRA_DIST): Remove variable.
49369
49370         * build-aux/javaexec.sh.in: New file, moved from lib/.
49371         * modules/javaexec (Files): Update.
49372         (configure.ac): Add AC_CONFIG_FILES invocation.
49373         (EXTRA_DIST): Remove javaexec.sh.in.
49374
49375         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
49376         * modules/csharpcomp-script (Files): Update.
49377         (configure.ac): Add AC_CONFIG_FILES invocation.
49378         (EXTRA_DIST): Remove variable.
49379
49380         * build-aux/csharpexec.sh.in: New file, moved from lib/.
49381         * modules/csharpexec (Files): Update.
49382         (configure.ac): Add AC_CONFIG_FILES invocation.
49383         (EXTRA_DIST): Remove csharpexec.sh.in.
49384
49385 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
49386
49387         Sync from coreutils.
49388
49389         Add POSIX ACL support
49390         * lib/acl.h (copy_acl, set_acl): Add declarations.
49391         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
49392         systems other than Linux.
49393         (chmod_or_fchmod): New function: use fchmod when possible,
49394         and chmod otherwise.
49395         (file_has_acl): Add a POSIX ACL implementation, with a
49396         Linux-specific subcase.
49397         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
49398         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
49399         acls are unsupported.
49400         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
49401         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
49402         are unsupported.
49403
49404 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
49405
49406         Sync from coreutils.
49407         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
49408
49409 2006-01-07  Bruno Haible  <bruno@clisp.org>
49410
49411         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
49412         gl_EARLY.
49413
49414 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
49415
49416         * lib/strftime.c (tzname): Don't declare if it is already #defined.
49417         Problem reported for Mingw by Mark Junker.
49418
49419 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
49420
49421         * README: Gnulib normally doesn't generate a tarball.
49422
49423 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
49424
49425         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
49426         long int, not int, for nanosecond counts, so that people who are
49427         used to POSIX struct timespec won't be surprised.  Reported by Jim
49428         Meyering.
49429
49430 2005-12-28  Bruno Haible  <bruno@clisp.org>
49431
49432         * build-aux/config.rpath: Update from GNU gettext.
49433
49434 2005-12-16  Jim Meyering  <jim@meyering.net>
49435
49436         * modules/fprintftime: New module.
49437         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
49438
49439 2005-12-16  Jim Meyering  <jim@meyering.net>
49440
49441         * m4/fprintftime.m4: New file.
49442
49443 2005-12-16  Jim Meyering  <jim@meyering.net>
49444
49445         * lib/fprintftime.c, lib/fprintftime.h: New files.
49446
49447 2005-12-15  Simon Josefsson  <jas@extundo.com>
49448
49449         * modules/socklen (configure.ac): Fix M4 macro name, to align with
49450         new m4/socklen.m4.
49451
49452 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
49453
49454         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
49455         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
49456
49457 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
49458
49459         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
49460         * lib/argp-help.c (fill_in_uparams): Check if the constructed
49461         struct uparams is valid. Fall back to the default values if it is
49462         not.
49463
49464 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
49465
49466         * modules/argp (Files): Add argp-pin.c
49467         (Depends-on): dirname
49468         (lib_SOURCES): Add argp-pin.c
49469
49470 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
49471
49472         * m4/argp.m4:  Check if program_invocation_name and
49473         program_invocation_short_name are declared and define appropriate
49474         macros if they are not.
49475
49476 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
49477
49478         * lib/argp-help.c (__argp_base_name): New function
49479         (__argp_short_program_name): Rewrite using __argp_base_name
49480         * lib/argp-namefrob.h: Define program_invocation_name and
49481         program_invocation_short_name if requested
49482         (__argp_base_name): Add prototype
49483         * lib/argp-parse.c (argp_def): Use gettext wrappers
49484         (argp_default_parser): Use __argp_base_name
49485         * lib/argp-pin.c: New file. Defines program_invocation_name and
49486         program_invocation_short_name on systems that lack them.
49487
49488 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
49489
49490         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
49491         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
49492         porting problem reported by Georg Schwarz in
49493         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
49494
49495 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
49496
49497         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
49498         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
49499         porting problem reported by Georg Schwarz in
49500         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
49501
49502 2005-12-05  Bruno Haible  <bruno@clisp.org>
49503
49504         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
49505         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
49506         Reported by Mark Junker <mjscod@gmx.de>.
49507
49508 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
49509
49510         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
49511         Use implementation from Albert Chin, with some
49512         comments/corrections by Stepan Kasal and myself.
49513
49514 2005-12-02  Bruno Haible  <bruno@clisp.org>
49515
49516         * gnulib-tool (func_import): Accept GPLed build tool modules when
49517         --lgpl is given.
49518         * modules/csharpcomp-script: New file.
49519         * modules/csharpcomp: Depend on it.
49520         * modules/javacomp-script: New file.
49521         * modules/javacomp: Depend on it.
49522         Suggested by Simon Josefsson.
49523
49524 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
49525
49526         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
49527         statement, to work around an HP-UX 10.20 compiler bug reported by
49528         Peter O'Gorman.
49529
49530 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
49531
49532         * modules/savedir (Depends-on): Add openat.
49533
49534 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
49535
49536         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
49537         (uintmax_t) [defined uintmax_t]: Do not declare.
49538         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
49539         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
49540         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
49541         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
49542         sake of portability to weird hosts that C allows (though we don't
49543         know of any practical examples).
49544
49545         * lib/savedir.h (fdsavedir): New decl.
49546         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
49547         contains most of the former guts of savedir.
49548         (savedir): Use savedirstream.
49549         Include "openat.h".
49550
49551 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
49552
49553         * modules/obstack (Files): Add m4/ulonglong.m4.
49554         Problem reported by Davide Angelocola.
49555
49556 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
49557
49558         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
49559         coreutils no longer futzes with rounding modes.
49560
49561 2005-11-14  Jim Meyering  <jim@meyering.net>
49562
49563         * lib/mkstemp-safer.c: Include <config.h>, required for possible
49564         replacement of mkstemp.
49565
49566 2005-11-10  Simon Josefsson  <jas@extundo.com>
49567
49568         * lib/readline.c: Remove EOL.
49569
49570 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
49571
49572         * modules/gethrxtime (Depends-on): Add gettime.
49573
49574 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
49575
49576         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
49577         or gettimeofday; no longer needed.
49578
49579 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
49580
49581         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
49582         time business.
49583         (gethrxtime) [! (HAVE_NANOUPTIME
49584         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
49585         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
49586         our own approximation.
49587
49588 2005-11-08  Eric Blake  <ebb9@byu.net>
49589
49590         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
49591
49592 2005-11-08  Eric Blake  <ebb9@byu.net>
49593
49594         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
49595
49596 2005-11-04  Bruno Haible  <bruno@clisp.org>
49597
49598         * gnulib-tool: Implement --update mode.
49599
49600 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
49601
49602         Fix porting problem reported by Theodoros V. Kalamatianos.
49603         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
49604         Don't assume that futimes failing means we must fail.
49605
49606 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
49607
49608         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
49609         variables to suggest the intended function of the PATH_MAX check.
49610
49611 2005-10-30  Kean Johnston  <jkj@sco.com>
49612
49613         Trivial changes to support SCO systems.
49614         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
49615         as PATH_MAX.
49616         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
49617         where __ptr is null when no I/O is pending.
49618
49619 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
49620
49621         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
49622         leave errno alone.  Problem reported by Dmitry V. Levin.
49623
49624 2005-10-28  Simon Josefsson  <jas@extundo.com>
49625
49626         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
49627         Test more.
49628
49629         * tests/test-gc-md2.c, tests/test-md2.c: New files.
49630
49631         * modules/md2, modules/md2-tests: New files.
49632
49633 2005-10-28  Simon Josefsson  <jas@extundo.com>
49634
49635         * m4/inet_ntop.m4: More tests.
49636
49637         * m4/gc-md2.m4, md2.m4: New file.
49638
49639 2005-10-28  Simon Josefsson  <jas@extundo.com>
49640
49641         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
49642         "restrict" keywords, as per POSIX.  Protect the function
49643         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
49644         Don't use K&R prototypes.  Check the sprintf return values.
49645         Re-define EAFNOSUPPORT if not present.  Indent.
49646
49647         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
49648         suggested by Bruno Haible <bruno@clisp.org>.
49649
49650         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
49651
49652         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
49653
49654         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
49655         libgcrypt).
49656
49657         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
49658
49659         * lib/md2.h, lib/md2.c: New files.
49660
49661 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
49662
49663         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
49664         errno alone.  Problem reported by Frederic Jolliton.
49665
49666 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
49667
49668         * modules/verify (License): Change from GPL to LGPL.  This is a
49669         tiny module and there are apparently near-equivalents that are
49670         under the BSD license.
49671
49672 2005-10-24  Simon Josefsson  <jas@extundo.com>
49673
49674         * modules/sha1: Relicense to LGPL.
49675
49676 2005-10-24  Simon Josefsson  <jas@extundo.com>
49677
49678         * lib/md4.h: Shrink buffer size, now that we changed the type.
49679
49680 2005-10-23  Simon Josefsson  <jas@extundo.com>
49681
49682         * gnulib-tool (func_import): Fix --tests-base.
49683
49684 2005-10-22  Simon Josefsson  <jas@extundo.com>
49685
49686         * modules/arcfour (Depends-on): Need stdint.
49687
49688 2005-10-22  Simon Josefsson  <jas@extundo.com>
49689
49690         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
49691         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
49692
49693 2005-10-22  Simon Josefsson  <jas@extundo.com>
49694
49695         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
49696         suggested by Bruno Haible <bruno@clisp.org>.
49697
49698 2005-10-22  Simon Josefsson  <jas@extundo.com>
49699
49700         * lib/crc.h: Include stddef.h, for size_t.
49701
49702 2005-10-22  Simon Josefsson  <jas@extundo.com>
49703
49704         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
49705         arcfour_context struct (simplify test vector testing in GNU
49706         Shishi).
49707
49708 2005-10-21  Simon Josefsson  <jas@extundo.com>
49709
49710         * modules/des, modules/des-tests: New files.
49711
49712         * modules/gc-des, modules/gc-des-tests: New files.
49713
49714         * tests/test-des.c, tests/test-gc-des.c: New file.
49715
49716 2005-10-21  Simon Josefsson  <jas@extundo.com>
49717
49718         * modules/arctwo, modules/arctwo-tests: New files.
49719
49720         * tests/test-arctwo.c: New file.
49721
49722         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
49723
49724         * tests/test-gc-arctwo.c: New file.
49725
49726 2005-10-21  Simon Josefsson  <jas@extundo.com>
49727
49728         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
49729         Bruno Haible <bruno@clisp.org>.
49730
49731         * m4/gc-des.m4: New file.
49732
49733 2005-10-21  Simon Josefsson  <jas@extundo.com>
49734
49735         * m4/arctwo.m4: New file.
49736
49737         * m4/gc-arctwo.m4: New file.
49738
49739 2005-10-21  Simon Josefsson  <jas@extundo.com>
49740
49741         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
49742         block.
49743
49744 2005-10-21  Simon Josefsson  <jas@extundo.com>
49745
49746         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
49747         <bruno@clisp.org>.
49748
49749         * lib/hmac-sha1.c (hmac_sha1): Likewise.
49750
49751         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
49752         Bruno Haible <bruno@clisp.org>.
49753
49754         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
49755         <bruno@clisp.org>.
49756
49757 2005-10-21  Simon Josefsson  <jas@extundo.com>
49758
49759         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
49760
49761 2005-10-21  Simon Josefsson  <jas@extundo.com>
49762
49763         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
49764
49765 2005-10-21  Simon Josefsson  <jas@extundo.com>
49766
49767         * lib/des.h, lib/des.c: New files.
49768
49769         * lib/gc-gnulib.c: Support DES.c
49770
49771 2005-10-21  Simon Josefsson  <jas@extundo.com>
49772
49773         * lib/arctwo.h, lib/arctwo.c: New files.
49774
49775         * lib/gc-gnulib.c: Support ARCTWO.
49776
49777 2005-10-21  Simon Josefsson  <jas@extundo.com>
49778
49779         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
49780         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
49781
49782 2005-10-21  Simon Josefsson  <jas@extundo.com>
49783
49784         * gnulib-tool (func_import, func_create_testdir): Define automake
49785         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
49786         Makefile.am snippet),
49787         suggested by Bruno Haible <bruno@clisp.org>.
49788
49789         * modules/gc (Makefile.am): Use it.
49790
49791 2005-10-21  Bruno Haible  <bruno@clisp.org>
49792
49793         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
49794         patch.
49795
49796 2005-10-19  Simon Josefsson  <jas@extundo.com>
49797
49798         * tests/test-gc-rijndael.c: New file.
49799
49800         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
49801
49802 2005-10-19  Simon Josefsson  <jas@extundo.com>
49803
49804         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
49805         interface too.
49806
49807 2005-10-19  Simon Josefsson  <jas@extundo.com>
49808
49809         * tests/test-gc-arcfour.c: New file.
49810
49811         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
49812
49813 2005-10-19  Simon Josefsson  <jas@extundo.com>
49814
49815         * modules/gc-md4, modules/gc-md4-tests: New file.
49816
49817         * tests/test-gc-md4.c: New file.
49818
49819 2005-10-19  Simon Josefsson  <jas@extundo.com>
49820
49821         * m4/gc-md4.m4: New file.
49822
49823 2005-10-19  Simon Josefsson  <jas@extundo.com>
49824
49825         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
49826         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
49827         <kasal@ucw.cz>.
49828
49829 2005-10-19  Simon Josefsson  <jas@extundo.com>
49830
49831         * m4/gc-arcfour.m4: New file.
49832
49833         * m4/gc-rijndael.m4: New file.
49834
49835 2005-10-19  Simon Josefsson  <jas@extundo.com>
49836
49837         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
49838
49839 2005-10-19  Simon Josefsson  <jas@extundo.com>
49840
49841         * lib/gc-gnulib.c: Support ARCFOUR.
49842
49843 2005-10-19  Simon Josefsson  <jas@extundo.com>
49844
49845         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
49846         support.
49847
49848         * lib/gc.h: Add ECB enum type.
49849
49850         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
49851
49852 2005-10-18  Simon Josefsson  <jas@extundo.com>
49853
49854         * tests/test-md5.c: New file.
49855
49856         * modules/md5-tests: New file.
49857
49858 2005-10-18  Simon Josefsson  <jas@extundo.com>
49859
49860         * tests/test-md4.c: New file.
49861
49862         * modules/md4, modules/md4-tests: New files.
49863
49864 2005-10-18  Simon Josefsson  <jas@extundo.com>
49865
49866         * m4/md4.m4: New file.
49867
49868 2005-10-18  Simon Josefsson  <jas@extundo.com>
49869
49870         * lib/md4.h, lib/md4.c: New files, based on md5.?.
49871
49872 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
49873
49874         * gnulib-tool (func_create_testdir): Omit the second check whether
49875         BUILT_SOURCES in nonempty.
49876
49877 2005-10-17  Simon Josefsson  <jas@extundo.com>
49878
49879         * tests/test-rijndael.c: New file.
49880
49881 2005-10-17  Simon Josefsson  <jas@extundo.com>
49882
49883         * modules/sha1: Depend on stdint instead of md5.
49884
49885         * modules/md5: Depend on stdint, remove uint32_t.
49886
49887 2005-10-17  Simon Josefsson  <jas@extundo.com>
49888
49889         * modules/gc-sha1-tests: New file.
49890
49891         * tests/test-gc-sha1.c: New file.
49892
49893 2005-10-17  Simon Josefsson  <jas@extundo.com>
49894
49895         * m4/md5.m4: Remove call to uint32_t.m4.
49896
49897 2005-10-17  Simon Josefsson  <jas@extundo.com>
49898
49899         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
49900
49901         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
49902         md5.h.
49903
49904         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
49905
49906         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
49907
49908 2005-10-17  Simon Josefsson  <jas@extundo.com>
49909
49910         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
49911
49912 2005-10-17  Simon Josefsson  <jas@extundo.com>
49913
49914         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
49915
49916 2005-10-17  Simon Josefsson  <jas@extundo.com>
49917
49918         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
49919
49920         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
49921
49922 2005-10-17  Bruno Haible  <bruno@clisp.org>
49923
49924         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
49925         that it can also be used in a test.
49926
49927 2005-10-16  Bruno Haible  <bruno@clisp.org>
49928
49929         * gnulib-tool (func_emit_tests_Makefile_am): Also define
49930         TESTS_ENVIRONMENT, so that individual tests can augment it.
49931
49932         * gnulib-tool (func_create_testdir): Use an intermediate target for
49933         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
49934         macros, like $(ALLOCA_H), which cannot be passed through the command
49935         line.
49936
49937 2005-10-15  Simon Josefsson  <jas@extundo.com>
49938
49939         * modules/rijndael-tests: New file.
49940
49941         * modules/rijndael: New file.
49942
49943 2005-10-15  Simon Josefsson  <jas@extundo.com>
49944
49945         * m4/rijndael.m4: New file.
49946
49947 2005-10-15  Simon Josefsson  <jas@extundo.com>
49948
49949         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
49950
49951         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
49952
49953 2005-10-14  Simon Josefsson  <jas@extundo.com>
49954
49955         * tests/test-arcfour.c: New file.
49956
49957         * modules/arcfour, modules/arcfour-tests: New files.
49958
49959 2005-10-14  Simon Josefsson  <jas@extundo.com>
49960
49961         * m4/arcfour.m4: New file.
49962
49963 2005-10-14  Simon Josefsson  <jas@extundo.com>
49964
49965         * lib/arcfour.h, lib/arcfour.c: New files.
49966
49967 2005-10-14  Roland McGrath  <roland@redhat.com>
49968
49969         Import from libc.  [BZ #1331]
49970         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
49971         macro argument.
49972         Reported by Matej Vela <vela@debian.org>.
49973
49974 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
49975
49976         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
49977         include <wchar.h>; no longer needed.
49978
49979 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
49980
49981         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
49982
49983 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
49984         and  Ulrich Drepper  <drepper@redhat.com>
49985
49986         Import from libc.
49987         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
49988         instead of inline stream orientation test and two separate
49989         function calls.  Pay no attention to USE_IN_LIBIO.
49990
49991 2005-10-13  Simon Josefsson  <jas@extundo.com>
49992
49993         * modules/gc-hmac-md5-tests: New file.
49994
49995         * tests/test-gc-hmac-sha1.c: New file.
49996
49997         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
49998
49999         * modules/gc-hmac-md5-tests: New file.
50000
50001         * tests/test-gc-md5.c: New file.
50002
50003         * modules/gc-md5-tests: New file.
50004
50005 2005-10-13  Simon Josefsson  <jas@extundo.com>
50006
50007         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
50008         Move memory allocation outside of loop.
50009
50010 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
50011
50012         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
50013         intermediate directory is in a read-only file system.  Problem
50014         reported by Eric Blake.
50015
50016 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
50017
50018         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
50019
50020 2005-10-12  Simon Josefsson  <jas@extundo.com>
50021
50022         * tests/test-hmac-sha1.c: New file.
50023
50024         * modules/hmac-sha1-tests: New file.
50025
50026         * modules/hmac-sha1: New file.
50027
50028 2005-10-12  Simon Josefsson  <jas@extundo.com>
50029
50030         * modules/gc-sha1: New file.
50031
50032 2005-10-12  Simon Josefsson  <jas@extundo.com>
50033
50034         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
50035
50036         * tests/test-gc-pbkdf2-sha1.c: New file.
50037
50038 2005-10-12  Simon Josefsson  <jas@extundo.com>
50039
50040         * modules/gc-md5, modules/gc-hmac-md5: New files.
50041
50042         * modules/gc (Files): Remove md5, memxor and hmac files.
50043
50044 2005-10-12  Simon Josefsson  <jas@extundo.com>
50045
50046         * m4/gc-pbkdf2-sha1.m4: New file.
50047
50048         * m4/gc-hmac-sha1.m4: New file.
50049
50050         * m4/gc-sha1: New file.
50051
50052         * m4/hmac-sha1.m4: New file.
50053
50054 2005-10-12  Simon Josefsson  <jas@extundo.com>
50055
50056         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
50057
50058         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
50059
50060 2005-10-12  Simon Josefsson  <jas@extundo.com>
50061
50062         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
50063         suggested by Bruno Haible <bruno@clisp.org>.
50064
50065 2005-10-12  Simon Josefsson  <jas@extundo.com>
50066
50067         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
50068
50069 2005-10-12  Simon Josefsson  <jas@extundo.com>
50070
50071         * lib/gc-pbkdf2-sha1.c: New file.
50072
50073         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
50074
50075 2005-10-12  Simon Josefsson  <jas@extundo.com>
50076
50077         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
50078
50079         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
50080
50081 2005-10-12  Simon Josefsson  <jas@extundo.com>
50082
50083         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
50084         GC_USE_HMAC_MD5, respectively.
50085
50086         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
50087         (gc_md5): Fix typo.
50088
50089         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
50090
50091         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
50092
50093         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
50094
50095 2005-10-12  Bruno Haible  <bruno@clisp.org>
50096
50097         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
50098         Reported by Stepan Kasal <kasal@ucw.cz>.
50099
50100 2005-10-11  Simon Josefsson  <jas@extundo.com>
50101
50102         * tests/test-crc.c: New file.
50103
50104         * modules/crc, modules/crc-tests: New files.
50105
50106 2005-10-11  Simon Josefsson  <jas@extundo.com>
50107
50108         * m4/crc.m4: New file.
50109
50110 2005-10-11  Simon Josefsson  <jas@extundo.com>
50111
50112         * lib/gc.h: Add gc_hash and gc_hash_buffer.
50113
50114         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
50115
50116         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
50117
50118 2005-10-11  Simon Josefsson  <jas@extundo.com>
50119
50120         * lib/crc.h, lib/crc.c: New files.
50121
50122         * lib/gc.h (gc_hash_buffer): Add doc.
50123
50124 2005-10-11  Bruno Haible  <bruno@clisp.org>
50125
50126         * modules/c-strcasestr: New file.
50127         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
50128
50129 2005-10-11  Bruno Haible  <bruno@clisp.org>
50130
50131         * modules/c-strcase: New file.
50132         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
50133
50134 2005-10-11  Bruno Haible  <bruno@clisp.org>
50135
50136         * lib/strcasecmp.c: Include limits.h.
50137         (strcasecmp): Avoid integer overflow on exotic platforms.
50138         * lib/strncasecmp.c: Include limits.h.
50139         (strncasecmp): Avoid integer overflow on exotic platforms.
50140         Reported by Paul Eggert.
50141
50142 2005-10-11  Bruno Haible  <bruno@clisp.org>
50143
50144         * lib/c-strcasestr.h: New file, from GNU gettext.
50145         * lib/c-strcasestr.c: New file, from GNU gettext.
50146
50147 2005-10-11  Bruno Haible  <bruno@clisp.org>
50148
50149         * lib/c-strcase.h: New file, from GNU gettext.
50150         * lib/c-strcasecmp.c: New file, from GNU gettext.
50151         * lib/c-strncasecmp.c: New file, from GNU gettext.
50152
50153 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
50154
50155         * modules/mempcpy (License): GPL -> LGPL.
50156         * modules/strchrnul (License): Likewise.
50157         * modules/sysexits (License): Likewise.
50158
50159 2005-10-08  Simon Josefsson  <jas@extundo.com>
50160
50161         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
50162
50163 2005-10-07  Simon Josefsson  <jas@extundo.com>
50164
50165         * m4/memxor.m4: Remove gl_C_RESTRICT call.
50166
50167 2005-10-06  Simon Josefsson  <jas@extundo.com>
50168
50169         * tests/test-hmac-md5.c: New file.
50170
50171         * modules/hmac-md5-tests: New file.
50172
50173         * modules/hmac-md5: New file.
50174
50175 2005-10-06  Simon Josefsson  <jas@extundo.com>
50176
50177         * m4/hmac-md5.m4: New file.
50178
50179         * m4/memxor.m4: Require gl_C_RESTRICT.
50180
50181 2005-10-06  Simon Josefsson  <jas@extundo.com>
50182
50183         * lib/memxor.c (memxor): Avoid casts and warnings.
50184
50185 2005-10-06  Simon Josefsson  <jas@extundo.com>
50186
50187         * lib/hmac-md5.c: New file.
50188
50189         * lib/hmac.h: New file.
50190
50191 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
50192
50193         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
50194         promotes to int, not unsigned int, to catch the AIX 5.3
50195         compiler bug.
50196
50197 2005-10-05  Simon Josefsson  <jas@extundo.com>
50198
50199         * modules/memxor: New file.
50200
50201         * modules/iconv (Files): Move config.rpath to havelib, it is used
50202         there.
50203
50204         * modules/havelib (Files): Add config.rpath.
50205
50206 2005-10-05  Simon Josefsson  <jas@extundo.com>
50207
50208         * m4/memxor.m4: New file.
50209
50210 2005-10-05  Simon Josefsson  <jas@extundo.com>
50211
50212         * lib/memxor.c (memxor): Fix compiler error.
50213
50214         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
50215         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
50216
50217         * lib/memxor.h, lib/memxor.c: New files.
50218
50219         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
50220         we assume all systems have it, suggested by Jim Meyering
50221         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
50222         any systems lack sys/socket.h; mingw32 is known to lack it, but we
50223         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
50224         same reasons.
50225
50226 2005-10-05  Simon Josefsson  <jas@extundo.com>
50227
50228         * config/srclist.txt: Add glibc bug 1423 for md5.h.
50229
50230 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
50231
50232         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
50233         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
50234         needed, since the source code now assumes these .h files.
50235
50236 2005-10-05  Derek Price  <derek@ximbiot.com>
50237
50238         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
50239
50240 2005-10-05  Bruno Haible  <bruno@clisp.org>
50241
50242         * modules/stdint (License): Change to LGPL.
50243
50244 2005-10-04  Simon Josefsson  <jas@extundo.com>
50245
50246         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
50247         D. Baushke" <mdb@gnu.org>.
50248
50249 2005-10-04  Bruno Haible  <bruno@clisp.org>
50250
50251         * lib/verify.h (verify_true): Provide alternative definition for C++.
50252
50253 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
50254
50255         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
50256         (SSIZE_MAX): New macro, if not already defined.
50257         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
50258         than 2 GiB.
50259
50260 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
50261
50262         Sync from coreutils.
50263         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
50264         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
50265         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
50266         ULLONG_MAX doesn't work with 2.7.2.1.
50267
50268 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
50269
50270         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
50271         From Ben Pfaff.
50272
50273         * modules/exclude (Depends-on): Depend on verify.
50274         * modules/strtoimax (Depends-on): Likewise.
50275         * modules/utimecmp (Depends-on): Likewise.
50276
50277 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
50278
50279         * lib/exclude.c: Include verify.h.
50280         (verify): Remove.  All callers changed to use verify.h's version.
50281         * lib/strtoimax.c: Likewise.
50282         * lib/utimecmp.c: Likewis.e
50283
50284         Sync from coreutils.
50285         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
50286         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
50287         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
50288         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
50289         bother returning ENOSYS if settimeofday or stime fails; just let
50290         them return whatever errno they want to return.
50291         * lib/utimens.c: Include unistd.h, for dup2.
50292         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
50293         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
50294
50295 2005-10-02  Jim Meyering  <jim@meyering.net>
50296
50297         Sync from coreutils.
50298         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
50299         from glibc-2.2.5 that fails for read-only files.
50300
50301 2005-10-02  Jim Meyering  <jim@meyering.net>
50302
50303         Sync from coreutils.
50304         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
50305         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
50306         `#if HAVE_CONFIG_H'.
50307         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
50308         Remove AT_FDCWD test.
50309         Do not consume the fd unless successful.
50310         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
50311         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
50312         block, so that we don't even try to compile it if settimeofday is
50313         available.  This works around a compilation failure on OSF1 V5.1,
50314         due to stime requiring a `long int*' while tv_sec is `int'.
50315
50316 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
50317
50318         Sync from coreutils.
50319         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
50320         against `yes', rather than just testing for nonempty.
50321
50322 2005-10-01  Simon Josefsson  <jas@extundo.com>
50323
50324         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
50325         and Darwin.
50326
50327         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
50328         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
50329         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
50330         freeaddrinfo and gai_strerror are declared by the POSIX headers.
50331         Check if struct addrinfo is declared.
50332
50333 2005-10-01  Simon Josefsson  <jas@extundo.com>
50334
50335         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
50336         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
50337         AI_* and EAI_* definitions.  Protect function declarations.
50338
50339 2005-10-01  Jim Meyering  <jim@meyering.net>
50340
50341         Sync from coreutils.
50342
50343         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
50344         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
50345         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
50346         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
50347         in the inet and nsl libraries.  Required on Solaris 5.7.
50348
50349 2005-10-01  Jim Meyering  <jim@meyering.net>
50350
50351         Sync from coreutils.
50352         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
50353         in the inet and nsl libraries.  Required on Solaris 5.7.
50354
50355 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
50356
50357         * lib/getdelim.c (getdelim): Remove unused variables.
50358
50359 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
50360
50361         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
50362         so that the code works even with ancient cpp.  Portability problem
50363         with GCC 2.7.2.1 reported by Thomas M.Ott.
50364
50365 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
50366
50367         * modules/regex (Depends-on): Add strcase.
50368
50369         * modules/gethostname (Licence): Change from GPL to LGPL, since
50370         gethostname.c is a trivial implementation of a standard library
50371         function.
50372         * modules/poll (License): Change from GPL to LGPL, since it's
50373         derived from LGPL code.
50374
50375 2005-09-27  Jim Meyering  <jim@meyering.net>
50376
50377         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
50378         HAVE_CONFIG_H.
50379
50380         * lib/intprops.h (signed_type_or_expr__): Define.
50381         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
50382         for unsigned types.
50383
50384 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
50385
50386         * lib/verify.h (verify_expr): Remove, replacing with:
50387         (verify_true): New macro that returns true instead of void.
50388         (verify_type__): Remove.
50389         (verify): Use verify_true rather than verify_type__.
50390
50391 2005-09-26  Bruno Haible  <bruno@clisp.org>
50392
50393         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
50394         is necessary.
50395         (lib_SOURCES): Remove mbchar.c.
50396         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
50397         (Files): Add m4/mbrtowc.m4.
50398         * modules/mbiter: Likewise.
50399         * modules/mbuiter: Likewise.
50400
50401 2005-09-26  Bruno Haible  <bruno@clisp.org>
50402
50403         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
50404         compile mbchar.c if they are not both present.
50405         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
50406         * m4/mbiter.m4 (gl_MBITER): Likewise.
50407         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
50408         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
50409         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
50410
50411 2005-09-25  Jim Meyering  <jim@meyering.net>
50412
50413         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
50414         also uses socklen_t.
50415
50416 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
50417
50418         * lib/utimens.c (ENOSYS): Define if not already defined.
50419         (futimens): Support having a null PATH if the file descriptor
50420         is nonnegative.
50421
50422         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
50423         Remove.
50424         (__attribute): Define to empty unless GCC 3.1 or later.
50425         This works around a core dump on OpenBSD 3.4, which has GCC
50426         2.95.3, which dumps core when given __attribute__(()).  It also
50427         simplifies other tests, since we really don't want to bother with
50428         worrying about which ancient version of GCC supported what.
50429         Original problem reported by Yoann Vandoorselaere, with part of
50430         the fix suggested by Derek Price.
50431
50432 2005-09-24  Jim Meyering  <jim@meyering.net>
50433
50434         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
50435         so we can once again use a positive bitfield width of 1 -- now we
50436         don't have to explain why we were using a bitfield width of 2.
50437
50438 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
50439
50440         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
50441         and similarly for the other external symbols.  Problem reported
50442         by James Gallager.
50443
50444         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
50445         bug reported by Jim Meyering.
50446
50447         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
50448         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
50449         not needed, since socklen is a prerequisite module.
50450
50451 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
50452
50453         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
50454         Problem reported by Eric Blake.
50455         (getaddrinfo): Initialize se so that it's not garbage.
50456         Redo internal storage allocation so that it doesn't make unportable
50457         assumptions about alignment.
50458         Fix a memory leak.
50459
50460         * lib/utimens.c (futimens): Use futimesat if available.
50461         Prefer it to futimes since it doesn't have the futimes bug.
50462
50463         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
50464         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
50465         Instead, declare a function that returns a pointer to an array,
50466         and use verify_type__ to declare the size of the array.
50467         Problem and germ of a solution reported by Bruno Haible.
50468         (verify_type__): Use 2, not 1, for bitfield size, to avoid
50469         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
50470
50471 2005-09-23  Jim Meyering  <jim@meyering.net>
50472
50473         Sync from coreutils.
50474         Correct build failure (socklen_t not defined) on at least
50475         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
50476         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
50477
50478 2005-09-23  Jim Meyering  <jim@meyering.net>
50479
50480         * modules/getaddrinfo (Depends-on): Add socklen.
50481
50482 2005-09-23  Bruno Haible  <bruno@clisp.org>
50483
50484         * tests/test-verify.c: New file.
50485
50486 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
50487
50488         Sync from coreutils.
50489
50490         * modules/argmatch (Depends-on): Add verify.
50491         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
50492         unistd-safer.
50493         * modules/save-cwd (Depends-on): Likewise.
50494
50495         * modules/openat (Files): Add lib/openat-die.c.
50496         (Depends-on): Remove error, exitfail.
50497         Add dirname.
50498
50499         * modules/verify: New file.
50500         * MODULES.html.sh (Diagnostics <assert.h>): New section,
50501         with "verify" module.
50502
50503 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
50504
50505         Sync from coreutils.
50506
50507         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
50508         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
50509         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
50510         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
50511         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
50512         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
50513         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
50514         Don't bother checking for string.h, stdlib.h, unistd.h.
50515         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
50516         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
50517         module's job.
50518         * m4/jm-macros.m4 (gl_MACROS): Likewise.
50519         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
50520
50521         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
50522         (gl_GETDATE): Use it.
50523
50524         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
50525
50526 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
50527
50528         Sync from coreutils.
50529
50530         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
50531         stat-time.h.
50532         * lib/argmatch.h: Include verify.h
50533         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
50534         (ARGMATCH_ASSERT): Remove; unused.
50535         * lib/canonicalize.c: Assume STDC_HEADERS.
50536         * lib/exclude.c: Include "strcase.h".
50537         * lib/regex_internal.h [!defined _LIBC]: Likewise.
50538         * lib/getusershell.c: Include stdio--.h rather than stdio.h
50539         and stdio-safer.h.
50540         (getusershell): Call fopen, not fopen_safer.
50541         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
50542         Do not include unistd-safer.h.
50543         (save_cwd): Don't call fd_safer; no longer needed
50544         now that we include fcntl--.h.
50545
50546         * lib/getdate.y (relative_time): New type.
50547         (RELATIVE_TIME_0): New constant.
50548         (parser_control): Use relative_time instead of doing it ourselves.
50549         (%union): Add new relative_time rel member.
50550         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
50551         Now typeless.
50552         (relunit, relunit_snumber): Now of type rel.
50553         (zone, rel, relunit, get_date): Adjust to above changes.
50554
50555         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
50556         Do not include unistd-safer.h.
50557         (getloadavg): Don't call fd_safer; no longer needed
50558         now that we include fcntl--.h.
50559
50560         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
50561         (make_dir_parents): Treat ENOSYS like EEXIST.
50562
50563         Improve quality of diagnostics on restore_cwd failure.
50564         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
50565         (make_dir_parents): Last arg is now int * (for errno), not bool *.
50566         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
50567         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
50568         each time through the loop.  Do not diagnose restore_cwd failure;
50569         that is the caller's job (and perhaps the caller does not care).
50570
50571         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
50572         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
50573         If the file already exists but is not a directory, don't bother
50574         to try to make its parents.
50575         Close potential file descriptor leak if we can't chdir("/") (!).
50576         Don't always return true if chdir($PWD) fails; return true only
50577         if the requested action was done successfully (except for the
50578         chdir($PWD)).
50579         Don't log final directory unless we actually made it.
50580         Refactor to avoid duplicate code to fix up permissions.
50581         Don't attempt to fix up parent permissions if chdir($PWD) fails.
50582
50583         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
50584         to make it a bit faster and (I hope) clearer.
50585         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
50586         Fix bug in formats like %2N.
50587
50588         * lib/verify.h: New file.
50589
50590 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
50591
50592         Sync from coreutils.
50593         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
50594
50595 2005-09-22  Jim Meyering  <jim@meyering.net>
50596
50597         Sync from coreutils.
50598
50599         * m4/lstat.m4 (gl_FUNC_LSTAT):
50600         Use AC_LIBSOURCES to require lstat.c and lstat.h.
50601         Remove obsolete comment.
50602         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
50603         * m4/xstrtod.m4: Likewise.
50604
50605         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
50606
50607 2005-09-22  Jim Meyering  <jim@meyering.net>
50608
50609         Sync from coreutils.
50610
50611         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
50612
50613         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
50614         the .tm_year member, since otherwise gcc-4.0 would now warn about
50615         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
50616
50617         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
50618         order to avoid an unsuppressible warning from gcc on 64-bit systems.
50619
50620         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
50621         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
50622         when run in a time zone for which daylight savings time is in effect
50623         for the starting date.
50624
50625         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
50626         stop us from restricting permissions of just-created absolute-named
50627         directories.
50628         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
50629         to restore initial working directory.
50630         * lib/mkdir-p.c (make_dir_parents): New parameter:
50631         different_working_dir, to tell caller if/when we change the working
50632         directory and are unable to return to the initial one.
50633         * lib/mkdir-p.h (make_dir_parents): Update prototype.
50634         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
50635         `return false'.  This fixes a bug introduced on 2004-07-30.
50636
50637         * lib/openat.c (fdopendir): Be sure to close the supplied
50638         file descriptor before returning.  This makes our replacement
50639         implementation a little closer to Solaris's, where fdopendir
50640         ties the file descriptor to the returned DIR* pointer.
50641         * lib/openat.c (unlinkat): New function.
50642         * lib/openat.h (unlinkat): Add prototype.
50643         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
50644         (openat_restore_fail): Rename from openat_restore_die.
50645         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
50646
50647         Provide an alternative to exiting immediately upon save_cwd or
50648         restore_cwd failure.  Now, an application can arrange e.g.,
50649         to perform a longjump in that case.
50650         * lib/openat.c: Include dirname.h.
50651         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
50652         (rpl_openat, fdopendir, fstatat): Call openat_save_die
50653         and openat_restore_die rather than calling error directly.
50654         Don't include "error.h" or "exitfail.h"; they're no longer needed.
50655
50656         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
50657         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
50658         define.
50659
50660         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
50661         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
50662                             int utc, int nanoseconds);
50663         Background:
50664         date should not have to allocate a megabyte of virtual memory to
50665         handle a format argument like +%1048575T.  When implemented with
50666         strftime, it must allocate such a buffer, use strftime to fill it
50667         in, print it, then free it.
50668         With fprintftime, it simply prints everything and exits.
50669         With no need for memory allocation, that's one fewer way to fail.
50670         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
50671         optional field width, not before, so we accept %9:z, not %:9z.
50672         (my_strftime): Be sure to use L_('x') for literals.
50673
50674         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
50675         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
50676         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
50677         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
50678         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
50679         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
50680         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
50681         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
50682         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
50683         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
50684         * lib/xgethostname.c, lib/xreadlink.c:
50685         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
50686
50687         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
50688         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
50689         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
50690         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
50691         and don't include <sys/file.h>).
50692
50693 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
50694
50695         Sync from coreutils.
50696
50697         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
50698         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
50699         [!LDAV_DONE]: Avoid unused variable warning.
50700
50701 2005-09-21  Bruno Haible  <bruno@clisp.org>
50702
50703         * lib/unicodeio.h (unicode_to_mb): New declaration.
50704
50705 2005-09-20  Derek Price  <derek@ximbiot.com>
50706
50707         * lib/getaddrinfo.c: Don't include <netdb.h> included from
50708         getaddrinfo.h.
50709
50710 2005-09-20  Bruno Haible  <bruno@clisp.org>
50711
50712         * gnulib-tool: Remove trailing slashes from the values specified for
50713         --source-base, --m4-base, --tests-base, --aux-dir.
50714         Suggested by Simon Josefsson <jas@extundo.com>.
50715
50716 2005-09-20  Bruno Haible  <bruno@clisp.org>
50717
50718         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
50719         func_modules_to_filelist, func_import, func_create_testdir): Make all
50720         sorting results locale-independent, so that gnulib-cache.m4 doesn't
50721         change when gnulib-tool is invoked in a different locale.
50722
50723 2005-09-19  Simon Josefsson  <jas@extundo.com>
50724
50725         * m4/socklen.m4: Fix typo.
50726
50727 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50728
50729         Use a consistent style for including <config.h>.
50730         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
50731         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
50732         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
50733         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
50734         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
50735         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
50736         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
50737         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
50738         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
50739         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
50740         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
50741         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
50742         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
50743         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
50744         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
50745         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
50746         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
50747         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
50748         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
50749         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
50750         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
50751         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
50752         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
50753         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
50754         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
50755         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
50756         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
50757         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
50758         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
50759         lib/xstrtoumax.c, lib/yesno.c:
50760         Standardize inclusion of config.h.
50761         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
50762         lib/inttostr.h:  Removed inclusion of config.h from header files.
50763         * lib/inttostr.c:  Adjusted in-tree users.
50764         * lib/timespec.h: Remove superfluous warning to include config.h.
50765         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
50766         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
50767         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
50768         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
50769         config.h with HAVE_CONFIG_H.
50770
50771 2005-09-19  Jim Meyering  <jim@meyering.net>
50772
50773         * modules/pathmax (License): Change to LGPL.
50774
50775 2005-09-19  Derek Price  <derek@ximbiot.com>
50776
50777         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
50778
50779 2005-09-19  Bruno Haible  <bruno@clisp.org>
50780
50781         * gnulib-tool (import): Provide default for --tests-base.
50782
50783 2005-09-19  Bruno Haible  <bruno@clisp.org>
50784
50785         * doc/quote.texi: New file, extracted from gnulib.texi.
50786         * doc/ctime.texi: New file, extracted from gnulib.texi.
50787         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
50788         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
50789         * doc/gnulib.texi: Include them.
50790
50791 2005-09-18  Bruno Haible  <bruno@clisp.org>
50792
50793         Portability fix.
50794         * gnulib-tool (func_readlink): New function.
50795         (func_ln_if_changed): Use it.
50796
50797 2005-09-18  Bruno Haible  <bruno@clisp.org>
50798
50799         * gnulib-tool: Support --with-tests also with --import.
50800         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
50801         (func_import): Use variables $testsbase and $inctests. Emit a
50802         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
50803         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
50804         SUBDIRS += $testsdir.
50805         (func_create_testdir): Update.
50806
50807 2005-09-18  Bruno Haible  <bruno@clisp.org>
50808
50809         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
50810         instead of $dry_run.
50811         (func_cp_if_changed, func_mv_if_changed): Remove functions.
50812         (func_ln_if_changed): Don't handle dry-run here.
50813         (func_import): In dry-run mode, detect more precisely which actions
50814         would be performed, and don't use "...ing" verbs.
50815
50816 2005-09-18  Bruno Haible  <bruno@clisp.org>
50817
50818         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
50819         (func_import): Use join on two temporary files instead of three nested
50820         loops, in order to determine which files are new or old.
50821
50822 2005-09-18  Bruno Haible  <bruno@clisp.org>
50823
50824         * gnulib-tool (func_import): Comment out code that spits out the
50825         new files with --dry-run.
50826
50827 2005-09-18  Bruno Haible  <bruno@clisp.org>
50828
50829         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
50830
50831 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
50832
50833         * lib/stat-time.h: New file.
50834         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
50835         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
50836         in a different way.
50837         (timespec_cmp): New function.
50838         * lib/utimecmp.c: Include stat-time.h.
50839         (SYSCALL_RESOLUTION): Depend on whether various struct stat
50840         members exist, not on the obsolescent ST_MTIM_NSEC.
50841         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
50842
50843 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
50844
50845         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
50846
50847 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
50848
50849         * MODULES.html.sh (File system functions): Add stat-time.
50850         * modules/stat-time: New file.
50851         * modules/timespec (Files): Remove m4/st_mtim.m4; this
50852         is now done in a different way, by the stat-time module.
50853         * modules/utimecmp (Depends-on): Add stat-time.
50854
50855 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
50856
50857         * m4/st_mtim.m4: Remove.  Superseded by...
50858         * m4/stat-time.m4: New file.
50859         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
50860         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
50861
50862 2005-09-15  Derek Price  <derek@ximbiot.com>
50863
50864         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
50865
50866 2005-09-15  Derek Price  <derek@ximbiot.com>
50867
50868         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
50869         * lib/regex_internal.c: Ditto, using this...
50870         (__GNUC_PREREQ): ...new macro.
50871         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
50872         using...
50873         (__GNUC_PREREQ): ...this new macro.
50874
50875         * lib/strstr.h: Include string.h. Define strstr as a macro here.
50876
50877 2005-09-15  Derek Price  <derek@ximbiot.com>
50878             Paul Eggert  <eggert@cs.ucla.edu>
50879
50880         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
50881         changes, consolidating in...
50882         * lib/regex_internal.h: ...this file.
50883
50884 2005-09-13  Jim Meyering  <jim@meyering.net>
50885
50886         * lib/canon-host.c: Filter through gnu indent and reword comments
50887         slightly.
50888         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
50889
50890 2005-09-13  Derek Price  <derek@ximbiot.com>
50891
50892         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
50893         failure.
50894         Reported by Jim Meyering  <jim@meyering.net>.
50895
50896 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
50897
50898         * lib/base64.c: Typo.
50899         (base64_encode): Put b64str in initialized data section.
50900
50901 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
50902
50903         Merge glibc and coreutils changes into gnulib, plus a few
50904         extra fixes.
50905         * lib/md5.c: Use #error rather than a string.
50906         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
50907         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
50908         (__attribute__): Define to empty for non recent-GCC.
50909         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
50910         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
50911         Renamed from their non-__ counterparts, with new macros replacing
50912         them if not _LIBC.  Add __THROW attribute.
50913         (rol): Remove.
50914         (struct md5_ctx): Align buffer if using GCC.
50915         * lib/sha1.h (struct sha1_ctx): Likewise.
50916         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
50917         The old name was backwards.
50918         (NOTSWAP): Remove; not used.
50919         (rol): New macro, moved here from md5.h.
50920         (sha1_process_block): Remove a FIXME that doesn't make sense.
50921
50922 2005-09-12  Derek Price  <derek@ximbiot.com>
50923
50924         Return usable errors from canon-host.
50925         * lib/canon-host.h: New file.
50926         * lib/canon-host.c (canon_host): Wrap...
50927         (canon_host_r): ...this new function, which now relies exclusively on
50928         getaddrinfo.
50929         (ch_strerror): New function.
50930         (last_cherror): New global.
50931         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
50932         interface.
50933         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
50934         void *.
50935         (freeaddrinfo): Free ai->ai_canonname when set.
50936
50937 2005-09-12  Derek Price  <derek@ximbiot.com>
50938
50939         Make canon-host require getaddrinfo.
50940         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
50941         AC_LIBSOURCE canon-host.h.  Call...
50942         (gl_PREREQ_CANON_HOST): ...this new function, which requires
50943         gl_GETADDRINFO.
50944         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
50945
50946 2005-09-12  Derek Price  <derek@ximbiot.com>
50947
50948         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
50949         LGPL.
50950         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
50951
50952 2005-09-12  Derek Price  <derek@ximbiot.com>
50953
50954         * lib/gai_strerror.c: Include config.h when available.  Include
50955         getaddrinfo.h before other headers to test interface.
50956         Reported by Larry Jones <lawrence.jones@ugs.com>.
50957
50958 2005-09-12  Derek Price  <derek@ximbiot.com>
50959             Paul Eggert  <eggert@cs.ucla.edu>
50960
50961         * modules/glob (Files): Add glob-libc.h.
50962
50963 2005-09-12  Derek Price  <derek@ximbiot.com>
50964             Paul Eggert  <eggert@cs.ucla.edu>
50965
50966         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
50967         glob_.h, glob-libc.h.
50968         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
50969
50970 2005-09-12  Derek Price  <derek@ximbiot.com>
50971             Paul Eggert  <eggert@cs.ucla.edu>
50972
50973         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
50974         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
50975         protecting things that should be done only in gnulib contexts.
50976         * lib/glob_.h: New file, containing only the glob things needed for
50977         gnulib.
50978         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
50979         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
50980         (glob, globfree, glob_pattern_p): Now defined simply in terms of
50981         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
50982         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
50983         and to respect the namespace rules better.
50984
50985 2005-09-08  Simon Josefsson  <jas@extundo.com>
50986
50987         * modules/socklen: New file.
50988
50989 2005-09-08  Simon Josefsson  <jas@extundo.com>
50990
50991         * m4/socklen.m4: New file.
50992
50993 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
50994
50995         * modules/utimens (Files): Add m4/utimbuf.m4, since
50996         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
50997         Reported by Sergey Poznyakoff.
50998
50999 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
51000
51001         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
51002         definitions, since that's the preferred style in glibc.
51003         Fix a minor spacing issue, and update copyright notice to match
51004         glibc's.
51005
51006 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
51007
51008         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
51009
51010 2005-09-06  Simon Josefsson  <jas@extundo.com>
51011
51012         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
51013         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
51014
51015 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
51016
51017         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
51018         warning.
51019
51020 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
51021
51022         * config/srclist.txt: Add glibc bug 1302.
51023
51024 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
51025
51026         Change bitset word type from unsigned int to unsigned long int,
51027         as this has better performance on typical 64-bit hosts.
51028         Port bitset code to hosts with unusual word sizes.
51029         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
51030         (build_collating_symbol):
51031         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
51032         argument is a bitset.  This is merely a style issue, but it makes
51033         it clearer that an entire array is expected.
51034         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
51035         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
51036         Port to the case where bitset_word is not the same as unsigned int.
51037         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
51038         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
51039         Likewise.
51040         * lib/regexec.c (check_dst_limits_calc_pos_1,
51041         check_subexp_matching_top):
51042         (build_trtable, group_nodes_into_DFAstates):
51043         Likewise.
51044         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
51045         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
51046         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
51047         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
51048         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
51049         * lib/regcomp.c (optimize_subexps, lower_subexp):
51050         Work even if bitset_word has holes in its bitwise representation.
51051         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
51052         * lib/regexec.c (check_dst_limits_calc_pos_1,
51053         check_subexp_matching_top):
51054         Likewise.
51055         * lib/regex_internal.c (re_string_reconstruct):
51056         Don't assume UCHAR_MAX == 255.
51057         * lib/regex_internal.h (bitset_set_all): Likewise.
51058         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
51059         All uses changed.
51060         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
51061         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
51062         All uses changed.
51063         (BITSET_WORD_MAX): New macro.
51064         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
51065         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
51066         (bitset_empty, bitset_copy):
51067         Prefer sizeof (bitset) to multiplying it out ourselves.
51068         (bitset_not_merge): Remove; unused.
51069         (bitset_contain): Return bool, not unsigned int with one bit on.
51070         All callers changed.
51071         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
51072         alignment than re_node_set; do this by defining a new internal
51073         type struct dests_alloc and using it to allocate memory.
51074
51075 2005-09-05  Bruno Haible  <bruno@clisp.org>
51076
51077         * gnulib-tool (func_import): Fix comparison in handling of symbolic
51078         links.
51079
51080 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
51081
51082         * modules/size_max (Makefile.am): Add size_max.h
51083
51084 2005-09-04  Derek Price  <derek@ximbiot.com>
51085
51086         * gnulib-tool (func_import): Fix reversed $symbolic logic.
51087
51088 2005-09-03  Simon Josefsson  <jas@extundo.com>
51089
51090         * gnulib-tool: Fix typo.
51091
51092 2005-09-03  Simon Josefsson  <jas@extundo.com>
51093
51094         * config/srclist.txt: Add glibc bug 1293.
51095
51096 2005-09-03  Derek Price  <derek@ximbiot.com>
51097
51098         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
51099         From Larry Jones <lawrence.jones@ugs.com>.
51100
51101 2005-09-02  Simon Josefsson  <jas@extundo.com>
51102
51103         * modules/socklen: New file.
51104
51105 2005-09-02  Simon Josefsson  <jas@extundo.com>
51106
51107         * modules/havelib: New module.
51108
51109         * modules/gettext, modules/iconv, modules/lock, modules/readline:
51110         Use havelib.
51111
51112 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
51113
51114         Check for arithmetic overflow when calculating sizes, to prevent
51115         some buffer-overflow issues.  These patches are conservative, in the
51116         sense that when I couldn't determine whether an overflow was possible,
51117         I inserted a run-time check.
51118         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
51119         macros.
51120         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
51121         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
51122         (re_xnrealloc, re_x2nrealloc): New inline functions.
51123         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
51124         parse_bracket_exp):
51125         (build_equiv_class, build_charclass): Check for arithmetic overflow
51126         in size expression calculations.
51127         * lib/regex_internal.c (re_string_realloc_buffers):
51128         (build_wcs_upper_buffer, re_node_set_add_intersect):
51129         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
51130         (re_dfa_add_node, register_state): Likewise.
51131         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
51132         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
51133         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
51134         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
51135
51136 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
51137
51138         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
51139         m4/ulonglong.m4.  Problem reported by Martin Lambers.
51140
51141 2005-09-02  Bruno Haible  <bruno@clisp.org>
51142
51143         Support for lib vs. lib64 distinction on biarch platforms.
51144         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
51145         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
51146         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
51147
51148 2005-09-02  Bruno Haible  <bruno@clisp.org>
51149
51150         * gnulib-tool (import): In the other first-use case, provide defaults
51151         as well.
51152
51153 2005-09-02  Bruno Haible  <bruno@clisp.org>
51154
51155         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
51156         patches not yet found in the latest gettext release.
51157
51158 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
51159
51160         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
51161         to avoid a collision with bits/local_lim.h in glibc.
51162         All uses changed.  Problem reported by Dmitry V. Levin in
51163         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
51164
51165         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
51166         bugs in int versus size_t comparisons.
51167         (re_string_context_at): Fix bug where the code assumed that
51168         Idx is signed.
51169
51170         Use bool where appropriate.
51171         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
51172         All callers changed.
51173         (calc_eclosure_iter): Likewise, for ROOT arg.
51174         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
51175         (build_charclass_op): Likewise, for NON_MATCH arg.
51176         * lib/regex_internal.c (re_string_allocate, re_string_construct):
51177         (re_string_construct_common): Likewise, for ICASE arg.
51178         * lib/regexec.c (re_search_2_stub, re_search_stub):
51179         Likewise, for RET_LEN arg.
51180         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
51181         (set_regs): Likewise, for FL_BACKTRACK arg.
51182         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
51183         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
51184         (calc_eclosure_iter, parse_bracket_exp):
51185         Use bool for internal variables that are booleans.
51186         * lib/regexec.c (re_search_internal, check_matching,
51187         proceed_next_node):
51188         (set_regs, build_sifted_states, sift_states_bkref):
51189         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
51190         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
51191         (find_collation_sequence_value):
51192         Likewise.
51193         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
51194         (re_node_set_compare):
51195         Return bool, not int. All callers changed.
51196         * lib/regexec.c (check_halt_node_context, check_dst_limits):
51197         (build_trtable, check_node_accept): Likewise.
51198         * lib/regex_internal.h: Include stdbool.h.
51199
51200         Fix bugs uncovered when converting to bool.
51201         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
51202         failure instead of charging ahead blindly.
51203         * lib/regex_internal.c (register_state): Likewise.
51204         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
51205         for freeing internal storage.
51206         (group_nodes_into_DFA_states): Use unsigned int, not int, for
51207         bitset pieces used as boolean, to avoid undefined behavior
51208         on hosts that do int overflow checking.
51209
51210 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
51211
51212         * config/srclist.txt: Add glibc bugs 1285-1287.
51213
51214 2005-09-01  Jim Meyering  <jim@meyering.net>
51215
51216         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
51217         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
51218         Require gl_STAT_MACROS, too.
51219
51220 2005-09-01  Bruno Haible  <bruno@clisp.org>
51221
51222         * gnulib-tool (import): In the first-use case, provide defaults.
51223
51224 2005-09-01  Bruno Haible  <bruno@clisp.org>
51225
51226         * gnulib-tool (func_import): Remove the .tmp files.
51227
51228 2005-09-01  Bruno Haible  <bruno@clisp.org>
51229
51230         * gnulib-tool (func_import): Fix handling of symbolic links.
51231
51232 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
51233
51234         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
51235         old glibc regex code mishandles strings longer than 2**31 bytes.
51236         This patch fixes this when the regex code is used in gnulib
51237         (i.e., outside glibc).
51238
51239         This patch should not affect the use of the regex code inside
51240         glibc.  No doubt this problem also needs to be handled for glibc
51241         as well, but the result will be an incompatible change to the
51242         glibc ABI, and the old ABI will have to be supported too.  That
51243         can be the the subject for another patch.
51244
51245         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
51246         governing whether the rest of this patch is active.  By default,
51247         the macro is disabled and the patch has no effect.
51248         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
51249         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
51250         (struct re_pattern_buffer, re_search, re_search_2, re_match):
51251         (re_match_2, re_set_registers): Use the new types.
51252         * lib/regex_internal.h (Idx, re_hashval_t): New types.
51253         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
51254         New macros.
51255         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
51256         (re_string_context_at, bin_tree_t, re_dfastate_t):
51257         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
51258         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
51259         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
51260         (re_string_char_size_at, re_string_wchar_at):
51261         (re_string_elem_size_at):
51262         Use the new types and macros to port to 64-bit hosts.
51263         Use unsigned types for internal values, so that the code
51264         mostly works even for arrays larger than SSIZE_MAX.
51265         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
51266         (search_duplicated_node, calc_eclosure_iter, fetch_number):
51267         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
51268         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
51269         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
51270         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
51271         (calc_inveclosure, parse_dup_op, build_range_exp):
51272         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
51273         (fetch_number, create_token_tree, mark_opt_subexp):
51274         Likewise.
51275         * lib/regex_internal.c (re_string_construct_common,
51276         create_ci_newstate):
51277         (create_cd_newstate, re_string_allocate, re_string_construct):
51278         (re_string_realloc_buffers, build_wcs_upper_buffer):
51279         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
51280         (re_string_reconstruct, re_string_peek_byte_case):
51281         (re_string_fetch_byte_case, re_string_context_at):
51282         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
51283         (re_node_set_init_copy, re_node_set_add_intersect):
51284         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
51285         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
51286         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
51287         (re_acquire_state, re_acquire_state_context, register_state):
51288         Likewise.
51289         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
51290         search_cur_bkref_entry):
51291         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
51292         (re_search_internal, re_search_2_stub, re_search_stub)
51293         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
51294         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
51295         (update_cur_sifted_state, check_dst_limits):
51296         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
51297         (check_subexp_limits, sift_states_bkref, merge_state_array):
51298         (check_subexp_matching_top, get_subexp, get_subexp_sub):
51299         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
51300         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
51301         (expand_bkref_cache, check_node_accept_bytes):
51302         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
51303         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
51304         (acquire_init_state_context, check_halt_node_context):
51305         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
51306         (sift_states_backward, clean_state_log_if_needed):
51307         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
51308         (find_recover_state, transit_state_sb, transit_state_mb):
51309         (transit_state_bkref, build_trtable, match_ctx_clean):
51310         Likewise.
51311         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
51312         to work around an assumption that REG_MISSING is negative.
51313
51314         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
51315         (seek_collating_symbol_entry) [defined _LIBC]:
51316         (lookup_collation_sequence_value) [defined _LIBC]:
51317         (build_range_exp, build_collating_symbol) [defined _LIBC]:
51318         Use prototypes rather than old-style function definitions.
51319         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
51320         (transit_state_sb) [0]:
51321         (find_collation_sequence_value) [defined _LIBC]: Likewise.
51322
51323         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
51324         rm_eo.
51325
51326         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
51327         (optimize_subexps, lower_subexp):
51328         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
51329         since the signed shift might overflow.  Use 1u<<31 instead.
51330         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
51331         Likewise.
51332         * lib/regexec.c (check_dst_limits_calc_pos_1,
51333         check_subexp_matching_top): Likewise.
51334
51335         * lib/regcomp.c (optimize_subexps, lower_subexp):
51336         Use CHAR_BIT rather than 8, for clarity.
51337         * lib/regexec.c (check_dst_limits_calc_pos_1):
51338         (check_subexp_matching_top): Likewise.
51339         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
51340         have to worry about portability issues when shifting it left.
51341         Remove no-longer-needed test for table_size > 0.
51342         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
51343         in a word, as the resulting behavior is undefined.
51344         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
51345         in one case, a <= should have been an <, and in another case the
51346         whole test was missing.
51347         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
51348         the standard name CHAR_BIT.
51349         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
51350         this is not true on one's complement and signed-magnitude hosts.
51351
51352         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
51353         next_last_offset.
51354         (struct re_dfa_t): Remove unused member states_alloc.
51355         * lib/regcomp.c (init_dfa): Don't initialize unused members.
51356
51357 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
51358
51359         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
51360         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
51361         and large-file glibc and in 32-bit large-file Solaris.
51362
51363 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
51364
51365         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
51366         lengths fit in regoff_t; this isn't true if regoff_t is the same
51367         width as size_t.
51368         * lib/regex.c (re_search_internal): 5th arg is LAST_START
51369         (= START + RANGE) instead of RANGE.  This avoids overflow
51370         problems when regoff_t is the same width as size_t.
51371         All callers changed.
51372         (re_search_2_stub): Check for overflow when adding the
51373         sizes of the two strings.
51374         (re_search_stub): Check for overflow when adding START
51375         to RANGE; if it occurs, substitute the extreme value.
51376
51377 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
51378
51379         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
51380
51381 2005-08-31  Jim Meyering  <jim@meyering.net>
51382
51383         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
51384         a pointer-to-const.
51385         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
51386         (register_state): Likewise.
51387         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
51388         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
51389         (group_nodes_into_DFAstates): Likewise.
51390
51391 2005-08-31  Jim Meyering  <jim@meyering.net>
51392
51393         * check-module: Add a FIXME comment.
51394
51395 2005-08-31  Eric Blake  <ebb9@byu.net>
51396
51397         * modules/unistd-safer (Files): Add unistd--.h.
51398         * modules/stdio-safer (Files): Add stdio--.h.
51399
51400 2005-08-31  Derek Price  <derek@ximbiot.com>
51401
51402         * lib/getdelim.c (getdelim): Return EOF on EOF.
51403         Reported by Larry Jones <lawrence.jones@ugs.com>.
51404
51405 2005-08-31  Bruno Haible  <bruno@clisp.org>
51406
51407         Avoid unnecessary diffs in the generated lib/Makefile.am.
51408         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
51409         the generated files.
51410         (func_import): Don't set cmd.
51411
51412 2005-08-31  Bruno Haible  <bruno@clisp.org>
51413
51414         * lib/strstr.c: Include <stddef.h>, for NULL.
51415         * lib/strcasestr.c: Likewise.
51416         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
51417
51418 2005-08-31  Bruno Haible  <bruno@clisp.org>
51419
51420         * gnulib-tool: New option --macro-prefix.
51421         (func_import): Use macro_prefix.
51422         (import): Handle option --macro-prefix.
51423
51424 2005-08-31  Bruno Haible  <bruno@clisp.org>
51425
51426         * gnulib-tool (import): Rename most ac_* variables to cached_*.
51427         Also use new variables cached_lgpl, cached_libtool.
51428
51429 2005-08-31  Bruno Haible  <bruno@clisp.org>
51430
51431         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
51432         always instantiating them.
51433
51434 2005-08-31  Bruno Haible  <bruno@clisp.org>
51435
51436         * gnulib-tool (func_import): Read the previous cached settings
51437         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
51438         earlier added by gnulib but are now dropped. Warn when a gnulib file
51439         overwrites a non-gnulib file.
51440
51441 2005-08-31  Bruno Haible  <bruno@clisp.org>
51442
51443         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
51444         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
51445         projects that don't keep autogenerated files in CVS. Put into
51446         actioncmd only the specified modules, not the transitive closure.
51447
51448 2005-08-31  Bruno Haible  <bruno@clisp.org>
51449
51450         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
51451         Create directories that shall be filled.
51452         (import): Don't look for gl_* macros in configure.ac. Recurse across
51453         all directories containing a gnulib-cache.m4 files, if meaningful.
51454
51455 2005-08-31  Bruno Haible  <bruno@clisp.org>
51456
51457         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
51458         (import): Set seen_libtool when we see gl_LIBTOOL.
51459
51460 2005-08-31  Bruno Haible  <bruno@clisp.org>
51461
51462         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
51463         declaration macro definitions from generated gnulib.m4.
51464
51465 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
51466
51467         * lib/iconvme.h: Add prototype for iconv_alloc.
51468
51469 2005-08-29  Simon Josefsson  <jas@extundo.com>
51470
51471         * lib/iconvme.c: Fix errno.
51472
51473 2005-08-29  Bruno Haible  <bruno@clisp.org>
51474
51475         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
51476         that it works when the directory contains spaces.
51477
51478 2005-08-29  Bruno Haible  <bruno@clisp.org>
51479
51480         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
51481
51482 2005-08-29  Bruno Haible  <bruno@clisp.org>
51483
51484         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
51485         Emit more advice.
51486
51487 2005-08-29  Bruno Haible  <bruno@clisp.org>
51488         and Stepan Kasal  <kasal@ucw.cz>
51489
51490         * check-module: If more parameters are given, check each of them
51491         separately; add more exceptions, as noted by Jim Meyering.
51492         (check_module): New procedure.
51493         (%exempt_header): Now contains all exceptions.
51494
51495 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
51496
51497         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
51498
51499 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
51500
51501         * lib/iconvme.c: Split iconv_string into iconv_alloc.
51502
51503 2005-08-28  Bruno Haible  <bruno@clisp.org>
51504
51505         * m4/gnulib-tool.m4: New file.
51506
51507 2005-08-27  Jim Meyering  <jim@meyering.net>
51508
51509         * modules/unistd-safer (Files): Add pipe-safer.c.
51510         * modules/fcntl-safer (Files): Add creat-safer.c.
51511
51512 2005-08-27  Jim Meyering  <jim@meyering.net>
51513
51514         * m4/stdlib-safer.m4: New file.  From coreutils.
51515         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
51516         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
51517         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
51518         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
51519         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
51520
51521 2005-08-27  Jim Meyering  <jim@meyering.net>
51522
51523         * lib/fopen-safer.c: Merge minor changes from coreutils.
51524         * lib/dup-safer.c: Likewise.
51525         * lib/fd-safer.c: Likewise.
51526
51527         Merge from coreutils.
51528         * lib/stdio--.h: New file.
51529         * lib/stdlib--.h: New file.
51530         * lib/mkstemp-safer.c: New file.
51531
51532         GNU tar needs these.
51533         * lib/pipe-safer.c: New file.
51534         * lib/creat-safer.c: New file.
51535         * lib/fcntl--.h (creat): Define to creat_safer.
51536         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
51537         * lib/unistd--.h (pipe): Define to pipe_safer.
51538         * lib/unistd-safer.h: Declare pipe_safer.
51539
51540 2005-08-26  Simon Josefsson  <jas@extundo.com>
51541
51542         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
51543         Haible <bruno@clisp.org>.
51544
51545 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
51546
51547         * lib/regex_internal.h: Remove all references to
51548         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
51549         or better.
51550         (bitset_not, bitset_merge, bitset_not_merge):
51551         (bitset_mask, re_string_allocate, re_string_construct):
51552         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
51553         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
51554         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
51555         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
51556         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
51557         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
51558         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
51559         (re_acquire_state_context):
51560         Remove unnecessary forward decls.
51561         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
51562         Put __attribute at function definition,
51563         now that the function decl has been removed.
51564         * lib/regex_internal.c (re_string_peek_byte_case):
51565         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
51566         Likewise.
51567
51568 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
51569
51570         * m4/regex.m4: Add AC_PREREQ(2.50).
51571         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
51572
51573 2005-08-25  Simon Josefsson  <jas@extundo.com>
51574
51575         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
51576         __fsetlocking.
51577
51578 2005-08-25  Simon Josefsson  <jas@extundo.com>
51579
51580         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
51581         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
51582         GLIBC specific code.
51583
51584 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
51585
51586         Make regex safe for g++.  This fixes one real bug (an "err"
51587         that should have been "*err").  g++ problem reported by
51588         Sam Steingold.
51589         * lib/regex_internal.h (re_calloc): New macro, consistent with
51590         re_malloc etc.  All callers of calloc changed to use re_calloc.
51591         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
51592         not int.  All callers changed.
51593         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
51594         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
51595         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
51596         (find_recover_state): Change "err" to "*err"; this fixes what
51597         appears to be a real bug.
51598         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
51599         versus int.
51600
51601 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
51602
51603         * modules/regex (Depends-on): Add malloc, since the code
51604         assumes that !malloc(0) means failure.
51605
51606 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
51607
51608         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
51609
51610         alloca modernization/simplification for regex.
51611         * lib/regex.c: Remove portability cruft for alloca.  This no longer
51612         needs to be at the start of the file, and can be moved into
51613         regex_internal.h and simplified.
51614         * lib/regex_internal.h: Include <alloca.h>.
51615         (__libc_use_alloca) [!defined _LIBC]: New macro.
51616         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
51617         now works outside glibc.
51618
51619 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
51620
51621         * config/srclist.txt: Add glibc bugs 1241, 1245.
51622
51623 2005-08-25  Jim Meyering  <jim@meyering.net>
51624
51625         * lib/open-safer.c: Include <config.h>.
51626         Otherwise, we'd lose LARGEFILE support in any file using
51627         e.g. "fcntl--.h"
51628
51629 2005-08-25  Bruno Haible  <bruno@clisp.org>
51630
51631         * m4/minmax.m4: Require autoconf 2.52.
51632         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
51633         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
51634         alternatives of translit over the alphabet.
51635         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
51636
51637 2005-08-24  Simon Josefsson  <jas@extundo.com>
51638
51639         * tests/test-getpass.c: New file.
51640
51641 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
51642
51643         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
51644         for GNU regex features.
51645
51646 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
51647
51648         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
51649         * lib/regex.h (regerror): Likewise.
51650
51651         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
51652         requires this.  (The code never needed it.)
51653
51654         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
51655         All uses of recently-renamed identifiers changed to use the new,
51656         POSIX-compliant names.  The code will build and run just fine
51657         without these changes, but it's better to eat our own dog food
51658         and use the standard-conforming names.
51659
51660         * lib/regex.h: Fix a multitude of POSIX name space violations.
51661         These changes have an effect only for programs that define
51662         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
51663         do not change anything for programs compiled in the normal way.
51664         Also, there is no effect on the ABI.
51665
51666         (_REGEX_SOURCE): New macro.
51667         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
51668         defined and _GNU_SOURCE is not; this fixes a name space violation.
51669
51670         Rename the following macros to obey POSIX requirements.
51671         The old names are still visible as macros if _REGEX_SOURCE is defined.
51672         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
51673         RE_BACKSLASH_ESCAPE_IN_LISTS.
51674         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
51675         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
51676         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
51677         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
51678         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
51679         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
51680         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
51681         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
51682         (REG_INTERVALS): renamed from RE_INTERVALS.
51683         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
51684         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
51685         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
51686         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
51687         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
51688         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
51689         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
51690         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
51691         RE_UNMATCHED_RIGHT_PAREN_ORD.
51692         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
51693         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
51694         (REG_DEBUG): renamed from RE_DEBUG.
51695         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
51696         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
51697         unusual, since we can't clash with the POSIX REG_ICASE.
51698         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
51699         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
51700         (REG_NO_SUB): renamed from RE_NO_SUB.
51701         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
51702         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
51703         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
51704         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
51705         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
51706         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
51707         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
51708         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
51709         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
51710         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
51711         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
51712         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
51713         RE_SYNTAX_POSIX_MINIMAL_BASIC.
51714         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
51715         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
51716         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
51717         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
51718         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
51719         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
51720         (REG_FIXED): Renamed from REGS_FIXED.
51721         (REG_NREGS): Renamed from RE_NREGS.
51722
51723         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
51724         of other REG_* macros, since POSIX says the user is allowed to
51725         #undef these macros selectively.
51726
51727         (reg_errcode_t): Update comment stating what other tables need
51728         to be consistent.
51729
51730         Rename the following enum values to obey POSIX requirements.
51731         The old names are still visible as macros.
51732         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
51733         is not defined, since GNU is supposed to be a superset of POSIX as
51734         much as possible, and since we want reg_errcode_t to be a signed
51735         type for implementation consistency.
51736         (_REG_NOERROR): Renamed from REG_NOERROR.
51737         (_REG_NOMATCH): Renamed from REG_NOMATCH.
51738         (_REG_BADPAT): Renamed from REG_BADPAT.
51739         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
51740         (_REG_ECTYPE): Renamed from REG_ECTYPE.
51741         (_REG_EESCAPE): Renamed from REG_EESCAPE.
51742         (_REG_ESUBREG): Renamed from REG_ESUBREG.
51743         (_REG_EBRACK): Renamed from REG_EBRACK.
51744         (_REG_EPAREN): Renamed from REG_EPAREN.
51745         (_REG_EBRACE): Renamed from REG_EBRACE.
51746         (_REG_BADBR): Renamed from REG_BADBR.
51747         (_REG_ERANGE): Renamed from REG_ERANGE.
51748         (_REG_ESPACE): Renamed from REG_ESPACE.
51749         (_REG_BADRPT): Renamed from REG_BADRPT.
51750         (_REG_EEND): Renamed from REG_EEND.
51751         (_REG_ESIZE): Renamed from REG_ESIZE.
51752         (_REG_ERPAREN): Renamed from REG_ERPAREN.
51753         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
51754         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
51755         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
51756         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
51757
51758         (_REG_RE_NAME, _REG_RM_NAME): New macros.
51759         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
51760         changed.  But support the old name if the new one is not defined
51761         and if _REGEX_SOURCE.
51762
51763         Change the following member names in struct re_pattern_buffer.
51764         The old names are still supported if !_REGEX_SOURCE.
51765         The new names are always supported, regardless of _REGEX_SOURCE.
51766         (re_buffer): Renamed from buffer.
51767         (re_allocated): Renamed from allocated.
51768         (re_used): Renamed from used.
51769         (re_syntax): Renamed from syntax.
51770         (re_fastmap): Renamed from fastmap.
51771         (re_translate): Renamed from translate.
51772         (re_can_be_null): Renamed from can_be_null.
51773         (re_regs_allocated): Renamed from regs_allocated.
51774         (re_fastmap_accurate): Renamed from fastmap_accurate.
51775         (re_no_sub): Renamed from no_sub.
51776         (re_not_bol): Renamed from not_bol.
51777         (re_not_eol): Renamed from not_eol.
51778         (re_newline_anchor): Renamed from newline_anchor.
51779
51780         Change the following member names in struct re_registers.
51781         The old names are still supported if !_REGEX_SOURCE.
51782         The new names are always supported, regardless of _REGEX_SOURCE.
51783         (rm_num_regs): Renamed from num_regs.
51784         (rm_start): Renamed from start.
51785         (rm_end): Renamed from end.
51786
51787         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
51788         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
51789         Prepend __ to parameter names.
51790
51791         Undo yesterday's changes.
51792
51793 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
51794
51795         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
51796         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
51797         lib/regex.c.
51798
51799 2005-08-24  Jim Meyering  <jim@meyering.net>
51800
51801         Sync from coreutils.
51802         * m4/fcntl-safer.m4: New file.
51803
51804         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
51805         and object files for this module.
51806
51807 2005-08-24  Jim Meyering  <jim@meyering.net>
51808
51809         Sync from coreutils.
51810         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
51811
51812 2005-08-24  Jim Meyering  <jim@meyering.net>
51813
51814         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
51815         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
51816
51817 2005-08-24  Jim Meyering  <jim@meyering.net>
51818
51819         * modules/fcntl-safer: New module.
51820         * modules/fts (Depends-on): Add fcntl-safer.
51821         * MODULES.html.sh (File descriptor based Input/Output):
51822         Add fcntl-safer.
51823
51824 2005-08-24  Bruno Haible  <bruno@clisp.org>
51825
51826         Support for unit test modules.
51827         * modules/README: Mention tests modules.
51828         * modules/TEMPLATE-TESTS: New file.
51829         * gnulib-tool: New options --extract-tests-module, --with-tests and
51830         --tests-base (unused for the moment).
51831         (testsbase, inctests): New variables.
51832         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
51833         (func_verify_module): Exclude TEMPLATE-TESTS.
51834         (func_verify_nontests_module, func_verify_tests_module): New functions.
51835         (func_get_dependencies): Add implicit dependency for tests modules.
51836         (func_get_tests_module): New function.
51837         (func_modules_transitive_closure): When --with-tests was specified,
51838         include the unit tests as well, unless explicitly avoided.
51839         (func_emit_lib_Makefile_am): Ignore the tests modules here.
51840         (func_emit_tests_Makefile_am): New function.
51841         (func_create_testdir): When --with-tests was specified, emit a
51842         tests/ directory.
51843         * MODULES.html.sh (Future developments): Update.
51844
51845 2005-08-24  Bruno Haible  <bruno@clisp.org>
51846
51847         * modules/tls-tests: New file.
51848         * tests/test-tls.c: New file, from GNU gettext.
51849
51850 2005-08-24  Bruno Haible  <bruno@clisp.org>
51851
51852         * modules/lock-tests: New file.
51853         * tests/test-lock.c: New file, from GNU gettext.
51854
51855 2005-08-24  Bruno Haible  <bruno@clisp.org>
51856
51857         * lib/lock.h: Add multiple inclusion guard.
51858         * lib/tls.h: Add multiple inclusion guard.
51859
51860 2005-08-24  Bruno Haible  <bruno@clisp.org>
51861
51862         * gnulib-tool: Add support for the --aux-dir option to
51863         --create-testdir, --create-megatestdir, --test, --megatest.
51864         (func_create_testdir, func_create_megatestdir): Optionally emit a
51865         AC_CONFIG_AUX_DIR directive.
51866         (create-testdir, create-megatestdir, test, megatest): Provide a
51867         default value for $auxdir.
51868
51869 2005-08-24  Bruno Haible  <bruno@clisp.org>
51870
51871         * gnulib-tool (import): Use compound statement instead of subshell
51872         where possible.
51873
51874 2005-08-24  Bruno Haible  <bruno@clisp.org>
51875
51876         * gnulib-tool (import): Change --aux-dir default to "build-aux".
51877
51878 2005-08-24  Bruno Haible  <bruno@clisp.org>
51879
51880         * gnulib-tool (func_version): Update.
51881
51882 2005-08-24  Bruno Haible  <bruno@clisp.org>
51883
51884         * gnulib-tool (func_import, func_create_testdir,
51885         func_create_megatestdir): Quote all autoconf macro arguments.
51886
51887 2005-08-24  Bruno Haible  <bruno@clisp.org>
51888
51889         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
51890         option --force, because --force causes the aclocal.m4 of each
51891         subdirectory to be newer than the corresponding config.h.in.
51892
51893 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
51894
51895         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
51896         All contents moved to gl_REGEX.
51897         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
51898         assume that it does.
51899
51900 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
51901
51902         * lib/regex.h (REG_NOSYS)
51903         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
51904         Define, since POSIX requires it as of 2001.
51905         (_REG_ENOSYS)
51906         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
51907         New private symbol, used to keep the enum signed in all cases.
51908         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
51909         Youngman in
51910         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
51911
51912         * lib/regex_internal.c (re_string_skip_chars, register_state):
51913         (calc_state_hash):
51914         Remove forward decls; no longer needed now that we use prototypes.
51915         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
51916         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
51917         (clean_state_log_if_needed): Likewise.
51918
51919 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
51920
51921         * config/srclist.txt: Add glibc bugs 1231-1233.
51922
51923 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
51924
51925         Fix problems reported by Sam Steingold in
51926         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
51927         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
51928         assumed that reg_errcode_t is a signed type, which is not
51929         necessarily true if _XOPEN_SOURCE is not defined.
51930         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
51931         since some compilers warn about it otherwise.
51932
51933 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
51934
51935         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
51936         (init_word_char, create_initial_state, duplicate_node_closure):
51937         (fetch_token, peek_token_bracket, build_range_exp):
51938         (build_collating_symbol): Remove forward decls; no longer needed
51939         now that we use prototypes.
51940
51941         * lib/regcomp.c:
51942         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
51943         (re_compile_fastmap_iter, regcomp, regerror, regfree):
51944         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
51945         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
51946         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
51947         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
51948         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
51949         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
51950         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
51951         (build_range_exp, build_collating_symbol, parse_bracket_exp):
51952         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
51953         (build_charclass, build_charclass_op, fetch_number, create_tree):
51954         (create_token_tree, mark_opt_subexp, duplicate_tree):
51955         Use prototypes rather than old-style definitions.
51956
51957         * lib/regex_internal.c:
51958         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
51959         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
51960         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
51961         (re_string_reconstruct, re_string_peek_byte_case):
51962         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
51963         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
51964         (re_node_set_init_copy, re_node_set_add_intersect):
51965         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
51966         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
51967         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
51968         (re_acquire_state, re_acquire_state_context, register_state):
51969         (create_ci_newstate, create_cd_newstate, free_state):
51970         Likewise.
51971         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
51972         re_search_2):
51973         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
51974         (re_search_internal, prune_impossible_nodes):
51975         (acquire_init_state_context, check_matching, static):
51976         (check_halt_node_context, check_halt_state_context, proceed_next_node):
51977         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
51978         (update_regs, sift_states_backward, build_sifted_states):
51979         (clean_state_log_if_needed, merge_state_array):
51980         (update_cur_sifted_state, add_epsilon_src_nodes):
51981         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
51982         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
51983         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
51984         (find_recover_state, check_subexp_matching_top, transit_state_mb):
51985         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
51986         (check_arrival, check_arrival_add_next_nodes):
51987         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
51988         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
51989         (check_node_accept_bytes, check_node_accept, extend_buffers):
51990         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
51991         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
51992         (sift_ctx_init):
51993         Likewise.
51994
51995         * lib/regex_internal.h:
51996         (re_string_allocate, re_string_construct, re_string_reconstruct):
51997         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
51998         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
51999         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
52000         (re_string_context_at, re_string_peek_byte_case):
52001         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
52002         is defined, since we now use prototypes always.
52003
52004         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
52005         C89 or better.  All uses removed.
52006
52007 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
52008
52009         * config/srclist.txt: Add glibc bugs 1220-1227.
52010
52011 2005-08-20  Jim Meyering  <jim@meyering.net>
52012
52013         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
52014         of unused local, dfa.
52015
52016 2005-08-20  Bruno Haible  <bruno@clisp.org>
52017
52018         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
52019
52020 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
52021
52022         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
52023         (re_node_set_insert_last, re_dfa_add_node):
52024         Rename local variables to avoid GCC shadowing warnings.
52025
52026 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
52027
52028         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
52029         [defined lint]: Suppress bogus uninitialized-variable warnings.
52030
52031         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
52032         and let the caller return REG_ESPACE if out of space.  This
52033         removes an uninitialied-variable warning with GCC 4.0.1, and also
52034         avoids taking the address of a local variable.  All callers
52035         changed.
52036
52037 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
52038
52039         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
52040         $LIBCSRC/posix/regexec.c.
52041         Add glibc bug 1217 for regcomp.c.
52042
52043 2005-08-19  Jim Meyering  <jim@meyering.net>
52044
52045         * lib/regexec.c (proceed_next_node): Redo local variables to
52046         avoid GCC shadowing warnings.
52047
52048 2005-08-18  Bruno Haible  <bruno@clisp.org>
52049
52050         * lib/strstr.c (strstr): Fix return value in multibyte case.
52051         * lib/strcasestr.c (strcasestr): Likewise.
52052
52053 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
52054
52055         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
52056
52057 2005-08-17  Jim Meyering  <jim@meyering.net>
52058
52059         Make the %s format (seconds since the epoch) work for a negative
52060         number and when used with a zero-padded field width, e.g. %015s.
52061
52062         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
52063         label so that it precedes the code to set `digits'.  Otherwise,
52064         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
52065         print `00-22'.  Now, it prints `-0022', as it should.
52066
52067 2005-08-17  Bruno Haible  <bruno@clisp.org>
52068
52069         * modules/strstr (Files): Add m4/mbrtowc.m4.
52070         (Depends-on): Add mbuiter.
52071
52072 2005-08-17  Bruno Haible  <bruno@clisp.org>
52073
52074         * modules/strcasestr: New file.
52075         * MODULES.html.sh (String handling, based on ANSI C 89): Add
52076         strcasestr.
52077
52078 2005-08-17  Bruno Haible  <bruno@clisp.org>
52079
52080         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
52081
52082 2005-08-17  Bruno Haible  <bruno@clisp.org>
52083
52084         * modules/mbuiter: New file.
52085         * MODULES.html.sh (Extended multibyte and wide character utilities):
52086         Add mbuiter.
52087
52088 2005-08-17  Bruno Haible  <bruno@clisp.org>
52089
52090         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
52091         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
52092
52093 2005-08-17  Bruno Haible  <bruno@clisp.org>
52094
52095         * m4/strcasestr.m4: New file.
52096
52097 2005-08-17  Bruno Haible  <bruno@clisp.org>
52098
52099         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
52100         * lib/strstr.c: Completely rewritten, with multibyte locale support.
52101
52102 2005-08-17  Bruno Haible  <bruno@clisp.org>
52103
52104         * lib/strcasestr.h: New file.
52105         * lib/strcasestr.c: New file.
52106
52107 2005-08-17  Bruno Haible  <bruno@clisp.org>
52108
52109         * lib/strcasecmp.c: Use mbuiter.h.
52110
52111 2005-08-17  Bruno Haible  <bruno@clisp.org>
52112
52113         * lib/mbuiter.h: New file.
52114
52115 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
52116
52117         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
52118         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
52119         and gl_GETOPT are both invoked via different paths (as happens
52120         with GNU tar CVS because it uses both argp and getopt), the former
52121         wins.
52122
52123 2005-08-16  Bruno Haible  <bruno@clisp.org>
52124
52125         * modules/tls: New file.
52126         * MODULES.html.sh (Multithreading): Add tls.
52127
52128 2005-08-16  Bruno Haible  <bruno@clisp.org>
52129
52130         * modules/strnlen1: New file.
52131         * MODULES.html.sh (String handling): Add strnlen1.
52132
52133 2005-08-16  Bruno Haible  <bruno@clisp.org>
52134
52135         * modules/strcase (Files): Add m4/mbrtowc.m4.
52136         (Depends-on): Add strnlen1, mbchar.
52137
52138 2005-08-16  Bruno Haible  <bruno@clisp.org>
52139
52140         * modules/mbiter: New file.
52141         * MODULES.html.sh (Extended multibyte and wide character utilities):
52142         Add mbiter.
52143
52144 2005-08-16  Bruno Haible  <bruno@clisp.org>
52145
52146         * modules/mbfile: New file.
52147         * MODULES.html.sh (Extended multibyte and wide character utilities):
52148         Add mbfile.
52149
52150 2005-08-16  Bruno Haible  <bruno@clisp.org>
52151
52152         * modules/mbchar: New file.
52153         * MODULES.html.sh (Extended multibyte and wide character utilities):
52154         New section.
52155
52156 2005-08-16  Bruno Haible  <bruno@clisp.org>
52157
52158         * m4/tls.m4: New file, from GNU gettext.
52159
52160 2005-08-16  Bruno Haible  <bruno@clisp.org>
52161
52162         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
52163         always.
52164         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
52165
52166 2005-08-16  Bruno Haible  <bruno@clisp.org>
52167
52168         * m4/mbiter.m4: New file.
52169
52170 2005-08-16  Bruno Haible  <bruno@clisp.org>
52171
52172         * m4/mbfile.m4: New file.
52173
52174 2005-08-16  Bruno Haible  <bruno@clisp.org>
52175
52176         * m4/mbchar.m4: New file.
52177
52178 2005-08-16  Bruno Haible  <bruno@clisp.org>
52179
52180         * lib/tls.h: New file, from GNU gettext.
52181         * lib/tls.c: New file, from GNU gettext.
52182
52183 2005-08-16  Bruno Haible  <bruno@clisp.org>
52184
52185         * lib/strnlen1.h: New file.
52186         * lib/strnlen1.c: New file.
52187
52188 2005-08-16  Bruno Haible  <bruno@clisp.org>
52189
52190         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
52191         (mbi_init): Update.
52192         (mbi_avail, mbi_advance): Let the iteration end before the terminating
52193         NUL byte, not after it.
52194
52195 2005-08-16  Bruno Haible  <bruno@clisp.org>
52196
52197         * lib/strcase.h (strcasecmp): Add note in comments.
52198         * lib/strncasecmp.c: Use code from strcasecmp.c.
52199         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
52200         (strcasecmp): Work correctly in multibyte locales.
52201
52202 2005-08-16  Bruno Haible  <bruno@clisp.org>
52203
52204         * lib/mbiter.h: New file.
52205
52206 2005-08-16  Bruno Haible  <bruno@clisp.org>
52207
52208         * lib/mbfile.h: New file.
52209
52210 2005-08-16  Bruno Haible  <bruno@clisp.org>
52211
52212         * lib/mbchar.h: New file.
52213         * lib/mbchar.c: New file.
52214
52215 2005-08-16  Bruno Haible  <bruno@clisp.org>
52216
52217         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
52218         the valid ones. Makes the comparison operations transitive:
52219         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
52220         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
52221
52222 2005-08-15  Simon Josefsson  <jas@extundo.com>
52223
52224         * modules/ssize_t (License): Change to 'unlimited'.
52225
52226         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
52227
52228 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
52229
52230         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
52231         Add comments for each pending glibc patch.
52232
52233 2005-08-15  Bruno Haible  <bruno@clisp.org>
52234
52235         * lib/regex.h (__restrict_arr): Don't define to __restrict if
52236         __cplusplus is defined.
52237
52238 2005-08-14  Jim Meyering  <jim@meyering.net>
52239
52240         Sync from coreutils.
52241
52242         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
52243         Use the hash-table-based cycle-detection code not just when
52244         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
52245         Reported by James Youngman in
52246         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
52247         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
52248         FTS_TIGHT_CYCLE_CHECK.
52249         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
52250         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
52251         once again.
52252         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
52253         * lib/fts.c (fd_safer): Remove decl.
52254         Include fcntl--.h rather than unistd-safer.h
52255         (fts_safe_changedir): Don't call fd_safer; no longer needed
52256         now that we include fcntl--.h.
52257
52258 2005-08-12  Simon Josefsson  <jas@extundo.com>
52259
52260         * modules/getndelim2: Use ssize_t module.
52261         * modules/getnline: Likewise.
52262         * modules/safe-read: Likewise.
52263         * modules/xreadlink: Likewise.
52264
52265         * modules/ssize_t: New file.
52266
52267 2005-08-12  Simon Josefsson  <jas@extundo.com>
52268
52269         * m4/readline.m4: Look for termcap, curses or ncurses if required.
52270
52271 2005-08-12  Simon Josefsson  <jas@extundo.com>
52272
52273         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
52274         ssize_t.
52275
52276 2005-08-12  Simon Josefsson  <jas@extundo.com>
52277
52278         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
52279         readline, getdelim and check_version.
52280         (Support for systems lacking ISO C 99: Sizes of integer types):
52281         Add size_max.
52282
52283 2005-08-12  Bruno Haible  <bruno@clisp.org>
52284
52285         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
52286
52287 2005-08-11  Simon Josefsson  <jas@extundo.com>
52288
52289         * modules/readline: New file.
52290
52291         * modules/strnlen (Files): Add strnlen.h.
52292
52293 2005-08-11  Simon Josefsson  <jas@extundo.com>
52294
52295         * m4/readline.m4: New file.
52296
52297 2005-08-11  Simon Josefsson  <jas@extundo.com>
52298
52299         * lib/readline.h, readline.c: New file.
52300
52301 2005-08-11  Simon Josefsson  <jas@extundo.com>
52302
52303         * doc/gnulib.texi (Initial import, Finishing touches): Mention
52304         gl_AVOID.
52305
52306 2005-08-11  Bruno Haible  <bruno@clisp.org>
52307
52308         * lib/strnlen.h (strnlen): Change parameter name to match comment.
52309
52310 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
52311
52312         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
52313
52314 2005-08-10  Simon Josefsson  <jas@extundo.com>
52315
52316         * tests/test-iconvme.c: New file.
52317
52318 2005-08-10  Simon Josefsson  <jas@extundo.com>
52319
52320         * m4/strnlen.m4: New file.
52321
52322         * m4/strndup.m4: Don't check for strnlen declaration, done in
52323         strnlen.m4.
52324
52325 2005-08-10  Simon Josefsson  <jas@extundo.com>
52326
52327         * lib/strndup.c: Use strnlen.h.
52328
52329         * lib/strnlen.h: New file.
52330
52331 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
52332
52333         * README: Typos.
52334
52335 2005-08-02  Simon Josefsson  <jas@extundo.com>
52336
52337         * modules/readline: New file.
52338
52339 2005-08-02  Simon Josefsson  <jas@extundo.com>
52340
52341         * modules/getdelim: New file.
52342
52343         * modules/getline: Rewrite, don't use getndelim2.
52344
52345 2005-08-02  Simon Josefsson  <jas@extundo.com>
52346
52347         * m4/getline.m4: Separate out getdelim stuff into separate module.
52348
52349         * m4/getdelim.m4: New file.
52350
52351 2005-08-02  Simon Josefsson  <jas@extundo.com>
52352
52353         * lib/getline.h, getline.c: Rewrite.
52354
52355         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
52356
52357 2005-07-31  Bruno Haible  <bruno@clisp.org>
52358
52359         * lib/lock.h (gl_lock_initializer): New macro.
52360         (gl_lock_define_initialized): Use it.
52361         (gl_rwlock_initializer): New macro.
52362         (gl_rwlock_define_initialized): Use it.
52363         (gl_recursive_lock_initializer): New macro.
52364         (gl_recursive_lock_define_initialized): Use it.
52365
52366 2005-07-30  Karl Berry  <karl@gnu.org>
52367
52368         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
52369         Report from Ben Pfaff, regarding getopt.
52370
52371 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
52372
52373         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
52374         normal way.
52375         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
52376         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
52377         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
52378         (gl_GETOPT): Use the new macros.  Most of the implementation
52379         is moved to the new macros.  This is for programs like Emacs
52380         that don't want all the functionality of gl_GETOPT.
52381
52382 2005-07-26  Bruno Haible  <bruno@clisp.org>
52383
52384         * m4/lock.m4: Update from GNU gettext.
52385
52386 2005-07-26  Bruno Haible  <bruno@clisp.org>
52387
52388         * lib/lock.h: Update from GNU gettext.
52389         * lib/lock.c: Update from GNU gettext.
52390
52391 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
52392
52393         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
52394         obsolescent AC_TRY_RUN.  Include the default includes files, for
52395         'exit'.
52396
52397 2005-07-24  Bruno Haible  <bruno@clisp.org>
52398
52399         * modules/visibility: New file.
52400         * MODULES.html.sh (Misc): Add visibility.
52401
52402 2005-07-24  Bruno Haible  <bruno@clisp.org>
52403
52404         * m4/visibility.m4: New file.
52405
52406 2005-07-24  Bruno Haible  <bruno@clisp.org>
52407
52408         * doc/visibility.texi: New file.
52409
52410 2005-07-22  Bruno Haible  <bruno@clisp.org>
52411
52412         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
52413         $(ALLOCA_H), redundant through BUILT_SOURCES.
52414         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
52415         redundant through BUILT_SOURCES.
52416         * modules/byteswap (Makefile.am): Remove explicit dependency on
52417         $(BYTESWAP_H), redundant through BUILT_SOURCES.
52418         * modules/fnmatch (Makefile.am): Remove explicit dependency on
52419         $(FNMATCH_H), redundant through BUILT_SOURCES.
52420         * modules/getopt (Makefile.am): Remove explicit dependency on
52421         $(GETOPT_H), redundant through BUILT_SOURCES.
52422         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
52423         redundant through BUILT_SOURCES.
52424         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
52425         redundant through BUILT_SOURCES.
52426         * modules/stdbool (Makefile.am): Remove explicit dependency on
52427         $(STDBOOL_H), redundant through BUILT_SOURCES.
52428         * modules/stdint (Makefile.am): Remove explicit dependency on
52429         $(STDINT_H), redundant through BUILT_SOURCES.
52430         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
52431         Remove explicit dependency on $(SYSEXITS_H).
52432         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
52433
52434 2005-07-18  Simon Josefsson  <jas@extundo.com>
52435
52436         * lib/check-version.c (check_version): Accept identical versions too.
52437
52438 2005-07-18  Bruno Haible  <bruno@clisp.org>
52439
52440         * modules/lock: New file.
52441         * MODULES.html.sh (Multithreading): New section.
52442
52443 2005-07-18  Bruno Haible  <bruno@clisp.org>
52444
52445         * m4/lock.m4: New file, from GNU gettext.
52446
52447 2005-07-18  Bruno Haible  <bruno@clisp.org>
52448
52449         * lib/lock.h: New file, from GNU gettext.
52450         * lib/lock.c: New file, from GNU gettext.
52451
52452 2005-07-18  Bruno Haible  <bruno@clisp.org>
52453
52454         * lib/lock.h (gl_once_t): New type.
52455         (gl_once_define, gl_once): New macros.
52456         * lib/lock.c (fresh_once): New variable.
52457         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
52458         functions.
52459
52460 2005-07-16  Simon Josefsson  <jas@extundo.com>
52461
52462         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
52463         workaround, suggested by Bruno.
52464
52465 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
52466
52467         * modules/xalloc (Depends-on): Add xalloc-die.
52468         * modules/xvasprintf (Depends-on): Add xalloc-die.
52469
52470 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
52471
52472         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
52473         with a minor change.
52474
52475 2005-07-15  Bruno Haible  <bruno@clisp.org>
52476
52477         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
52478         When using lib/poll.c, define poll as rpl_poll.
52479
52480 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
52481
52482         * modules/argp (Depends-on): Remove unlocked-io.
52483
52484 2005-07-14  Derek Price  <derek@ximbiot.com>
52485
52486         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
52487         for glob symlink bug.
52488
52489 2005-07-14  Bruno Haible  <bruno@clisp.org>
52490
52491         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
52492         Instead, test for *_unlocked function declarations directly.
52493
52494 2005-07-11  Simon Josefsson  <jas@extundo.com>
52495
52496         * modules/size_max: New file.
52497
52498         * modules/xsize: Depend on size_max module for size_max.m4.
52499
52500 2005-07-11  Simon Josefsson  <jas@extundo.com>
52501
52502         * lib/size_max.h: New file.
52503
52504 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
52505
52506         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
52507         copyright symbol and the year.
52508         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
52509         (version_etc_va): Use parameterized copyright notice.
52510         Reword to conform to the current GNU coding standards.
52511
52512 2005-07-11  Karl Berry  <karl@gnu.org>
52513
52514         * doc/gnulib.texi (Quoting): new node.
52515         (Initial import): more info, from Patrice.
52516
52517 2005-07-11  Bruno Haible  <bruno@clisp.org>
52518
52519         * gnulib-tool (func_usage): Document option --avoid.
52520         (Command line options): Handle --avoid.
52521         (func_acceptable): New function.
52522         (func_modules_transitive_closure): Use it.
52523
52524 2005-07-11  Bruno Haible  <bruno@clisp.org>
52525
52526         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
52527         Reported by Jim Meyering.
52528
52529 2005-07-10  Bruno Haible  <bruno@clisp.org>
52530
52531         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
52532         Needed when size_t is smaller than 'unsigned int'.
52533         Reported by Paul Eggert.
52534
52535 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
52536
52537         * modules/argp (Depends-on): Add unlocked-io
52538
52539 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
52540
52541         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
52542         block of defines.
52543
52544 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
52545
52546         * config/srclist.txt: Comment out regcomp.c, since we have a porting
52547         fix now.
52548
52549 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
52550         and Paul Eggert  <eggert@cs.ucla.edu>
52551
52552         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
52553         in wint_t, not wchar_t.  Remove now-unnecessary cast.
52554
52555 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
52556
52557         * modules/regex (Files): Add lib/regex_internal.c,
52558         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
52559         (Depends-on): Add extensions.
52560         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
52561
52562 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
52563
52564         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
52565         pathconf.
52566         * m4/same.m4 (gl_SAME): Likewise.
52567         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
52568
52569         * m4/regex.m4: Adjust to new libc regex implementation.
52570         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
52571         all the .c and .h parts of (the new) regex.
52572         Quote the m4 stuff better.
52573         Check for RE_ICASE bug of old gnulib.
52574         Check for REG_STARTEND of recent libc.
52575         Rename local variables from jm_* to gl_*.
52576         Quote operand of "test -f".
52577         Say "recent enough" version of libc, not "version 2".
52578         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
52579         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
52580         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
52581         Remove check for btowc, isascii.
52582         Require AM_LANGINFO_CODESET.
52583
52584 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
52585
52586         * lib/regex.c, regex.h: Sync from libc.
52587         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
52588         * lib/regexec.c:
52589         New files, synced from libc, except that regex_internal.h
52590         currently has a small porting fix.
52591
52592 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
52593
52594         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
52595         regex_internal.c, regexec.c.
52596         Add regex_internal.h too, but as a comment, since the libc version
52597         is currently broken in gnulib mode.
52598
52599 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
52600
52601         Support programs like Emacs that use gnulib but not gettext.
52602         * MODULES.html.sh (Internationalization functions): Add gettext-h.
52603         * modules/gettext-h: New file.
52604         * modules/gettext (Files): Remove lib/gettext.h.
52605         (Depends-on): Add gettext-h.
52606         (Makefile.am): Remove lib_SOURCES.
52607         * modules/argmatch, modules/c-stack, modules/closeout:
52608         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
52609         * modules/execute, modules/file-type, modules/getaddrinfo:
52610         * modules/getopt, modules/human, modules/javacomp:
52611         * modules/javaexec, modules/mkdir-p, modules/obstack:
52612         * modules/openat, modules/pagealign_alloc, modules/pipe:
52613         * modules/quotearg, modules/regex, modules/rpmatch:
52614         * modules/unicodeio, modules/userspec, modules/version-etc:
52615         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
52616         * modules/xsetenv:
52617         Depend on gettext-h, not gettext.
52618
52619 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
52620
52621         * gnulib-tool (func_import): Add support for 'public domain' license.
52622         * modules/alloca, modules/atexit, modules/memmove:
52623         Now public domain, not GPL.
52624         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
52625         * modules/realloc, modules/strerror, modules/strtod:
52626         Now LGPL, not GPL.
52627
52628 2005-07-05  Bruno Haible  <bruno@clisp.org>
52629
52630         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
52631         autoconf CVS. Needed for mingw.
52632
52633 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
52634
52635         Remove the dependency of the strftime module on the tzset module.
52636         * modules/strftime (Depends-on): Remove dependency on tzset.
52637
52638 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
52639
52640         Remove the dependency of the strftime module on the tzset module.
52641         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
52642         gl_FUNC_TZSET_CLOBBER.
52643
52644 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
52645
52646         Remove the dependency of the strftime module on the tzset module.
52647         * lib/strftime.c (my_strftime)
52648         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
52649         Copy the input structure, to work around some of the bug with
52650         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
52651         Solaris releases, you should also use the tzset module, but we won't
52652         require it as a dependency any more since we don't want LGPLed code
52653         to depend on GPLed code.
52654
52655 2005-07-02  Jim Meyering  <jim@meyering.net>
52656
52657         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
52658         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
52659         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
52660         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
52661
52662 2005-07-02  Jim Meyering  <jim@meyering.net>
52663
52664         * lib/backupfile.c (backup_args): Change a `0' to NULL.
52665
52666 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
52667
52668         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
52669         declares only 'struct timespec;' (!).
52670
52671 2005-07-01  Jim Meyering  <jim@meyering.net>
52672
52673         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
52674         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
52675         * lib/save-cwd.c, tempname.c:
52676         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
52677         and don't include <sys/file.h>).
52678
52679 2005-06-29  Jim Meyering  <jim@meyering.net>
52680
52681         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
52682         type name.  Use the variable name instead.
52683         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
52684         Likewise.
52685
52686 2005-06-28  Simon Josefsson  <jas@extundo.com>
52687
52688         * modules/check-version (Files): Add check-version.m4.
52689
52690 2005-06-28  Simon Josefsson  <jas@extundo.com>
52691
52692         * m4/check-version.m4: New file, suggested by Jim Meyering
52693         <jim@meyering.net>.
52694
52695 2005-06-28  Simon Josefsson  <jas@extundo.com>
52696
52697         * lib/check-version.h, lib/check-version.c: New files.
52698
52699 2005-06-28  Simon Josefsson  <jas@extundo.com>
52700
52701         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
52702         collision with global variable.  Better indentation.  Don't
52703         increment buffer pointer beyond buffer end.  Based on comments
52704         from Paul Eggert <eggert@cs.ucla.edu>.
52705
52706         * lib/base64.h: Indent.
52707
52708 2005-06-28  Simon Josefsson  <jas@extundo.com>
52709
52710         * doc/gnulib.texi (Library version handling): New section.
52711
52712 2005-06-28  Jim Meyering  <jim@meyering.net>
52713
52714         * check-module (find_included_lib_files): Hard-code another
52715         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
52716         but modules/fts-lgpl (correctly) does not list those files.
52717
52718         * modules/canonicalize (Files): Add lib/pathmax.h.
52719
52720 2005-06-25  Simon Josefsson  <jas@extundo.com>
52721
52722         * modules/check-version: New file.
52723
52724 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
52725
52726         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
52727         initializer of struct addrinfo, as an indication that we don't
52728         care how many members the structure has.
52729
52730 2005-06-24  Derek Price  <derek@ximbiot.com>
52731         and Bruno Haible  <bruno@clisp.org>
52732
52733         Remove stat module & update lstat.
52734         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
52735         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
52736         * m4/stat.m4: Remove this file.
52737
52738 2005-06-24  Derek Price  <derek@ximbiot.com>
52739         and Bruno Haible  <bruno@clisp.org>
52740
52741         Remove stat module & update lstat.
52742         * lib/stat.c: Remove this file...
52743         (slash_aware_lstat): ...moving this content and its support...
52744         * lib/lstat.c (rpl_lstat): ...into here.
52745         * lib/lstat.h: New file.
52746
52747 2005-06-24  Derek Price  <derek@ximbiot.com>
52748         and Bruno Haible  <bruno@clisp.org>
52749
52750         Remove stat module & update lstat.
52751         * config/srclist.txt (libc sources): Remove stat.
52752
52753 2005-06-24  Derek Price  <derek@ximbiot.com>
52754         and Bruno Haible  <bruno@clisp.org>
52755
52756         Remove stat module & update lstat.
52757         * MODULES.html.sh (stat): Remove.
52758         * MODULES.html: Regenerated.
52759         * modules/lstat (Description): Correct function name.
52760         (Files): Add "lstat.h".
52761         (Depends-on): Remove stat, add xalloc, stat-macros.
52762         * modules/stat: Remove this file.
52763         (Include): Add "lstat.h", remove <sys/stat.h>.
52764
52765 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
52766
52767         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
52768         (ranged_convert): Don't save conversion in a temporary struct.
52769         This causes a warning with GCC 4.0.0, and anyway in the typical
52770         case it's not worth the extra 100 bytes or so of code.
52771         (ranged_convert, __mktime_internal): When calling a function via a
52772         pointer P, use P () rather than (*P) (), as we now assume C89 or
52773         better.
52774
52775 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
52776
52777         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
52778         "who -r" failed to give output.  Problem reported by Tim Waugh.
52779
52780         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
52781         (xcalloc): Use it to avoid needless tests.
52782         Problem reported by Jim Meyering.
52783
52784 2005-06-20  Derek Price  <derek@ximbiot.com>
52785
52786         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
52787         unnecessary for Autoconfs > 2.59c.
52788
52789 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
52790
52791         * lib/argp.h (__option_is_short): Check upper limit of
52792         __key. Isprint() requires its argument to have the value
52793         of an unsigned char or EOF.
52794
52795 2005-06-16  Jim Meyering  <jim@meyering.net>
52796
52797         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
52798         when either N or S is zero.
52799
52800 2005-06-16  Derek Price  <derek@ximbiot.com>
52801
52802         * m4/bison.m4: Declare YACC & YFLAGS precious.
52803
52804 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
52805
52806         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
52807         multibyte string or pattern, fall back on unibyte matching.
52808         Problem reported by James Youngman.
52809
52810 2005-06-08  Bruno Haible  <bruno@clisp.org>
52811
52812         * modules/csharpcomp: New file.
52813         * MODULES.html.sh (C#): Add csharpcomp.
52814
52815 2005-06-08  Bruno Haible  <bruno@clisp.org>
52816
52817         * m4/csharpcomp.m4: New file, from GNU gettext.
52818
52819 2005-06-08  Bruno Haible  <bruno@clisp.org>
52820
52821         * lib/csharpcomp.h: New file, from GNU gettext.
52822         * lib/csharpcomp.c: New file, from GNU gettext.
52823         * lib/csharpcomp.sh.in: New file, from GNU gettext.
52824
52825 2005-06-08  Bruno Haible  <bruno@clisp.org>
52826
52827         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
52828         warning on mingw.
52829
52830 2005-06-07  Derek Price  <derek@ximbiot.com>
52831
52832         Sync from CVS.
52833         * lib/glob_.h: Indent nested #ifdef.
52834
52835 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
52836
52837         Sync from coreutils.
52838         Use "file name" when talking about file names, instead of "filename"
52839         or "path", as per the GNU coding standards.
52840         * lib/mkdir-p.c: Renamed from makepath.c.
52841         (make_dir_parents): Renamed from make_path.  All callers changed.
52842         * lib/mkdir-p.h: Likewise.  All includers changed.
52843         * lib/filenamecat.c: Renamed from path-concat.c.
52844         (file_name_concat): Renamed from path_concat.  All callers changed.
52845         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
52846         * lib/filenamecat.h: Likewise.  All includers changed.
52847         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
52848         in comments or local variable names.
52849         * lib/basename.c: Likewise.
52850         * lib/canonicalize.c, canonicalize.h: Likewise.
52851         * lib/dirname.c, dirname.h: Likewise.
52852         * lib/euidaccess.c: Likewise.
52853         * lib/exclude.c: Likewise
52854         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
52855         * lib/fsusage.c, fsuage.h: Likewise.
52856         * lib/fts.c, fts_.h: Likewise.
52857         * lib/getcwd.c: Likewise.
52858         * lib/getloadavg.c: Likewise.
52859         * lib/mkstemp.c: Likewise.
52860         * lib/mountlist.c, mountlist.h: Likewise.
52861         * lib/openat.c, openat.h: Likewise.
52862         * lib/readlink-stub.c: Likewise.
52863         * lib/readutmp.c, readutmp.h: Likewise.
52864         * lib/rename.c: Likewise.
52865         * lib/rmdir.c: Likewise.
52866         * lib/same.c: Likewise.
52867         * lib/savedir.c: Likewise.
52868         * lib/stripslash.c: Likewise.
52869         * lib/tempname.c: Likewise.
52870         * lib/xreadlink.c: Likewise.
52871         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
52872         All uses changed.
52873         * lib/exclude.h: Likewise.
52874
52875         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
52876         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
52877         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
52878         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
52879         * lib/pathmax.h: Include <limits.h> unconditionally, since other
52880         files have been getting away with it for years (MORE/BSD 4.3
52881         is extinct now).
52882         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
52883         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
52884
52885         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
52886         Define to 256, not 255, as per modern POSIX.
52887
52888 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
52889
52890         Sync from coreutils.
52891         Use "file name" when talking about file names, instead of "filename"
52892         or "path", as per the GNU coding standards.
52893         * MODULES.html.sh: mkdir-p renamed from makepath.
52894         filenamecat renamed from path-concat.
52895         * modules/filenamecat: Renamed from modules/path-concat.
52896         (Files): filenamecat.h and filenamecat.c renamed from
52897         path-concat.h and path-concat.c.
52898         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
52899         (Include): filenamecat.h, not path-concat.h.
52900         * modules/mkdir-p: Renamed from modules/makepath.
52901         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
52902         makepath.c.
52903         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
52904         (Include): mkdir-p.h, not makepath.h.
52905
52906 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
52907
52908         Sync from coreutils.
52909         * m4/mkdir-p.m4: Renamed from makepath.m4.
52910         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
52911         Rename files from makepath.c to mkdir-p.c, and from
52912         makepath.h to mkdir-p.h.
52913         * m4/filenamecat.m4: Renamed from path-concat.m4.
52914         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
52915         Rename files from path-concat.c to filenamecat.c,
52916         and from path-concat.h to filenamecat.h.
52917         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
52918         "file name" in local variables or comments.
52919         * m4/rename.m4: Likewise.
52920
52921 2005-06-01  Bruno Haible  <bruno@clisp.org>
52922
52923         * modules/csharpexec: New file.
52924         * MODULES.html.sh (C#): New section.
52925
52926 2005-06-01  Bruno Haible  <bruno@clisp.org>
52927
52928         * m4/csharp.m4: New file, from GNU gettext.
52929         * m4/csharpexec.m4: New file, from GNU gettext.
52930
52931 2005-06-01  Bruno Haible  <bruno@clisp.org>
52932
52933         * lib/csharpexec.h: New file, from GNU gettext.
52934         * lib/csharpexec.c: New file, from GNU gettext.
52935         * lib/csharpexec.sh.in: New file, from GNU gettext.
52936
52937 2005-05-31  Derek Price  <derek@ximbiot.com>
52938             Paul Eggert  <eggert@cs.ucla.edu>
52939
52940         Sync from cvs.
52941         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
52942
52943 2005-05-31  Derek Price  <derek@ximbiot.com>
52944             Paul Eggert  <eggert@cs.ucla.edu>
52945
52946         Sync from cvs.
52947         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
52948
52949 2005-05-29  Derek Price  <derek@ximbiot.com>
52950
52951         * config/srclist.txt (glob_.h, glob.c): Add these files.
52952
52953 2005-05-29  Derek Price  <derek@ximbiot.com>
52954
52955         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
52956         * modules/glob: New file.
52957         * modules/getlogin_r: Add link to POSIX spec in description.
52958
52959 2005-05-29  Derek Price  <derek@ximbiot.com>
52960             Paul Eggert  <eggert@cs.ucla.edu>
52961
52962         * m4/glob.m4: New file.
52963
52964 2005-05-29  Derek Price  <derek@ximbiot.com>
52965             Paul Eggert  <eggert@cs.ucla.edu>
52966
52967         * lib/glob_.h, lib/glob.c: New files.
52968
52969 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
52970
52971         * modules/fts (Files): Remove m4/inttypes-pri.m4.
52972         * modules/fts-lgpl (Depends-on): Remove gettext.
52973
52974 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
52975
52976         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
52977         and don't require gt_INTTYPES_PRI.
52978
52979 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
52980
52981         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
52982
52983         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
52984         the configuration hassle isn't worth it.
52985         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
52986         (LONGEST_MODIFIER, PRIuMAX): Remove.
52987
52988 2005-05-27  Bruno Haible  <bruno@clisp.org>
52989
52990         * lib/getlogin_r.h: Remove second include of <stddef.h>.
52991
52992 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
52993
52994         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
52995         _POSIX_PTHREAD_SEMANTICS for Solaris.
52996
52997 2005-05-25  Derek Price  <derek@ximbiot.com>
52998
52999         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
53000
53001 2005-05-25  Derek Price  <derek@ximbiot.com>
53002             Paul Eggert  <eggert@cs.ucla.edu>
53003
53004         * modules/getlogin_r, m4/getlogin_r.m4: New files.
53005         * lib/getlogin_r.c, getlogin_r.h: New files.
53006
53007 2005-05-25  Bruno Haible  <bruno@clisp.org>
53008             Derek Price  <derek@ximbiot.com>
53009
53010         * lib/getlogin_r.h: Simplify API documentation.
53011
53012 2005-05-23  Derek Price  <derek@ximbiot.com>
53013
53014         * modules/minmax (Files): Add m4/minmax.m4.
53015         (configure.ac): Add gl_MINMAX.
53016
53017 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
53018
53019         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
53020         so that unistd-safer.h (GPL'ed code) need not be included.
53021
53022 2005-05-22  Bruno Haible  <bruno@clisp.org>
53023
53024         * m4/minmax.m4: New file.
53025         Based on a patch by Derek Price <derek@ximbiot.com>.
53026
53027 2005-05-22  Bruno Haible  <bruno@clisp.org>
53028
53029         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
53030         (INT64_MIN): Fix definition.
53031         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
53032
53033         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
53034         NEED_SIGNED_INT_TYPES.
53035
53036         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
53037         HAVE_SYSTEM_INTTYPES.
53038
53039 2005-05-22  Bruno Haible  <bruno@clisp.org>
53040
53041         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
53042         Also include <sys/param.h> if it defines MIN, MAX.
53043         Based on a patch by Derek Price <derek@ximbiot.com>.
53044
53045 2005-05-21  Jim Meyering  <jim@meyering.net>
53046
53047         * modules/fts (Files): Add m4/inttypes-pri.m4.
53048         (Depends-on): Add lstat and remove gettext.  Alphabetize.
53049
53050 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
53051
53052         New fts module.
53053         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
53054         (setup_dir, free_dir): New functions.
53055         (enter_dir, leave_dir): Define trivial
53056         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
53057         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
53058         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
53059         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
53060         Move to fts-cycle.c.
53061         (fts_open): Use setup_dir.
53062         (fts_close): Use free_dir.
53063         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
53064         This adds a label and some gotos, but the alternatives were messier.
53065         Check for memory allocation failure when entering a dir.
53066         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
53067         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
53068         (FTS): New member fts_cycle, that is a union that contains the
53069         old active_dir_ht and cycle_state.  All uses changed to mention
53070         fts_cycle.ht and fts_cycle.state.
53071         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
53072         fts.c, with the following changes:
53073         (setup_dir, free_dir): New functions.
53074         (enter_dir): Now returns bool.  Return true if successful, false
53075         if memory exhausted.  All callers changed.
53076         Do not bother partly cleaning up on
53077         memory allocation failure; that is free_dir's job.
53078         However, free ad if hash_insert fails, to avoid memory leak.
53079         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
53080         fts->fts_options to see which union member to use.
53081
53082 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
53083
53084         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
53085         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
53086
53087 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
53088
53089         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
53090
53091 2005-05-20  Jim Meyering  <jim@meyering.net>
53092
53093         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
53094         Now a macro, to pacify GCC.
53095
53096 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
53097
53098         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
53099         of -1.
53100
53101 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
53102
53103         * lib/chown.c (rpl_chown): Return -1 on failure.
53104
53105 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
53106
53107         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
53108         Don't check for stddef.h.
53109         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
53110         don't use its results.
53111         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
53112         since we include them unconditionally.  Don't require
53113         AM_STDBOOL_H, since stdbool is a prerequisite.
53114         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
53115         since we assume C89 or better.
53116         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
53117         as we don't use their results.
53118         Don't check for fchdir, memmove, memset, strrchr, as we use
53119         them unconditionally.
53120         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
53121         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
53122
53123 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
53124
53125         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
53126         Include <stddef.h> unconditionally, since we assume C89 now.
53127         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
53128         * lib/fts.c: Include fts_.h first, to check interface.
53129         Do not include intprops.h; no longer needed.
53130         Include cycle-check.h and hash.h, since fts_.h no longer does.
53131         Remove unnecessary casts of closedir to void.
53132         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
53133         decide whether to decrement nlinks.
53134         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
53135         (FTS): Use struct hash_table * instead of Hash_table, so that
53136         we no longer need to include hash.h here.
53137
53138 2005-05-18  Jim Meyering  <jim@meyering.net>
53139
53140         * modules/dirfd (License): Change to LGPL.  Most of the code
53141         is already in the public domain.
53142
53143 2005-05-18  Jim Meyering  <jim@meyering.net>
53144
53145         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
53146         Reported by Yoann Vandoorselaere.
53147
53148 2005-05-17  Jim Meyering  <jim@meyering.net>
53149
53150         * m4/fts.m4: New file, from coreutils.
53151
53152 2005-05-17  Jim Meyering  <jim@meyering.net>
53153
53154         * lib/fts.c, lib/fts_.h: New files, from coreutils.
53155
53156 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
53157
53158         Sync from coreutils.
53159         * m4/unlinkdir.m4: New file.
53160
53161 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
53162
53163         Sync from coreutils.
53164         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
53165         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
53166         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
53167         White space changes only.
53168         * lib/makepath.c (make_path): Port to hosts where leading "//" is
53169         special.
53170         * lib/yesno.c: Include getline.h, not ctype.h.
53171         (yesno): Don't remove leading white space; POSIX doesn't allow it.
53172         Use getline to remove arbitrary restriction on response length.
53173
53174 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
53175
53176         * config/srclist-update: Spell out "Street" in FSF postal
53177         mail address; this is the style the FSF seems to prefer.
53178
53179         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
53180         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
53181         this updates FSF postal mail address.
53182
53183         Sync from coreutils.
53184         * modules/unlinkdir: New file.
53185         * modules/yesno (Depends-on): Add getline.
53186         * MODULES.html.sh (File system functions): Add unlinkdir.
53187
53188 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
53189
53190         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
53191         lib/strsep.h:
53192         Change the initial comment to refer to GPL, not LGPL.
53193         gnulib-tool will change it to LGPL as needed.
53194
53195         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
53196         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
53197         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
53198         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
53199         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
53200         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
53201         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
53202         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
53203         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
53204         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
53205         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
53206         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
53207         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
53208         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
53209         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
53210         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
53211         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
53212         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
53213         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
53214         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
53215         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
53216         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
53217         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
53218         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
53219         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
53220         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
53221         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
53222         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
53223         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
53224         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
53225         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
53226         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
53227         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
53228         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
53229         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
53230         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
53231         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
53232         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
53233         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
53234         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
53235         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
53236         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
53237         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
53238         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
53239         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
53240         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
53241         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
53242         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
53243         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
53244         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
53245         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
53246         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
53247         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
53248         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
53249         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
53250         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
53251         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
53252         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
53253         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
53254         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
53255         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
53256         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
53257         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
53258         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
53259         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
53260         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
53261         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
53262         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
53263         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
53264         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
53265         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
53266         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
53267         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
53268         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
53269         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
53270         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
53271         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
53272         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
53273         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
53274         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
53275         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
53276         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
53277         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
53278         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
53279         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
53280         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
53281         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
53282         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
53283         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
53284         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
53285         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
53286         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
53287         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
53288         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
53289         lib/yesno.c, lib/yesno.h:
53290         Update FSF postal mail address.
53291
53292 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
53293
53294         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
53295         tests/test-memmem.c, tests/test-stpncpy.c:
53296         Update FSF postal mail address.
53297
53298 2005-05-13  Bruno Haible  <bruno@clisp.org>
53299
53300         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
53301         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
53302         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
53303         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
53304         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
53305         Add support for 64-bit integers in the MSVC compiler.
53306
53307 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
53308
53309         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
53310
53311 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
53312
53313         * gnulib-tool (func_import): Sort and uniquify recommended includes.
53314
53315 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
53316
53317         * doc/getdate.texi (General date syntax): Don't say that date
53318         date --iso-8601=ns generates acceptable dates; it doesn't yet.
53319         Problem reported by Nic Ferrier.
53320
53321 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
53322
53323         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
53324         specified in ai_socktype. Fix invalid ai_protocol
53325         check. ai_protocol is usually set to 0 or depending on
53326         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
53327         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
53328         ai_socktype / ai_protocol in the returned addrinfo structure.
53329
53330 2005-05-10  Simon Josefsson  <jas@extundo.com>
53331
53332         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
53333         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
53334
53335 2005-05-10  Karl Berry  <karl@gnu.org>
53336
53337         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
53338         (from http://www.gnu.org/licenses).
53339         * doc/COPYING.LIB: also rename to COPYING.LESSER.
53340         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
53341         fdl.texi suffices.
53342
53343 2005-05-10  Karl Berry  <karl@gnu.org>
53344
53345         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
53346         (COPYING.DOC): remove.
53347
53348         * config/srclist-update: new FSF address.
53349
53350 2005-05-10  Derek Price  <derek@ximbiot.com>
53351
53352         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
53353         possible.
53354
53355 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
53356             Bruno Haible  <bruno@clisp.org>
53357
53358         * modules/inet_ntop: New file.
53359         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
53360         inet_ntop.
53361
53362 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
53363             Bruno Haible  <bruno@clisp.org>
53364
53365         * m4/inet_ntop.m4: New file.
53366
53367 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
53368             Bruno Haible  <bruno@clisp.org>
53369
53370         * lib/inet_ntop.h: New file.
53371         * lib/inet_ntop.c: New file, from glibc with modifications.
53372
53373 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
53374
53375         * modules/time_r (License): Change to LGPL.
53376         * modules/extensions (License): Change to LGPL.  Actually,
53377         the license is more permissive than that, but currently gnulib-tool
53378         doesn't know how to handle more-permissive licenses.
53379
53380         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
53381         Problem reported by Dave Love.
53382
53383 2005-05-08  Jim Meyering  <jim@meyering.net>
53384
53385         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
53386         blank.
53387
53388 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
53389
53390         * modules/argmatch (Depends-on): Add stdbool.
53391         * modules/backupfile (Depends-on): Likewise.
53392         * modules/chdir-long (Depends-on): Likewise.
53393         * modules/closeout (Depends-on): Likewise.
53394         * modules/cycle-check (Depends-on): Likewise.
53395         * modules/dirname (Depends-on): Likewise.
53396         * modules/fnmatch (Depends-on): Likewise.
53397         * modules/fsusage (Depends-on): Likewise.
53398         * modules/fwriteerror (Depends-on): Likewise.
53399         * modules/getcwd (Depends-on): Likewise.
53400         * modules/getloadavg (Depends-on): Likewise.
53401         * modules/hard-locale (Depends-on): Likewise.
53402         * modules/makepath (Depends-on): Likewise.
53403         * modules/mountlist (Depends-on): Likewise.
53404         * modules/nanosleep (Depends-on): Likewise.
53405         * modules/posixtm (Depends-on): Likewise.
53406         * modules/quotearg (Depends-on): Likewise.
53407         * modules/readtokens (Depends-on): Likewise.
53408         * modules/readtokens0 (Depends-on): Likewise.
53409         * modules/readutmp (Depends-on): Likewise.
53410         * modules/save-cwd (Depends-on): Likewise.
53411         * modules/strftime (Depends-on): Likewise.
53412         * modules/userspec (Depends-on): Likewise.
53413         * modules/utimecmp (Depends-on): Likewise.
53414         * modules/xgetcwd (Depends-on): Likewise.
53415         * modules/xnanosleep (Depends-on): Likewise.
53416         * modules/xstrtod (Depends-on): Likewise.
53417         * modules/yesno (Depends-on): Likewise.
53418
53419 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
53420
53421         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
53422         needless checks.
53423
53424 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
53425
53426         Merge from coreutils.  Among other things,
53427         add bulletproofing for cases where stdin, stdout, or stderr are closed.
53428         * lib/fd-safer.c: New file.
53429         * lib/fcntl-safer.h, open-safer.c: Remove.
53430         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
53431         * lib/dup-safer.c: Include unistd-safer.h first.
53432         Don't include errno.h.
53433         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
53434         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
53435         * lib/file-type.c: Rely on file-type.h change.
53436         * lib/getloadavg.c: Include unistd-safer.h.
53437         (getloadavg): Use safer open.
53438         * lib/getusershell.c: Include "stdio-safer.h".
53439         (getusershell): Use safer fopen.
53440         * lib/long-options.c (long_options): Use NULL rather than 0.
53441         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
53442         'free'.
53443         * lib/modechange.c: Likewise.
53444         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
53445         (MODE_DONE): New constant.
53446         (struct mode_change): Remove 'next' member.
53447         (make_node_op_equals): New function; like the old one of the
53448         same name, except it allocates an array.
53449         (mode_compile, mode_create_from_ref): Use it.
53450         (mode_compile): Allocate result as an array, not a linked list.
53451         Parse octal string ourself, so that we catch mistakes like "+0".
53452         (mode_adjust): Arg is an array, not a linked list.
53453         * lib/modechange.c: Include stat-macros.h, xalloc.h.
53454         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
53455         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
53456         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
53457         Remove.  This is now stat-macros.h's job.
53458         (talloc): Remove.  All callers replaced by xalloc, so that
53459         our invokers don't have to worry about reporting memory failures.
53460         (make_node_op_equals): Remove.
53461         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
53462         New constants.
53463         (struct mode_change): Moved here from modechange.h.
53464         (mode_append_entry): Remove.
53465         (mode_compile): Remove MASKED_OPS arg, since it encouraged
53466         apps to have incorrect behavior.  Use simpler algorithm for head
53467         and tail.  Don't futz with umask; that's now the job of mode_adjust.
53468         Detect more invalid usages rather than having somewhat-random behavior.
53469         Don't insert an "a=" action, as that leads to incorrect behavior.
53470         (mode_compile, mode_create_from_ref): Return NULL on error instead
53471         of an enum, since now there's only one way to have an error.  All
53472         callers changed.
53473         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
53474         at the correct time.  Simplify calculation of "+u" and its ilk.
53475         Don't mishandle "+X".
53476         (mode_free): Remove "register" and localize decls.
53477         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
53478         (struct mode_change): Move to modechange.c; callers don't
53479         need to see this stuff.
53480         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
53481         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
53482         (mode_change, mode_adjust): Reflect the new signatures noted above.
53483         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
53484         that might redefine system include files.
53485         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
53486         (my_usleep): Use NULL rather than (void *) 0.
53487         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
53488         Use siginterrupt to specify that system calls should be interrupted.
53489         (rpl_nanosleep): Move initialization of suspended closer to call of
53490         my_usleep.
53491         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
53492         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
53493         (desirable_utmp_entry): New function.
53494         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
53495         using x2nrealloc, to simplify logic.
53496         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
53497         size calculation.  Do not assume utmp file is a regular file.
53498         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
53499         (READ_UTMP_CHECK_PIDS): New constant.
53500         * lib/save-cwd.c: Include unistd-safer.h.
53501         (save_cwd): Use fd_safer.
53502         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
53503         [!_LIBC] Include "stat-macros.h" instead.
53504         * lib/unistd-safer.h (fd_safer): New decl.
53505
53506 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
53507
53508         * modules/getloadavg (Depends-on): Add unistd-safer.
53509         * modules/getusershell (Depends-on): Add stdio-safer.
53510         * modules/lstat (Depends-on): Remove xalloc.
53511         * modules/mkstemp (Depends-on): Add stat-macros.
53512         * modules/modechange (Depends-on): Remove xstrtol.
53513         Add stat-macros, xalloc.
53514         * modules/save-cwd (Depends-on): Add unistd-safer.
53515         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
53516         * modules/unistd-safer (Files): Add lib/fd-safer.c
53517         (Makefile.am): Remove lib_SOURCES.
53518
53519         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
53520         Remove fcntl-safer; unistd-safer supersedes it.
53521
53522 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
53523
53524         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
53525         AC_HEADER_STAT.
53526         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
53527         (gl_PREREQ_CHOWN): Remove.
53528         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
53529         it.  Don't require AC_HEADER_STAT.
53530         (gl_PREREQ_LSTAT): Remove.
53531         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
53532         Don't require AC_HEADER_STAT.
53533         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
53534         (gl_PREREQ_RMDIR): Remove.
53535         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
53536         mention stat-macros.h or AC_HEADER_STAT, since we'll make
53537         the stat-macros module a prerequisite.
53538         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
53539         * m4/filemode.m4 (gl_FILEMODE): Likewise.
53540         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
53541         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
53542         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
53543         variable names.
53544         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
53545         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
53546         variable prefixes.
53547         * m4/fcntl-safer.m4: Remove.
53548         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
53549         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
53550         Invoke gl_PREREQ_FD_SAFER.
53551         (gl_PREREQ_FD_SAFER): New macro.
53552         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
53553         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
53554         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
53555         Remove duplicate call to AC_LIBOBJ(readutmp).
53556         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
53557
53558         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
53559         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
53560
53561 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
53562
53563         * MODULES.html.sh (Misc): Add byteswap.
53564
53565 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
53566
53567         * modules/getcwd (Depends-on): Add extensions.
53568         * modules/openat (Depends-on): Likewise.
53569
53570 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
53571
53572         * modules/byteswap: New file.
53573
53574 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
53575
53576         * m4/byteswap.m4: New file.
53577
53578 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
53579
53580         * lib/byteswap_.h: New file.
53581
53582 2005-04-25  Karl Berry  <karl@gnu.org>
53583
53584         * m4/gettext.m4: Update from GNU gettext 0.14.4.
53585
53586 2005-04-25  Albert Chin  <china@thewrittenword.com>
53587
53588         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
53589         Toolkit C bug.
53590
53591 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
53592
53593         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
53594         (func_ln_if_changed) Remove forcibly for no error message
53595         in case file does not exist.
53596
53597 2005-04-19  Simon Josefsson  <jas@extundo.com>
53598
53599         * gnulib-tool (Options): Make --symlink mean --symbolic.
53600
53601 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
53602
53603         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
53604
53605 2005-04-16  Simon Josefsson  <jas@extundo.com>
53606
53607         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
53608
53609 2005-04-15  Simon Josefsson  <jas@extundo.com>
53610
53611         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
53612
53613 2005-04-15  Simon Josefsson  <jas@extundo.com>
53614
53615         * gnulib-tool: Rename --symlink to --symbolic.
53616
53617 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
53618
53619         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
53620         symbolic links to files instead of copying/moving.  Add --aux-dir,
53621         specifying directory relative --dir where auxiliary build tools
53622         are placed.
53623
53624 2005-04-14  Bruno Haible  <bruno@clisp.org>
53625
53626         * modules/allocsa (License): Change to LGPL.
53627         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
53628
53629 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
53630
53631         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
53632         that "UTC +1 second" continues to work.  Problem reported
53633         by Dmitry V. Levin.
53634         (relunit_snumber): New rule.
53635         (relunit): Use it.
53636
53637 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
53638
53639         * lib/getdate.y (universal_time_zone_table): New constant.
53640         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
53641         universal_time_zone_table.
53642         (lookup_zone): Prefer universal_time_zone_table to
53643         local_time_zone_table, so that "GMT" time stamps are allowed in
53644         London during the summer.  Problem reported by Ian Abbott.
53645
53646 2005-04-12  Jim Meyering  <jim@meyering.net>
53647
53648         * lib/human.c (humblock): Set *options even when returning due to
53649         xstrtoumax conversion failure.  Thanks to a used-uninitialized
53650         warning from gcc-4.
53651
53652 2005-04-09  Jim Meyering  <jim@meyering.net>
53653
53654         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
53655         -Wuninitialized: initialize tm0.tm_year.
53656
53657 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
53658
53659         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
53660         count, since there's no maximum.  All uses changed.
53661         Add member dsts_seen.
53662         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
53663         not being INT_MAX.
53664         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
53665         Use pc_rels_seen to decide whther a date is absolute.
53666
53667         * lib/getdate.y (number): Don't overwrite year.
53668         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
53669         check.
53670
53671 2005-04-02  Simon Josefsson  <jas@extundo.com>
53672
53673         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
53674         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
53675
53676 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
53677
53678         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
53679         where no absolute path name can be longer than PATH_MAX.
53680
53681 2005-03-27  Jim Meyering  <jim@meyering.net>
53682
53683         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
53684
53685 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
53686
53687         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
53688         "one's complement" -> "ones' complement" in comment, as per Knuth.
53689         "value of type" -> "type or expression" in comment.
53690         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
53691
53692 2005-03-26  Jim Meyering  <jim@meyering.net>
53693
53694         Comment nits.
53695         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
53696         Correct typos: s/or/of/.
53697
53698 2005-03-26  Jim Meyering  <jim@meyering.net>
53699
53700         * modules/check-include-files: Move to ../ and rename to...
53701         * check-module: ...this.
53702
53703 2005-03-25  Jim Meyering  <jim@meyering.net>
53704
53705         * modules/xvasprintf (Files): Add xalloc.h.
53706
53707 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
53708
53709         * modules/gettext (Files): config/config.rpath ->
53710         build-aux/config.rpath
53711         * modules/iconv (Files): Likewise.
53712         Problem reported by Oskar Liljeblad.
53713
53714 2005-03-23  Jim Meyering  <jim@meyering.net>
53715
53716         * modules/check-include-files: New script to check for
53717         missing dependencies, multiple includes, etc.
53718
53719         * modules/c-strtold (Depends-on): Add xalloc.
53720         * modules/c-strtod (Depends-on): Add xalloc.
53721         * modules/hash (Depends-on): Add xalloc.
53722         (Files): Remove lib/xalloc.h.
53723
53724         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
53725         * modules/userspec (Files): Add lib/inttostr.h.
53726
53727 2005-03-23  Jim Meyering  <jim@meyering.net>
53728
53729         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
53730
53731 2005-03-22  Jim Meyering  <jim@meyering.net>
53732
53733         * modules/stat-macros: New module.
53734         * modules/canonicalize, modules/euidaccess, modules/file-type,
53735         * modules/filemode, modules/lchown, modules/makepath,
53736         * modules/rmdir, modules/stat: Depend on new stat-macros module
53737         rather than listing lib/stat-macros.h manually.
53738         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
53739
53740 2005-03-22  Jim Meyering  <jim@meyering.net>
53741
53742         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
53743
53744 2005-03-22  Bruno Haible  <bruno@clisp.org>
53745
53746         * config/srclist.txt: Replace target directory 'config' with
53747         'build-aux'.
53748         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
53749         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
53750         ../build-aux/.
53751
53752 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
53753
53754         * modules/chdir-long (Depends-on): Add mempcpy.
53755
53756         * modules/acl, modules/backupfile, modules/c-strtod,
53757         modules/c-strtold, modules/canon-host, modules/canonicalize,
53758         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
53759         modules/exclude, modules/exitfail, modules/file-type,
53760         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
53761         modules/getdate, modules/getline, modules/getpagesize,
53762         modules/getpass, modules/getugroups, modules/group-member,
53763         modules/hard-locale, modules/hash, modules/human, modules/idcache,
53764         modules/inttostr, modules/long-options, modules/makepath,
53765         modules/md5, modules/memcasecmp, modules/memcoll,
53766         modules/modechange, modules/mountlist, modules/path-concat,
53767         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
53768         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
53769         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
53770         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
53771         modules/strftime, modules/strndup, modules/strverscmp,
53772         modules/timespec, modules/unlocked-io, modules/userspec,
53773         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
53774         modules/yesno:
53775         Remove lib_SOURCES line from Makefile.am section, as this is now
53776         done automatically by the corresponding Autoconf macro.
53777
53778 2005-03-21  Jim Meyering  <jim@meyering.net>
53779
53780         Changes imported from coreutils.
53781
53782         * lib/cycle-check.c: Don't include xalloc.h.
53783
53784         * lib/path-concat.c: Don't include assert.h.
53785         (path_concat): Remove assertion that would have triggered
53786         for ABASE starting with more than one slash.
53787         Reported by Andreas Schwab.
53788
53789         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
53790         properly when ABASE is an absolute file name.
53791         Correct the description of this function.
53792         Include <assert.h>.
53793         Add an assertion and a test driver.
53794         This fixes a bug introduced on 2004-07-02.
53795         Andreas Schwab reported the resulting failure of cp --parents:
53796         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
53797
53798 2005-03-21  Jim Meyering  <jim@meyering.net>
53799
53800         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
53801         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
53802
53803 2005-03-21  Jim Meyering  <jim@meyering.net>
53804         and  Paul Eggert  <eggert@cs.ucla.edu>
53805
53806         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
53807         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
53808         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
53809         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
53810         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
53811         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
53812         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
53813         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
53814         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
53815         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
53816         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
53817         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
53818         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
53819         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
53820         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
53821         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
53822         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
53823         for these modules.
53824
53825 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
53826
53827         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
53828         (which shouldn't happen), generate nothing instead of returning 0
53829         immediately, so that nstrftime (NULL, ...) doesn't return 0.
53830
53831 2005-03-16  Bruno Haible  <bruno@clisp.org>
53832
53833         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
53834         HAVE_LONGLONG_64BIT.
53835
53836 2005-03-16  Bruno Haible  <bruno@clisp.org>
53837
53838         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
53839         HAVE_LONGLONG_64BIT.
53840
53841 2005-03-16  Bruno Haible  <bruno@clisp.org>
53842
53843         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
53844         HAVE_LONGLONG_64BIT.
53845
53846 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
53847
53848         * lib/strftime.c (my_strftime): Prepend space to format so that we can
53849         reliably distinguish strftime failure from empty output on POSIX
53850         hosts.
53851
53852 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
53853
53854         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
53855         (iconv_string): Don't guess a size-zero buffer, as that might cause
53856         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
53857         result would be 'too large', where 'too large' is (heuristically)
53858         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
53859         overflow concerns.  This will prevent some unwanted malloc failures
53860         when the inputs are very large.
53861
53862 2005-03-15  Karl Berry  <karl@gnu.org>
53863
53864         * config/srclist.txt (config.rpath): from gettext.
53865         * config/config.rpath: update.
53866
53867 2005-03-15  Bruno Haible  <bruno@clisp.org>
53868
53869         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
53870         to 'negate'.
53871
53872         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
53873         variable.
53874
53875         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
53876         results.
53877
53878 2005-03-14  Simon Josefsson  <jas@extundo.com>
53879
53880         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
53881         <fx@gnu.org>.
53882
53883 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
53884
53885         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
53886         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
53887         intprops.h.
53888         * lib/strtol.c: Likewise.
53889
53890 2005-03-14  Jim Meyering  <jim@meyering.net>
53891
53892         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
53893         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
53894         to be nonzero so that we (and caller) can detect the difference
53895         between a valid zero-length expansion and an error return, even
53896         when the underlying strftime fails before writing anything into
53897         that location.
53898
53899 2005-03-14  Bruno Haible  <bruno@clisp.org>
53900
53901         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
53902         Update from GNU gettext 0.14.3.
53903
53904 2005-03-10  Jim Meyering  <jim@meyering.net>
53905
53906         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
53907
53908 2005-03-10  Jim Meyering  <jim@meyering.net>
53909
53910         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
53911         so that this module works on systems without fchdir.
53912
53913 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
53914
53915         Factor int-properties macros into a single file, except for
53916         glibc-related files.
53917         * lib/intprops.h: New file.
53918         * lib/getloadavg.c: Include it instead of limits.h.
53919         (INT_STRLEN_BOUND): Remove.
53920         * lib/human.c: Include intprops.h.
53921         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
53922         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
53923         302/1000.
53924         * lib/inttostr.h: Include intprops.h instead of limits.h.
53925         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
53926         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
53927         for consistency with intprops.h.
53928         (time_t_is_integer, twos_complement_arithmetic): Use them.
53929         * lib/sig2str.h: Include <signal.h>, intprops.h.
53930         (INT_STRLEN_BOUND): Remove.
53931         * lib/strftime.c (TYPE_SIGNED): Remove.
53932         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
53933         * lib/strtol.c: Adjust comments to match intprops.h.
53934         * lib/userspec.c: Include intprops.h.
53935         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
53936         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
53937         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
53938         instead of rolling our own expressions.
53939         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
53940
53941         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
53942         instead of int.
53943         (my_strftime): Do not mishandle years close to INT_MAX, by doing
53944         the right thing even if adding 1900 would overflow.  Similarly
53945         for tm_mon + 1 and tm_yday + 1.
53946         Make %Y always equivalent to %C%y, and similarly for %G and %g.
53947         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
53948         (DO_SIGNED_NUMBER): New macro.
53949         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
53950
53951 2005-03-07  Bruno Haible  <bruno@clisp.org>
53952
53953         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
53954
53955 2005-03-07  Bruno Haible  <bruno@clisp.org>
53956
53957         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
53958
53959 2005-03-04  Derek R. Price  <derek@ximbiot.com>
53960
53961         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
53962         (func_import): Only replace files via --import when they have actually
53963         changed.
53964
53965 2005-03-03  Derek R. Price  <derek@ximbiot.com>
53966
53967         * m4/mmap-anon.m4: New file.
53968         * m4/pagealign_alloc.m4: New file.
53969
53970 2005-03-03  Derek R. Price  <derek@ximbiot.com>
53971             Bruno Haible  <bruno@clisp.org>
53972
53973         * modules/pagealign_alloc: New file.
53974         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
53975
53976 2005-03-03  Derek R. Price  <derek@ximbiot.com>
53977             Bruno Haible  <bruno@clisp.org>
53978
53979         * lib/pagealign_alloc.h: New file.
53980         * lib/pagealign_alloc.c: New file.
53981
53982 2005-03-03  Bruno Haible  <bruno@clisp.org>
53983
53984         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
53985         Use an all-permissive copyright notice, recommended by RMS.
53986
53987 2005-03-02  Bruno Haible  <bruno@clisp.org>
53988
53989         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
53990         of AIX, the replacement has to be done only after <string.h> is
53991         included, therefore not in config.h. stpncpy.h does the replacement,
53992         and stpncpy.c uses it.
53993
53994 2005-03-02  Bruno Haible  <bruno@clisp.org>
53995
53996         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
53997         stpncpy.c uses it.
53998
53999 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
54000
54001         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
54002         The workaround isn't strictly needed for POSIX conformance, and
54003         it's too much of a pain to configure and maintain.  We'll ask
54004         people to fix their kernels instead.
54005         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
54006         (NANOSLEEP_BUG_WORKAROUND): Remove.
54007         (xnanosleep): Remove the workaround.
54008
54009 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
54010
54011         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
54012         Reported by Derek Price.
54013         (Include): Add "timespec.h".
54014
54015         * modules/xnanosleep (Depends-on): Remove gethrxtime.
54016
54017 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
54018
54019         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
54020         to detect nanosleep bug.
54021
54022 2005-03-01  Bruno Haible  <bruno@clisp.org>
54023
54024         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
54025
54026 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
54027
54028         * modules/gethrxtime: New file.
54029         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
54030         (Depends-on): Add gethrxtime.
54031         (configure.ac): Add gl_XNANOSLEEP.
54032         (Makefile.am): Remove lib_SOURCES line.
54033
54034 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
54035
54036         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
54037         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
54038
54039 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
54040
54041         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
54042         * lib/timespec.h (gettime): Return void, since it always
54043         succeeds now.  All uses changed.
54044         * lib/gettime.c (gettime) Likewise.
54045         [HAVE_NANOTIME]: Prefer nanotime.
54046         Assume gettimeofday succeeds, as POSIX requires.
54047         Assime time () succeeds, since other code already does.
54048         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
54049         (timespec_subtract): Remove.
54050         (NANOSLEEP_BUG_WORKAROUND): New constant.
54051         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
54052         things considerably.  Use it only on GNU/Linux hosts, since the
54053         workaround shouldn't be needed elsewhere.
54054
54055 2005-02-24  Bruno Haible  <bruno@clisp.org>
54056
54057         * modules/gettext (Files): Add m4/glibc2.m4.
54058
54059 2005-02-24  Bruno Haible  <bruno@clisp.org>
54060
54061         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
54062         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
54063         * m4/progtest.m4:
54064         Update from GNU gettext 0.14.2.
54065         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
54066
54067 2005-02-24  Bruno Haible  <bruno@clisp.org>
54068
54069         * lib/localcharset.c: Update from GNU gettext 0.14.2.
54070         * lib/config.charset: Update from GNU gettext 0.14.2.
54071
54072 2005-02-24  Bruno Haible  <bruno@clisp.org>
54073
54074         * lib/gettext.h: Update from GNU gettext 0.14.2.
54075
54076 2005-02-23  Simon Josefsson  <jas@extundo.com>
54077
54078         * m4/iconvme.m4: New file.
54079
54080 2005-02-23  Jim Meyering  <jim@meyering.net>
54081
54082         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
54083         change.
54084         Thanks to Bruno Haible for catching it.
54085
54086 2005-02-22  Simon Josefsson  <jas@extundo.com>
54087
54088         * modules/iconvme: New file.
54089
54090         * MODULES.html.sh: Add iconvme.
54091
54092 2005-02-22  Simon Josefsson  <jas@extundo.com>
54093
54094         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
54095
54096 2005-02-22  Simon Josefsson  <jas@extundo.com>
54097
54098         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
54099
54100 2005-02-22  Jim Meyering  <jim@meyering.net>
54101
54102         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
54103         s/ifndef/ifdef/.
54104
54105 2005-02-20  Neil Conway  <neilc@samurai.com>
54106
54107         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
54108         returned by OSX/Darwin if the specified buffer is not large
54109         enough for the hostname.
54110
54111 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
54112
54113         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
54114         pass it to _help, otherwise the latter coredumps trying to
54115         dereference state.root_argp.
54116
54117 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
54118
54119         * modules/chdir-long (Depends-on): Add memrchr.
54120         * modules/memrchr (Files): Add lib/memrchr.h.
54121         (Include): "memrchr.h".
54122
54123 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
54124
54125         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
54126
54127 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
54128
54129         * lib/memrchr.h: New file.
54130         * lib/chdir-long.c: Include it.
54131         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
54132         Don't bother including stddef.h.
54133
54134 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
54135
54136         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
54137         inclusion.
54138         Include <sys/types.h>, for dev_t.
54139         (ME_DUMMY, ME_REMOTE): Move from here....
54140         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
54141         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
54142         Dmitry V. Levin.
54143         Include mountlist.h first, to test the interface.
54144
54145 2005-01-29  Bruno Haible  <bruno@clisp.org>
54146
54147         * lib/progname.c (program_name): Initialize.
54148         Needed when linking statically on MacOS X.
54149
54150 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
54151
54152         Sync from coreutils.
54153         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
54154         (Depends-on): Add c-strtod.
54155         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
54156
54157 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
54158
54159         Sync from coreutils.
54160         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
54161
54162         Remove files that are specific to coreutils.
54163         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
54164
54165 2005-01-28  Bruno Haible  <bruno@clisp.org>
54166
54167         * modules/javacomp: New file.
54168         * MODULES.html.sh (Java): Add javacomp.
54169
54170 2005-01-28  Bruno Haible  <bruno@clisp.org>
54171
54172         * m4/javacomp.m4: New file, from GNU gettext.
54173
54174 2005-01-28  Bruno Haible  <bruno@clisp.org>
54175
54176         * lib/javacomp.sh.in: New file, from GNU gettext.
54177         * lib/javacomp.h: New file, from GNU gettext.
54178         * lib/javacomp.c: New file, from GNU gettext.
54179
54180 2005-01-26  Simon Josefsson  <jas@extundo.com>
54181
54182         * lib/gai_strerror.c: Use GPL in header.
54183
54184 2005-01-26  Bruno Haible  <bruno@clisp.org>
54185
54186         * modules/javaexec: New file.
54187         * MODULES.html.sh (Java): Add javaexec.
54188
54189 2005-01-26  Bruno Haible  <bruno@clisp.org>
54190
54191         * m4/javaexec.m4: New file, from GNU gettext.
54192
54193 2005-01-26  Bruno Haible  <bruno@clisp.org>
54194
54195         * lib/javaexec.sh.in: New file, from GNU gettext.
54196         * lib/javaexec.h: New file, from GNU gettext.
54197         * lib/javaexec.c: New file, from GNU gettext.
54198
54199 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
54200
54201         * modules/lchown (Depends-on): Remove lchown.h
54202
54203 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
54204
54205         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
54206         must be defined if the header file was not found, in order
54207         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
54208
54209 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
54210
54211         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
54212         initializers for struct pentry_state.
54213         (__argp_error): Check return value of __asprintf
54214         (__argp_failure): Translate error message
54215
54216         * lib/argp-parse.c: Removed braces around the expansion of N_()
54217
54218 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
54219
54220         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
54221         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
54222         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
54223         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
54224         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
54225         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
54226         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
54227         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
54228         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
54229         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
54230         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
54231         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
54232         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
54233         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
54234         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
54235         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
54236         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
54237         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
54238         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
54239         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
54240         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
54241         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
54242         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
54243         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
54244         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
54245         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
54246         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
54247         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
54248         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
54249         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
54250         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
54251         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
54252         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
54253         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
54254         xstrtol.m4, xstrtoumax.m4, yesno.m4:
54255         Use an all-permissive copyright notice, recommended by RMS.
54256
54257 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
54258
54259         * modules/chdir-long (Depends-on): Remove mempcpy.
54260
54261 2005-01-21  Jim Meyering  <jim@meyering.net>
54262
54263         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
54264         same value as for Solaris 9.
54265
54266         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
54267         component length.  This included changing the parameter to be
54268         of type `char *' rather than `char const *'.
54269         * lib/chdir-long.h (chdir_long): Update prototype.
54270
54271         * lib/openat.c (fdopendir, fstatat): New functions.
54272         * lib/openat.h: Include headers required for use of DIR and struct
54273         stat.
54274         [AT_SYMLINK_NOFOLLOW]: Define.
54275         (fdopendir, fstatat): Add prototypes.
54276
54277 2005-01-21  Bruno Haible  <bruno@clisp.org>
54278
54279         * modules/classpath: New file.
54280         * MODULES.html.sh (Java): Add classpath.
54281
54282 2005-01-21  Bruno Haible  <bruno@clisp.org>
54283
54284         * lib/classpath.h: New file, from GNU gettext.
54285         * lib/classpath.c: New file, from GNU gettext.
54286
54287 2005-01-20  Simon Josefsson  <jas@extundo.com>
54288
54289         * modules/version-etc-fsf: New file.
54290
54291 2005-01-20  Simon Josefsson  <jas@extundo.com>
54292
54293         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
54294         * lib/version-etc.c: Remove version_etc_copyright.
54295         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
54296         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
54297
54298 2005-01-20  Simon Josefsson  <jas@extundo.com>
54299
54300         * lib/base64.h (isbase64): Add.
54301
54302         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
54303         using a unsigned prototype, don't inline.
54304         (base64_decode): Use it.
54305
54306 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
54307
54308         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
54309         it.
54310
54311 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
54312
54313         * lib/save-cwd.c (save_cwd): Remove code to support the case
54314         where fchdir is missing or flaky.
54315
54316 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
54317
54318         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
54319
54320 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
54321
54322         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
54323         AC_LIBSOURCES now does this.
54324         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
54325         with new ullong_max module.
54326
54327 2005-01-19  Bruno Haible  <bruno@clisp.org>
54328
54329         * modules/sh-quote: New file.
54330         * MODULES.html.sh (Executing programs): Add sh-quote.
54331
54332 2005-01-19  Bruno Haible  <bruno@clisp.org>
54333
54334         * lib/sh-quote.h: New file, from GNU gettext.
54335         * lib/sh-quote.c: New file, from GNU gettext.
54336
54337 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
54338
54339         Merge from coreutils.
54340         * m4/ullong_max.m4: New file.
54341         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
54342         (gl_MACROS): Assume localeconv exists.
54343
54344 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
54345
54346         Merge changes from coreutils, as described below in several
54347         changelogs dated today.
54348
54349         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
54350         (O_DIRECTORY): Remove; not needed here, since "." must be
54351         a directory.  All uses removed.
54352         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
54353         universal on Suns, and we also need to test for IRIX.
54354         Revamp code to use 'if' rather than '#if'.
54355         Avoid unnecessary comparison of cwd->desc to 0.
54356
54357         * lib/utimens.c (futimens): Robustify the previous patch, by checking
54358         for known valid error numbers rather than observed invalid ones.
54359
54360 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
54361
54362         * modules/ullong_max: New file.
54363
54364         * modules/chdir-long, modules/openat: New files.
54365         * modules/save-cwd (Depends-on): Depend on chdir-long.
54366         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
54367
54368 2005-01-18  Jim Meyering  <jim@meyering.net>
54369
54370         Merge from coreutils.
54371         * m4/chdir-long.m4, m4/openat.m4: New files.
54372         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
54373         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
54374         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
54375         is sane and DOES follow symlinks.  Besides, testing 20 different
54376         systems found no broken chown implementations.
54377         Prompted by a change in rsync's copy of this macro.
54378         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
54379
54380         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
54381
54382         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
54383         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
54384         NULL-means-set-to-current-time semantics.
54385         Remove temporary file immediately, rather than waiting
54386         for configure's at-exit trap code to do it.
54387
54388 2005-01-18  Jim Meyering  <jim@meyering.net>
54389
54390         * lib/version-etc.c (version_etc_copyright): Update copyright date.
54391
54392         * lib/utimens.c (futimens): Account for the fact that futimes
54393         can also fail with errno == ENOSYS or errno == ENOENT.
54394         Patch from Dmitry V. Levin.
54395
54396         Change the name of the robust chdir function from chdir to chdir_long.
54397         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
54398         (restore_cwd): Use chdir_long, not chdir.
54399         * lib/chdir-long.c: Renamed from chdir.c.
54400         * lib/chdir-long.h: Renamed from chdir.h.
54401         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
54402         Hurd.
54403
54404 2005-01-18  Bruno Haible  <bruno@clisp.org>
54405
54406         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
54407         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
54408         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
54409         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
54410         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
54411         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
54412         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
54413         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
54414         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
54415         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
54416         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
54417         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
54418         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
54419         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
54420         Use an all-permissive copyright notice, recommended by RMS.
54421
54422 2005-01-18  Bob Proulx  <bob@proulx.com>
54423
54424         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
54425         simplify offsetof() macro construct to avoid compile failure with
54426         native HP-UX 11.0 ANSI C compiler.
54427
54428 2005-01-17  Bruno Haible  <bruno@clisp.org>
54429
54430         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
54431         redundant because stpncpy.m4 takes care of it.
54432
54433 2005-01-17  Bruno Haible  <bruno@clisp.org>
54434
54435         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
54436
54437 2005-01-17  Bruno Haible  <bruno@clisp.org>
54438
54439         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
54440         used.
54441
54442 2005-01-17  Bruno Haible  <bruno@clisp.org>
54443
54444         * lib/fwriteerror.h (fwriteerror): Change specification to include
54445         fclose.
54446         * lib/fwriteerror.c: Include <stdbool.h>.
54447         (fwriteerror): At the end, close the file stream. Record whether
54448         stdout was already closed.
54449
54450 2005-01-17  Bruno Haible  <bruno@clisp.org>
54451
54452         * lib/execute.c (environ): Declare if needed.
54453         * lib/pipe.c (environ): Likewise.
54454         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
54455
54456 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
54457
54458         * modules/argp: Depend on vsnprintf
54459
54460 2005-01-10  Jim Meyering  <jim@meyering.net>
54461
54462         * modules/closeout (Depends-on): Add atexit.
54463
54464 2005-01-06  Bruno Haible  <bruno@clisp.org>
54465
54466         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
54467
54468 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
54469
54470         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
54471         definitions to be after all include files, to avoid collisions.
54472         Problem reported by Bob Proulx.
54473
54474 2005-01-04  Jim Meyering  <jim@meyering.net>
54475
54476         Changes imported from coreutils.
54477         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
54478         as the mkstemp template, use a temporary directory and an
54479         8.3-friendly template to avoid trouble on systems like DJGPP.
54480         Reported by Juan M. Guerrero via Stepan Kasal.
54481         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
54482         close. Remove the temporary directory right away, rather than waiting
54483         for configure's at-exit trap code to do it.
54484         Suggestion from Stepan Kasal.
54485
54486 2005-01-01  Simon Josefsson  <jas@extundo.com>
54487
54488         * gnulib-tool: Print #include directives when --import'ing.
54489
54490 2004-12-28  Simon Josefsson  <jas@extundo.com>
54491
54492         * tests/test-base64.c: Include required header files.  Remove
54493         unused variables.
54494
54495 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
54496
54497         * modules/error (Depends-on): Remove gettext.
54498
54499 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
54500
54501         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
54502         not needed.  This removes a dependency on the gettext module.
54503         [defined _LIBC]: Do not include <libintl.h>; not needed.
54504
54505 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
54506
54507         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
54508         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
54509
54510 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
54511
54512         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
54513         HAVE_DECL_STRTOLD.
54514
54515 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
54516
54517         * modules/getdate (Depends-on): Remove alloca-opt.
54518
54519 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
54520
54521         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
54522
54523 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
54524
54525         * lib/argp-parse.c: Include <stddef.h>.
54526         (alignof, alignto): New macros.
54527         (parser_init): Don't assume that void * is aligned sufficiently
54528         for struct option.
54529
54530         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
54531         need to extend the stack.
54532         (YYINITDEPTH): New macro, so that the initial stack isn't overly
54533         large.
54534
54535 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
54536
54537         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
54538
54539 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
54540
54541         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
54542         (2004-10-24) change.  Apparently this was a false alarm.
54543
54544         * modules/getdate: Depend on alloca-opt, not alloca.
54545
54546 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
54547
54548         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
54549         Remove now-obsolete comment about AIX.
54550         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
54551         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
54552         (YYMAXDEPTH): New macro.
54553
54554 2004-12-18  Simon Josefsson  <jas@extundo.com>
54555
54556         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
54557
54558 2004-12-18  Bruno Haible  <bruno@clisp.org>
54559
54560         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
54561
54562 2004-12-18  Bruno Haible  <bruno@clisp.org>
54563
54564         * lib/fatal-signal.c (fatal_signals): Make non-const.
54565         (init_fatal_signals): New function.
54566         (uninstall_handlers, install_handlers): Ignore signals that were set to
54567         SIG_IGN.
54568         (at_fatal_signal): Call init_fatal_signals.
54569         (init_fatal_signal_set): Likewise. Ignore signals that were set to
54570         SIG_IGN.
54571         Reported by Paul Eggert.
54572
54573 2004-12-18  Bruno Haible  <bruno@clisp.org>
54574
54575         * doc/alloca.texi: New file.
54576         * doc/alloca-opt.texi: New file.
54577
54578 2004-12-17  Jim Meyering  <jim@meyering.net>
54579
54580         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
54581         Otherwise, install-sh could exit with improper exit status when
54582         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
54583
54584 2004-12-16  Simon Josefsson  <jas@extundo.com>
54585
54586         * tests/test-base64.c: Add license.
54587
54588 2004-12-15  Stepan Kasal  <address@hidden>
54589
54590         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
54591
54592 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
54593
54594         * modules/getcwd (Files): Add m4/d-ino.m4.
54595         Suggested by Mark D. Baushke.
54596
54597 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
54598
54599         * lib/getdate.y (textint): New member "negative".
54600         (time_zone_hhmm): New function.
54601         Expect 14 shift-reduce conflicts, not 13.
54602         (o_colon_minutes): New rule.
54603         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
54604         (yylex): Set the "negative" member of signed numbers.
54605
54606 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
54607
54608         * doc/getdate.texi (Time of day items, Time zone items):
54609         Describe new formats +00:00, UTC+00:00.
54610
54611 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
54612
54613         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
54614         spurious "-l"s.  Problem reported by Stepan Kasal.
54615
54616 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
54617
54618         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
54619         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
54620
54621 2004-12-04  Simon Josefsson  <jas@extundo.com>
54622
54623         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
54624         Vandoorselaere <yoann@prelude-ids.org>.
54625
54626 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
54627
54628         Changes imported from coreutils.
54629         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
54630         exist.
54631         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
54632
54633 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
54634
54635         Changes imported from coreutils.
54636         * lib/hard-locale.c: Assume <locale.h> exists.
54637         Include "strdup.h".
54638         (GLIBC_VERSION): New macro.
54639         (hard_locale): Assume setlocale exists.
54640         Rewrite to avoid #ifdef.
54641         Use strdup rather than malloc + strcpy.
54642         * lib/human.c: Assume <locale.h> exists.
54643         (human_readable): Assume localeconv exists.
54644
54645 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
54646
54647         * modules/hard-locale (Depends-on): Add strdup.
54648
54649 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
54650
54651         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
54652         convert T2, not T.  (Imported from libc.)
54653
54654 2004-11-30  Simon Josefsson  <jas@extundo.com>
54655
54656         * modules/restrict (License): Change to LGPL.
54657
54658 2004-11-30  Simon Josefsson  <jas@extundo.com>
54659
54660         * m4/restrict.m4: Add copyright and copying conditions.
54661
54662 2004-11-30  Simon Josefsson  <jas@extundo.com>
54663
54664         * m4/base64.m4: New file.
54665
54666 2004-11-30  Simon Josefsson  <jas@extundo.com>
54667
54668         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
54669         base64.
54670
54671         * tests/test-base64.c: New file.
54672
54673         * modules/base64: New file.
54674
54675 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
54676
54677         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
54678         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
54679
54680         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
54681
54682 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
54683
54684         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
54685         (__getcwd.c): Don't restore errno; glibc doesn't.
54686         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
54687         first, falling back to our code only if its results look suspicious.
54688         Ensure that the resulting buffer is only as large as necessary.
54689
54690         * lib/readutmp.c: Include readutmp.h first.
54691         Include <errno.h>, since readutmp.h no longer does that.
54692         * lib/readutmp.h: Don't include <errno.h>,
54693         <sys/param.h>, <time.h>; not needed to establish interface.
54694         (errno): Remove decl.
54695         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
54696         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
54697         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
54698
54699 2004-11-28  Simon Josefsson  <jas@extundo.com>
54700
54701         * lib/base64.h, base64.c: New file.
54702
54703 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
54704
54705         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
54706
54707 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
54708
54709         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
54710         (Depends-on): Remove pathmax, same.  Add mempcpy.
54711         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
54712         (Makefile.am): Append getcwd.h to lib_SOURCES.
54713         (Include): Add getcwd.h.
54714         (Maintainer): Change from Jim Meyering to "all, glibc",
54715         since getdate now uses intended-for-glibc code.
54716         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
54717         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
54718
54719 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
54720
54721         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
54722         HP's ANSI C compiler.
54723         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
54724         Declaring int functions causes warnings on some modern systems and
54725         shouldn't be needed to compile on ancient ones.
54726         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
54727         defined.
54728
54729         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
54730         with the following changes.
54731         (__set_errno): Parenthesize properly.
54732         Include <stdbool.h>.
54733         (MIN, MAX, MATCHING_INO): New macros.
54734         (__getcwd): Define with prototype, not K&R form.
54735         Use heuristics to allocate default buffer on stack if possible.
54736         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
54737         behavior, and to avoid the PATH_MAX limit when computing
54738         ../../../../...
54739         Use MATCHING_INO to compare inode number to file.
54740         Check for arithmetic overflow in size calculations.
54741         Fix bug in reallocation of dot array that caused getcwd to fail
54742         on directories nested deeper than 75.
54743         Be more careful about saving errno on error.
54744         Do not use realloc; use only free+malloc, as this is a bit
54745         more flexible and avoids a needless copy operation.
54746         Do not inspect st_dev and st_ino for symbolic links; POSIX
54747         doesn't specify the latter.
54748         Check for closedir errors.
54749         Avoid needless casts.
54750         Use "#ifdef weak_alias" around weak_alias, to be like other
54751         glibc code.
54752         The following changes to getcwd.c have effect only when used in
54753         gnulib; they have no effect inside glibc proper.
54754         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
54755         as alloca isn't used.
54756         (alloca, __alloca): Likewise.
54757         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
54758         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
54759         unconditionally, as gnulib assumes C89 or better.
54760         Do not include <sys/param.h>.
54761         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
54762         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
54763         better.
54764         (NULL) [!defined NULL]: Remove; we assume C89 or better.
54765         Include <dirent.h> in a way that is compatible with modern Autoconf.
54766         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
54767         New macros, if not already defined.
54768         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
54769         Use "_LIBC", not "defined _LIBC", for consistency.
54770         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
54771         a mempcpy module.
54772         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
54773         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
54774         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
54775         credit only to Jim Meyering and adjust the copyright dates.
54776         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
54777         <stdlib.h>, <unistd.h>, "pathmax.h".
54778         Instead, include "xgetcwd.h" (first) and "getcwd.h".
54779         (INITIAL_BUFFER_SIZE): Remove.
54780         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
54781
54782 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
54783
54784         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
54785         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
54786         Use the _ONCE methods, for efficiency.
54787         Check for fcntl.h.  In test program, include <errno.h>
54788         and <fcntl.h> if available.  Remove old K&R cruft from
54789         test program.  Check for common errors in GNU/Linux,
54790         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
54791         don't do AC_LIBOBJ, as that's getcwd.m4's job.
54792         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
54793         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
54794         name accordingly.
54795         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
54796         accommodate new getcwd.c.
54797         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
54798         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
54799         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
54800         that's all we need now.
54801
54802 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
54803
54804         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
54805         argp-parse.c depends on getopt internals, that means we should
54806         always use our getopt, to be on the safe side.
54807         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
54808         order not to spoil the result of an eventual previous invocation
54809         of gl_GETOPT_SUBSTITUTE.
54810
54811 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
54812
54813         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
54814         redefinition warnings. To avoid them, include the defines
54815         in `#if !defined __need_getopt ... #endif'. The only place
54816         where __getopt_argv_const is used is in definitions
54817         of getopt_long and getopt_long_only below, which are as well
54818         protected by `#ifndef __need_getopt'.
54819         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
54820         __need_getopt after including <stdio.h> and <unistd.h> These
54821         headers might have defined it.
54822
54823 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
54824
54825         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
54826
54827 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
54828
54829         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
54830         (futimens): New function, which uses futimes if available.
54831         (futimens, utimens): Support timespec==NULL, with same semantics
54832         as utime and utimens.
54833         * lib/utimens.h (futimens): New decl.
54834
54835 2004-11-23  Jim Meyering  <jim@meyering.net>
54836
54837         * lib/getopt_.h: Remove trailing blanks.
54838
54839 2004-11-23  Jim Meyering  <jim@meyering.net>
54840
54841         * lib/__fpending.c: Add comment.
54842
54843 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
54844
54845         * modules/canonicalize (Depends-on): Add xreadlink.
54846         Problem reported by James Youngman.
54847
54848 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
54849
54850         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
54851         New macros.
54852         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
54853         optopt): Use them instead of invoking ## directly; otherwise, the
54854         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
54855
54856 2004-11-19  Bruno Haible  <bruno@clisp.org>
54857
54858         * lib/strtok_r.c: Move comments from here...
54859         * lib/strtok_r.h: ... to here.
54860
54861 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
54862
54863         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
54864         implementations that mishandle size_t overflow.
54865
54866 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
54867
54868         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
54869         might fail.  Problem reported by Yoann Vandoorselaere.
54870         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
54871         implementations that mishandle size_t overflow.
54872
54873 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
54874
54875         * modules/canon-host (Depends-on): Add strdup.
54876
54877 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
54878
54879         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
54880
54881 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
54882
54883         * lib/canon-host.c: Include "strdup.h".
54884         (canon_host): Use getaddrinfo if available, so that IPv6 works.
54885         Use strdup instead of malloc/strcpy to duplicate strings.
54886
54887         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
54888         (human_space_before_unit): New constant.
54889         * lib/human.c (human_readable): Support it.
54890
54891         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
54892         (xgetcwd): Set errno correctly when failing.
54893         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
54894         the failure is actually due to a PATH_MAX problem.
54895
54896         Further getopt changes to make it more likely that glibc will
54897         buy the changes back.
54898         * lib/getopt.c (POSIXLY_CORRECT): New constant.
54899         (getopt): Use it, so to preserve glibc semantic
54900         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
54901         when compiling for libc.
54902         * lib/getopt_.h (__getopt_argv_const): Bring it back.
54903         (getopt_long, getopt_long_only): Use it.
54904
54905         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
54906         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
54907         (getopt): Argv is now char * const *, as per standard.
54908         (_getopt_internal_r, _getopt_internal): Argv is now char **,
54909         not char *__getopt_argv_const *.
54910         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
54911         _getopt_long_only_r): Likewise.
54912         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
54913         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
54914         _getopt_long_r, _getopt_long_only_r): Likewise.
54915         * lib/getopt_.h (__getopt_argv_const): Remove.
54916         (getopt): Argv is now char * const *, as per standard.
54917
54918         * lib/getdate.y (tORDINAL): New token.
54919         (day, relunit): Allow it for relative times.
54920         (relative_time_table): Use tORDINAL for ordinals.
54921
54922 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
54923
54924         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
54925         Document that "second" isn't allowed as an ordinal number.
54926
54927 2004-11-16  Jim Meyering  <jim@meyering.net>
54928
54929         * modules/closeout (Depends-on): Add fpending.
54930
54931 2004-11-15  Jim Meyering  <jim@meyering.net>
54932
54933         * lib/closeout.c: Include "__fpending.h" once again.
54934         Include <stdbool.h>.
54935         (close_stdout): Don't fail just because stdout was closed initially,
54936         since some programs don't write to stdout in the normal course of
54937         operation (other than --version and --help), and we don't want this
54938         function to make e.g. `touch file >&-' fail.
54939         But do fail if it was closed and someone has tried to write to it.
54940         E.g., `printf foo >&-' must fail.
54941
54942 2004-11-13  Jim Meyering  <jim@meyering.net>
54943
54944         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
54945
54946 2004-11-12  Simon Josefsson  <jas@extundo.com>
54947
54948         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
54949         small doc fix is still pending.
54950
54951 2004-11-11  Simon Josefsson  <jas@extundo.com>
54952
54953         * modules/strtok_r: New file.
54954
54955         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
54956         strtok_r.
54957
54958 2004-11-11  Simon Josefsson  <jas@extundo.com>
54959
54960         * m4/strtok_r.m4: New file.
54961
54962         * m4/getopt.m4: Replace opterr.
54963
54964 2004-11-11  Simon Josefsson  <jas@extundo.com>
54965
54966         * lib/strtok_r.h, strtok_r.c: New file.
54967
54968 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
54969
54970         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
54971         of replacing opterr, getopt, etc.  This should handle the
54972         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
54973
54974 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
54975
54976         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
54977         we can stop lying to compilers about the constness of argv when we
54978         are compiled outside glibc.
54979         (getopt, getopt_long, getopt_long_only): Use it.
54980         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
54981         _getopt_internal, getopt): Likewise.
54982         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
54983         _getopt_long_only_r): Likewise.
54984         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
54985         _getopt_long_r, _getopt_long_only_r): Likewise.
54986
54987         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
54988         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
54989         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
54990         the other external symbols.
54991         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
54992         declaration, since the above renaming now works around collisions.
54993
54994 2004-11-11  Jim Meyering  <jim@meyering.net>
54995
54996         * lib/linebreak.c: Remove trailing blanks.
54997         * lib/alloca_.h: Likewise.
54998         * lib/acosl.c: Likewise.
54999         * lib/euidaccess.c: Likewise.
55000         * lib/allocsa.h: Likewise.
55001
55002 2004-11-10  Simon Josefsson  <jas@extundo.com>
55003
55004         * m4/getaddrinfo.m4: New file.
55005
55006 2004-11-10  Simon Josefsson  <jas@extundo.com>
55007
55008         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
55009
55010 2004-11-10  Simon Josefsson  <jas@extundo.com>
55011
55012         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
55013         getaddrinfo.
55014
55015         * modules/getaddrinfo: New file.
55016
55017 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
55018
55019         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
55020
55021 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
55022
55023         * lib/mktime.c (SHR): New macro, which is a portable
55024         substitute for >> that should work even on Crays.
55025         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
55026         Problem reported by Mark D. Baushke in
55027         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
55028         * lib/getdate.y (SHR): Likewise.
55029         (tm_diff): Use it.
55030         * lib/strftime.c (SHR): Likewise.
55031         (tm_diff): Use it.
55032         * lib/quotearg.c (struct quoting_options): Use unsigned int for
55033         quote_these_too, so that right shifts are well defined.  All uses
55034         changed.
55035
55036 2004-11-10  Jim Meyering  <jim@meyering.net>
55037
55038         Ensure that no close failure goes unreported.
55039         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
55040         return early when it seems there's nothing to flush.
55041         Don't include __fpending.h.
55042
55043 2004-11-10  Jim Meyering  <jim@meyering.net>
55044
55045         * modules/closeout (Depends-on): Remove fpending.
55046
55047 2004-11-10  Jim Meyering  <jim@meyering.net>
55048
55049         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
55050
55051 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
55052
55053         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
55054         gl_FUNC_STRFTIME.
55055         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
55056         and AC_REQUIRE when possible, to avoid duplicate checks.
55057         Check for <wchar.h>.
55058
55059 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
55060
55061         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
55062
55063 2004-11-09  Bruno Haible  <bruno@clisp.org>
55064
55065         * m4/sockpfaf.m4: New file.
55066
55067 2004-11-05  Bruno Haible  <bruno@clisp.org>
55068
55069         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
55070         Reported by Mark D. Baushke <mdb@cvshome.org>.
55071
55072 2004-11-04  Bruno Haible  <bruno@clisp.org>
55073
55074         2004-09-11  Bruno Haible  <bruno@clisp.org>
55075                 * allocsa.valgrind: New file.
55076         2004-02-06  Bruno Haible  <bruno@clisp.org>
55077                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
55078                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
55079                 Reported by Christopher Seip <chris.seip@hp.com>.
55080
55081 2004-11-04  Bruno Haible  <bruno@clisp.org>
55082
55083         * modules/allocsa (Files): Add lib/allocsa.valgrind.
55084         (Makefile.am): Distribute it.
55085
55086 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
55087
55088         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
55089         with errno == ERANGE if the buffer is too small.
55090         Problem reported by Mark D. Baushke.
55091
55092 2004-11-03  Albert Chin  <china@thewrittenword.com>
55093             Paul Eggert  <eggert@cs.ucla.edu>
55094
55095         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
55096         equivalent, substitute $ac_type for equivalent type rather than
55097         blindly using uint32_t *always* which won't work if uint32_t is not
55098         available.  Define _UINT32_T to work around typedef of uint32_t if
55099         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
55100         2.5.1.
55101
55102 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
55103
55104         * m4/jm-macros.m4: Sync from coreutils.
55105         (gl_MACROS): Check for mbrlen, for pathchk.
55106         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
55107
55108 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
55109
55110         * lib/xreadlink.c (MAXSIZE): New macro.
55111         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
55112         size does not exceed MAXSIZE.  Avoid cast.
55113         As suggested by Mark D. Baushke in
55114         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
55115         if readlink fails with buffer size just under MAXSIZE, try again
55116         with MAXSIZE.
55117
55118 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
55119
55120         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
55121
55122 2004-11-02  Derek R. Price  <derek@ximbiot.com>
55123         and  Paul Eggert  <eggert@cs.ucla.edu>
55124
55125         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
55126         (get_date): Overparenthesize to avoid GCC warning.
55127
55128 2004-11-02  Bruno Haible  <bruno@clisp.org>
55129
55130         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
55131         returns void.
55132
55133 2004-11-02  Bruno Haible  <bruno@clisp.org>
55134
55135         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
55136         function returns void.
55137
55138 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
55139
55140         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
55141         fflush_unlocked, flockfile, funlockfile, funlockfile,
55142         fputs_unlocked, putc_unlocked.
55143
55144 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
55145
55146         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
55147         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
55148         already declared.
55149
55150 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
55151
55152         * modules/getdate (Files): Add doc/getdate.texi.
55153         (Depends-on): Add setenv, xalloc.
55154
55155 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
55156
55157         * lib/getdate.y: Add support for TZ="foo" within a date string.
55158         Fix some bugs near time_t boundaries.  Reject dates with
55159         out-of-range components, e.g., "Sept 31".
55160         Include <stdlib.h>, "setenv.h", "xalloc.h".
55161         (ISDIGIT_LOCALE): Remove; unused.
55162         Note that the TZ and time functions used here are not reentrant.
55163         (mktime_ok, get_tz): New functions.
55164         (TZBUFSIZE): New constant.
55165         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
55166         This requires that we sometimes generate our own TZ="XXX..." setting.
55167
55168 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
55169
55170         * doc/getdate.texi: New file, from coreutils with modifications for
55171         the new TZ parsing.
55172
55173 2004-10-27  Derek R. Price  <derek@ximbiot.com>
55174
55175         * lib/mktime.c (not_equal_tm): Remove redundant check.
55176
55177 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
55178
55179         * modules/regex (lib_SOURCES): Add regex.c.
55180         Reported by James Youngman in
55181         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
55182
55183 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
55184
55185         * lib/getdate.y: Use Bison 1.875 features, and some minor
55186         code cleanups.  This change does not affect semantics.
55187         Don't include <stdlib.h>; no longer needed.
55188         Don't include unlocked-io.h; only the "#if TEST" code uses
55189         stdio, and performance isn't crucial there.
55190         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
55191         Bison 1.875 features as described below.
55192         All uses of "PC." replaced by "pc->".
55193         (YYSTYPE): Add a forward declaration.
55194         (yylex, yyerror): Use full prototypes in forward decls.
55195         Use "%pure-parser" rather than obsolescent "%pure_parser".
55196         Use %parse-param and %lex-param instead of obsolescent
55197         YYPARSE_PARAM and YYLEX_PARAM.
55198         (meridian_table, month_and_day_table, time_units_table,
55199         relative_time_table, time_zone_table, military_table,
55200         lookup_zone, lookup_word, get_date):
55201         Use NULL instead of 0 where appropriate.
55202         (to_hour): Avoid abort (), to avoid a dependency on
55203         stdlib.h.
55204         (yyerror, yylex): Now accepts parser_control * arg.
55205         (main) [TEST]: Use '\0' rather than 0 for char.
55206
55207 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
55208
55209         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
55210
55211 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
55212
55213         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
55214         It's now the caller's responsibility to handle the case where
55215         !HAVE_GETPAGESIZE && !defined getpagesize.
55216
55217         * lib/mktime.c (leapyear): Arg is long int, not int.
55218
55219 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
55220
55221         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
55222
55223 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
55224
55225         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
55226         missing.  Problem reported by James Youngman.
55227
55228 2004-10-16  Simon Josefsson  <jas@extundo.com>
55229
55230         * gnulib-tool: Fix comments.  Fix parse problem.
55231         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
55232
55233 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
55234
55235         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
55236         implementation of getopt_long.  Problem reported by Alexander Taler in:
55237         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
55238
55239 2004-10-15  Bruno Haible  <bruno@clisp.org>
55240
55241         * gnulib-tool: Untabify. Initialize supplied_libname.
55242         (func_usage): More homogenous output.
55243         (func_modules_transitive_closure, func_modules_to_filelist,
55244         func_emit_lib_Makefile_am): New functions.
55245         (func_import): New function, extracted from big case statement. Use
55246         func_get_license, func_modules_transitive_closure,
55247         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
55248         opt_lgpl. Don't use test -a, as it's not portable.
55249         (func_create_testdir): Use func_modules_transitive_closure,
55250         func_modules_to_filelist, func_emit_lib_Makefile_am.
55251
55252 2004-10-15  Bruno Haible  <bruno@clisp.org>
55253
55254         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
55255
55256 2004-10-15  Bruno Haible  <bruno@clisp.org>
55257
55258         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
55259         the portions belonging to each module.
55260         Suggested by Derek Robert Price <derek@ximbiot.com>.
55261
55262 2004-10-12  Simon Josefsson  <jas@extundo.com>
55263
55264         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
55265         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
55266         to real functions.
55267
55268 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
55269
55270         * modules/vsnprintf: New file.
55271
55272 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
55273
55274         * m4/vsnprintf.m4: New file.
55275
55276 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
55277
55278         * lib/vsnprintf.h: New file.
55279         * lib/vsnprintf.c: New file.
55280
55281 2004-10-11  Bruno Haible  <bruno@clisp.org>
55282
55283         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
55284         vsnprintf.
55285
55286 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
55287
55288         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
55289
55290 2004-10-07  Bruno Haible  <bruno@clisp.org>
55291
55292         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
55293         fits into the provided buffer.
55294
55295 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
55296
55297         * lib/diacrit.c, diacrit.h: Add GPL notice.
55298
55299         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
55300         notice.
55301         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
55302         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
55303         This avoids a potential constant-folding bug.
55304
55305 2004-10-05  Bruno Haible  <bruno@clisp.org>
55306
55307         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
55308         for the declaration of strsep.
55309
55310 2004-10-05  Bruno Haible  <bruno@clisp.org>
55311
55312         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
55313
55314 2004-10-04  Simon Josefsson  <jas@extundo.com>
55315
55316         * modules/memmem: New file.
55317         * tests/test-memmem.c: New file.
55318         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
55319
55320 2004-10-04  Simon Josefsson  <jas@extundo.com>
55321
55322         * m4/memmem.m4: New file.
55323
55324 2004-10-04  Simon Josefsson  <jas@extundo.com>
55325
55326         * lib/memmem.h: New file.
55327         * lib/memmem.c: New file, taken from glibc.
55328
55329 2004-10-04  Simon Josefsson  <jas@extundo.com>
55330
55331         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
55332         '#ifdef USE_UNLOCKED_IO'.
55333
55334 2004-10-04  Simon Josefsson  <jas@extundo.com>
55335
55336         * config/srclist.txt: Add memmem from glibc.
55337
55338 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
55339
55340         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
55341
55342         * modules/argmatch, modules/argp, modules/closeout, modules/error,
55343         modules/exclude, modules/getdate, modules/getline,
55344         modules/getndelim2, modules/getpass, modules/getpass-gnu,
55345         modules/getusershell, modules/linebuffer, modules/md5,
55346         modules/mountlist, modules/posixtm, modules/readtokens,
55347         modules/readutmp, modules/regex, modules/sha1,
55348         modules/version-etc, modules/yesno:
55349         Remove dependency on unlocked-io.
55350
55351 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
55352
55353         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
55354
55355         * m4/unlocked-io.m4: Add copyright notice.
55356         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
55357
55358 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
55359
55360         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
55361         * lib/xmalloc.c (xmemdup): Likewise.
55362         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
55363         XFREE): Remove these long-obsolescent macros.
55364         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
55365         * lib/xstrdup.c: Remove.
55366
55367         * lib/regex.c (re_comp): Cast gettext return value to char *,
55368         Problem reported by Martin Neitzel via Mark D. Baushke.
55369
55370 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
55371
55372         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
55373         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
55374         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
55375         regex.c, sha1.c, version-etc.c, yesno.c:
55376         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
55377         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
55378         the includer's responsibility.
55379
55380         Sync from coreutils.
55381
55382         * lib/modechange.c (mode_compile): Don't decrement a pointer that
55383         points to the start of a string, as the C Standard says the
55384         resulting behavior is undefined.
55385
55386         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
55387         simple -> simple_backups, numbered_existing ->
55388         numbered_existing_backups, numbered -> numbered_backups
55389         to avoid shadowing problems.  All uses changed.
55390         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
55391         * lib/backupfile.c (check_extension, numbered_backup):
55392         Rename locals to avoid shadowing 'basename'.
55393         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
55394         once.
55395
55396         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
55397         * lib/.cvsignore: Add getopt.h.
55398
55399 2004-10-04  Bruno Haible  <bruno@clisp.org>
55400
55401         * modules/README: New file.
55402         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
55403         not a module.
55404
55405 2004-10-02  Jim Meyering  <jim@meyering.net>
55406
55407         * lib/dirfd.h, getpagesize.h: Add copyright notice.
55408
55409 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
55410
55411         * modules/strsep: New file.
55412
55413 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
55414
55415         * m4/strsep.m4: New file.
55416
55417 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
55418
55419         * lib/strsep.h: New file.
55420         * lib/strsep.c: New file.
55421
55422 2004-10-01  Simon Josefsson  <jas@extundo.com>
55423
55424         * lib/snprintf.c (snprintf): Handle size==0.
55425
55426 2004-10-01  Simon Josefsson  <jas@extundo.com>
55427             Bruno Haible  <bruno@clisp.org>
55428
55429         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
55430         (snprintf): Declare 'args'.
55431
55432 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
55433
55434         * lib/snprintf.c: Remove comments as to why each header is needed.
55435
55436 2004-10-01  Bruno Haible  <bruno@clisp.org>
55437
55438         * MODULES.html.sh: Add strsep.
55439
55440 2004-09-30  Simon Josefsson  <jas@extundo.com>
55441
55442         * modules/snprintf: New file.
55443
55444 2004-09-30  Simon Josefsson  <jas@extundo.com>
55445
55446         * m4/snprintf.m4: New file.
55447
55448 2004-09-30  Simon Josefsson  <jas@extundo.com>
55449
55450         * lib/snprintf.h, lib/snprintf.c: New files.
55451
55452 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
55453
55454         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
55455         (hol_entry_help): Never translate an empty string.
55456         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
55457         * lib/argp.h (OPTION_NO_TRANS): New option.
55458
55459 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
55460
55461         * modules/argp (Maintainer): Replace Simon Josefsson
55462         by Sergey Poznyakoff.
55463
55464 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
55465
55466         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
55467         changes merged back into glibc.
55468
55469 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
55470
55471         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
55472
55473 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
55474
55475         * lib/xvasprintf.c: Include xalloc.h.
55476         (xvasprintf): Use xalloc_die, not xmalloc_die.
55477
55478 2004-09-29  Bruno Haible  <bruno@clisp.org>
55479
55480         * modules/alloca-opt: New file, derived from modules/alloca.
55481         * modules/allocsa: Depend on alloca-opt instead of alloca.
55482         * modules/setenv: Likewise.
55483         * modules/vasnprintf: Likewise.
55484         * MODULES.html.sh: Add alloca-opt.
55485
55486 2004-09-28  Simon Josefsson  <jas@extundo.com>
55487
55488         * gnulib-tool: New parameter --lgpl, to asseert that modules are
55489         LGPL, and to replace license template from GPL to LGPL.
55490
55491 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
55492
55493         * modules/dummy: Change license to LGPL.
55494
55495 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
55496
55497         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
55498
55499 2004-09-24  Simon Josefsson  <jas@extundo.com>
55500
55501         * modules/minmax (License): Change from GPL to LGPL.
55502
55503 2004-09-23  Simon Josefsson  <jas@extundo.com>
55504
55505         * gnulib-tool (--import): Typo.
55506
55507 2004-09-23  Simon Josefsson  <jas@extundo.com>
55508
55509         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
55510
55511 2004-09-22  Bruno Haible  <bruno@clisp.org>
55512
55513         * modules/*: Add 'License' field.
55514         * gnulib-tool: Accept --extract-license option.
55515         (func_get_license): New function.
55516
55517 2004-09-21  Bruno Haible  <bruno@clisp.org>
55518
55519         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
55520         Reported by Simon Josefsson.
55521
55522 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
55523
55524         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
55525         gl_AC_TYPE_LONG_LONG.
55526
55527 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
55528
55529         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
55530
55531 2004-09-18  Simon Josefsson  <jas@extundo.com>
55532         and  Paul Eggert  <eggert@cs.ucla.edu>
55533
55534         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
55535         calls with autoreconf.  Define GL_LIB.
55536
55537 2004-09-14  Karl Berry  <karl@gnu.org>
55538
55539         * config/srclist.txt: unsync setenv.c, sigh.
55540
55541 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
55542
55543         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
55544         Problem reported by Bruno Haible in:
55545         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
55546
55547 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
55548
55549         * config/srclist.txt: Comment out argp-pvh.c.
55550
55551 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
55552
55553         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
55554         in case some system header has #define'd it.  Problem reported by
55555         Soeren D. Schulze in
55556         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
55557
55558 2004-09-09  Karl Berry  <karl@gnu.org>
55559
55560         * regex.[ch]: delete from the root.  These were supposed to be
55561                 synced with emacs cvs, but this has not happened for about
55562                 a year, and anyway nothing else uses emacs regex.[ch].
55563                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
55564                 lib/regex[.ch] is untouched.
55565
55566 2004-09-09  Bruno Haible  <bruno@clisp.org>
55567
55568         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
55569
55570 2004-09-09  Bruno Haible  <bruno@clisp.org>
55571
55572         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
55573         modifications.
55574         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
55575
55576 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
55577
55578         * modules/xvasprintf: New file.
55579         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
55580
55581 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
55582
55583         * lib/xvasprintf.h: New file.
55584         * lib/xvasprintf.c: New file.
55585         * lib/xasprintf.c: New file.
55586
55587 2004-09-08  Bruno Haible  <bruno@clisp.org>
55588
55589         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
55590
55591 2004-09-08  Bruno Haible  <bruno@clisp.org>
55592
55593         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
55594         length is > INT_MAX.
55595         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
55596         more.
55597
55598 2004-09-08  Bruno Haible  <bruno@clisp.org>
55599
55600         * lib/stdint_.h: New file, taken from GNU clisp.
55601
55602 2004-09-08  Bruno Haible  <bruno@clisp.org>
55603             Oskar Liljeblad  <oskar@osk.mine.nu>
55604
55605         * modules/stdint: New file.
55606         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
55607
55608 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
55609
55610         Import from coreutils.
55611         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
55612         strings on unbounded length.  alloca's performance benefits aren't
55613         that important here.
55614         (V_STRDUP): Remove.
55615         (parse_with_separator): New function, with most of the internals
55616         of the old parse_user_spec.  Allow user to omit both user and group,
55617         for compatibility with FreeBSD.
55618         Clone only the user name, not the entire spec.
55619         Do not set *uid, *gid unless entirely successful.
55620         Avoid memory leak in some failing cases.
55621         Fix regression for USER.GROUP reported by Dmitry V. Levin in
55622         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
55623         (parse_user_spec): Rewrite to use parse_with_separator.
55624
55625 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
55626
55627         * modules/userspec: Don't depend on alloca.
55628
55629 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
55630
55631         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
55632
55633 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
55634
55635         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
55636         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
55637         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
55638
55639 2004-08-16  Simon Josefsson  <jas@extundo.com>
55640
55641         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
55642         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
55643         Add --dry-run for --import.
55644         Let user provided command line parameters override configure.ac
55645         settings.
55646
55647 2004-08-12  Simon Josefsson  <jas@extundo.com>
55648
55649         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
55650         as discussed with Paul Eggert in threads rooted at
55651         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
55652         and
55653         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
55654         Before, the test was empty, and relied on ELIDE_CODE in source
55655         code.)
55656         (gl_PREREQ_GETOPT): New macro.
55657         (gl_GETOPT): Use them.
55658
55659 2004-08-12  Simon Josefsson  <jas@extundo.com>
55660
55661         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
55662         * lib/getopt_.h: Renamed from getopt.h.
55663
55664 2004-08-12  Simon Josefsson  <jas@extundo.com>
55665
55666         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
55667         Change default library name from libfoo to libgnu.
55668         Now, if you have a configure.ac that says:
55669                 gl_SOURCE_BASE(gl)
55670                 gl_M4_BASE(gl/m4)
55671                 gl_MODULES(error getopt etcetera)
55672                 gl_INIT
55673         you can import all you need by running:
55674                 ../gnulib/gnulib-tool --import
55675
55676         * modules/getopt (Files): Rename getopt.h to getopt_.h.
55677         (Makefile.am): Rewrite, use logic from argz.
55678         (Include): Use <getopt.h> instead of "getopt.h".
55679
55680 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
55681
55682         * modules/argp (Files): Add m4/unlocked-io.m4.
55683         (Depends-on): Add extensions.
55684
55685 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
55686
55687         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
55688         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
55689         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
55690         Check for program_invocation_name, program_invocation_short_name,
55691         flockfile, funlockfile, features.h, _getopt_long_only_r.
55692
55693 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
55694
55695         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
55696         its complicated substitute.
55697         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
55698         and program_invocation_name.
55699         (__argp_basename) [!_LIBC]: Remove; the only use was
55700         replaced by its body.
55701         (__argp_short_program_name): Change condition from
55702         !defined __argp_short_program_name to
55703         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
55704         to match argp-namefrob.h.
55705         (__argp_failure): Don't assume strerror_r returns char *.
55706         * lib/argp-parse.c (N_): Define unconditionally.
55707         (argp_default_options): Fill out initializers with 0 to avoid
55708         gcc warnings.
55709
55710 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
55711
55712         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
55713         getopt1.c.
55714
55715 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
55716
55717         Merge from coreutils.
55718
55719         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
55720
55721         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
55722         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
55723
55724 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
55725
55726         Merge from coreutils.
55727
55728         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
55729         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
55730         for Reliant Unix 5.43.
55731
55732         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
55733         (union fooround): Use uintmax_t, not long int.
55734         The rest is a merge from libc:
55735         [defined _LIBC]: Include <shlib-compat.h>.
55736         (_obstack) [defined _LIBC]: Remove after 2.3.4.
55737
55738         * lib/settime.c (settime): Recode to avoid warning with
55739         Sun Forte C 6U2.
55740
55741         * lib/strverscmp.c: Convert to UTF-8.
55742
55743 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
55744
55745         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
55746         m4/uintmax_t.m4.
55747
55748 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
55749
55750         * modules/xalloc-die: New file.
55751         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
55752
55753         * modules/md5 (Files): Add m4/uint32_t.m4.
55754         * modules/sha1: Renamed from modules/sha.
55755         (Files):
55756         Rename lib/sha.h to lib/sha1.h.
55757         Rename lib/sha.c to lib/sha1.c.
55758         Rename m4/sha.m4 to m4/sha1.m4.
55759         (lib_SOURCES): Likewise.
55760         (configure.ac): Rename gl_SHA to gl_SHA1.
55761         (Include): sha.h -> sha1.h.
55762
55763 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
55764
55765         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
55766         * m4/sha1.m4: Renamed from sha.m4.
55767         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
55768
55769 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
55770
55771         * lib/obstack.h (obstack_empty_p):
55772         Don't assume that chunk->contents is suitably aligned.
55773         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
55774         Likewise. Problem reported by Benno in
55775         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
55776
55777         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
55778         readable.  This could be improved further but it'd take some work.
55779
55780 2004-08-08  Simon Josefsson  <jas@extundo.com>
55781
55782         * modules/xgethostname (Depends-on): Remove exit and error (not
55783         used).
55784
55785         * modules/getpass-gnu: Add getpass.h.
55786         (Depends-on): Add stdbool.
55787         * modules/getpass: Add getpass.h.
55788
55789 2004-08-08  Simon Josefsson  <jas@extundo.com>
55790
55791         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
55792         Check getpass declaration.
55793
55794 2004-08-08  Simon Josefsson  <jas@extundo.com>
55795
55796         * lib/xgethostname.c: Don't include error.h (not used).
55797
55798         * lib/getpass.h: Add.
55799         * lib/getpass.c: Include getpass.h first.
55800
55801 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
55802
55803         * lib/xalloc-die.c: New file.
55804         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
55805         All uses removed.
55806         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
55807         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
55808         xalloc-die.c.
55809         (_, N_, xalloc_die): Move to xalloc-die.c.
55810         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
55811         so that we needn't mess with xalloc_msg_memory_exhausted.
55812
55813         * lib/sha1.h: Renamed from sha.h.
55814         (SHA1_H): Renamed from _SHA_H.
55815         (sha1_ctx): Renamed from sha_ctx.
55816         (sha1_init_ctx): Renamed from sha_init_ctx.
55817         (sha1_process_block): Renamed from sha_process_block.
55818         (sha1_process_bytes): Renamed from sha_process_bytes.
55819         (sha1_finish_ctx): Renamed from sha_finish_ctx.
55820         (sha1_read_ctx): Renamed from sha_read_ctx.
55821         (sha1_stream): Renamed from sha_stream.
55822         (sha1_buffer): Renamed from sha_buffer.
55823         * lib/sha1.c: Likewise; renamed from sha.c.
55824         Do not include <sys/types.h>.
55825         Include <stddef.h> rather than <stdlib.h>.
55826
55827 2004-08-08  Bruno Haible  <bruno@clisp.org>
55828
55829         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
55830         FILESYSTEM_PREFIX_LEN.
55831         * lib/progreloc.c: Likewise.
55832         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
55833
55834 2004-08-06  Simon Josefsson  <jas@extundo.com>
55835
55836         * modules/progname (Depends-on): Don't depend on stdbool.
55837
55838 2004-08-06  Simon Josefsson  <jas@extundo.com>
55839
55840         * modules/getsubopt: New file.
55841         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
55842         getsubopt.
55843
55844 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
55845
55846         More merge from coreutils.
55847
55848         * m4/utimens.m4, m4/utimecmp.m4: New files.
55849         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
55850         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
55851         prereq.m4, sha.m4: Import changes from coreutils.
55852
55853 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
55854
55855         More merge from coreutils.
55856         * modules/raise, modules/readtokens0, modules/utimens:
55857         * modules/utimecmp, module/xnanosleep: New files.
55858         * modules/strftime: Add lib/strftime.h.
55859         Change include from <time.h> to "strftime.h".
55860         * modules/yesno: Add lib/yesno.h.
55861         * modules/backupfile: Remove lib/addext.c.
55862         * modules/euidaccess: Add stat-macros.h.
55863         * modules/canonicalize, modules/euidaccess,
55864         modules/filemode, modules/lchown, modules/makepath,
55865         modules/rmdir, modules/stat: Likewise.
55866
55867 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
55868
55869         Merge from tar.
55870         * lib/argp-help.c (make_hol, hol_append): Don't assume that
55871         SIZE_MAX is a valid preprocessor constant.
55872         (__argp_basename): Change from "#ifndef _LIBC"
55873         to "#ifndef __argp_short_program_name", so that
55874         we don't compile these functions for tar.
55875
55876         More merges from coreutils.
55877         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
55878         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
55879         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
55880         * lib/addext.c: Remove; no longer needed.
55881         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
55882         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
55883         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
55884         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
55885         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
55886         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
55887         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
55888         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
55889         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
55890         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
55891         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
55892         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
55893         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
55894         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
55895         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
55896         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
55897         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
55898         Import changes from coreutils.
55899
55900 2004-08-05  Simon Josefsson  <jas@extundo.com>
55901
55902         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
55903
55904 2004-08-05  Simon Josefsson  <jas@extundo.com>
55905
55906         * m4/getsubopt.m4: New file.
55907
55908 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
55909
55910         Merge from coreutils.
55911
55912         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
55913         * m4/getcwd-path-max.m4: New files.
55914
55915         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
55916         FILESYSTEM_PREFIX_LEN ->
55917         FILE_SYSTEM_PREFIX_LEN.
55918         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
55919         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
55920         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
55921         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
55922
55923         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
55924         prerequisite modules now handle the DOS stuff.
55925         Don't check for unistd.h.
55926
55927 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
55928
55929         Merge from coreutils.
55930
55931         * lib/.gdb-history: Remove; this doesn't belong here.
55932
55933         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
55934         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
55935         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
55936         * lib/getcwd.c: New files.
55937
55938         * lib/dirname.h: Include <stdbool.h>.
55939         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
55940         for consistency with POSIX terminology.  All uses changed.
55941         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
55942         (strip_trailing_slashes): Use bool for booleans.
55943         * lib/stripslash.c (strip_trailing_slashes): Likewise.
55944
55945         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
55946         sometimes returns a positive errno value even when it succeeds.
55947         (print_errno_message) [!LIBC]: Fall back on strerror if
55948         __strerror_r fails.
55949
55950         * lib/path-concat.c (mempcpy): Don't define if a system header defines
55951         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
55952         (longest_relative_suffix): New function.
55953         (path_concat): Use it.  Assume first argument is not NULL.
55954         Port to DOS.  Omit redundant separators.
55955         Report an error instead of returning NULL.
55956         Use mempcpy instead of memcpy.
55957         (xpath_concat): Remove: not declared or used.
55958
55959         * lib/same.h: Include <stdbool.h>
55960         (same_name): Return bool, not int.
55961         * lib/same.c (same_name): Likewise.
55962         (errno): Don't declare; we assume C89 or better now.
55963
55964         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
55965         if not already defined.
55966
55967         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
55968         * lib/dup-safer.c (errno): Likewise.
55969
55970 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
55971
55972         Merge from coreutils.
55973         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
55974         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
55975         * modules/path-concat: Don't depend on strdup.
55976
55977 2004-08-03  Simon Josefsson  <jas@extundo.com>
55978
55979         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
55980         * lib/progname.h: Don't include stdbool.h.
55981
55982 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
55983
55984         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
55985         * MODULES.html.sh (func_all_modules): Remove fatal.
55986
55987 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
55988
55989         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
55990
55991 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
55992
55993         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
55994         working.
55995
55996 2004-08-02  Simon Josefsson  <jas@extundo.com>
55997
55998         * lib/getsubopt.h: New file, with comments from Bruno Haible.
55999         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
56000         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
56001
56002 2004-08-01  Simon Josefsson  <jas@extundo.com>
56003
56004         * lib/xgetdomainname.c: Include stdlib.h, for free().
56005
56006 2004-07-19  Bruno Haible  <bruno@clisp.org>
56007
56008         * MODULES.html.sh (func_all_modules): Add dummy.
56009
56010 2004-07-16  Simon Josefsson  <jas@extundo.com>
56011
56012         * modules/dummy: New file.
56013
56014 2004-07-16  Simon Josefsson  <jas@extundo.com>
56015
56016         * lib/dummy.c: New file.
56017
56018 2004-07-16  Bruno Haible  <bruno@clisp.org>
56019
56020         * lib/backupfile.h: Add extern "C" for C++.
56021         * lib/closeout.h: Likewise.
56022         * lib/copy-file.h: Likewise.
56023         * lib/findprog.h: Likewise.
56024         * lib/full-write.h: Likewise.
56025         * lib/pathname.h: Likewise.
56026         * lib/progname.h: Likewise.
56027         * lib/stpcpy.h: Likewise.
56028         * lib/stpncpy.h: Likewise.
56029         * lib/strcase.h: Likewise.
56030         * lib/strstr.h: Likewise.
56031         * lib/xalloc.h: Likewise.
56032
56033         * lib/mbswidth.h: Add extern "C" for C++.
56034         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
56035
56036 2004-07-13  Robert Millan  <robertmh@gnu.org>
56037
56038         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
56039
56040 2004-07-09  Simon Josefsson  <jas@extundo.com>
56041
56042         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
56043         failed without this.)
56044
56045 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
56046
56047         * modules/chown (Files): Add lib/fchown-stub.c, since
56048         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
56049
56050 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
56051
56052         * lib/fchown-stub.c: New file.
56053
56054 2004-06-24  Jim Meyering  <jim@meyering.net>
56055
56056         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
56057
56058 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
56059
56060         * modules/argz: Omit "#include".
56061
56062         * MODULES.html.sh (func_all_modules): Add calloc, to match
56063         2004-06-01 addition of calloc module.
56064
56065 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
56066
56067         * m4/argz.m4: New file, which is autoupdated from libtool.
56068
56069 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
56070
56071         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
56072         libtool.
56073
56074 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
56075
56076         * config/srclist-update: Don't insist on "USA." before the
56077         close-comment, as libtool omits the period and puts the */ on a
56078         separate line.
56079         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
56080         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
56081
56082 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
56083
56084         * modules/argz: New file.
56085         * MODULES.html.sh (func_all_modules): Add argz.
56086
56087 2004-06-12  Jim Meyering  <jim@meyering.net>
56088         and  Paul Eggert  <eggert@cs.ucla.edu>
56089
56090         * modules/hash (Files): Add lib/xalloc.h.
56091         * modules/pipe (Depends-on): Add wait-process.
56092         * modules/stat (Depends-on): Add xalloc.
56093         * modules/userspec (Files): Add lib/userspec.h.
56094         * modules/xstrto
56095
56096         Upgrade from gettext-0.13.
56097         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
56098         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
56099         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
56100
56101 2004-06-10  Jim Meyering  <jim@meyering.net>
56102
56103         * lib/calloc.c: New file.
56104
56105 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
56106
56107         * lib/getdate.y (yylex): Allow space between sign and number.
56108         Problem reported by Dan Jacobson.
56109
56110 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
56111
56112         Merge from coreutils CVS.
56113
56114         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
56115         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
56116         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
56117         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
56118         xstrtol.m4: Fix copyright date and/or serial number.
56119
56120         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
56121         See if we need an fchown replacement.
56122         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
56123         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
56124         and use the replacement function if we detect either defect.
56125
56126         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
56127         gl_UTIMECMP.
56128
56129 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
56130         and  Jim Meyering  <jim@meyering.net>
56131
56132         Merge from coreutils CVS.
56133
56134         * lib/stat-macros.h: New file, with contents from file-type.h
56135         and coreutils' system.h.
56136         * lib/file-type.c: Include "stat-macros.h".
56137         * lib/file-type.h (file_type): Move all macro definitions to new file,
56138         stat-macros.h.
56139
56140         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
56141         Wrap old code with this conditional.
56142         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
56143         function that does not dereference symlinks.
56144         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
56145
56146         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
56147         dependency problems.
56148         (xreadlink): Accept new arg SIZE, for efficiency.
56149         All decls and uses changed.
56150         * lib/xreadlink.h: Include <stddef.h>, for size_t.
56151
56152         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
56153         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
56154
56155         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
56156         sysexits.h.
56157
56158 2004-06-01  Jim Meyering  <jim@meyering.net>
56159
56160         * m4/calloc.m4: New file.
56161
56162 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
56163
56164         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
56165         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
56166         Also, fix a typo in a diagnostic.
56167
56168 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
56169
56170         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
56171         or AC_FUNC_REALLOC.
56172
56173 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
56174
56175         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
56176         macros to be defined.
56177         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
56178         the allocator returns NULL because the requested size is zero.
56179
56180 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
56181
56182         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
56183         var.  Add comment explaining why libc still defines it.  This
56184         merges the following patch from glibc:
56185         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
56186
56187 2004-05-20  Andreas Schwab  <schwab@suse.de>
56188
56189         * m4/free.m4: Replace free if it not known to work, not the other
56190         way round.
56191
56192 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
56193
56194         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
56195         present in glibc since revision 1.1 of this file.
56196         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
56197         obstack_alignment_mask, obstack_alloc, obstack_base,
56198         obstack_blank, obstack_blank_fast, obstack_chunk_size,
56199         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
56200         obstack_grow0, obstack_init, obstack_int_grow,
56201         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
56202         obstack_next_free, obstack_object_size, obstack_ptr_grow,
56203         obstack_ptr_grow_fast, obstack_room): Remove declarations of
56204         nonexistent functions.
56205
56206 2004-05-18  Karl Berry  <karl@gnu.org>
56207
56208         * config/srclist.txt: break link for vasnprintf.c.
56209
56210 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
56211
56212         Port obstack to the AS/400, where pointers are 16 bytes wide and
56213         you cannot cast an integer to a valid pointer.  This patch is
56214         currently waiting to be integrated into glibc; see
56215         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
56216
56217         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
56218         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
56219         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
56220         (struct obstack): temp member is now a union of a pointer and
56221         an integer, instead of an integer.  All integer uses changed.
56222         This does not affect the physical layout of struct obstack,
56223         except on hosts (like the AS/400) where the size or alignment of
56224         void * is greater than that of ptrdiff_t.
56225         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
56226         __STDC__)]: Store temporary in pointer member of union, not
56227         integer member.
56228         * lib/obstack.c: Include <stddef.h>, for offsetof.
56229         (struct fooalign): Remove; it doesn't need a name.
56230         (union fooround): Change double to long double, and add void *.
56231         (DEFAULT_ALIGNMENT): Use offsetof to compute.
56232         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
56233         not a macro.  Hence the values are always int; so remove all
56234         casts-to-int in uses.
56235
56236 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
56237
56238         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
56239         we can get this patch merged into glibc.
56240
56241 2004-05-17  Derek R. Price  <derek@ximbiot.com>
56242             Paul Eggert  <eggert@cs.ucla.edu>
56243
56244         * m4/argp: Depend on alloca.
56245
56246 2004-05-17  Derek R. Price  <derek@ximbiot.com>
56247             Paul Eggert  <eggert@cs.ucla.edu>
56248
56249         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
56250         freecoding.
56251
56252 2004-05-17  Bruno Haible  <bruno@clisp.org>
56253
56254         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
56255         precision that consists of a '.' followed by an empty digit string.
56256         Patch by Tor Lillqvist <tml@iki.fi>.
56257
56258 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
56259
56260         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
56261         for backward compatibility with older code.  We need our own
56262         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
56263         it under some other name, and our alloca.h will define it.
56264
56265 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
56266             Derek Price  <derek@ximbiot.com>
56267
56268         * lib/alloca.c: Include <alloca.h>, to get our interface.
56269         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
56270         include <alloca.h> first.  Use C89 prototype for alloca; this
56271         requires including <stddef.h> for size_t.  Use extern "C" if C++.
56272         Use #elif for simplicity, since we can assume C89 now.
56273         Don't try to source the system alloca.h since it will not be found
56274         and to prevent recursively including its replacement.
56275         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
56276         * lib/regex.c: Likewise.
56277
56278 2004-05-16  Derek Price  <derek@ximbiot.com>
56279             Paul Eggert  <eggert@cs.ucla.edu>
56280
56281         getline cleanup.  This changes the getndelim2 API: both order of
56282         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
56283         no delimiter).
56284
56285         * lib/getline.c: Don't include stddef.h or stdio.h, since our
56286         interface does that.
56287         (getline): Always use getdelim, so that we don't have two
56288         copies of this code.
56289         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
56290         if available.
56291         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
56292         (GETNDELIM2_MAXIMUM): New macro.
56293         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
56294         instead of the old practice of delim2==0.  All callers changed.
56295         Return -1 on overflow, instead of returning junk.
56296         Do not set *linesize unless allocation succeeds.
56297         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
56298         that we include sys/types.h.
56299         * lib/getnline.h: Likewise.
56300         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
56301         (getndelim2): Reorder arguments.
56302         * lib/getnline.c (getnline, getndelim):
56303         Don't discard the NMAX argument.
56304         (getnline): Invoke getndelim, to avoid code duplication.
56305         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
56306         of (size_t) -1 by callers of the getnline family.
56307
56308 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
56309
56310         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
56311         Check for gettimeofday.
56312         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
56313         Check for settimeofday, stime.
56314
56315 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
56316
56317         * lib/nanosleep.c (suspended): Change its type from int to
56318         sig_atomic_t volatile.
56319         (first_call): Make it private to rpl_nanosleep, and have it
56320         be zero initially as that's a bit faster.
56321         (my_usleep): Round up fractional times instead of truncating them,
56322         as this is the usual meaning for 'sleep'.
56323
56324         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
56325         doesn't work.
56326         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
56327         (ENOSYS): Define if not defined.
56328         (settime): Fall back on stime if it exists and settimeofday fails.
56329         But don't bother with fallbacks if a method fails with errno == EPERM.
56330
56331 2004-05-11  Jim Meyering  <jim@meyering.net>
56332
56333         Prior to this change, the save_cwd caller required read access to the
56334         current directory on most systems (ones with the fchdir function).
56335
56336         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
56337         fails, try write-only, and finally, resort to using xgetcwd.
56338
56339 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
56340
56341         * lib/obstack.c, obstack.h: Import changes from libc.
56342
56343 2004-04-28  Bruno Haible  <bruno@clisp.org>
56344
56345         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
56346         also implicitly appends .exe to executables.
56347         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
56348         accepts Windows pathnames.
56349         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
56350         Treat Cygwin like Windows, since it now accepts Windows pathnames.
56351         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
56352         Treat Cygwin like Windows, since it now accepts Windows pathnames.
56353         Reported by Derek Robert Price <derek@ximbiot.com>.
56354
56355 2004-04-21  Karl Berry  <karl@gnu.org>
56356
56357         * config/srclist.txt (localcharset.c): break sync.
56358
56359 2004-04-20  Paul Eggert  <eggert@twinsun.com>
56360
56361         * m4/host-os.m4: Add a copyright notice.
56362
56363 2004-04-20  Jim Meyering  <jim@meyering.net>
56364
56365         Change UTILS_ to gl_ in AC_DEFINE'd names.
56366         Change utils_- and jm_-prefixed variables, too.
56367         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
56368         UTILS_FUNC_MKDIR_TRAILING_SLASH.
56369         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
56370
56371         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
56372         Don't emit trailing blanks.
56373         Also rename jm_-prefixed variables to have gl_ prefix.
56374
56375         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
56376         Also rename jm_-prefixed variables to have gl_ prefix.
56377
56378         * m4/jm-macros.m4: Reflect the renamings.
56379         * m4/prereq.m4: Likewise.
56380
56381 2004-04-20  Jim Meyering  <jim@meyering.net>
56382
56383         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
56384         memory.
56385
56386 2004-04-20  Jim Meyering  <jim@meyering.net>
56387             Bruno Haible  <bruno@clisp.org>
56388
56389         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
56390         memory when realloc fails.
56391
56392 2004-04-19  Jim Meyering  <jim@meyering.net>
56393
56394         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
56395         now that readutmp.c may call `free (0)'.
56396
56397 2004-04-19  Bruno Haible  <bruno@clisp.org>
56398
56399         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
56400         * m4/inttypes_h.m4: Likewise.
56401         * m4/stdint_h.m4: Likewise.
56402         * m4/intmax_t.m4: Likewise.
56403         * m4/uintmax_t.m4: Likewise.
56404
56405 2004-04-18  Jim Meyering  <jim@meyering.net>
56406
56407         * m4/prereq.m4: Don't forbid jm_ prefix.
56408
56409         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
56410         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
56411         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
56412         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
56413         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
56414         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
56415         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
56416         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
56417         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
56418         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
56419         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
56420         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
56421         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
56422         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
56423         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
56424         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
56425         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
56426         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
56427         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
56428
56429 2004-04-18  Jim Meyering  <jim@meyering.net>
56430
56431         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
56432         failure, don't leak memory and do call END_UTMP_ENT.
56433
56434 2004-04-16  Jim Meyering  <jim@meyering.net>
56435
56436         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
56437         coreutils' stat program.
56438         (gl_PREREQ): Don't require jm_PREREQ_STAT.
56439
56440 2004-04-11  Paul Eggert  <eggert@twinsun.com>
56441
56442         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
56443         C89.
56444         (CHAR_BIT): Remove, since we assume C89.
56445         Include <stdint.h> if available, as per current Autoconf CVS advice.
56446
56447 2004-03-31  Jim Meyering  <jim@meyering.net>
56448
56449         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
56450         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
56451         * m4/xalloc.m4: Likewise.
56452
56453 2004-03-30  Paul Eggert  <eggert@twinsun.com>
56454
56455         Merge from coreutils.
56456
56457         * m4/inttostr.m4: New file.
56458         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
56459         Require AM_STDBOOL_H and gl_TIMESPEC instead.
56460         Require gl_CLOCK_TIME.
56461         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
56462
56463 2004-03-30  Paul Eggert  <eggert@twinsun.com>
56464
56465         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
56466         not bool, to be more consistent with Unix conventions.
56467         Suggested by Bruno Haible.
56468
56469         Merge from coreutils.
56470
56471         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
56472         * lib/umaxtostr.c: New files.
56473
56474         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
56475         the usual <time.h> dance.
56476         (get_date): Change signature to support fractional time stamps.
56477         All callers changed.
56478         * lib/getdate.y: Include "getdate.h" first, as we can now
56479         assume C89 and don't need to worry about 'const'.
56480         Similarly, include "unlocked-io.h" near start, not in middle.
56481         Include <limits.h>.
56482         (textint.value): Use long int rather than int.
56483         (textint.digits): Use size_t rather than int.
56484         (BILLION, LOG10_BILLION): New constants.
56485         (parser_control): New member rel_ns.  Members day_ordinal,
56486         time_zone, month, day, hour, minutes, rel_year, rel_month,
56487         rel_day, rel_hour, rel_minutes, rel_seconds
56488         are now long int, not int.  Member seconds is now struct timespec,
56489         not int.  New member timespec_seen.  Members dates_seen, days_seen,
56490         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
56491         not int.
56492         (%union.intval): Now long int, not int.
56493         New member timespec.
56494         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
56495         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
56496         (spec): Now is a timespec or an item list.
56497         (timespec, items): New nonterminals.
56498         (time, rel, relunit, number, get_date):
56499         Add support for fractional seconds.
56500         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
56501         (gmtime, localtime, mktime): Remove decls; not needed with C89.
56502         (to_hour): First arg is now long int, not int.
56503         (to_year): Returns long int, not int.
56504         Don't treat year -70 like 70.
56505         (tm_diff): Returns long int, not int.
56506         (lookup_word): Use bool instead of int when appropriate.
56507         (yylex): Use size_t for count, not int.
56508         Detect overflow when parsing large integer constants.
56509         Add support for fractions.
56510         (get_date): Make pointers 'const' if possible.
56511         Use more-portable code to detect integer overflow.
56512         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
56513         Don't use ctime; it's not reliable if the year has >4 digits.
56514
56515         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
56516         This is for compatibility with BSD.
56517
56518         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
56519         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
56520         From coreutils' system.h.
56521
56522         * lib/userspec.c: Don't include "posixver.h".
56523         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
56524         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
56525         compatible extension.  Simplify code by removing a boolean int
56526         that was always nonzero if a string was nonnull.
56527
56528 2004-03-30  Jim Meyering  <jim@meyering.net>
56529
56530         Merge from coreutils.
56531
56532         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
56533         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
56534         on some systems one must include <grp.h> before it.
56535         Reported by Christian Krackowizer.
56536
56537 2004-03-30  Jim Meyering  <jim@meyering.net>
56538
56539         Merge from coreutils.
56540
56541         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
56542
56543         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
56544         an empty input stream.
56545
56546         * lib/readtokens.c: Include <stdbool.h>.
56547         (readtoken): Use `size_t' rather than int/long.
56548         All callers adjusted.
56549         Use `bool' rather than `int' where appropriate.
56550         Use memset rather than an explicit loop.
56551         Use x2nrealloc rather than xrealloc.
56552         Allow the use of `\0' as a delimiter.
56553         (readtokens): Likewise.
56554         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
56555
56556 2004-03-30  Jim Meyering  <jim@meyering.net>
56557
56558         * m4/realloc.m4: Remove file, since now it does no more than
56559         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
56560         the `configure.ac' section of module/realloc.
56561         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
56562
56563 2004-03-30  Bruno Haible  <bruno@clisp.org>
56564
56565         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
56566         nonnull.
56567
56568 2004-03-29  Paul Eggert  <eggert@twinsun.com>
56569
56570         Merge changes to getloadavg.c from coreutils and Emacs.
56571
56572         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
56573         Define to an expression, not to the empty string.
56574         Include cloexec.h and xalloc.h.
56575         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
56576         Use set_cloexec_flag rather than rolling our own.
56577         * lib/cloexec.c, lib/cloexec.h: New files.
56578
56579 2004-03-29  Paul Eggert  <eggert@twinsun.com>
56580
56581         * m4/cloexec.m4: New file.
56582
56583 2004-03-18  Paul Eggert  <eggert@twinsun.com>
56584
56585         * lib/getopt.h: Sync with libc CVS.
56586
56587 2004-03-18  Paul Eggert  <eggert@twinsun.com>
56588             Bruno Haible  <bruno@clisp.org>
56589
56590         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
56591         mbswidth.
56592
56593 2004-03-18  Paul Eggert  <eggert@twinsun.com>
56594             Bruno Haible  <bruno@clisp.org>
56595
56596         * lib/mbswidth.h: Include <wchar.h> only if
56597         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
56598         <wchar.h>.
56599         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
56600
56601 2004-03-09  Paul Eggert  <eggert@twinsun.com>
56602
56603         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
56604         Sync with libc CVS.
56605         * lib/getopt_int.h: New file, also synced from libc.
56606
56607 2004-03-09  Paul Eggert  <eggert@twinsun.com>
56608
56609         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
56610         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
56611         Bring back getopt.c, getopt.h, getopt1.c.
56612
56613 2004-03-07  Paul Eggert  <eggert@twinsun.com>
56614
56615         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
56616         All uses changed.  Check for sa_sigaction member; this fixes
56617         a bug first reported by Jason Andrade in
56618         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
56619
56620 2004-03-07  Paul Eggert  <eggert@twinsun.com>
56621
56622         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
56623         '#if' expressions.  Unlike the code it replaces, it does not
56624         depend on (defined _SC_PAGESIZE).  However, it does depend on
56625         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
56626         first reported by Jason Andrade in
56627         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
56628
56629 2004-02-25  Simon Josefsson  <jas@extundo.com>
56630
56631         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
56632
56633 2004-02-25  Simon Josefsson  <jas@extundo.com>
56634
56635         * lib/strdup.h: New file.
56636         * lib/strdup.c: Include it.
56637         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
56638         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
56639
56640 2004-02-23  Karl Berry  <karl@gnu.org>
56641
56642         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
56643         (from fencepost.gnu.org:/gd/gnuorg).
56644
56645 2004-02-23  Karl Berry  <karl@gnu.org>
56646
56647         * config/srclistvars.sh (GNUORG) [karl]: redefine.
56648         * config/srclist.txt: add maintain/standards documents.
56649
56650 2004-02-18  Bruno Haible  <bruno@clisp.org>
56651
56652         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
56653         Reported by Derek Robert Price <derek@ximbiot.com>.
56654
56655 2004-02-16  Karl Berry  <karl@gnu.org>
56656
56657         * config/mkinstalldirs, install-sh: update from automake.
56658
56659 2004-02-06  Karl Berry  <karl@gnu.org>
56660
56661         * m4/po.m4: update from gettext 0.14.1.
56662
56663 2004-02-06  Karl Berry  <karl@gnu.org>
56664
56665         * lib/config.charset: update from gettext 0.14.1.
56666
56667 2004-02-05  Paul Eggert  <eggert@twinsun.com>
56668
56669         Add comments and code, prompted by suggestions from Bruno Haible
56670         for sh-quote.
56671         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
56672         describing the enum quoting_style values.
56673         * lib/quotearg.c (quotearg_alloc): New function.
56674         (quotearg_buffer_restyled): Treat lone { and } as special.
56675         Treat = as special.  Work around bug with older shells
56676         that "see" a '\' that is really the 2nd byte of a multibyte char.
56677         Quote empty string with shell_quoting_style.
56678
56679 2004-02-03  Bruno Haible  <bruno@clisp.org>
56680
56681         * m4/pipe.m4: New file, from GNU gettext.
56682
56683 2004-02-03  Bruno Haible  <bruno@clisp.org>
56684
56685         * lib/pipe.h: New file, from GNU gettext.
56686         * lib/pipe.c: New file, from GNU gettext.
56687
56688 2004-01-27  Bruno Haible  <bruno@clisp.org>
56689
56690         * m4/execute.m4: New file, from GNU gettext.
56691
56692 2004-01-27  Bruno Haible  <bruno@clisp.org>
56693
56694         * lib/execute.h: New file, from GNU gettext.
56695         * lib/execute.c: New file, from GNU gettext.
56696         * lib/w32spawn.h: New file, from GNU gettext.
56697
56698 2004-01-24  Paul Eggert  <eggert@twinsun.com>
56699
56700         Merge from diffutils.
56701
56702         * lib/file-type.c (file_type): Add typed memory objects.
56703         * lib/file-type.h (S_TYPEISTMO): New macro.
56704
56705         * lib/c-stack.h (c_stack_action): Remove argv argument.
56706         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
56707         (die): Don't calculate message unless segv_action returns.
56708         (get_stack_location, min_address_from_argv, max_address_from_argv,
56709         volatile stack_base, volatile_stack_size): Remove.
56710         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
56711         that every segmentation violation is a stack overflow.  (Ouch!)
56712         See Debian bug 136249 (still outstanding) for more info about why
56713         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
56714
56715 2004-01-24  Paul Eggert  <eggert@twinsun.com>
56716
56717         Exit-status fix from coreutils.
56718
56719         Use exit_failure consistently in place of EXIT_FAILURE,
56720         so that program exit statuses are consistent on failure.
56721
56722         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
56723         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
56724         * lib/argmatch.h: Comment fix to match the above.
56725         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
56726         Now a macro referring to exit_failure, instead of a separate
56727         variable.  Include "exitfail.h" to get it.
56728         * lib/xstrtol.h: Include "exitfail.h".
56729         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
56730
56731         * lib/long-options.c (parse_long_options): Use prototype
56732         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
56733         for clarity.
56734
56735 2004-01-21  Jim Meyering  <jim@meyering.net>
56736
56737         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
56738         so as not to conflict with a different-sized __mktime_internal
56739         function in GNU libc.
56740         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
56741         Problem building statically-linked `ls' reported by Michael Brunnbauer.
56742
56743 2004-01-20  Karl Berry  <karl@gnu.org>
56744
56745         * config/config.guess: update from config.
56746
56747         * config/srclistvars.sh: GNUWWWLICENSES for karl.
56748
56749 2004-01-20  Bruno Haible  <bruno@clisp.org>
56750
56751         Safer stack allocation.
56752         * lib/setenv.c: Include allocsa.h.
56753         (alloca): Remove fallback definition.
56754         (freea): Remove macro.
56755         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
56756         instead of freea.
56757
56758 2004-01-20  Bruno Haible  <bruno@clisp.org>
56759
56760         * m4/eealloc.m4: New file, from GNU gettext.
56761
56762 2004-01-20  Bruno Haible  <bruno@clisp.org>
56763
56764         * m4/allocsa.m4: New file, from GNU gettext.
56765
56766 2004-01-20  Bruno Haible  <bruno@clisp.org>
56767
56768         * lib/xallocsa.h: New file, from GNU gettext.
56769         * lib/xallocsa.c: New file, from GNU gettext.
56770
56771 2004-01-20  Bruno Haible  <bruno@clisp.org>
56772
56773         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
56774
56775 2004-01-20  Bruno Haible  <bruno@clisp.org>
56776
56777         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
56778         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
56779         specially.
56780
56781 2004-01-20  Bruno Haible  <bruno@clisp.org>
56782
56783         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
56784         patch.
56785
56786 2004-01-20  Bruno Haible  <bruno@clisp.org>
56787
56788         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
56789
56790 2004-01-20  Bruno Haible  <bruno@clisp.org>
56791
56792         * lib/eealloc.h: New file.
56793
56794 2004-01-20  Bruno Haible  <bruno@clisp.org>
56795
56796         * lib/binary-io.h: Avoid warnings on Cygwin.
56797
56798 2004-01-20  Bruno Haible  <bruno@clisp.org>
56799
56800         * lib/allocsa.h: New file, from GNU gettext.
56801         * lib/allocsa.c: New file, from GNU gettext.
56802
56803 2004-01-18  Karl Berry  <karl@gnu.org>
56804
56805         * doc/gpl.texi, doc/lgpl.texi: new files.
56806
56807 2004-01-18  Karl Berry  <karl@gnu.org>
56808
56809         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
56810         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
56811
56812 2004-01-15  Paul Eggert  <eggert@twinsun.com>
56813
56814         Merge from coreutils.
56815
56816         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
56817         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
56818         (gl_DEFAULT_POSIX2_VERSION): Move
56819         the documentation from 'configure' into 'config.hin',
56820         so that 'configure --help' isn't burdened by it and
56821         we don't have to worry about its formatting there.
56822         Reword the documentation so that it's more succinct
56823         and can be run together into a single paragraph.
56824         * m4/same.m4 (gl_SAME): Check for pathconf.
56825
56826 2004-01-15  Paul Eggert  <eggert@twinsun.com>
56827
56828         Merge from coreutils.
56829
56830         * lib/posixver.c: Include posixver.h.
56831
56832         * lib/same.c: Include <stdbool.h>, <limits.h>.
56833         (_POSIX_NAME_MAX): Define if not defined.
56834         (MIN): New macro.
56835         (same_name): If file names are silently truncated, report
56836         that the file names are the same if they are the same after
56837         the silent truncation.
56838
56839         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
56840         conversion function.
56841         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
56842         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
56843         longer needed.
56844
56845 2004-01-15  Jim Meyering  <jim@meyering.net>
56846
56847         Merge from coreutils.
56848
56849         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
56850         if no library is required.
56851         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
56852         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
56853         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
56854         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
56855         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
56856         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
56857         value, $ac_cv_search_crypt, if it's "none required".
56858         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
56859         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
56860         not gl_FUNC_GETLOADAVG.
56861         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
56862         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
56863
56864 2004-01-15  Jim Meyering  <jim@meyering.net>
56865
56866         Merge from coreutils.
56867
56868         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
56869         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
56870         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
56871
56872         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
56873         optional configure-time default.
56874
56875         * lib/version-etc.c (version_etc_copyright): Update copyright date.
56876
56877         * lib/xreadlink.c (xreadlink): Correct outdated comment.
56878
56879 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
56880
56881         Merge from coreutils.
56882
56883         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
56884         value, $ac_cv_search_nanosleep, if it's "none required".
56885
56886 2004-01-14  Paul Eggert  <eggert@twinsun.com>
56887
56888         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
56889         with like-named macro in fnmatch.c.
56890         (EXT): Use an internal constant instead.
56891
56892         Merge fnmatch patches from glibc.
56893         * lib/fnmatch.c (mbsinit): Remove define.
56894         Add libc_hidden_ver (__fnmatch, fnmatch).
56895         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
56896         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
56897
56898 2004-01-14  Karl Berry  <karl@gnu.org>
56899
56900         * config/install-sh: update from automake.
56901
56902 2004-01-13  Karl Berry  <karl@gnu.org>
56903
56904         * config/install-sh: update from automake.
56905
56906 2004-01-09  Karl Berry  <karl@gnu.org>
56907
56908         * config/install-sh: update from automake.
56909
56910 2004-01-05  Karl Berry  <karl@gnu.org>
56911
56912         * config/config.{sub,guess}: update from config.
56913
56914 2003-12-31  Karl Berry  <karl@gnu.org>
56915
56916         * config/depcomp: update from automake.
56917
56918 2003-12-14  Karl Berry  <karl@gnu.org>
56919
56920         * lib/config.charset: update from gettext-runtime.
56921
56922 2003-12-03  Paul Eggert  <eggert@twinsun.com>
56923
56924         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
56925         Bug reported by Alfred M. Szmidt.
56926
56927 2003-12-03  Bruno Haible  <bruno@clisp.org>
56928
56929         * m4/gettext.m4: Upgrade from gettext-0.13.
56930         * m4/po.m4: Upgrade from gettext-0.13.
56931         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
56932         * m4/intmax.m4: New file, from gettext-0.13.
56933         * m4/printf-posix.m4: New file, from gettext-0.13.
56934
56935 2003-11-29  Karl Berry  <karl@gnu.org>
56936
56937         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
56938
56939 2003-11-25  Paul Eggert  <eggert@twinsun.com>
56940             Bruno Haible  <bruno@clisp.org>
56941
56942         * lib/printf-parse.h: Don't include sys/types.h.
56943         (ARG_NONE): New macro.
56944         (char_directive): Change type of *arg_index fields to size_t.
56945         * lib/printf-parse.c: Don't include sys/types.h.
56946         (SSIZE_MAX): Remove macro.
56947         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
56948         Remove unnecessary overflow check.
56949         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
56950         fields.
56951
56952 2003-11-25  Bruno Haible  <bruno@clisp.org>
56953
56954         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
56955
56956 2003-11-25  Bruno Haible  <bruno@clisp.org>
56957
56958         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
56959         gt_TYPE_SSIZE_T.
56960
56961 2003-11-24  Paul Eggert  <eggert@twinsun.com>
56962
56963         * modules/alloca: Remove dependency on xalloc.
56964
56965 2003-11-24  Paul Eggert  <eggert@twinsun.com>
56966
56967         * lib/alloca.c: Remove dependency on xalloc module.
56968         (xalloc_die): Remove.
56969         (memory_full) [!defined emacs]: New macro.
56970         [!defined emacs]: Don't include xalloc.h.
56971         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
56972         address arithmetic overflows.  Change datatypes a bit to avoid
56973         unnecessary casts.
56974
56975 2003-11-22  Jim Meyering  <jim@meyering.net>
56976
56977         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
56978         s/size/size_t/.
56979
56980 2003-11-21  Karl Berry  <karl@gnu.org>
56981
56982         * config/config.{sub,guess}: update from config.
56983
56984 2003-11-18  Karl Berry  <karl@gnu.org>
56985
56986         * config/config.{sub,guess}: update from config.
56987
56988         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
56989
56990 2003-11-17  Paul Eggert  <eggert@twinsun.com>
56991
56992         * README: Mention that S+T cannot overflow if S is the size of
56993         an existing object and T is sufficiently small.
56994
56995 2003-11-17  Jim Meyering  <jim@meyering.net>
56996
56997         On systems without utime and without a utimes function capable of
56998         dealing with a NULL struct utimbuf* argument, this utime replacement
56999         could -- in unusual circumstances -- leak a file descriptor.
57000         * lib/utime.c: Include <unistd.h> and <errno.h>.
57001         (utime_null): Be sure to close `fd' and to preserve errno.
57002         Reported by Geoff Collyer via Arnold Robbins.
57003
57004 2003-11-17  Bruno Haible  <bruno@clisp.org>
57005
57006         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
57007         (Depends-on): Add xsize.
57008
57009 2003-11-17  Bruno Haible  <bruno@clisp.org>
57010
57011         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
57012
57013 2003-11-17  Bruno Haible  <bruno@clisp.org>
57014
57015         * lib/vasnprintf.c (alloca): Remove fallback definition.
57016         (freea): Remove definition.
57017         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
57018         Reported by Paul Eggert.
57019
57020 2003-11-16  Paul Eggert  <eggert@twinsun.com>
57021             Bruno Haible  <bruno@clisp.org>
57022
57023         Protect against address arithmetic overflow.
57024         * lib/printf-args.h: Include stddef.h.
57025         (arguments): Change type of field 'count' to size_t.
57026         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
57027         'unsigned int' where appropriate.
57028         * lib/printf-parse.h: Include sys/types.h.
57029         (char_directive): Change type of *arg_index fields to ssize_t.
57030         (char_directives): Change type of fields 'count', max_*_length to
57031         size_t.
57032         * lib/printf-parse.c: Include sys/types.h and xsize.h.
57033         (SSIZE_MAX): Define fallback value.
57034         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
57035         instead of 'int' where appropriate. Check a_allocated, d_allocated
57036         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
57037         * lib/vasnprintf.c: Include xsize.h.
57038         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
57039         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
57040         overflow. Avoid wraparound when converting a width or precision from
57041         decimal to binary.
57042
57043 2003-11-16  Bruno Haible  <bruno@clisp.org>
57044
57045         Update from GNU gettext.
57046         * lib/printf-parse.c: Generalize to it can be compiled for wide
57047         strings.
57048         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
57049         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
57050         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
57051         SNPRINTF): New macros.
57052         Don't include <alloca.h> if the file is used inside libintl.
57053         (local_wcslen): New function, for Solaris 2.5.1.
57054         (VASNPRINTF): Use it instead of wcslen.
57055
57056 2003-11-16  Bruno Haible  <bruno@clisp.org>
57057
57058         * lib/xsize.h (xmax): New function.
57059         (xsum, xsum3, xsum4): Declare as "pure" functions.
57060
57061 2003-11-12  Paul Eggert  <eggert@twinsun.com>
57062
57063         * modules/xalloc (Files): Undo latest change, since xalloc.h
57064         no longer needs SIZE_MAX or PTRDIFF_MAX.
57065
57066 2003-11-12  Paul Eggert  <eggert@twinsun.com>
57067
57068         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
57069         gl_PTRDIFF_MAX.
57070
57071 2003-11-12  Paul Eggert  <eggert@twinsun.com>
57072
57073         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
57074         "return", to pacify some unknown compiler.  Problem reported
57075         by Joerg Schilling.
57076
57077 2003-11-12  Paul Eggert  <eggert@twinsun.com>
57078
57079         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
57080         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
57081         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
57082         heuristic is just as accurate as far as we know, and it removes a
57083         dependency on size_max.m4 and ptrdiff_max.m4.
57084
57085 2003-11-11  Bruno Haible  <bruno@clisp.org>
57086
57087         * modules/xsize (Files): Add m4/size_max.m4.
57088         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
57089
57090 2003-11-11  Bruno Haible  <bruno@clisp.org>
57091
57092         * m4/size_max.m4: New file.
57093         * m4/ptrdiff_max.m4: New file.
57094         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
57095         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
57096         (gl_XALLOC): Invoke it.
57097
57098 2003-11-11  Bruno Haible  <bruno@clisp.org>
57099
57100         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
57101         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
57102         defined.
57103
57104 2003-11-10  Paul Eggert  <eggert@twinsun.com>
57105
57106         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
57107         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
57108         rejected some allocations of exactly SIZE_MAX - 2 bytes.
57109         From Bruno Haible.
57110         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
57111         not (size_t) -1, since it's defined here.
57112
57113 2003-11-09  Karl Berry  <karl@gnu.org>
57114
57115         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
57116
57117 2003-11-06  Paul Eggert  <eggert@twinsun.com>
57118
57119         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
57120         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
57121         Reject sizes of exactly SIZE_MAX bytes.
57122         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
57123         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
57124
57125 2003-11-05  Bruno Haible  <bruno@clisp.org>
57126
57127         * lib/xsize.h: Include limits.h, to avoid a possible collision with
57128         SIZE_MAX defined in <limits.h> on Solaris.
57129
57130 2003-11-04  Jim Meyering  <jim@meyering.net>
57131
57132         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
57133         variable names, rather than @VAR@.
57134         * modules/poll: Likewise.
57135
57136 2003-11-04  Bruno Haible  <bruno@clisp.org>
57137
57138         * modules/xsize: New file.
57139         * modules/linebreak: Depend on xsize.
57140         * MODULES.html.sh (func_all_modules): Add xsize.
57141
57142 2003-11-04  Bruno Haible  <bruno@clisp.org>
57143
57144         * m4/xsize.m4: New file.
57145
57146 2003-11-04  Bruno Haible  <bruno@clisp.org>
57147
57148         * lib/xsize.h: New file.
57149         * lib/linebreak.c: Include xsize.h.
57150         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
57151         argument for overflow.
57152         Suggested by Paul Eggert.
57153
57154 2003-11-03  Karl Berry  <karl@gnu.org>
57155
57156         * config/config.{guess,sub}: update from config.
57157
57158 2003-11-03  Jim Meyering  <jim@meyering.net>
57159
57160         * modules/userspec (lib_SOURCES): Add userspec.h.
57161         (Include): Add "userspec.h".
57162         Improve description.
57163
57164 2003-11-03  Jim Meyering  <jim@meyering.net>
57165
57166         * lib/userspec.c: Include "userspec.h".
57167         * lib/userspec.h: New file.
57168
57169 2003-11-03  Bruno Haible  <bruno@clisp.org>
57170
57171         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
57172
57173 2003-11-03  Bruno Haible  <bruno@clisp.org>
57174
57175         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
57176         available, to avoid (extremely rare) race condition.
57177         Suggested by Paul Eggert.
57178
57179 2003-11-02  Karl Berry  <karl@gnu.org>
57180
57181         * config/srclist.txt (vasprintf.c): sync broken, sigh.
57182
57183 2003-10-31  Paul Eggert  <eggert@twinsun.com>
57184
57185         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
57186         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
57187         (read_filesystem_list): Set and use me_type_malloced.
57188         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
57189         whatever the type happens to be), for brevity and consistency.
57190         Check for size calculation overflow on Alphas running OSF/1.
57191
57192 2003-10-31  Jim Meyering  <jim@meyering.net>
57193
57194         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
57195
57196         * lib/linebuffer.c: Include <string.h> for declaration of memset.
57197
57198 2003-10-30  Paul Eggert  <eggert@twinsun.com>
57199             Bruno Haible  <bruno@clisp.org>
57200
57201         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
57202         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
57203
57204 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
57205
57206         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
57207         netbsd*-gnu*.  Suggested by Robert Millan.
57208
57209 2003-10-29  Paul Eggert  <eggert@twinsun.com>
57210
57211         * modules/group-member: Depend on stdbool.
57212
57213 2003-10-29  Paul Eggert  <eggert@twinsun.com>
57214
57215         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
57216
57217 2003-10-29  Paul Eggert  <eggert@twinsun.com>
57218
57219         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
57220         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
57221         after the 'gnu' in these cases.  This fixes some bugs in the
57222         previous change, and is based on suggestions by Robert Millan.
57223
57224 2003-10-29  Paul Eggert  <eggert@twinsun.com>
57225
57226         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
57227         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
57228         no longer needed.
57229         * lib/quotearg.c (quotearg_n_options): Use it.
57230         * lib/group-member.c: Include <stdbool.h>.
57231         (free_group_info): Arg is now const *; don't free arg.
57232         (get_group_info): Now returns bool and accepts struct group_info *,
57233         rather than returning a malloc'ed struct group_info *.
57234         All uses changed.  Check for overflow in internal size calculation.
57235
57236         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
57237         rather than xmalloc/xrealloc.
57238         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
57239         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
57240         conformance bug: the old code used a pointer after freeing the
57241         storage that it addressed.
57242         * lib/hash.c (hash_initialize): Simplify the code by using
57243         xalloc_oversized rather than doing it by hand.
57244         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
57245         the buffer preserved.  Use free and xmalloc instead.
57246         * lib/quotearg.c (quotearg_n_options): Likewise.
57247         Use a simpler test for size overflow.  Don't use xalloc_oversized
57248         because unsigned int might be wider than size_t (!); this suggests
57249         that we should switch from unsigned int to size_t for slot numbers.
57250
57251 2003-10-28  Paul Eggert  <eggert@twinsun.com>
57252
57253         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
57254         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
57255         NetBSD kernels.  Requested by Richard Stallman.
57256
57257 2003-10-27  Paul Eggert  <eggert@twinsun.com>
57258
57259         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
57260         to allocate the returned structure.  Do not allocate a subarray,
57261         as x2nrealloc will do that.
57262         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
57263         instead of xnrealloc.
57264         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
57265
57266 2003-10-27  Bruno Haible  <bruno@clisp.org>
57267
57268         * lib/stdbool_.h: Better support for BeOS.
57269
57270 2003-10-26  Paul Eggert  <eggert@twinsun.com>
57271
57272         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
57273         now uses inline.
57274
57275 2003-10-26  Paul Eggert  <eggert@twinsun.com>
57276
57277         * lib/xalloc.h (xalloc_oversized): New static inline function, for
57278         callers that want to do their own size-overflow checking.  Include
57279         <stdbool.h>, since xalloc_oversized returns bool.
57280         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
57281         to use xalloc_oversized.
57282
57283         Add two functions x2realloc, x2nrealloc, for programs that grow
57284         arrays dynamically by doubling their sizes.
57285         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
57286         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
57287         New functions.
57288
57289         Port to C99 semantics for 'inline' of external functions.
57290         Bug reported by Bruno Haible.
57291         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
57292         with the old contents of xnmalloc.
57293         (xnmalloc, xmalloc): Use it.
57294         (xnrealloc_inline): New static inline function,
57295         with the old contents of xnrealloc.
57296         (xnrealloc, xrealloc): Use it.
57297
57298         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
57299         that.
57300
57301 2003-10-26  Karl Berry  <karl@gnu.org>
57302
57303         * config/srclist.txt (COPYING.DOC): no longer available from
57304         /gd/gnuorg; don't know where the ultimate source is.
57305
57306 2003-10-25  Paul Eggert  <eggert@twinsun.com>
57307
57308         Fix several address-calculation bugs in the hash modules,
57309         plus some minor code cleanup.
57310
57311         * lib/hash.h: Include <stdbool.h>, for bool.
57312         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
57313         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
57314         hash_get_n_entries, hash_get_max_bucket_length,
57315         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
57316         hash_rehash): Use size_t rather than unsigned.
57317         * lib/hash.c (struct hash_table, hash_get_n_buckets,
57318         hash_get_n_buckets_used, hash_get_n_entries,
57319         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
57320         hash_get_entries, hash_do_for_each, hash_string, is_prime,
57321         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
57322         Likewise.
57323         (SIZE_MAX): Define if not defined.
57324         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
57325         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
57326         hash_print):
57327         Use const * when possible.
57328         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
57329         (check_tuning): Fix bug: if tuning parameters were very close to
57330         0 or 1, rounding errors could have caused subscript violations.
57331         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
57332         (hash_initialize): Add 'fail:' label
57333         to free table and return NULL, and use it to simplify code.
57334         Use calloc rather than clearing the storage ourself.
57335         (hash_initialize, hash_rehash): Check for arithmetic overflow in
57336         buffer size calculations.
57337         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
57338         Include <stddef.h>, for size_t.
57339         * lib/hash-pjw.c (hash_pjw): Likewise.
57340         Switch to method described by Bruno Haible.
57341         Include <limits.h>, for CHAR_BIT.
57342         (SIZE_BITS): New macro.
57343
57344 2003-10-23  Paul Eggert  <eggert@twinsun.com>
57345
57346         * m4/getline.m4 (AM_FUNC_GETLINE):
57347         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
57348         hosts.  Problem reported by Derek Robert Price in
57349         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
57350         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
57351         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
57352
57353 2003-10-21  Paul Eggert  <eggert@twinsun.com>
57354
57355         * lib/getndelim2.c (getndelim2): When size calculation overflows,
57356         ceiling the allocation at NMAX bytes rather than silently
57357         discarding input bytes before NMAX is reached.  This makes
57358         a difference only if NMAX exceeds SIZE_MAX / 2.
57359
57360         * lib/obstack.c: Merge from glibc.
57361         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
57362         Add libc_hidden_def (_obstack_newchunk).
57363         (_obstack_free) [! defined _LIBC]: Remove.
57364         [defined _LIBC]: Make a strong alias from obstack_free, rather than
57365         a clone of the function body.
57366         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
57367         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
57368
57369         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
57370         glibc.
57371         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
57372         arg to memcpy.
57373
57374         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
57375         (obstack_ptr_grow_fast, obstack_int_grow_fast):
57376         Don't use lvalue casts, as GCC plans to remove support for them
57377         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
57378         was also present in the non-GCC version, indicating that this
57379         code had always been buggy and had never been widely used.
57380         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
57381         Use the fast variant of each macro, rather than copying the
57382         definiens of the fast variant; that way, we'll be more likely to
57383         catch future bugs in the fast variants.
57384
57385 2003-10-20  Bruno Haible  <bruno@clisp.org>
57386
57387         * modules/wait-process: New file.
57388         * MODULES.html.sh (func_all_modules): Add wait-process.
57389
57390 2003-10-20  Bruno Haible  <bruno@clisp.org>
57391
57392         * m4/wait-process.m4: New file.
57393
57394 2003-10-20  Bruno Haible  <bruno@clisp.org>
57395
57396         * lib/wait-process.h: New file, from GNU gettext.
57397         * lib/wait-process.c: New file, from GNU gettext.
57398
57399 2003-10-19  Jim Meyering  <jim@meyering.net>
57400
57401         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
57402         HPUX 10.20.
57403
57404 2003-10-18  Karl Berry  <karl@gnu.org>
57405
57406         * config/config.guess: update from config.
57407
57408 2003-10-16  Paul Eggert  <eggert@twinsun.com>
57409
57410         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
57411         (getgroups): First arg is int, not size_t.
57412         Don't let 'free' mangle errno.
57413
57414 2003-10-16  Paul Eggert  <eggert@twinsun.com>
57415
57416         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
57417
57418 2003-10-16  Karl Berry  <karl@gnu.org>
57419
57420         * config/config.{guess,sub}: update from config.
57421
57422 2003-10-16  Jim Meyering  <jim@meyering.net>
57423
57424         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
57425         memcpy.
57426
57427 2003-10-15  Paul Eggert  <eggert@twinsun.com>
57428
57429         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
57430         (SIZE_MAX): Remove.
57431         (new_exclude, add_exclude_file): Initial size no longer needs to
57432         be a power of 2.
57433         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
57434         our own address arithmetic overflow checking.
57435
57436         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
57437         (fnmatch): Do not alloca more than 2000 wide characters;
57438         instead, use malloc for large buffers.
57439         Check for address arithmetic overflow, and return -1
57440         with errno set to ENOMEM in that case.
57441         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
57442         (NEW_PATTERN): Do not alloca more than 8000 bytes;
57443         instead, return -1.  Check for address arithmetic overflow.
57444
57445 2003-10-14  Paul Eggert  <eggert@twinsun.com>
57446
57447         Handle invalid suffixes and overflow independently, so that
57448         callers can treat them independently as needed.  Fix some bugs in
57449         suffix handling, e.g., "100k@" was not diagnosed as an invalid
57450         suffix for a human-readable blocksize.  The major caller-visible
57451         change is the addition of a new
57452         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
57453         that both overflow and suffix chars were found.
57454
57455         * lib/human.c (humblock): Don't check separately for invalid suffix
57456         char; that is xstrtoumax's job (now that its bug is fixed).
57457         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
57458         INTMAX_MAX]: New macros.
57459         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
57460         TYPE_MAXIMUM): New macros.
57461         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
57462         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
57463         if overflow occurs, as it's what __strtol does and it's more useful
57464         in practice.
57465         (__xstrtol): If __strtol reports some error other than ERANGE,
57466         reflect it to the caller as LONGINT_INVALID.  If it reports
57467         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
57468         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
57469         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
57470         value.
57471         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
57472         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
57473         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
57474         [defined UINTMAX_MAX]: New macros.
57475
57476 2003-10-14  Bruno Haible  <bruno@clisp.org>
57477
57478         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
57479
57480 2003-10-14  Bruno Haible  <bruno@clisp.org>
57481
57482         * m4/sig_atomic_t: New file, from GNU gettext.
57483         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
57484
57485 2003-10-14  Bruno Haible  <bruno@clisp.org>
57486
57487         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
57488         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
57489         Also use volatile where needed.
57490
57491 2003-10-12  Paul Eggert  <eggert@twinsun.com>
57492
57493         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
57494         Change maintainer from Bruno Haible to 'all'.
57495
57496 2003-10-12  Paul Eggert  <eggert@twinsun.com>
57497
57498         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
57499
57500 2003-10-12  Paul Eggert  <eggert@twinsun.com>
57501
57502         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
57503         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
57504         and define in terms of the other primitives.
57505         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
57506         (SIZE_MAX): Define if not already defined.
57507         (array_size_overflow): New function.
57508         (xalloc_die): Abort instead of exiting if 'error' returns.
57509         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
57510         (xmalloc, xrealloc): Use them.
57511         (xcalloc): Check for address arithmetic overflow.
57512         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
57513         a bit faster than strcpy.
57514
57515 2003-10-10  Simon Josefsson  <jas@extundo.com>
57516
57517         * modules/argp (Depends-on): Add restrict and strcase.
57518
57519 2003-10-10  Simon Josefsson  <jas@extundo.com>
57520
57521         * m4/argp.m4: Add AC_C_INLINE.
57522
57523 2003-10-08  Paul Eggert  <eggert@twinsun.com>
57524
57525         Merge getpass from libc, plus a few fixes.
57526
57527         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
57528         Include <stdbool.h>.
57529         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
57530         __fsetlocking to empty.
57531         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
57532         do include <bits/libc-lock.h>.
57533         Do not include <fcntl.h>; not needed.
57534         [_LIBC]: Include <wchar.h>.
57535         (NOTCANCEL_MODE): New macro.
57536         (flockfile, funlockfile) [_LIBC]: New macros.
57537         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
57538         [!_LIBC]: New macros.
57539         (call_fclose): New function.
57540         (getpass): Use it.  Save tty stream separately; this simplifies the
57541         code and makes it more reliable if stdin happens to equal stdout.
57542         Invoke __fsetlocking on tty.
57543         Handle thread cancellation if needed.
57544         Namespace cleanup (use __tcgetattr, __getline).
57545         Use bool for Booleans.
57546         [USE_IN_LIBIO]: Handle wide streams.
57547         [!_LIBC]: Unconditionally do the fseek, since we don't know what
57548         stream might go where.
57549
57550         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
57551         doesn't have to include <stdio.h> before us.
57552         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
57553         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
57554         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
57555         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
57556         if not declared, so that we can use getpass.c code from libc without
57557         rewriting it.
57558         (flockfile, ftrylockfile, funlockfile): New macros.
57559
57560 2003-10-08  Paul Eggert  <eggert@twinsun.com>
57561
57562         * modules/getpass: Depend on stdbool.
57563
57564 2003-10-08  Paul Eggert  <eggert@twinsun.com>
57565
57566         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
57567
57568 2003-10-07  Karl Berry  <karl@gnu.org>
57569
57570         * config/config.{guess,sub}: update from config.
57571
57572 2003-10-06  Jim Meyering  <jim@meyering.net>
57573             Bruno Haible  <bruno@clisp.org>
57574
57575         This lets translators provide better translations for the
57576         "Written by ..." part of --version output.
57577         * lib/version-etc.h: Include stdarg.h.
57578         (version_etc_copyright): Declare as readonly.
57579         (version_etc): Make this function variadic with a NULL-terminated list
57580         of author name strings.
57581         (version_etc_va): New declaration.
57582         * lib/version-etc.c: Include stdarg.h, stdlib.h.
57583         (version_etc_copyright): Declare as readonly.
57584         (version_etc_va): New function. Provide a different translatable string
57585         for each possible number of authors < 10. Abbreviate when there are 10
57586         authors or more.
57587         (version_etc): Make this function variadic. Call version_etc_va.
57588         Suggestion from Gary V. Vaughan.
57589
57590         * lib/long-options.h (parse_long_options): Change prototype: the
57591         authors string is moved to the end and becomes variadic.
57592         * lib/long-options.c: Include stdarg.h.
57593         (parse_long_options): Make this function variadic, too.
57594         Call version_etc_va, not version_etc.
57595
57596 2003-10-06  Bruno Haible  <bruno@clisp.org>
57597
57598         * modules/version-etc-2: Remove file.
57599         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
57600
57601 2003-10-06  Bruno Haible  <bruno@clisp.org>
57602
57603         * modules/fatal-signal: New file.
57604         * MODULES.html.sh (func_all_modules): Add fatal-signal.
57605
57606 2003-10-06  Bruno Haible  <bruno@clisp.org>
57607
57608         * m4/fatal-signal.m4: New file.
57609         * m4/signalblocking.m4: New file, from GNU gettext.
57610
57611 2003-10-06  Bruno Haible  <bruno@clisp.org>
57612
57613         * lib/version-etc-2.h: Remove file.
57614         * lib/version-etc-2.c: Remove file.
57615
57616 2003-10-06  Bruno Haible  <bruno@clisp.org>
57617
57618         * lib/fatal-signal.h: New file, from GNU gettext.
57619         * lib/fatal-signal.c: New file, from GNU gettext.
57620
57621 2003-10-05  Paul Eggert  <eggert@twinsun.com>
57622
57623         * README: Rework advice for preventing empty .o files.
57624         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
57625         not <sys/types.h>.
57626
57627 2003-10-04  Karl Berry  <karl@gnu.org>
57628
57629         * lib/argp*: update from libc.
57630
57631 2003-10-04  Karl Berry  <karl@gnu.org>
57632
57633         * config/config.{guess,sub}: update from config.
57634
57635 2003-10-02  Bruno Haible  <bruno@clisp.org>
57636
57637         * modules/lchown (Include): Add lchown.h.
57638         * modules/time_r (Include): Use "..." syntax.
57639         * modules/xgetdomainname (Include): Add xgetdomainname.h.
57640
57641 2003-10-01  Simon Josefsson  <jas@extundo.com>
57642
57643         * MODULES.html.sh (func_all_modules): Move gethostname from section
57644         'based on' to section 'lacking' POSIX:2001.
57645
57646 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
57647
57648         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
57649         to output mode on the same stream.
57650
57651 2003-09-29  Paul Eggert  <eggert@twinsun.com>
57652
57653         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
57654         Fix arg typo in previous patch.
57655
57656 2003-09-28  Jim Meyering  <jim@meyering.net>
57657
57658         * lib/error.c: Correct cpp indentation.
57659
57660 2003-09-27  Paul Eggert  <eggert@twinsun.com>
57661
57662         * modules/free: New file.
57663
57664 2003-09-27  Paul Eggert  <eggert@twinsun.com>
57665
57666         * m4/free.m4: New file.
57667
57668 2003-09-27  Paul Eggert  <eggert@twinsun.com>
57669
57670         * lib/minmax.h (MIN, MAX)
57671         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
57672         Omit the special code that used __typeof__, since we worry that
57673         it could be more trouble than it's worth.  See:
57674         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
57675         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
57676
57677         * lib/free.c: New file.
57678
57679 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
57680
57681         Trivial fixes to Makefile.am parts of module listings.
57682         * modules/strstr: Append strstr.h to lib_SOURCES.
57683         * modules/strcase: Likewise, for strcase.h.
57684
57685 2003-09-27  Karl Berry  <karl@gnu.org>
57686
57687         * config/mkinstalldirs: update from automake.
57688
57689 2003-09-26  Paul Eggert  <eggert@twinsun.com>
57690
57691         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
57692         (error_tail): Do not loop, reallocating temporary buffer, since
57693         the output cannot contain more wide characters than the input
57694         contains bytes, the size must be big enough already.  This avoids
57695         one potential size overflow calculation.  Check for size overflow
57696         when calculating temporary buffer size.  Free temporary buffer
57697         when done, if it was allocated with malloc; this plugs a memory
57698         leak.  Remove casts from void * to pointers, that are no longer
57699         needed now that we're assuming C89 or better.
57700
57701         Merge error changes from glibc.
57702
57703         * lib/error.c, error.h: Update copyright notice header to match glibc.
57704         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
57705         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
57706         Disable cancellation while printing error.
57707         * lib/error.h: Prepend __ to parameter names.
57708
57709 2003-09-26  Jim Meyering  <jim@meyering.net>
57710
57711         * lib/error.c (error_tail): Move some declarations
57712         into inner scope where the local variables are used.
57713
57714 2003-09-26  Bruno Haible  <bruno@clisp.org>
57715
57716         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
57717         stpncpy().
57718         Don't define stpncpy through config.h; it's now done through stpncpy.h.
57719
57720 2003-09-26  Bruno Haible  <bruno@clisp.org>
57721
57722         * lib/stpncpy.h (gnu_stpncpy): New declaration.
57723         (stpncpy): Define as alias for gnu_stpncpy.
57724         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
57725
57726 2003-09-25  Simon Josefsson  <jas@extundo.com>
57727
57728         * lib/xgetdomainname.h: New file.
57729         * lib/xgetdomainname.c: New file.
57730
57731 2003-09-25  Simon Josefsson  <jas@extundo.com>
57732             Bruno Haible  <bruno@clisp.org>
57733
57734         * modules/getdomainname: New file.
57735         * modules/xgetdomainname: New file.
57736         * MODULES.html.sh (func_all_modules): Add getdomainname,
57737         xgetdomainname.
57738
57739 2003-09-25  Simon Josefsson  <jas@extundo.com>
57740             Bruno Haible  <bruno@clisp.org>
57741
57742         * m4/getdomainname.m4: New file.
57743
57744 2003-09-25  Simon Josefsson  <jas@extundo.com>
57745             Bruno Haible  <bruno@clisp.org>
57746
57747         * lib/getdomainname.h: New file.
57748         * lib/getdomainname.c: New file.
57749
57750 2003-09-25  Karl Berry  <karl@gnu.org>
57751
57752         * lib/argp-fmtstream.c, argp-help.c: update from libc.
57753
57754 2003-09-25  Karl Berry  <karl@gnu.org>
57755
57756         * config/install-sh: update from automake.
57757
57758 2003-09-25  Bruno Haible  <bruno@clisp.org>
57759
57760         * modules/version-etc-2: New file, from modules/version-etc with
57761         modifications.
57762         * MODULES.html.sh (func_all_modules): Add version-etc-2.
57763
57764 2003-09-25  Bruno Haible  <bruno@clisp.org>
57765
57766         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
57767         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
57768
57769 2003-09-24  Simon Josefsson  <jas@extundo.com>
57770
57771         * modules/xgethostname: Add xgethostname.h.
57772
57773 2003-09-24  Paul Eggert  <eggert@twinsun.com>
57774
57775         * lib/linebuffer.c (freebuffer): Don't free the argument, just
57776         the buffer associated with the argument.  Bug reported by
57777         Simon Josefsson.
57778
57779 2003-09-24  Paul Eggert  <eggert@twinsun.com>
57780
57781         * README: Document assumptions that 'int' is at least 32 bits
57782         wide, that integer arithmetic is 2's complement without overflow,
57783         that there are no holes in integer values, that adding sizes of
57784         two nonoverlapping objects can't overflow, and that all-bits-zero
57785         yields scalar zero.  Fix spelling and capitalization typos.
57786
57787 2003-09-19  Karl Berry  <karl@gnu.org>
57788
57789         * lib/argp.h: update from libc.
57790
57791 2003-09-17  Paul Eggert  <eggert@twinsun.com>
57792
57793         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
57794         to avoid spurious warnings like "AC_RUN_IFELSE was called before
57795         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
57796
57797 2003-09-17  Paul Eggert  <eggert@twinsun.com>
57798
57799         * gnulib-tool: Use "test -h", not "test -L", for portability
57800         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
57801         (tags_regexp): Remove, since \| doesn't conform to POSIX.
57802         (sed_extract_prog): Issue s commands one-by-one, rather than
57803         using \| in one s command.
57804
57805 2003-09-16  Paul Eggert  <eggert@twinsun.com>
57806
57807         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
57808         input error, instead of returning NULL the next time we are called
57809         (and therefore losing track of errno).
57810
57811 2003-09-16  Bruno Haible  <bruno@clisp.org>
57812
57813         * gnulib-tool (func_create_testdir): Warn about duplicated
57814         dependencies.
57815
57816 2003-09-15  Paul Eggert  <eggert@twinsun.com>
57817
57818         * modules/argmatch, modules/fatal, modules/obstack,
57819         modules/xalloc, modules/xgethostname: Sort dependencies by
57820         importance, not alphabetically.
57821
57822 2003-09-15  Paul Eggert  <eggert@twinsun.com>
57823
57824         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
57825         fails, so that the caller gets the proper errno.
57826
57827         * lib/readutmp.c (read_utmp): Likewise.
57828         Check for fstat error.  Close stream and free storage
57829         when failing.
57830
57831 2003-09-14  Karl Berry  <karl@gnu.org>
57832
57833         * config/srclist.txt (strdup.c): disable for c89 changes.
57834
57835 2003-09-14  Jim Meyering  <jim@meyering.net>
57836
57837         * lib/getloadavg.c: Correct cpp indentation.
57838         * lib/strdup.c: Likewise.
57839         * lib/vasnprintf.c: Likewise.
57840
57841 2003-09-14  Bruno Haible  <bruno@clisp.org>
57842
57843         * modules/fwriteerror: New file.
57844         * MODULES.html.sh (func_all_modules): Add fwriteerror.
57845
57846 2003-09-14  Bruno Haible  <bruno@clisp.org>
57847
57848         * lib/fwriteerror.h: New file.
57849         * lib/fwriteerror.c: New file.
57850
57851 2003-09-12  Paul Eggert  <eggert@twinsun.com>
57852
57853         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
57854         modules/xgethostname, modules/xalloc: Depend on exit.
57855
57856 2003-09-12  Paul Eggert  <eggert@twinsun.com>
57857
57858         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
57859
57860         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
57861         and AC_MINIX, too, so that their extensions are available.
57862
57863         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
57864         This macro has been superseded by gl_BACKUPFILE.
57865
57866         More patches to assume C89 or better.
57867
57868         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
57869
57870         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
57871         unconditionally.
57872         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
57873         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
57874         Include <string.h>, <stdlib.h> unconditionally.
57875         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
57876         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
57877         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
57878         headers or for string.h.
57879         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
57880         or strtoul.
57881
57882         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
57883         headers.
57884         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
57885         * m4/userspec.m4 (gl_USERSPEC): Likewise.
57886         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
57887         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
57888         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
57889         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
57890         memcpy, memset.
57891         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
57892         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
57893         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
57894         strtol.
57895         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
57896         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
57897         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
57898         strtoul.
57899
57900 2003-09-12  Paul Eggert  <eggert@twinsun.com>
57901
57902         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
57903         * lib/obstack.c [!defined _LIBC]: Likewise.
57904         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
57905         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
57906         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
57907
57908         More changes to assume C89 or better.
57909
57910         * lib/error.c (error_tail): Assume vprintf.
57911
57912         * lib/argmatch.c (getenv): Remove decl.
57913         * lib/progreloc.c (get_full_program_name): Define via prototype.
57914         * lib/setenv.c (clearenv): Likewise.
57915         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
57916         needed.
57917         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
57918         (malloc, memcpy): Remove decls.
57919         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
57920         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
57921         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
57922         (memcpy): Remove macro.
57923         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
57924         (__P): Remove.  All uses removed.
57925         (PTR): Remove.  All uses changed to void *.
57926         (CHAR_BIT, NULL): Remove.
57927         (spaces, zeros, memset_space, memset_zero)
57928         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
57929         Remove.
57930         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
57931         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
57932         Define with prototype.
57933         Remove now-unnecessary prototype decl.
57934         (extra_args_spec): Assume ANSI C.  All uses changed.
57935         (extra_args_spec_iso): Remove.
57936         (my_strftime, emacs_strftimeu): Define via prototype.
57937         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
57938         unconditionally.
57939         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
57940         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
57941         (strtoul, strtol): Remove decls.
57942         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
57943         LONG_MAX): Remove.
57944         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
57945         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
57946         (LOCALE_PARAM_PROTO): New macro.
57947         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
57948         (INTERNAL (strtol), strtol): Define with a prototype.
57949         (PARAMS): Remove.  All uses removed.
57950         * lib/tempname.c: Include <string.h> unconditionally.
57951         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
57952         * lib/xgethostname.c (main): Define with a prototype.
57953         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
57954         Include <stdlib.h> unconditionally.
57955         (calloc, malloc, realloc, free): Remove decls.
57956         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
57957         Include <stdlib.h> unconditionally.  Sort include file names.
57958         (strtod): Remove.
57959         (xstrtod): Define with a prototype.
57960         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
57961         (strtol, strtoul): Remove decls.
57962
57963 2003-09-11  Paul Eggert  <eggert@twinsun.com>
57964
57965         More patches to assume C89 or better.
57966         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
57967         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
57968         string.h, memchr, STDC_HEADERS.
57969
57970 2003-09-11  Paul Eggert  <eggert@twinsun.com>
57971
57972         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
57973         Include <stdlib.h>, <string.h> unconditionally.
57974         Remove now-unnecessary cast to char *.
57975         * lib/strnlen.c: Include <string.h> unconditionally.
57976         * lib/yesno.c (yesno): Define with a prototype.
57977
57978 2003-09-11  Bruno Haible  <bruno@clisp.org>
57979
57980         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
57981
57982 2003-09-10  Jim Meyering  <jim@meyering.net>
57983
57984         * lib/error.c: Correct indentation of cpp directives.
57985
57986 2003-09-10  Bruno Haible  <bruno@clisp.org>
57987
57988         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
57989         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
57990         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
57991         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
57992         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
57993         <stdlib.h> and <string.h> checks.
57994         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
57995         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
57996
57997 2003-09-10  Bruno Haible  <bruno@clisp.org>
57998
57999         * lib/strcspn.c: Include <string.h> unconditionally.
58000         * lib/strpbrk.c: Include <string.h> unconditionally.
58001         * lib/strstr.c: Include <string.h> unconditionally.
58002         * lib/unicodeio.c: Include <string.h> unconditionally.
58003         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
58004         * lib/unsetenv.c: Likewise.
58005         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
58006         * lib/yesno.c: Include <stdlib.h> unconditionally.
58007         (rpmatch): Add prototype.
58008
58009 2003-09-09  Paul Eggert  <eggert@twinsun.com>
58010
58011         More patches to assume C89 or better.
58012         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
58013         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
58014         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
58015         or for string.h.
58016         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
58017         stdlib.h.
58018         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
58019         C headers.
58020         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
58021         string.h.
58022         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
58023         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
58024         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
58025         or for string.h.
58026         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
58027         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
58028         C headers.
58029         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
58030         memcpy.
58031         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
58032         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
58033         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
58034         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
58035         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
58036         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
58037         string.h, free.
58038         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
58039         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
58040         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
58041         C headers, or for string.h.
58042         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
58043         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
58044         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
58045         headers, memory.h, stdlib.h, string.h, strings.h.
58046         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
58047         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
58048         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
58049         strchr.
58050         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
58051         headers, memory.h, string.h.
58052         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
58053         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
58054         free.
58055         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
58056         headers.
58057         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
58058         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
58059         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
58060         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
58061         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
58062
58063 2003-09-09  Paul Eggert  <eggert@twinsun.com>
58064
58065         More K&R removal.
58066
58067         * lib/acosl.c (main): Use a prototype.
58068         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
58069         tanl.c: Likewise.
58070
58071         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
58072
58073         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
58074         (getopt, etopt_long, getopt_long_only, _getopt_internal)
58075         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
58076         with a prototype.
58077         * lib/getopt.c (const): Remove macro.
58078         Include <string.h> unconditionally.
58079         (my_index): Remove; all uses changed to strchr.
58080         (strlen): Remove decl.
58081         (exchange): Remove forward decl; no longer needed.
58082         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
58083         Define with prototype.
58084         * lib/getopt1.c (const): Remove macro.
58085         (getopt_long, getopt_long_only, main): Define with prototype.
58086
58087         * lib/getugroups.c: Include <string.h> unconditionally.
58088
58089         * lib/getusershell.c: Include <stdlib.h> unconditionally.
58090         (getusershell, setusershell, endusershell, readname, main):
58091         Define with prototypes.
58092
58093         * lib/group-member.c: Include group-member.h first.
58094         Include <stdlib.h> unconditionally.
58095
58096         * lib/hard-locale.c: Include hard-locale.h first.
58097         Include <stdlib.h>, <string.h> unconditionally.
58098
58099         * lib/hash.c (free, malloc): Remove decls.
58100         Include <stdlib.h> unconditionally.
58101
58102         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
58103         (getenv): Do not declare.
58104
58105         * lib/idcache.c: Include <string.h> unconditionally.
58106
58107         * lib/long-options.c: Include long-options.h first, to test interface.
58108         Include <stdlib.h> unconditionally.
58109
58110         * lib/makepath.c: Include makepath.h first, to test interface.
58111         Include <stdlib.h> and <string.h> unconditionally.
58112
58113         * lib/linebuffer.c: Include <stdlib.h>.
58114         (free): Remove decl.
58115
58116         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
58117         stddef.h. rpl_malloc returns void *, not char *.
58118         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
58119         prototype.
58120
58121         * lib/md5.h: Include <limits.h> unconditionally.
58122         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
58123         (__P): Remove; all uses removed.
58124         * lib/md5.c: Include "md5.h" first.
58125         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
58126         md5_buffer, md5_process_bytes, md5_process_block):
58127         Define with prototypes.
58128         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
58129         * lib/sha.c: Include "sha.h" first.
58130         Include <stdlib.h>, <string.h> unconditionally.
58131
58132         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
58133         * lib/memcmp.c (__ptr_t): Likewise.
58134         * lib/memrchr.c (__ptr_t): Likewise.
58135         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
58136         Include <string.h> unconditionally.
58137         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
58138         * lib/memchr.c: Include <stdlib.h> unconditionally.
58139         * lib/memchr.c (LONG_MAX): Remove.
58140         * lib/memrchr.c (LONG_MAX): Likewise.
58141         * lib/memchr.c (__memchr): Define via a prototype.
58142         * lib/memrchr.c (__memrchr): Likewise.
58143         * lib/memcmp.c (__P): Remove, and remove all uses.
58144         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
58145         Remove forward decls; no longer needed.
58146         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
58147         Use types required by C89 in prototype.
58148
58149         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
58150         * lib/savedir.c: Likewise.
58151         * lib/mkdir.c (free): Remove decl.
58152         * lib/rmdir.c (rmdir): Define with a prototype.
58153         * lib/savedir.c: Include savedir.h first, to test interface.
58154
58155         * lib/mktime.c (STDC_HEADERS): Remove.
58156         Include <stdlib.h>, <string.h> unconditionally.
58157
58158         * lib/modechange.c: Include <stdlib.h> unconditionally.
58159         (malloc): Remove decl.
58160
58161         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
58162         (free): Remove decl.
58163
58164         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
58165         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
58166         (This type really should be intptr_t, but that's a C99ism.)
58167         (_obstack_memcpy): Remove: all uses changed to memcpy.
58168         Include <string.h> unconditionally.
58169         (struct obstack): Assume __STDC__ for types of members
58170         chunkfun, freefun, extra_arg.
58171         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
58172         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
58173         obstack_begin, obstack_specify_allocation,
58174         obstack_specify_allocation_with_arg, obstack_chunkfun,
58175         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
58176         Remove unprototyped decls and the macros that use them.
58177         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
58178         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
58179         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
58180         (defined __STDC__ && __STDC__)]:
58181         Remove nonprototyped code.
58182         Include <stdlib.h> unconditionally.
58183         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
58184         _obstack_allocated_p, _obstack_free, obstack_free,
58185         _obstack_memory_used, print_and_abort):
58186         Define using prototypes.
58187         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
58188         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
58189         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
58190         obstack_next_free, obstack_object_size, obstack_room) [0]:
58191         Remove unused, unprototyped code.
58192
58193         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
58194
58195         * lib/physmem.c (physmem_total, physmem_available, main): Define
58196         with prototypes.
58197
58198         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
58199         (main): Define with a prototype.
58200
58201         * lib/posixver.c (getenv): Remove decl.
58202
58203         * lib/putenv.c (malloc): Returns void *, not char *.
58204         Include <string.h> unconditionally.
58205         (strchr, memcpy, NULL): Do not define.
58206
58207         * lib/readtokens.c: Include readtokens.h first, to test interface.
58208         Include <stdlib.h>, <string.h> unconditionally.
58209         (init_tokenbuffer): Define with a prototype.
58210
58211         * lib/regex.c (PARAMS): Remove.  All uses removed.
58212         All uses of _RE_ARGS removed, too.
58213         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
58214         unconditionally.
58215         (bzero): Assume memset exists.
58216         (memcmp, memcpy, NULL): Remove.
58217         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
58218         char, or assignments to local vars of type signed char.
58219         (init_syntax_once, PREFIX(extract_number_and_incr),
58220         PREFIX(print_partial_compiled_pattern),
58221         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
58222         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
58223         PREFIX(regex_grow_registers), PREFIX(regex_compile),
58224         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
58225         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
58226         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
58227         wcs_compile_range, byte_compile_range, truncate_wchar,
58228         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
58229         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
58230         count_mbs_length, wcs_re_match_2_internal,
58231         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
58232         PREFIX(alt_match_null_string_p),
58233         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
58234         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
58235         regfree, PREFIX(extract_number)): Define with prototype.  Remove
58236         now-unnecessary declaration, if any.
58237         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
58238         regcomp, regexec):
58239         Remove now-unnecessary casts among pointer types.
58240         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
58241
58242         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
58243         (free): Remove decl.
58244
58245         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
58246
58247         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
58248         (free): Remove decl.
58249
58250         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
58251         * lib/xgetcwd.c: Likewise.
58252
58253         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
58254         (free): Remove decl.
58255
58256         * lib/strchrnul.c (strchrnul): Define with a prototype.
58257         Fix bug: c_in was not converted to char before searching.
58258
58259         The following changes are not K&R related:
58260
58261         * lib/group-member.h: Include <sys/types.h>, so that this file is
58262         self-contained.
58263         * lib/makepath.h: Likewise.
58264
58265         * lib/getusershell.c (readname, default_index, line_size, readname):
58266         Use size_t, not int, for sizes.
58267         (readname): If the size overflows, report an error instead of
58268         looping forever.
58269
58270 2003-09-09  Paul Eggert  <eggert@twinsun.com>
58271
58272         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
58273         libc.
58274
58275 2003-09-09  Paul Eggert  <eggert@twinsun.com>
58276
58277         * README: New section: portability guidelines.
58278
58279 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
58280
58281         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
58282         C89 spec.
58283
58284 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
58285
58286         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
58287
58288 2003-09-08  Paul Eggert  <eggert@twinsun.com>
58289
58290         Assume C89 or better; remove K&R cruft.
58291         A few of these changes were first proposed by Derek Robert Price
58292         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
58293
58294         * lib/addext.c: Include <string.h> unconditionally.
58295         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
58296         Don't declare getenv or malloc.
58297
58298         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
58299         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
58300         (NULL): Remove.
58301         (find_stack_direction, alloca): Use prototypes.
58302
58303         * lib/atexit.c (atexit): Define using a prototype.
58304
58305         * lib/basename.c, dirname.c, stripslash.c:
58306         Include <string.h> unconditionally.
58307
58308         * lib/bcopy.c: Include <stddef.h>.
58309         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
58310
58311         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
58312
58313         * lib/error.h (error, error_at_line, error_print_progname)
58314         [! (defined (__STDC__) && __STDC__)]: Remove decls.
58315         * lib/error.c: Include error.h first, to check interface.
58316         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
58317         (VA_START): Remove; all uses changeed to va_start.
58318         (exit, strerror): Remove decls.
58319         (error_print_progname): Prototype uncondionally.
58320         Don't include <errno.h>; no longer needed.
58321         (private_strerror): Remove.
58322         (error_tail): Always define.
58323         (error, error_at_line): Assume C89 or better; always use prototypes.
58324         * lib/fatal.c: Include "fatal.h" first, to test interface.
58325         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
58326         (VA_START): Remove; all uses changed to va_start.
58327         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
58328         this case.
58329         (exit): Remove decl.
58330         (fatal): Prototype unconditionally.  Assume va_start works.
58331         Abort at end, to pacify gcc.
58332
58333         * lib/euidaccess.c (main): Define with a prototype.
58334
58335         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
58336
58337         * lib/exitfail.c: Include <stdlib.h> unconditionally.
58338
58339         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
58340         prototypes.
58341         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
58342         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
58343         (getenv): Remove decl.
58344         (fnmatch): Define using a prototype.
58345         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
58346         (FCT): Define using a prototype.
58347
58348         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
58349
58350         * lib/gethostname.c: Include <stddef.h>.
58351         (gethostname): Define with prototype.  Length is size_t, not int.
58352
58353 2003-09-08  Paul Eggert  <eggert@twinsun.com>
58354
58355         Assume C89 or better; remove K&R cruft.
58356         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
58357         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
58358         string.h, getenv, malloc.
58359         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
58360         headers.
58361         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
58362         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
58363         do not check for strerror.
58364         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
58365         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
58366         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
58367         do not check for doprnt or vprintf.
58368         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
58369         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
58370
58371 2003-09-08  Paul Eggert  <eggert@twinsun.com>
58372
58373         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
58374         getversion.c should have been removed then, but was accidentally
58375         preserved.
58376
58377         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
58378         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
58379
58380 2003-09-08  Karl Berry  <karl@gnu.org>
58381
58382         * config/config.sub, config.guess, srclistvars.sh: update from savannah
58383                 config, forget about prep.
58384
58385         * config/depcomp, missing: update from automake.
58386
58387 2003-09-07  Paul Eggert  <eggert@twinsun.com>
58388
58389         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
58390         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
58391
58392 2003-09-07  Paul Eggert  <eggert@twinsun.com>
58393
58394         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
58395         copy_tm_result.  Bug reported by Simon Josefsson in
58396         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
58397
58398 2003-09-06  Paul Eggert  <eggert@twinsun.com>
58399
58400         * m4/time_r.m4: New file.
58401         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
58402         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
58403         is. Check for timegm declaration.
58404         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
58405         Do not check for gmtime_r.
58406         Replace mktime if __mktime_internal does not exist and if mktime
58407         hasn't been replaced already.
58408
58409 2003-09-06  Paul Eggert  <eggert@twinsun.com>
58410
58411         * lib/time_r.c, lib/time_r.h: New files.
58412
58413         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
58414         __localtime_r.
58415         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
58416         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
58417
58418         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
58419         __gmtime_r.
58420         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
58421         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
58422         Include <time_r.h>.
58423
58424         * lib/timegm.c: Switch to glibc implementation, with the following
58425         changes:
58426         [defined HAVE_CONFIG_H]: Include <config.h>.
58427         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
58428         (__mktime_internal) [!defined _LIBC]: New decl.
58429         (__gmtime_r) [!defined _LIBC]: New macro and function.
58430         (timegm): Use a prototype, since gnulib assumes C89.
58431         Do not bother declaring tmp to be const, as it's not really usefu.
58432         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
58433         (timegm): Declare only if HAVE_DECL_TIMEGM.
58434
58435 2003-09-06  Paul Eggert  <eggert@twinsun.com>
58436
58437         * MODULES.html.sh (func_all_modules): Add time_r.
58438         * modules/time_r: New file.
58439         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
58440         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
58441
58442 2003-09-03  Paul Eggert  <eggert@twinsun.com>
58443
58444         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
58445         Bug reported by Lute Kamstra in
58446         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
58447
58448         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
58449         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
58450         course with correspondingly smaller numbers for tomorrow and
58451         yesterday.  From Tadayoshi Funaba.  Originally installed into
58452         sh-utils on 1999-08-07, but the patch got lost (I guess during the
58453         coreutils merge?).
58454
58455 2003-08-31  Simon Josefsson  <jas@extundo.com>
58456
58457         * modules/timegm: New file.
58458         * MODULES.html.sh (func_all_modules): Add timegm.
58459
58460 2003-08-31  Simon Josefsson  <jas@extundo.com>
58461
58462         * m4/timegm.m4: New file.
58463
58464 2003-08-31  Simon Josefsson  <jas@extundo.com>
58465
58466         * lib/timegm.h: New file.
58467         * lib/timegm.c: New file.  Based on
58468         wget-1.8.2/src/http.c:mktime_from_utc.
58469
58470 2003-08-31  Karl Berry  <karl@gnu.org>
58471
58472         * lib/argp.h: update from libc.
58473
58474 2003-08-28  Bruno Haible  <bruno@clisp.org>
58475
58476         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
58477         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
58478         followed by '#define fnmatch fnmatch_posix' gives an error.
58479
58480 2003-08-28  Bruno Haible  <bruno@clisp.org>
58481
58482         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
58483         warning on QNX, which defines O_BINARY to 000000.
58484
58485 2003-08-27  Jim Meyering  <jim@meyering.net>
58486
58487         * m4/mkstemp.m4: Require that the system mkstemp be able to create
58488         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
58489         would fail after 32.  Reported by Danny Levinson.  Details here:
58490         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
58491
58492 2003-08-24  Bruno Haible  <bruno@clisp.org>
58493
58494         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
58495         MSVC7 <stdio.h> is included later.
58496
58497 2003-08-22  Simon Josefsson  <jas@extundo.com>
58498
58499         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
58500
58501 2003-08-20  Karl Berry  <karl@gnu.org>
58502
58503         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
58504
58505 2003-08-20  Bruno Haible  <bruno@clisp.org>
58506
58507         * modules/progname: New file.
58508         * MODULES.html.sh (func_all_modules): Add progname.
58509
58510 2003-08-20  Bruno Haible  <bruno@clisp.org>
58511
58512         * lib/progname.h: New file, from GNU gettext.
58513         * lib/progname.c: New file, from GNU gettext.
58514         * lib/progreloc.c: New file, from GNU gettext.
58515
58516 2003-08-19  Jim Meyering  <jim@meyering.net>
58517
58518         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
58519         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
58520
58521 2003-08-19  Bruno Haible  <bruno@clisp.org>
58522
58523         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
58524         more.
58525
58526 2003-08-19  Bruno Haible  <bruno@clisp.org>
58527
58528         * lib/xstrdup.c: Assume <string.h> exists.
58529
58530 2003-08-18  Paul Eggert  <eggert@twinsun.com>
58531
58532         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
58533         in makefile rules.
58534
58535 2003-08-18  Jim Meyering  <jim@meyering.net>
58536
58537         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
58538         * m4/lib-ld.m4: Likewise.
58539
58540 2003-08-18  Jim Meyering  <jim@meyering.net>
58541
58542         * lib/setenv.h: Indent nested cpp directive.
58543         * lib/vasnprintf.c: Remove trailing blanks.
58544
58545 2003-08-17  Simon Josefsson  <jas@extundo.com>
58546
58547         * modules/xstrndup: New file.
58548         * MODULES.html.sh (func_all_modules): Add xstrndup.
58549
58550 2003-08-17  Simon Josefsson  <jas@extundo.com>
58551
58552         * modules/argp: Fix autoconf macro name. Add more dependencies.
58553
58554 2003-08-17  Simon Josefsson  <jas@extundo.com>
58555
58556         * m4/xstrndup.m4: New file.
58557
58558 2003-08-17  Simon Josefsson  <jas@extundo.com>
58559
58560         * m4/argp.m4: New file.
58561
58562 2003-08-17  Simon Josefsson  <jas@extundo.com>
58563             Bruno Haible  <bruno@clisp.org>
58564
58565         * lib/xstrndup.h: New file.
58566         * lib/xstrndup.c: New file.
58567
58568 2003-08-17  Bruno Haible  <bruno@clisp.org>
58569
58570         * modules/strndup (Files, Include): Add lib/strndup.h.
58571
58572 2003-08-17  Bruno Haible  <bruno@clisp.org>
58573
58574         * modules/euidaccess (Files): Add lib/euidaccess.h.
58575
58576 2003-08-17  Bruno Haible  <bruno@clisp.org>
58577
58578         * lib/strndup.h: New file.
58579
58580 2003-08-17  Bruno Haible  <bruno@clisp.org>
58581
58582         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
58583         like AC_GNU_SOURCE.
58584         * modules/extensions (configure.ac): Comment out the invocation of
58585         gl_USE_SYSTEM_EXTENSIONS.
58586
58587 2003-08-16  Paul Eggert  <eggert@twinsun.com>
58588
58589         Merges from coreutils, etc.
58590         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
58591         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
58592         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
58593         fixing a typo.
58594         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
58595         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
58596
58597 2003-08-16  Paul Eggert  <eggert@twinsun.com>
58598
58599         Document merge from coreutils.
58600         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
58601         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
58602         * modules/utime: Add m4/utimes-null.m4.
58603
58604 2003-08-16  Paul Eggert  <eggert@twinsun.com>
58605
58606         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
58607         space, undoing this 2003-08-12 change:
58608         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
58609
58610 2003-08-16  Paul Eggert  <eggert@twinsun.com>
58611
58612         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
58613         strtoul.c from libc, undoing this 2003-08-12 change:
58614         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
58615
58616 2003-08-16  Jim Meyering  <jim@meyering.net>
58617
58618         Merges from coreutils.
58619         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
58620         prefix.  Adjust cache variables similarly.  Create 500 rather than
58621         just 300 files, to exercise bug on Darwin6.5, too.
58622         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
58623         $missing_dir.
58624         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
58625         AM_SYS_POSIX_TERMIOS.
58626         Reported by mkc@mathdogs.com.
58627         Also change use of $am_cv_sys_posix_termios
58628         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
58629         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
58630         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
58631         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
58632         in /proc/mounts until it finds one with matching device number.  This
58633         is unnecessary when the FILE argument *is* a mount point.  No stat call
58634         is necessary in that case.  So, disable the statvfs-testing code on
58635         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
58636         as RedHat bug# 84846.
58637         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
58638         to 1MB, so as not to render systems with no stack size limit (e.g.,
58639         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
58640         Include <unistd.h>.  On some systems,
58641         it is required for the definition of _SC_PAGESIZE.
58642
58643 2003-08-16  Jim Meyering  <jim@meyering.net>
58644
58645         Merge from coreutils.
58646         * lib/xstrtoimax.c: #else #if -> #elif.
58647         * lib/xstrtoumax.c: Likewise.
58648
58649 2003-08-16  Jim Meyering  <jim@meyering.net>
58650
58651         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
58652         * m4/utimes.m4: Removed.
58653         * m4/utimes-null.m4: Renamed from utimes.m4.
58654
58655         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
58656         to 1MB, so as not to render systems with no stack size limit (e.g.,
58657         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
58658         Include <unistd.h>.  On some systems,
58659         it is required for the definition of _SC_PAGESIZE.
58660
58661 2003-08-16  Jim Meyering  <jim@meyering.net>
58662         and Paul Eggert  <eggert@cs.ucla.edu>
58663
58664         Merges from coreutils, etc.
58665
58666         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
58667         using the latest version from cvs.  This avoids problems with #line
58668         directives using a vendor (Sun) compiler.
58669         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
58670         Don't set GETGROUPS_LIB here; now it's
58671         done via getgroups.m4's wrapper function.
58672         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
58673         rather than just in sh-util/configure.in, so that the
58674         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
58675         same.
58676         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
58677         AC_FUNC_GETLOADAVG where to find getloadavg.c.
58678         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
58679         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
58680         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
58681         Remove code that is now done by the newly-required macros.
58682         Append $(EXEEXT) to DF_PROG.
58683         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
58684         Do not invoke or require the following here,
58685         since prereq.m4 or some gnulib .m4 now does this for us:
58686         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
58687         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
58688         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
58689         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
58690         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
58691         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
58692         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
58693         AC_FUNC_OBSTACK.
58694         Do not replace the following functions, as this is now the job
58695         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
58696         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
58697         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
58698         atexit getpass, strdup, getpagesize.
58699         Replace 'raise'.
58700         Do not check for the following functions, as this is now the job
58701         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
58702         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
58703         setregid.
58704         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
58705         Check for sys/sysctl.h.
58706         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
58707         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
58708         of checking for ssize_t ourselves.
58709
58710         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
58711         Require every macro that gnulib/modules/* suggests for us.
58712         (jm_PREREQ_ADDEXT): New macro.
58713         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
58714         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
58715
58716         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
58717         (gl_PHYSMEM): Use it.
58718         Also check for `table' function.
58719         Check for new headers and functions.
58720         Add check for sys/sysmp.h.
58721         With suggestions from Kaveh Ghazi.
58722         Ignore headers that are present but cannot be compiled.  This
58723         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
58724         C 5.4.
58725
58726 2003-08-15  Paul Eggert  <eggert@twinsun.com>
58727
58728         Document merge from coreutils.
58729         * modules/userspec: Depend on posixver.
58730         * modules/strftime: Depend on tzset.
58731
58732 2003-08-15  Paul Eggert  <eggert@twinsun.com>
58733
58734         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
58735         rather than tab, after '#' in shell-script copyright notices.
58736         Suggested by Bruno Haible.
58737
58738 2003-08-15  Paul Eggert  <eggert@twinsun.com>
58739
58740         * config/srclist-update: Use three spaces, rather than tab, after '#'
58741         in shell-script copyright notices.  Suggested by Bruno Haible.
58742         Remove unnecessary parenthesization in regular expression.
58743
58744 2003-08-15  Jim Meyering  <jim@meyering.net>
58745
58746         Merge from coreutils.
58747         * lib/xgethostname.c: Include <stdlib.h>.
58748         (xghostname): Don't exit for anything other than memory-related
58749         failure; just return NULL.
58750         * lib/userspec.c: Include "posixver.h".
58751         (parse_user_spec): Accept `.' as a separator only
58752         in pre-POSIX-200112 mode.
58753         * lib/strtoimax.c: Use #elif rather than #else #if.
58754         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
58755         Remove function, now that we can rely on a working tzset function.
58756         [!_LIBC]: Ensure that the required autoconf test has been run.
58757         [!defined _NL_CURRENT && HAVE_STRFTIME]:
58758         Use underlying_strftime for %r.
58759         * lib/sha.c: Merge in some clean-up and optimization changes from
58760         glibc.
58761         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
58762         Ensure that it is a multiple of 64.
58763         Rearrange loop exit tests so as to avoid performing an
58764         additional fread after encountering an error or EOF.
58765         * lib/realloc.c: Update copyright date.
58766
58767 2003-08-15  Jim Meyering  <jim@meyering.net>
58768         and Paul Eggert  <eggert@twinsun.com>
58769
58770         Merge from coreutils.
58771         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
58772         member but strut utmpx does not.  Needed for AIX 4.3.3.
58773         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
58774
58775 2003-08-15  Jim Meyering  <jim@meyering.net>
58776         and Paul Eggert  <eggert@cs.ucla.edu>
58777
58778         Merges from coreutils, etc.
58779         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
58780         Require gl_FUNC_TZSET_CLOBBER.
58781         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
58782         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
58783         members.
58784
58785 2003-08-14  Paul Eggert  <eggert@twinsun.com>
58786
58787         Help the merge from coreutils.
58788         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
58789         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
58790         * m4/tzset.m4: Use it too.
58791
58792 2003-08-14  Paul Eggert  <eggert@twinsun.com>
58793
58794         * modules/tzset: New file.
58795
58796 2003-08-14  Jim Meyering  <jim@meyering.net>
58797
58798         Merges from coreutils.
58799         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
58800         variable names, rather than @FNMATCH_H@.
58801         * modules/alloca: Likewise for $(ALLOCA_H).
58802
58803         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
58804         the three copies of the literal target, `fnmatch.h'.
58805         * modules/alloca (alloca.h): Likewise.
58806
58807 2003-08-14  Jim Meyering  <jim@meyering.net>
58808
58809         Merge from coreutils.
58810         * m4/tzset.m4: New file.
58811         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
58812         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
58813         otherwise, AIX 5.1 systems would end up using the latter.
58814         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
58815         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
58816         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
58817         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
58818
58819 2003-08-14  Jim Meyering  <jim@meyering.net>
58820
58821         Merge from coreutils.
58822         * lib/obstack.h: Whitespace changes.
58823         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
58824         and xcalloc return values.
58825         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
58826         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
58827         hang on OSF/1 5.1 for DIR on both local and remote file systems.
58828         Reported by (and fix confirmed by) Nelson H. F. Beebe.
58829         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
58830         error from mntctl.
58831         Use mntctl's return value to drive the entry-processing loop, since
58832         we can't rely on the value of the vmt_length member in the last
58833         entry.  On some systems doing so could result in exhausting
58834         virtual memory.  Based in part on a patch from Mike Jetzer.
58835
58836 2003-08-14  Jim Meyering  <jim@meyering.net>
58837         and Paul Eggert  <eggert@twinsun.com>
58838
58839         Merges from coreutils, plus other fixes.
58840         * lib/physmem.c: Merge in portability changes from gcc/libiberty
58841         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
58842         for credits and details.  Thanks to Kaveh Ghazi for helping
58843         to keep these files in sync.
58844         (ARRAY_SIZE): Define it.
58845         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
58846         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
58847         (memcasecmp): Don't assume size_t fits in unsigned int.
58848         Remove casts and duplicate code.
58849         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
58850         (memcpy): Remove definition.
58851         Merge in some clean-up and optimization changes from glibc.
58852         [BLOCKSIZE]: Move definition to top of file.
58853         Ensure that it is a multiple of 64.
58854         Rearrange loop exit tests so as to avoid performing an
58855         additional fread after encountering an error or EOF.
58856         * lib/md5.h (md5_uintptr): Define.
58857         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
58858         return to the initial working directory.  Preserve errno
58859         for caller.
58860         * lib/idcache.c: Include "xalloc.h".
58861         (xmalloc, xrealloc): Remove decls.
58862         (getuser): Remove casts no longer required in C89.
58863         * lib/human.c: Include stdio.h, for sprintf.
58864         * lib/group-member.c: Include "xalloc.h".
58865         (xmalloc, xrealloc): Remove decls.
58866         (get_group_info): Remove casts no longer required in C89.
58867         * lib/getusershell.c (readname): Remove casts no longer required in
58868         C89.
58869         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
58870         * lib/getline.c: Whitespace fix, from coreutils.
58871
58872 2003-08-13  Paul Eggert  <eggert@twinsun.com>
58873
58874         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
58875         Check for isascii.
58876
58877         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
58878         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
58879         Undo previous (whitespace-only) change.
58880
58881 2003-08-13  Paul Eggert  <eggert@twinsun.com>
58882
58883         * lib/exclude.c: Include <ctype.h>
58884         (IN_CTYPE_DOMAIN): New macro.
58885         (is_space): New fn.
58886         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
58887         and empty lines.
58888
58889         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
58890         Undo previous (whitespace-only) change.
58891
58892 2003-08-13  Paul Eggert  <eggert@twinsun.com>
58893
58894         * config/srclist-update: Change update back to the old behavior,
58895         leaving whitespace alone.  Use one 'sed' command rather than a
58896         pipeline.
58897         (fixlicense): Now a variable, not a function.
58898         (remove_trailing_blanks): Remove.
58899         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
58900         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
58901         Undo previous (whitespace-only) change.
58902
58903 2003-08-12  Paul Eggert  <eggert@twinsun.com>
58904
58905         Merge from coreutils.
58906         * modules/euidaccess: Add lib_SOURCES, include for new
58907         file euidaccess.h
58908
58909 2003-08-12  Paul Eggert  <eggert@twinsun.com>
58910
58911         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
58912         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
58913         Normalize leading white space and remove trailing white space.
58914
58915         Merge from coreutils
58916         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
58917
58918         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
58919         0.12.1.  These files are now being upgraded automatically by
58920         ../config/srclist-update.
58921
58922 2003-08-12  Paul Eggert  <eggert@twinsun.com>
58923
58924         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
58925         Normalize leading white space and remove trailing white space.
58926         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
58927         notice, as per ../config/srclist-update.
58928
58929         Merge from coreutils.
58930         * lib/euidaccess.h: New file.
58931         * lib/euidaccess.c: Include it.
58932         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
58933         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
58934         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
58935
58936 2003-08-12  Paul Eggert  <eggert@twinsun.com>
58937
58938         * config/srclist-update: Add copyright notice.
58939         (remove_id_lines, remove_trailing_blanks): New constants.
58940         (fixfile): Use them to normalize spacing a bit in copied files.
58941         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
58942         Normalize leading white space and remove trailing white space.
58943
58944         * config/texinfo.tex: Sync with texinfo.
58945
58946         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
58947         strtoul.c from libc, to merge coreutils whitespace changes.
58948
58949         * config/srclist.txt: Get the following m4 files from gettext:
58950         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
58951         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
58952         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
58953         wint_t.m4.
58954
58955 2003-08-12  Karl Berry  <karl@gnu.org>
58956
58957         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
58958         been made.
58959
58960 2003-08-11  Paul Eggert  <eggert@twinsun.com>
58961
58962         * modules/gnu-source, m4/gnu-source.m4:
58963         Remove; we're assuming Autoconf 2.54 or later now.
58964         Suggested by Bruno Haible.
58965         * MODULES.html.sh (func_all_modules): Remove gnu-source.
58966
58967 2003-08-11  Bruno Haible  <bruno@clisp.org>
58968
58969         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
58970
58971 2003-08-11  Bruno Haible  <bruno@clisp.org>
58972
58973         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
58974         (vasnprintf): Use it instead of wcslen.
58975
58976 2003-08-11  Bruno Haible  <bruno@clisp.org>
58977
58978         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
58979         value to ensure that _Bool promotes to int. Use #define for _Bool when
58980         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
58981
58982 2003-08-10  Karl Berry  <karl@gnu.org>
58983
58984         * lib/regex.h: update from libc (whitespace fix).
58985
58986 2003-08-09  Paul Eggert  <eggert@twinsun.com>
58987
58988         Merge some files from coreutils.  These changes were
58989         originally made by Jim Meyering.
58990         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
58991         many older Unixes require this.
58992         * lib/alloca.c (alloca): Remove cast to argument of free;
58993         no longer needed in C89.
58994         * lib/alloca_.h, regex.h: Fix white space to match
58995         what GNU indent does.
58996
58997 2003-08-09  Paul Eggert  <eggert@twinsun.com>
58998
58999         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
59000         apparently Emacs's Unicode mode got confused before my 2003-08-05
59001         checkin.
59002
59003 2003-08-08  Paul Eggert  <eggert@twinsun.com>
59004
59005         * m4/extensions.m4: New file.
59006         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
59007         Require gl_USE_SYSTEM_EXTENSIONS.
59008         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
59009         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
59010
59011 2003-08-08  Paul Eggert  <eggert@twinsun.com>
59012
59013         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
59014         * modules/extensions, modules/gnu-source: New files.
59015         * modules/timespec, modules/unlocked-io: Depend on extensions.
59016
59017 2003-08-07  Paul Eggert  <eggert@twinsun.com>
59018
59019         * modules/restrict: New file.
59020         * MODULES.html.sh (func_all_modules): Add restrict.
59021         * modules/regex: Depend on restrict.
59022
59023 2003-08-07  Paul Eggert  <eggert@twinsun.com>
59024
59025         * m4/restrict.m4: New file.
59026         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
59027
59028 2003-08-07  Bruno Haible  <bruno@clisp.org>
59029
59030         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
59031         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
59032
59033 2003-08-07  Bruno Haible  <bruno@clisp.org>
59034
59035         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
59036         makes the module 'getndelim2' compatible with the module 'getline'.
59037
59038 2003-08-05  Paul Eggert  <eggert@twinsun.com>
59039
59040         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
59041         byte with "\201" to avoid glitches when editing that source file
59042         with multi-gnome-terminal.
59043
59044 2003-08-05  Paul Eggert  <eggert@twinsun.com>
59045
59046         * lib/bumpalloc.h: Remove.
59047
59048 2003-08-05  Paul Eggert  <eggert@twinsun.com>
59049
59050         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
59051         * modules/bumpalloc: Remove.
59052
59053 2003-08-04  Paul Eggert  <eggert@twinsun.com>
59054
59055         * lib/getloadavg.c: Change copyright notice and spacing to conform to
59056         GNU coding style.
59057
59058         Merge from coreutils.
59059         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
59060         1. From glibc.
59061         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
59062         from Karl Berry, implemented by Jim Meyering.
59063         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
59064         from Dmitry V. Levin.
59065         Remove anachronistic cast of xrealloc.
59066         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
59067         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
59068         type. Otherwise, it wouldn't compile with at least /bin/cc on
59069         ymp-cray-unicos9.0.2.X.
59070         Combine two mostly-identical uses of alloca into one.
59071         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
59072
59073 2003-08-04  Dave Love  <d.love@dl.ac.uk>
59074
59075         [From Emacs.]
59076
59077         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
59078         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
59079         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
59080         obsolete NLIST_NAME_UNION.
59081         [__GNU__]: Undef BSD and FSCALE.
59082         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
59083
59084 2003-08-03  Paul Eggert  <eggert@twinsun.com>
59085
59086         * lib/stdbool_.h (_Bool): Make it signed char, instead of
59087         an enum type, so that it's guaranteed to promote to int.  See:
59088         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
59089
59090 2003-08-03  Karl Berry  <karl@gnu.org>
59091
59092         * config/depcomp: update from automake.
59093
59094 2003-07-31  Paul Eggert  <eggert@twinsun.com>
59095
59096         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
59097         (strerror): Don't assume that a printable int fits in 14 bytes.
59098
59099 2003-07-31  Bruno Haible  <bruno@clisp.org>
59100
59101         * modules/getpass-gnu: New file.
59102         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
59103
59104 2003-07-31  Bruno Haible  <bruno@clisp.org>
59105
59106         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
59107
59108 2003-07-24  Karl Berry  <karl@gnu.org>
59109
59110         * config/missing: update from automake.
59111
59112 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
59113             Bruno Haible  <bruno@clisp.org>
59114
59115         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
59116         * lib/getline.c (getline, getdelim): Likewise.
59117         Remove _GNU_SOURCE define; now it's defined in config.h through
59118         m4/getline.m4.
59119
59120 2003-07-23  Karl Berry  <karl@gnu.org>
59121
59122         * config/config.sub: update from prep.
59123
59124 2003-07-22  Paul Eggert  <eggert@twinsun.com>
59125
59126         * modules/xalloc (Depends-on): Add exitfail.
59127         * modules/xmemcoll: Likewise.
59128
59129 2003-07-22  Paul Eggert  <eggert@twinsun.com>
59130
59131         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
59132         over-parenthesization in macros.
59133
59134         Sync with coreutils.
59135
59136         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
59137         required by C99.
59138
59139         Use `exit_failure' for xalloc and xmemcoll instead of their own
59140         private exit-failure variables.
59141         * lib/xalloc.h (xalloc_exit_failure): Remove.
59142         * lib/xmalloc.c: Likewise.  Include exitfail.h.
59143         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
59144         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
59145         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
59146         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
59147
59148 2003-07-20  Jim Meyering  <jim@meyering.net>
59149
59150         * modules/closeout (Depends-on): Add exitfail.
59151         Suggestion from Bruno Haible.
59152
59153 2003-07-19  Karl Berry  <karl@gnu.org>
59154
59155         * config/config.sub: update from prep.
59156
59157 2003-07-18  Paul Eggert  <eggert@twinsun.com>
59158
59159         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
59160         Remove.
59161         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
59162         to test that it can stand by itself.  Include "exitfail.h".
59163         Clients should set exit_failure instead.
59164         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
59165
59166 2003-07-18  Bruno Haible  <bruno@clisp.org>
59167
59168         * modules/getndelim2: New file.
59169         * modules/getline: Share files with module getndelim2.
59170         * modules/getnline: Depend on getndelim2 instead of sharing files with
59171         it. Add getnline.c to lib_SOURCES.
59172         * MODULES.html.sh (func_all_modules): Add getndelim2.
59173
59174 2003-07-18  Bruno Haible  <bruno@clisp.org>
59175
59176         * m4/getndelim2.m4: New file.
59177         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
59178         invoke gl_PREREQ_GETNDELIM2.
59179         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
59180         gl_PREREQ_GETNDELIM2.
59181         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
59182         gl_GETNDELIM2.
59183
59184 2003-07-18  Bruno Haible  <bruno@clisp.org>
59185
59186         * lib/getndelim2.h: New file.
59187         * lib/getndelim2.c: Make into a module of its own. Include config.h,
59188         getndelim2.h.
59189         (getndelim2): Make non-static. Change return type to ssize_t.
59190         * lib/getline.h: Change argument names.
59191         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
59192         * lib/getnline.c: Include getndelim2.h.
59193
59194 2003-07-18  Andreas Schwab  <schwab@suse.de>
59195
59196         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
59197
59198 2003-07-17  Karl Berry  <karl@gnu.org>
59199
59200         * config/config.sub: update from prep.
59201
59202 2003-07-17  Bruno Haible  <bruno@clisp.org>
59203
59204         * modules/getnline: New file.
59205         * modules/getline: Add lib/getndelim2.c to source file list.
59206         * MODULES.html.sh (func_all_modules): Add getnline.
59207
59208 2003-07-17  Bruno Haible  <bruno@clisp.org>
59209
59210         * m4/getnline.m4: New file.
59211
59212 2003-07-17  Bruno Haible  <bruno@clisp.org>
59213
59214         * m4/Makefile.am.in: Remove file.
59215         * m4/Makefile.am: Remove file.
59216         * m4/Makefile.in: Remove file.
59217
59218 2003-07-17  Bruno Haible  <bruno@clisp.org>
59219
59220         * lib/getnline.h: New file.
59221         * lib/getnline.c: New file.
59222         * lib/getndelim2.c: New file, extracted from getline.c.
59223         (getndelim2): Renamed from getdelim2, with added nmax argument.
59224         * lib/getline.c: Include getndelim2.c.
59225         (getdelim2): Moved out to getndelim2.c.
59226         (getline, getdelim): Update.
59227
59228 2003-07-17  Bruno Haible  <bruno@clisp.org>
59229
59230         * lib/Makefile.am: Remove file.
59231         * lib/Makefile.in: Remove file.
59232
59233 2003-07-17  Bruno Haible  <bruno@clisp.org>
59234
59235         * configure.in: Remove file.
59236         * Makefile.in: Remove file.
59237
59238 2003-07-17  Bruno Haible  <bruno@clisp.org>
59239
59240         * MODULES.html.sh: Put the </BODY> right before </HTML>.
59241
59242 2003-07-16  Karl Berry  <karl@gnu.org>
59243
59244         * config/srclist-update: was running fixlicense twice, which caused
59245                 texinfo.tex to be nullified for some reason.  Simplify,
59246                 $gplsrc is no longer needed as far as I can see?
59247
59248 2003-07-16  Jim Meyering  <jim@meyering.net>
59249
59250         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
59251
59252 2003-07-15  Paul Eggert  <eggert@twinsun.com>
59253
59254         * config/srclist.txt: Get the following files from gettext-runtime/intl
59255         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
59256         ref-del.sin.  From Bruno Haible.
59257         * config/srclist-update (fixfile): Change grep pattern again, since the
59258         previous fix didn't work (there was another trailing $).  Use
59259         '[$]' to escape the $s.
59260
59261 2003-07-15  Karl Berry  <karl@gnu.org>
59262
59263         * lib/vasnprintf.c: update from gettext.
59264
59265 2003-07-15  Karl Berry  <karl@gnu.org>
59266
59267         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
59268         gets expanded when surrounded by '$'.
59269
59270 2003-07-15  Jim Meyering  <jim@meyering.net>
59271
59272         * modules/save-cwd: Don't depend on error.  From Derek Price.
59273
59274 2003-07-15  Jim Meyering  <jim@meyering.net>
59275
59276         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
59277
59278 2003-07-14  Simon Josefsson  <jas@extundo.com>
59279
59280         * modules/mempcpy: New file.
59281         * MODULES.html.sh (func_all_modules): Add mempcpy.
59282
59283 2003-07-14  Simon Josefsson  <jas@extundo.com>
59284
59285         * m4/mempcpy.m4: New file.
59286
59287 2003-07-14  Simon Josefsson  <jas@extundo.com>
59288
59289         * lib/mempcpy.h: New file.
59290         * lib/mempcpy.c: New file.
59291
59292 2003-07-14  Paul Eggert  <eggert@twinsun.com>
59293
59294         * modules/getdate, modules/posixtm: Depend on mktime.
59295
59296 2003-07-14  Paul Eggert  <eggert@twinsun.com>
59297
59298         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
59299         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
59300         unicodeio.c, unicodeio.h, unlocked-io.h:
59301         Switch from LGPL to GPL.
59302
59303 2003-07-14  Paul Eggert  <eggert@twinsun.com>
59304
59305         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
59306         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
59307         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
59308         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
59309         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
59310         updated automatically by ../config/srclist-update.  This changes
59311         their license from LPGL to GPL.
59312
59313 2003-07-14  Paul Eggert  <eggert@twinsun.com>
59314
59315         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
59316         assumed to refer to the root of the most recent stable gettext version.
59317         * config/srclistvars.sh: Add defaults for eggert.
59318         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
59319         Match "This program" as well as "The program".  This is needed
59320         for gettext.
59321
59322 2003-07-14  Jim Meyering  <jim@meyering.net>
59323
59324         Don't emit diagnostics.  Let callers do that.
59325         * lib/save-cwd.c: Don't include "error.h".
59326         (save_cwd): Don't call error.  Ensure that errno is valid
59327         when returning nonzero.
59328
59329         * lib/save-cwd.h (restore_cwd): Update prototype.
59330         * lib/save-cwd.c (restore_cwd): Remove two parameters.
59331         Simplify.  Don't call error upon failure.  Let callers do that.
59332         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
59333         when auditing is enabled.  But don't bother updating the #if.
59334
59335 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
59336
59337         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
59338         it breaks C++ compilation.
59339         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
59340
59341 2003-07-10  Simon Josefsson  <jas@extundo.com>
59342
59343         * modules/strchrnul (Makefile.am): Add strchrnul.h.
59344
59345 2003-07-10  Jim Meyering  <jim@meyering.net>
59346
59347         * m4/clock_time.m4: Remove trailing blank.
59348         * m4/intmax_t.m4: Likewise.
59349
59350 2003-07-10  Jim Meyering  <jim@meyering.net>
59351
59352         * lib/vasnprintf.c: Remove trailing blanks.
59353         Make cpp indentation consistent.
59354
59355 2003-07-09  Paul Eggert  <eggert@twinsun.com>
59356
59357         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
59358         posixver.c, strftime.c, strnlen.c, strverscmp.c:
59359         Switch from LGPL to GPL.
59360
59361 2003-07-09  Paul Eggert  <eggert@twinsun.com>
59362
59363         * config/srclist.txt: Sort sublists.  Add
59364         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
59365         that differ from gnulib for one reason or another; we'd like this list
59366         to be smaller but for now let's document what we have.
59367
59368 2003-07-08  Paul Eggert  <eggert@twinsun.com>
59369
59370         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
59371         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
59372         and sweeter "eval x=$x".
59373         * config/srclist.txt: Get lib/argp* from glibc.
59374
59375 2003-07-07  Paul Eggert  <eggert@twinsun.com>
59376
59377         * lib/mktime.c: Fix some boundary cases and remove need for floating
59378         point.
59379
59380         Issue a compile-time diagnostic if time_t is floating point, or if
59381         two's complement arithmetic is not in effect, or if arithmetic
59382         right shift does not propagate the sign.  These assumptions were
59383         all in the original code but they weren't checked.
59384
59385         (TIME_T_MIDPOINT, verify): New macros.
59386         (__isleap): Remove; it has integer overflow problems.
59387         (leapyear): New function, without those problems.
59388         (ydhms_tm_diff): Remove; splitting into two parts.
59389         (ydhms_diff): New function, containing the arithmetic part of
59390         the old ydhms_tm_diff function.  Issue a compile-time
59391         diagnostic if we are not using C99 integer division.
59392         Avoid casts when possible.
59393         (guess_time_tm): New function, containing the checking part of
59394         the old ydhms_tm_diff function.  Return the new value, rather than
59395         the difference between it and the old.  Accept a new argument T
59396         so that *T specifies the old value.  Check for overflow in the result.
59397
59398         (__mktime_internal): Use a time_t offset, not a long int offset.
59399         This undoes the 2003-06-04 change, which is no longer needed now
59400         that we have better overflow checking.
59401         (localtime_offset): Likewise.
59402
59403         (__mktime_internal): Avoid harmful overflow on hosts where time_t
59404         and long are 64-bit but int is only 32-bit.
59405         (ydhms_diff): Use long int to store year1 and yday1.
59406         Issue a compile-time diagnostic if long int is not wide enough.
59407
59408         (__mktime_internal): Use long int to store adjusted year and yday.
59409         Use plain C rather than preprocessor commands, if that doesn't
59410         affect efficiency.
59411         Check for overflow (and try to repair) after each probe
59412         rather than checking only at the very end.  This avoids some bugs
59413         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
59414         does not equal GMT offset at maximum time).
59415         Use integer to check for overflow rather than floating point; this
59416         is more portable to non-IEEE hosts, and is a tad faster.
59417         When we detect that we are oscillating between two values,
59418         don't check whether tm_isdst has the requested value, since
59419         we already know the answer.  When tm_isdst has the wrong value,
59420         use a different heuristic to find the right one, based on the
59421         extreme values actually observed in practice in tz2003a,
59422         rather than the (overly optimistic) "previous 3 calendar quarters".
59423
59424         (not_equal_tm, print_tm, check_result): Use "const T" rather than
59425         "T const" to accommodate glibc style.
59426         (check_result): Use less-confusing report format.  "long" -> "long int.
59427         (main): Likewise.
59428         Don't loop if the iteration overflows time_t.
59429         Allow a negative step in the iteration.
59430
59431 2003-07-06  Karl Berry  <karl@gnu.org>
59432
59433         * config/depcomp: update from automake.
59434         * config/config.sub: update from prep.
59435
59436 2003-07-03  Karl Berry  <karl@gnu.org>
59437
59438         * config/config.guess: update from prep.
59439
59440 2003-07-01  Paul Eggert  <eggert@twinsun.com>
59441
59442         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
59443         xreadlink.c now includes it unconditionally.
59444
59445 2003-07-01  Paul Eggert  <eggert@twinsun.com>
59446
59447         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
59448         having it depend on HAVE_SYS_TYPES_H.
59449
59450 2003-07-01  Bruno Haible  <bruno@clisp.org>
59451
59452         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
59453         <sys/types.h> should be sufficient.
59454         Reported by Paul Eggert.
59455
59456 2003-06-26  Karl Berry  <karl@gnu.org>
59457
59458         * config/depcomp: update from automake.
59459
59460 2003-06-26  Bruno Haible  <bruno@clisp.org>
59461
59462         * modules/human: Depend on module stdbool.
59463
59464 2003-06-25  Bruno Haible  <bruno@clisp.org>
59465
59466         * modules/readlink: New file.
59467         * modules/xreadlink: Depend on it.
59468         * MODULES.html.sh (func_all_modules): Add readlink.
59469
59470 2003-06-25  Bruno Haible  <bruno@clisp.org>
59471
59472         * m4/readlink.m4: New file.
59473
59474 2003-06-25  Bruno Haible  <bruno@clisp.org>
59475
59476         * lib/readlink.c: New file.
59477
59478 2003-06-22  Karl Berry  <karl@gnu.org>
59479
59480         * config/srclist.txt: update mkinstalldirs from automake.
59481         * config/mkinstalldirs: update.
59482
59483 2003-06-22  Bruno Haible  <bruno@clisp.org>
59484
59485         Portability to mingw32.
59486         * m4/ssize_t.m4: New file, from GNU gettext.
59487         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
59488         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
59489
59490 2003-06-22  Bruno Haible  <bruno@clisp.org>
59491
59492         * modules/safe-read: Add m4/ssize_t.m4.
59493         * modules/xreadlink: Add m4/ssize_t.m4.
59494
59495 2003-06-20  Bruno Haible  <bruno@clisp.org>
59496
59497         Assume C89, so PARAMS isn't needed.
59498         * lib/unicodeio.h (PARAMS): Remove.
59499         * lib/unicodeio.c: Don't use PARAMS.
59500
59501 2003-06-18  Karl Berry  <karl@gnu.org>
59502
59503         * config/config.{guess,sub}: update from prep.
59504
59505 2003-06-18  Jim Meyering  <jim@meyering.net>
59506
59507         Merge changes from coreutils.
59508         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
59509         Remove explicit declarations of xmalloc and realloc.
59510         Include xalloc.h.
59511         (read_utmp): Remove anachronistic cast of xmalloc.
59512
59513 2003-06-17  Paul Eggert  <eggert@twinsun.com>
59514
59515         Assume C89, so PARAMS isn't needed.
59516         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
59517         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
59518         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
59519         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
59520         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
59521         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
59522         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
59523         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
59524         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
59525         lib/xstrtod.h, lib/xstrtol.h: Likewise.
59526         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
59527         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
59528         no longer needed. Anyway, config.h should always be included before any
59529         other file.
59530
59531 2003-06-11  Simon Josefsson  <jas@extundo.com>
59532
59533         * modules/sysexits: New file.
59534         * MODULES.html.sh (func_all_modules): Add sysexits.
59535
59536 2003-06-11  Simon Josefsson  <jas@extundo.com>
59537
59538         * lib/sysexit_.h: New file.
59539
59540 2003-06-11  Derek Price  <derek@ximbiot.com>
59541
59542         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
59543         necessary.
59544
59545 2003-06-11  Bruno Haible  <bruno@clisp.org>
59546
59547         * m4/sysexits.m4: New file.
59548
59549 2003-06-10  Simon Josefsson  <jas@extundo.com>
59550
59551         * lib/argp.h: New file, from glibc.
59552         * lib/argp-ba.c: New file, from glibc.
59553         * lib/argp-eexst.c: New file, from glibc.
59554         * lib/argp-fmtstream.c: New file, from glibc.
59555         * lib/argp-fmtstream.h: New file, from glibc.
59556         * lib/argp-fs-xinl.c: New file, from glibc.
59557         * lib/argp-help.c: New file, from glibc.
59558         * lib/argp-namefrob.h: New file, from glibc.
59559         * lib/argp-parse.c: New file, from glibc.
59560         * lib/argp-pv.c: New file, from glibc.
59561         * lib/argp-pvh.c: New file, from glibc.
59562         * lib/argp-xinl.c: New file, from glibc.
59563
59564 2003-06-10  Simon Josefsson  <jas@extundo.com>
59565
59566         * modules/strchrnul: New file.
59567
59568 2003-06-10  Simon Josefsson  <jas@extundo.com>
59569
59570         * modules/argp: New file.
59571
59572 2003-06-10  Simon Josefsson  <jas@extundo.com>
59573
59574         * m4/strchrnul.m4: New file.
59575
59576 2003-06-10  Simon Josefsson  <jas@extundo.com>
59577
59578         * lib/strchrnul.h: New file.
59579         * lib/strchrnul.c: New file.
59580
59581 2003-06-10  Bruno Haible  <bruno@clisp.org>
59582
59583         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
59584
59585 2003-06-07  Karl Berry  <karl@gnu.org>
59586
59587         * config/config.{guess,sub}: update from prep.
59588
59589 2003-06-07  Jim Meyering  <jim@meyering.net>
59590
59591         * modules/strtod: Use $(...) notation, not @...@ for
59592         AC_REPLACE'd variables.
59593         * modules/localcharset: Likewise.
59594
59595 2003-06-07  Jim Meyering  <jim@meyering.net>
59596
59597         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
59598         in place of my name in the copyright comment.
59599         Remove definition and uses of __P.
59600
59601         From coreutils.
59602         * lib/stat.c: Don't declare xmalloc explicitly.
59603         Instead, include "xalloc.h".
59604         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
59605         xrealloc, and xcalloc return values.
59606         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
59607         Improve comment.
59608         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
59609
59610 2003-06-07  Bruno Haible  <bruno@clisp.org>
59611
59612         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
59613         avoid AC_CONFIG_LINKS.
59614         * modules/fnmatch (Makefile.am): Use explicit creation rule for
59615         fnmatch.h, to avoid AC_CONFIG_LINKS.
59616         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
59617
59618 2003-06-07  Bruno Haible  <bruno@clisp.org>
59619
59620         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
59621         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
59622         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
59623         directory.
59624         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
59625         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
59626         directory.
59627
59628 2003-06-06  Jim Meyering  <jim@meyering.net>
59629
59630         Merge from coreutils.
59631         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
59632         Consolidate declarations and initializations of *_base* locals.
59633
59634         Merge from coreutils.
59635         This avoids a core dump on systems without GNU putenv,
59636         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
59637         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
59638         (unsetenv): New static function, from GNU libc.
59639         (rpl_putenv): Use it.
59640
59641         * lib/modechange.c: Remove trailing blanks.
59642
59643         Merge from coreutils.
59644         * lib/fsusage.c: Remove declaration of statfs.
59645         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
59646
59647         * lib/posixtm.c: Include <stdbool.h> unconditionally.
59648
59649 2003-06-06  Jim Meyering  <jim@meyering.net>
59650
59651         * lib/stdbool_.h: Renamed from stdbool.h.in.
59652
59653 2003-06-06  Jim Meyering  <jim@meyering.net>
59654             Bruno Haible  <bruno@clisp.org>
59655
59656         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
59657         Adjust Makefile.am snippet not to redirect directly to target.
59658         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
59659
59660 2003-06-05  Paul Eggert  <eggert@twinsun.com>
59661
59662         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
59663         mismatch, look in future quarters as well as past.  This fixes a
59664         bug when processing fall-backwards gaps immediately after a long
59665         period of daylight-saving time.
59666
59667         * lib/mktime.c: Assume freestanding C89 or better.
59668         (HAVE_LIMITS_H): Remove.  Assume it's 1.
59669         (__P): Remove; not used.
59670         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
59671         (mktime, not_equal_tm, print_tm, check_result,
59672         main): Use prototypes.  Use const * where appropriate.
59673         (main): Fix typo in testing code that uncovered by above changes.
59674         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
59675
59676 2003-06-04  Paul Eggert  <eggert@twinsun.com>
59677
59678         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
59679         locale.h, localeconv.  This merges changes from coreutils.
59680
59681         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
59682         It can be removed after the next Autoconf is released.
59683         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
59684         needed.
59685
59686 2003-06-04  Paul Eggert  <eggert@twinsun.com>
59687
59688         * lib/mktime.c: Fix Debian bug 177940
59689         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
59690         (localtime_offset): Now long int, not time_t, because we want it
59691         to be guaranteed to be signed.  All uses changed.
59692         (__mktime_internal): If overflow would occur when adding offset,
59693         don't add it.
59694
59695         Merge 'human' changes from coreutils.  Rewrite to support
59696         locale-specific notations like thousands separators.
59697         * lib/human.c: Simplify authorship notice.
59698         Include human.h immediately after config.h.
59699         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
59700         <limits.h>: Do not include, since human.h does.
59701         (SIZE_MAX, UINTMAX_MAX): New macros.
59702         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
59703         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
59704         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
59705         (power_letter): Renamed from suffixes.
59706         (generate_suffix_backwards): Remove.
59707         (adjust_value): Now takes int style (because of human.h changes)
59708         and long double value (for greater precision on some platforms).
59709         (group_number): New function.
59710         (human_readable): Use it.  Use integer options, not enum.
59711         Put the options before the sizes in the arg list.
59712         Support all the new options.
59713         The old human_readable function has been removed;
59714         use inttostr.h instead.
59715         (human_readable, default_block_size, humblock):
59716         Use uintmax_t, not int, for block sizes.
59717         (human_readable_inexact, block_size_types): Remove.
59718         (block_size_opts): New constant.
59719         (human_options): Renamed from human_block_size, with new signature
59720         that allows block sizes up to UINTMAX_MAX.  All callers changed.
59721         * lib/human.h: Add copyright and authorship notice.
59722         Include <limits.h> and <stdbool.h> unconditionally.
59723         (PARAMS): Remove.  All uses removed.
59724         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
59725         (enum human_inexact_style): Remove tag; now a nameless enum.
59726         (human_floor, human_ceiling, human_round_to_even): Now have
59727         values 2, 0, 1 rather than -1, 1, 0.
59728         (human_group_digits, human_suppress_point_zero, human_autoscale,
59729         human_base_1024, human_SI, human_B): New constants.
59730         (human_readable_inexact, human_block_size): Remove.
59731         (human_readable): Size args are now uintmax_t, not int.
59732         (human_options): New decl.
59733
59734         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
59735         unnecessary now that we assume C89 or better.  This change
59736         imported from coreutils.
59737
59738         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
59739         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
59740         in the 2003-05-30 sync from glibc.
59741
59742         .h files should stand alone, but we shouldn't include <sys/types.h>
59743         if we can get away with just <stddef.h>.
59744
59745         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
59746         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
59747         rather than <sys/types.h>, as we merely need size_t.
59748         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
59749         to get size_t.
59750         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
59751         Include <stdio.h>, to get FILE.
59752         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
59753         memcasecmp.h has included <stddef.h> and all we need is size_t.
59754         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
59755         our interface, instead of including <sys/types.h>
59756
59757 2003-06-04  Paul Eggert  <eggert@twinsun.com>
59758
59759         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
59760         now, as glibc mktime is buggy on non-glibc systems.
59761
59762 2003-06-03  Karl Berry  <karl@gnu.org>
59763
59764         * config/config.sub: update from prep.
59765
59766 2003-06-02  Paul Eggert  <eggert@twinsun.com>
59767
59768         [from coreutils]
59769         Fix some minor time-related bugs with POSIX time arguments.
59770         Some valid time stamps were being rejected (notably -1, and
59771         time stamps before 1900 on 64-bit hosts).  And some invalid
59772         time stamps were being accepted, e.g. September 31.
59773
59774         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
59775         that we can return (time_t) -1 successfully.
59776         * lib/posixtm.c: Likewise.
59777         [HAVE_STDBOOL_H]: Include <stdbool.h>.
59778         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
59779         (t): Remove static var.
59780         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
59781         of static var.  All uses changed.
59782         (year): Do not reject years before 1900; they can occur with
59783         64-bit time_t.
59784         (posix_time_parse): Do not check for out-of-range components;
59785         that is now the caller's responsibility, since our checks were
59786         only approximations.
59787         (posixtime): Use mktime to check for out-of-range components,
59788         since it knows them exactly.
59789         If mktime returns (time_t) -1, check whether an error actually occurred
59790         by invoking localtime on -1.
59791         (main) [TEST_POSIXTIME]: Check for input data errors, and report
59792         posixtime failures better.
59793         Improve the test data (in comments only).
59794
59795 2003-06-02  Karl Berry  <karl@gnu.org>
59796
59797         * config/mkinstalldirs (version): new variable.
59798         (--version): new option.
59799         (usage): improve message.
59800
59801 2003-05-30  Karl Berry  <karl@gnu.org>
59802
59803         * lib/mktime.c: update from libc.
59804
59805 2003-05-30  Bruno Haible  <bruno@clisp.org>
59806
59807         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
59808         * config/config.rpath: Upgrade to gettext-0.12.1.
59809
59810 2003-05-30  Bruno Haible  <bruno@clisp.org>
59811
59812         * m4/gettext.m4: Upgrade to gettext-0.12.1.
59813         * m4/nls.m4: New file, from gettext-0.12.1.
59814         * m4/po.m4: New file, from gettext-0.12.1.
59815         * m4/progtest.m4: Upgrade to gettext-0.12.1.
59816
59817 2003-05-30  Bruno Haible  <bruno@clisp.org>
59818
59819         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
59820         * lib/localcharset.h: Likewise.
59821         * lib/localcharset.c: Likewise.
59822
59823 2003-05-29  Karl Berry  <karl@gnu.org>
59824
59825         * config/config.rpath: update from gettext.
59826
59827 2003-05-28  Paul Eggert  <eggert@twinsun.com>
59828
59829         Assume the headers required for C89 freestanding compilers.
59830         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
59831         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
59832         * m4/human.m4 (gl_HUMAN): Likewise.
59833         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
59834         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
59835         * m4/userspec.m4 (gl_USERSPEC): Likewise.
59836         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
59837         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
59838         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
59839
59840 2003-05-28  Paul Eggert  <eggert@twinsun.com>
59841
59842         Assume the headers required for C89 freestanding compilers.
59843         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
59844         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
59845         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
59846         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
59847         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
59848         define, since <limits.h> is guaranteed to do that.
59849         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
59850         * lib/exclude.c: Include <stdbool.h> unconditionally.
59851         * lib/tempname.c: Include <stddef.h> unconditionally.
59852         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
59853         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
59854         <stddef.h> does that.
59855         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
59856         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
59857         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
59858         needed.
59859         * lib/xstrtol.c: Likewise.
59860         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
59861         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
59862
59863         * lib/addext.c (addext): Use assignment rather than cast, to avoid
59864         warnings on some platforms.
59865
59866         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
59867         arbitrarily.
59868
59869 2003-05-26  Jim Meyering  <jim@meyering.net>
59870
59871         Merge in a change from coreutils:
59872         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
59873         that is guaranteed to be `no'.  Use `no_such_member' to indicate
59874         that condition, rather than `-1' which is slightly misleading.
59875         Change the name of the cache variable to have the gl_ prefix.
59876         Prompted by a patch from Richard Dawe for DJGPP.
59877
59878 2003-05-24  Karl Berry  <karl@gnu.org>
59879
59880         * config/config.guess: update from prep.
59881
59882 2003-05-22  Karl Berry  <karl@gnu.org>
59883
59884         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
59885
59886 2003-05-20  Karl Berry  <karl@gnu.org>
59887
59888         * config/config.guess: update from prep.
59889
59890 2003-05-18  Karl Berry  <karl@gnu.org>
59891
59892         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
59893         might actually be set by the user.
59894
59895         * config/depcomp, install-sh, mdate-sh: update from automake.
59896
59897 2003-05-17  Bruno Haible  <bruno@clisp.org>
59898
59899         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
59900         invalid expansion for AC_EGREP_CPP.
59901         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
59902         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
59903         Suggested by Akim Demaille <akim@epita.fr> in
59904         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
59905
59906 2003-05-12  Jim Meyering  <jim@meyering.net>
59907
59908         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
59909         the space-padded-by-default conversion specifiers, %e, %k, %l.
59910
59911 2003-05-12  Bruno Haible  <bruno@clisp.org>
59912
59913         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
59914         the string is longer than 4 KB.
59915
59916 2003-05-11  Karl Berry  <karl@gnu.org>
59917
59918         * config/config.{guess,sub}: update from prep.
59919
59920 2003-05-09  Bruno Haible  <bruno@clisp.org>
59921
59922         * modules/error: Add m4/strerror_r.m4 to file list.
59923
59924 2003-05-03  Bruno Haible  <bruno@clisp.org>
59925
59926         Upgrade to Unicode-4.0.
59927         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
59928         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
59929         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
59930         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
59931         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
59932         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
59933         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
59934         Change width of U+E0100..U+E01EF from 1 to 0.
59935
59936 2003-04-25  Jim Meyering  <jim@meyering.net>
59937
59938         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
59939         of type size_t, not int.
59940
59941 2003-04-25  Bruno Haible  <bruno@clisp.org>
59942
59943         * lib/copy-file.c: Include <stddef.h>, for size_t.
59944
59945 2003-04-21  Paul Eggert  <eggert@twinsun.com>
59946
59947         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
59948         code which expansion is under static control.  Patch imported from
59949         Akim Demaille's patch to Bison; see
59950         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
59951
59952 2003-04-14  Bruno Haible  <bruno@clisp.org>
59953
59954         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
59955
59956 2003-04-11  Jim Meyering  <jim@meyering.net>
59957
59958         Merge changes from Coreutils.
59959
59960         2003-03-22  Jim Meyering  <jim@meyering.net>
59961
59962         * lib/strftime.c (widen): Cast alloca return value to proper type.
59963
59964         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
59965
59966         From GNU libc.
59967         * lib/strftime.c (my_strftime): Handle very large width
59968         specifications for numeric values correctly.  Improve checks for
59969         overflow.
59970
59971         2003-01-19  Jim Meyering  <jim@meyering.net>
59972
59973         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
59974         definitions.
59975         (nl_get_alt_digit) [! defined my_strftime]: Define.
59976         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
59977         _nl_get_alt_digit and _nl_get_walt_digit.
59978
59979         * lib/strftime.c (my_strftime): Merge in locale-related changes from
59980         libc. These changes have no effect outside of _LIBC.
59981
59982 2003-04-10  Bruno Haible  <bruno@clisp.org>
59983
59984         * modules/findprog: New file.
59985         * MODULES.html.sh (func_all_modules): Add it.
59986
59987 2003-04-10  Bruno Haible  <bruno@clisp.org>
59988
59989         * m4/findprog.m4: New file.
59990         * m4/eaccess.m4: New file.
59991
59992 2003-04-10  Bruno Haible  <bruno@clisp.org>
59993
59994         * lib/findprog.h: New file, from GNU gettext.
59995         * lib/findprog.c: New file, from GNU gettext.
59996
59997 2003-04-05  Jim Meyering  <jim@meyering.net>
59998
59999         Merge changes from Coreutils.
60000
60001         * lib/exclude.h (PARAMS): Remove definition and uses.
60002         * lib/exclude.c: Remove uses of `PARAMS'.
60003
60004         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
60005         Add test-cases for DOS filenames. Declare program_name.
60006         (main): Set up program_name.  Patch by Rich Dawe.
60007
60008         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
60009         error from mntctl.
60010         Use mntctl's return value to drive the entry-processing loop, since
60011         we can't rely on the value of the vmt_length member in the last
60012         entry.  On some systems doing so could result in exhausting
60013         virtual memory.  Based in part on a patch from Mike Jetzer.
60014
60015 2003-04-04  Bruno Haible  <bruno@clisp.org>
60016
60017         * modules/linebreak: New file.
60018         * MODULES.html.sh (func_all_modules): Add it.
60019
60020 2003-04-04  Bruno Haible  <bruno@clisp.org>
60021
60022         * m4/linebreak.m4: New file.
60023
60024 2003-04-04  Bruno Haible  <bruno@clisp.org>
60025
60026         * lib/linebreak.h: New file, from GNU gettext.
60027         * lib/linebreak.c: New file, from GNU gettext with slight
60028         modifications.
60029         * lib/lbrkprop.h: New file, from GNU gettext.
60030
60031 2003-04-03  Bruno Haible  <bruno@clisp.org>
60032
60033         * modules/utf8-ucs4: New file.
60034         * modules/utf16-ucs4: New file.
60035         * modules/ucs4-utf8: New file.
60036         * modules/ucs4-utf16: New file.
60037         * MODULES.html.sh (func_all_modules): Add them.
60038
60039 2003-04-03  Bruno Haible  <bruno@clisp.org>
60040
60041         * m4/utf-ucs4.m4: New file.
60042         * m4/ucs4-utf.m4: New file.
60043
60044 2003-04-03  Bruno Haible  <bruno@clisp.org>
60045
60046         * lib/utf8-ucs4.h: New file, from GNU gettext.
60047         * lib/utf16-ucs4.h: New file, from GNU gettext.
60048         * lib/ucs4-utf8.h: New file, from GNU gettext.
60049         * lib/ucs4-utf16.h: New file, from GNU gettext.
60050
60051 2003-04-02  Bruno Haible  <bruno@clisp.org>
60052
60053         * modules/binary-io: New file.
60054         * MODULES.html.sh (func_all_modules): Add it.
60055
60056 2003-04-02  Bruno Haible  <bruno@clisp.org>
60057
60058         * lib/binary-io.h: New file, from GNU gettext.
60059
60060 2003-04-01  Bruno Haible  <bruno@clisp.org>
60061
60062         * modules/pathname: New file.
60063         * MODULES.html.sh (func_all_modules): Add it.
60064
60065 2003-04-01  Bruno Haible  <bruno@clisp.org>
60066
60067         * lib/pathname.h: New file, from GNU gettext.
60068         * lib/concatpath.c: New file, from GNU gettext.
60069
60070 2003-03-30  Bruno Haible  <bruno@clisp.org>
60071
60072         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
60073
60074 2003-03-30  Bruno Haible  <bruno@clisp.org>
60075
60076         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
60077         function chown() doesn't exist.
60078
60079 2003-03-28  Bruno Haible  <bruno@clisp.org>
60080
60081         * modules/copy-file: New file.
60082         * MODULES.html.sh (func_all_modules): Add it.
60083
60084 2003-03-28  Bruno Haible  <bruno@clisp.org>
60085
60086         * m4/copy-file.m4: New file.
60087
60088 2003-03-28  Bruno Haible  <bruno@clisp.org>
60089
60090         * lib/copy-file.h: New file, from GNU gettext.
60091         * lib/copy-file.c: New file, from GNU gettext.
60092
60093 2003-03-18  Jim Meyering  <jim@meyering.net>
60094
60095         * lib/quote.c (quote_n): Fix typo in comment.
60096
60097 2003-03-18  Bruno Haible  <bruno@clisp.org>
60098
60099         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
60100         checking.
60101         * m4/onceonly_2_57.m4: Likewise.
60102
60103 2003-03-17  Bruno Haible  <bruno@clisp.org>
60104
60105         * m4/onceonly.m4: Require autoconf 2.54 or newer.
60106         (m4_quote): Remove macro.
60107         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
60108
60109 2003-03-14  Jim Meyering  <jim@meyering.net>
60110
60111         Merge changes from Coreutils.
60112         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
60113         to be const, in order to avoid warnings.
60114         (obstack_room): Likewise.
60115         (obstack_empty_p): Likewise.
60116
60117 2003-03-14  Bruno Haible  <bruno@clisp.org>
60118
60119         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
60120         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
60121
60122 2003-03-13  Paul Eggert  <eggert@twinsun.com>
60123
60124         Merge changes from Bison.
60125         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
60126         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
60127         when compiling Bison 1.875's `bitset bset = obstack_alloc
60128         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
60129         * lib/hash.c: Include <stdbool.h> unconditionally.
60130
60131 2003-03-13  Paul Eggert  <eggert@twinsun.com>
60132
60133         * m4/onceonly.m4 (m4_quote): New macro.
60134         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
60135         Quote AC_FOREACH variable-expansions properly.
60136
60137 2003-03-13  Paul Eggert  <eggert@twinsun.com>
60138
60139         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
60140
60141 2003-03-09  Paul Eggert  <eggert@twinsun.com>
60142
60143         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
60144         Reported by Bruce Becker; see:
60145         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
60146
60147 2003-03-03  Paul Eggert  <eggert@twinsun.com>
60148             Bruno Haible  <bruno@clisp.org>
60149
60150         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
60151         Reported by John Hughes, see
60152         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
60153
60154 2003-02-20  Bruno Haible  <bruno@clisp.org>
60155
60156         * MODULES.html.sh (func_all_modules): Add poll.
60157
60158 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
60159
60160         * modules/poll: New file.
60161
60162 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
60163
60164         * lib/poll_.h: New file.
60165         * lib/poll.c: New file.
60166
60167 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
60168
60169         * m4/poll.m4: New file.
60170
60171 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
60172
60173         * modules/mathl: New file.
60174
60175 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
60176
60177         * lib/mathl.h: New file.
60178         * lib/acosl.c: New file.
60179         * lib/asinl.c: New file.
60180         * lib/atanl.c: New file.
60181         * lib/ceill.c: New file.
60182         * lib/cosl.c: New file.
60183         * lib/expl.c: New file.
60184         * lib/floorl.c: New file.
60185         * lib/frexpl.c: New file.
60186         * lib/ldexpl.c: New file.
60187         * lib/logl.c: New file.
60188         * lib/sincosl.c: New file.
60189         * lib/sinl.c: New file.
60190         * lib/sqrtl.c: New file.
60191         * lib/tanl.c: New file.
60192         * lib/trigl.c: New file.
60193         * lib/trigl.h: New file.
60194
60195 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
60196
60197         * m4/mathl.m4: New file.
60198
60199 2003-02-18  Bruno Haible  <bruno@clisp.org>
60200
60201         * MODULES.html.sh (func_all_modules): Add mathl.
60202
60203 2003-02-17  Bruno Haible  <bruno@clisp.org>
60204
60205         * modules/mkdtemp: New module.
60206         * MODULES.html.sh (func_all_modules): Add it.
60207
60208 2003-02-17  Bruno Haible  <bruno@clisp.org>
60209
60210         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
60211
60212 2003-02-17  Bruno Haible  <bruno@clisp.org>
60213
60214         * lib/mkdtemp.h: New file, from GNU gettext.
60215         * lib/mkdtemp.c: New file, from GNU gettext.
60216
60217 2003-02-02  Jim Meyering  <jim@meyering.net>
60218
60219         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
60220         e.g. glibc-2.2.93.
60221
60222 2003-01-31  Bruno Haible  <bruno@clisp.org>
60223
60224         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
60225         'rpl_rename'.
60226         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
60227         'rpl_strnlen'.
60228         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
60229         'rpl_strtod'.
60230         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
60231         'rpl_utime'.
60232
60233 2003-01-31  Bruno Haible  <bruno@clisp.org>
60234
60235         * lib/rename.c: #undef rename before defining rpl_rename.
60236         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
60237
60238 2003-01-30  Bruno Haible  <bruno@clisp.org>
60239
60240         * modules/vasnprintf, modules/vasprintf: New modules.
60241         * MODULES.html.sh (func_all_modules): Add them.
60242
60243 2003-01-30  Bruno Haible  <bruno@clisp.org>
60244
60245         * m4/signed.m4: New file, from GNU gettext.
60246         * m4/longdouble.m4: New file, from GNU gettext.
60247         * m4/wchar_t.m4: New file, from GNU gettext.
60248         * m4/wint_t.m4: New file, from GNU gettext.
60249         * m4/vasnprintf.m4: New file.
60250         * m4/vasprintf.m4: New file.
60251
60252 2003-01-30  Bruno Haible  <bruno@clisp.org>
60253
60254         * lib/printf-args.h: New file, from GNU gettext.
60255         * lib/printf-args.c: New file, from GNU gettext.
60256         * lib/printf-parse.h: New file, from GNU gettext.
60257         * lib/printf-parse.c: New file, from GNU gettext.
60258         * lib/vasnprintf.h: New file, from GNU gettext.
60259         * lib/vasnprintf.c: New file, from GNU gettext.
60260         * lib/asnprintf.c: New file, from GNU gettext.
60261         * lib/vasprintf.h: New file, from GNU gettext with modifications.
60262         * lib/vasprintf.c: New file, from GNU gettext.
60263         * lib/asprintf.c: New file, from GNU gettext.
60264
60265 2003-01-29  Bruno Haible  <bruno@clisp.org>
60266
60267         * modules/stpncpy: New module.
60268         * MODULES.html.sh (func_all_modules): Add it.
60269
60270 2003-01-29  Bruno Haible  <bruno@clisp.org>
60271
60272         * m4/stpncpy.m4: New file.
60273
60274 2003-01-29  Bruno Haible  <bruno@clisp.org>
60275
60276         * lib/stpncpy.h: New file, from GNU gettext with modifications.
60277         * lib/stpncpy.c: New file, from GNU gettext with modifications.
60278
60279 2003-01-28  Bruno Haible  <bruno@clisp.org>
60280
60281         * modules/c-ctype: New module.
60282         * MODULES.html.sh (func_all_modules): Add it.
60283
60284 2003-01-28  Bruno Haible  <bruno@clisp.org>
60285
60286         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
60287         Paul Eggert.
60288         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
60289         Paul Eggert.
60290
60291 2003-01-27  Bruno Haible  <bruno@clisp.org>
60292
60293         * modules/xsetenv: New module.
60294         * MODULES.html.sh (func_all_modules): Add it.
60295
60296 2003-01-27  Bruno Haible  <bruno@clisp.org>
60297
60298         * lib/xsetenv.h: New file, from GNU gettext.
60299         * lib/xsetenv.c: New file, from GNU gettext.
60300
60301 2003-01-23  Jim Meyering  <jim@meyering.net>
60302
60303         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
60304         from working on systems without dirfd (at least Irix and OSF1/Tru64).
60305
60306 2003-01-23  Bruno Haible  <bruno@clisp.org>
60307
60308         * modules/minmax: New module.
60309         * MODULES.html.sh (func_all_modules): Add it.
60310
60311 2003-01-23  Bruno Haible  <bruno@clisp.org>
60312
60313         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
60314         Eggert.
60315
60316 2003-01-22  Bruno Haible  <bruno@clisp.org>
60317
60318         * modules/exit: New module.
60319         * MODULES.html.sh (func_all_modules): Add it.
60320
60321 2003-01-22  Bruno Haible  <bruno@clisp.org>
60322
60323         * lib/exit.h: New file, from GNU gettext.
60324
60325 2003-01-19  Bruno Haible  <bruno@clisp.org>
60326
60327         * gnulib-tool: Recognize option --extract-maintainer.
60328         (func_get_maintainer): New function.
60329         * modules/*: Add Maintainer entry.
60330
60331 2003-01-16  Jim Meyering  <jim@meyering.net>
60332
60333         * m4/regex.m4: The `regex' struct is both input and output.
60334         Initialize it before each use.  Patch by Tim Waugh.
60335
60336 2003-01-16  Bruno Haible  <bruno@clisp.org>
60337
60338         * MODULES.html.sh: Add a table of contents. Add the module name as
60339         leftmost column. Add hyperlinks.
60340
60341 2003-01-15  Bruno Haible  <bruno@clisp.org>
60342
60343         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
60344
60345 2003-01-15  Bruno Haible  <bruno@clisp.org>
60346
60347         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
60348         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
60349         suffix.
60350
60351 2003-01-15  Bruno Haible  <bruno@clisp.org>
60352
60353         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
60354
60355 2003-01-15  Bruno Haible  <bruno@clisp.org>
60356
60357         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
60358         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
60359
60360 2003-01-14  Jim Meyering  <jim@meyering.net>
60361
60362         * lib/same.c (same_name): Tweak a comment.
60363
60364 2003-01-14  Bruno Haible  <bruno@clisp.org>
60365
60366         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
60367         when a string comparison is sufficient.
60368
60369 2003-01-14  Bruno Haible  <bruno@clisp.org>
60370
60371         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
60372         'unsigned int'.
60373
60374 2003-01-14  Bruno Haible  <bruno@clisp.org>
60375
60376         * lib/hash-pjw.c: Add comment about low quality of this function.
60377
60378 2003-01-13  Bruno Haible  <bruno@clisp.org>
60379
60380         * modules/stpcpy: Distribute lib/stpcpy.h.
60381         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
60382
60383 2003-01-13  Bruno Haible  <bruno@clisp.org>
60384
60385         * modules/*: Add a description.
60386         * modules/strpbrk: Fix Makefile.am snippet.
60387         * modules/strtoimax: Fix dependencies.
60388         * modules/strtoumax: Likewise.
60389
60390 2003-01-13  Bruno Haible  <bruno@clisp.org>
60391
60392         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
60393         * modules/alloca (Makefile.am): All object files depend on alloca.h.
60394         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
60395
60396 2003-01-13  Bruno Haible  <bruno@clisp.org>
60397
60398         * gnulib-tool (func_create_testdir): Store config/* files in the main
60399         directory.
60400         * config.rpath: Move to ...
60401         * config/config.rpath: ... here.
60402         * modules/gettext: Contains config/config.rpath, not config.rpath.
60403         * modules/iconv: Likewise.
60404
60405 2003-01-12  Paul Eggert  <eggert@twinsun.com>
60406
60407         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
60408         to avoid collisions with libcurses and libreadline.
60409
60410         * m4/getstr.m4: Remove.
60411         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
60412
60413 2003-01-12  Paul Eggert  <eggert@twinsun.com>
60414
60415         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
60416         to avoid collisions with libcurses and libreadline.
60417
60418         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
60419         * lib/getstr.h, getstr.c: Remove.
60420         * lib/getline.c: Include "getline.h", to check interface.
60421         Move body of old getstr.c here: this defines MIN_CHUNK and
60422         declares getdelim2, which is renamed from getstr.
60423         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
60424
60425         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
60426         All uses changed.
60427         * lib/linebuffer.h: Likewise.
60428         (readline): Remove backward-compatibility macro.
60429
60430 2003-01-12  Paul Eggert  <eggert@twinsun.com>
60431
60432         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
60433         to avoid collisions with libcurses and libreadline.
60434         * getstr: Remove.
60435         * MODULES.html.sh: Remove getstr.
60436         * modules/getline: Depend on unlocked-io, not getstr.
60437
60438 2003-01-12  Jim Meyering  <jim@meyering.net>
60439
60440         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
60441
60442 2003-01-10  Bruno Haible  <bruno@clisp.org>
60443
60444         * modules/alloca: Change Makefile.am requirements. Simplify Include
60445         requirements. Add lib/alloca_.h to file list.
60446
60447 2003-01-10  Bruno Haible  <bruno@clisp.org>
60448
60449         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
60450
60451 2003-01-10  Bruno Haible  <bruno@clisp.org>
60452
60453         * lib/alloca_.h: New file.
60454         * lib/getdate.y: Unconditionally include alloca.h.
60455         * lib/makepath.c: Likewise.
60456         * lib/setenv.c: Likewise.
60457         * lib/userspec.c: Likewise.
60458
60459 2003-01-09  Karl Berry  <karl@gnu.org>
60460
60461         * MODULES.html.sh: include `dirname $0` in PATH, to find
60462         gnulib-tool.
60463
60464 2003-01-09  Bruno Haible  <bruno@clisp.org>
60465
60466         * modules/stdbool: Change configure.ac, Makefile.am requirements.
60467         Simplify Include requirements. Add lib/stdbool.h.in to file list.
60468
60469 2003-01-09  Bruno Haible  <bruno@clisp.org>
60470
60471         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
60472
60473 2003-01-09  Bruno Haible  <bruno@clisp.org>
60474
60475         * lib/stdbool.h.in: New file.
60476
60477 2003-01-09  Bruno Haible  <bruno@clisp.org>
60478
60479         * gnulib-tool (func_all_modules): Ignore files ending in ~.
60480         * MODULES.html.sh: Likewise.
60481
60482 2003-01-08  Jim Meyering  <jim@meyering.net>
60483
60484         * lib/full-write.c: Undefine and define-away `const' after inclusion
60485         of errno.h, not before.  Suggestion from Bruno Haible.
60486
60487 2003-01-08  Bruno Haible  <bruno@clisp.org>
60488
60489         * modules/full-read: Depend on full-write.
60490
60491 2003-01-08  Bruno Haible  <bruno@clisp.org>
60492
60493         * lib/safe-read.c: Include specification header first, to ensure its
60494         selfcontainedness.
60495         * lib/full-write.c: Likewise.
60496
60497 2003-01-07  Jim Meyering  <jim@meyering.net>
60498
60499         * lib/full-write.c: Rework so that it may serve to define full_read,
60500         too.
60501         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
60502
60503 2003-01-07  Bruno Haible  <bruno@clisp.org>
60504
60505         * lib/strtoimax.c: Include <stdint.h> as an alternative to
60506         <inttypes.h>.
60507         * lib/xstrtol.h: Likewise.
60508         * lib/xstrtoimax.c: Likewise.
60509         * lib/xstrtoumax.c: Likewise.
60510         * lib/human.h: Likewise.
60511
60512         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
60513         on systems that have <inttypes.h> but not <stdint.h>.
60514
60515 2003-01-07  Bruno Haible  <bruno@clisp.org>
60516
60517         * MODULES.html.sh: Add copyright notice.
60518         (missed_files): Omit CVS directory entries.
60519         (func_module): Make it work with sed-3.02.
60520         * MODULES.txt: Remove file.
60521
60522 2003-01-06  Jim Meyering  <jim@meyering.net>
60523
60524         * lib/version-etc.c: Update year in translatable copyright string.
60525
60526 2003-01-03  Karl Berry  <karl@gnu.org>
60527
60528         * config/config.{guess,sub}: update from prep.
60529
60530 2003-01-02  Karl Berry  <karl@gnu.org>
60531
60532         * doc/COPYING.DOC: belatedly updated to 1.2.
60533
60534 2003-01-01  Karl Berry  <karl@gnu.org>
60535
60536         * gnulib-tool (func_verify_module): report module name $module in
60537         error message, not $1.
60538         * gnulib-tool (create-testdir): don't complain if destdir couldn't
60539         be created, only if it doesn't exist.
60540         * gnulib-tool (last_checkin_date): don't expand the $Date here.
60541
60542 2002-12-31  Paul Eggert  <eggert@twinsun.com>
60543
60544         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
60545
60546 2002-12-31  Paul Eggert  <eggert@twinsun.com>
60547
60548         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
60549         memcmp if strcoll doesn't work.
60550
60551 2002-12-31  Bruno Haible  <bruno@clisp.org>
60552
60553         * lib/utime.c (utime_null): No need to call ftruncate if the file was
60554         nonempty.
60555
60556 2002-12-31  Bruno Haible  <bruno@clisp.org>
60557
60558         * lib/memcoll.c (STRCOLL): New macro.
60559         (memcoll): Use it.
60560
60561 2002-12-31  Bruno Haible  <bruno@clisp.org>
60562
60563         * lib/localcharset.h: New file.
60564         * lib/localcharset.c: Include it.
60565         * lib/unicodeio.c: Likewise.
60566
60567 2002-12-31  Bruno Haible  <bruno@clisp.org>
60568
60569         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
60570         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
60571
60572 2002-12-31  Bruno Haible  <bruno@clisp.org>
60573
60574         * lib/getline.h: Include <stddef.h>, for size_t.
60575
60576         * lib/unicodeio.h: Include <stddef.h>, for size_t.
60577         * lib/unicodeio.c: Don't include <stddef.h>.
60578
60579 2002-12-31  Bruno Haible  <bruno@clisp.org>
60580
60581         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
60582         HAVE_TM_ZONE.
60583
60584 2002-12-24  Karl Berry  <karl@gnu.org>
60585
60586         * config/config.guess: update from prep.
60587
60588 2002-12-24  Bruno Haible  <bruno@clisp.org>
60589
60590         General infrasructure.
60591         * m4/README: Rewritten.
60592         * m4/onceonly.m4: New file.
60593         * m4/onceonly_2_57.m4: New file.
60594
60595         Module atexit.
60596         * m4/atexit.m4: New file.
60597
60598         Module strtod.
60599         * m4/strtod.m4: New file.
60600
60601         Module strtol.
60602         * m4/strtol.m4: New file.
60603
60604         Module strtoul.
60605         * m4/strtoul.m4: New file.
60606
60607         Module memchr.
60608         * m4/memchr.m4: New file.
60609
60610         Module memcmp.
60611         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
60612         (jm_FUNC_MEMCMP): Invoke it.
60613
60614         Module memcpy.
60615         * m4/memcpy.m4: New file.
60616
60617         Module memmove.
60618         * m4/memmove.m4: New file.
60619
60620         Module memset.
60621         * m4/memset.m4: New file.
60622
60623         Module strcspn.
60624         * m4/strcspn.m4: New file.
60625
60626         Module strpbrk.
60627         * m4/strpbrk.m4: New file.
60628
60629         Module strstr.
60630         * m4/strstr.m4: New file.
60631
60632         Module strerror.
60633         * m4/strerror.m4: New file.
60634
60635         Module mktime.
60636         * m4/mktime.m4: Renamed from jm-mktime.m4.
60637         (gl_PREREQ_MKTIME): New macro.
60638         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
60639
60640         Module malloc.
60641         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
60642         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
60643         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
60644
60645         Module realloc.
60646         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
60647         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
60648         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
60649
60650         Module strftime.
60651         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
60652         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
60653         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
60654         gl_TM_GMTOFF.
60655         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
60656
60657         Module xalloc.
60658         * m4/xalloc.m4: New file.
60659
60660         Module alloca.
60661         * m4/alloca.m4: New file.
60662
60663         Module putenv.
60664         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
60665         (jm_FUNC_PUTENV): Invoke it.
60666
60667         Module setenv.
60668         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
60669         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
60670         when invoked twice.
60671         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
60672         gt_FUNC_SETENV.
60673
60674         Module memrchr.
60675         * m4/memrchr.m4: New file.
60676
60677         Module stpcpy.
60678         * m4/stpcpy.m4: New file.
60679
60680         Module strcase.
60681         * m4/strcase.m4: New file.
60682
60683         Module strdup.
60684         * m4/strdup.m4: New file.
60685
60686         Module strnlen.
60687         * m4/strnlen.m4: New file.
60688
60689         Module strndup.
60690         * m4/strndup.m4: New file.
60691
60692         Module xstrtod.
60693         * m4/xstrtod.m4: New file.
60694
60695         Module xstrtol.
60696         * m4/xstrtol.m4: New file.
60697
60698         Module getdate.
60699         * m4/getdate.m4: New file.
60700
60701         Module unlocked-io.
60702         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
60703         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
60704         * m4/jm-glibc-io.m4n: Remove file.
60705
60706         Module long-options.
60707         * m4/long-options.m4: New file.
60708
60709         Module md5.
60710         * m4/md5.m4: New file.
60711
60712         Module sha.
60713         * m4/sha.m4: New file.
60714
60715         Module getstr.
60716         * m4/getstr.m4: New file.
60717
60718         Module getline.
60719         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
60720         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
60721         <sys/types.h>, for size_t. Use the function name gnu_getline, not
60722         simply getline. Infoke gl_PREREQ_GETLINE.
60723
60724         Module obstack.
60725         * m4/obstack.m4: New file.
60726
60727         Module hash.
60728         * m4/hash.m4: New file.
60729
60730         Module readtokens.
60731         * m4/readtokens.m4: New file.
60732
60733         Module strverscmp.
60734         * m4/strverscmp.m4: New file.
60735
60736         Module stdbool.
60737         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
60738         OSF/1.
60739
60740         Module strtoll.
60741         * m4/strtoll.m4: New file.
60742
60743         Module strtoull.
60744         * m4/strtoull.m4: New file.
60745
60746         Module strtoimax.
60747         * m4/strtoimax.m4: New file.
60748
60749         Module strtoumax.
60750         * m4/strtoumax.m4: New file.
60751
60752         Module xstrtoimax.
60753         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
60754         jm_AC_PREREQ_XSTRTOIMAX.
60755         Moved the strtol prerequisites to strtol.m4.
60756         Moved the strtoll prerequisites to strtoll.m4.
60757         Moved the strtoimax prerequisites to strtoimax.m4.
60758
60759         Module xstrtoumax.
60760         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
60761         jm_AC_PREREQ_XSTRTOUMAX.
60762         Moved the strtoul prerequisites to strtoul.m4.
60763         Moved the strtoull prerequisites to strtoull.m4.
60764         Moved the strtoumax prerequisites to strtoumax.m4.
60765
60766         Module chown.
60767         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
60768         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
60769
60770         Module dup2.
60771         * m4/dup2.m4: New file.
60772
60773         Module ftruncate.
60774         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
60775         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
60776
60777         Module getgroups.
60778         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
60779         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
60780
60781         Module gettimeofday.
60782         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
60783         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
60784         gl_PREREQ_GETTIMEOFDAY.
60785
60786         Module mkdir.
60787         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
60788         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
60789
60790         Module mkstemp.
60791         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
60792         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
60793         jm_AC_TYPE_UINTMAX_T.
60794         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
60795
60796         Module stat.
60797         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
60798         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
60799
60800         Module lstat.
60801         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
60802         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
60803
60804         Module timespec.
60805         * m4/timespec.m4 (gl_TIMESPEC): New macro.
60806         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
60807         * m4/st_mtim.m4: Indentation.
60808
60809         Module nanosleep.
60810         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
60811         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
60812         gl_PREREQ_NANOSLEEP.
60813
60814         Module regex.
60815         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
60816         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
60817         (gl_REGEX): New macro.
60818
60819         Module rename.
60820         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
60821         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
60822
60823         Module rmdir.
60824         * m4/rmdir.m4: New file.
60825
60826         Module utime.
60827         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
60828         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
60829         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
60830
60831         Module dirname.
60832         * m4/dirname.m4: New file.
60833
60834         Module getopt.
60835         * m4/getopt.m4: New file.
60836
60837         Module unistd-safer.
60838         * m4/unistd-safer.m4: New file.
60839
60840         Module fnmatch.
60841         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
60842         declaration.
60843         (gl_PREREQ_FNMATCH_EXTRA): New macro.
60844         (gl_FUNC_FNMATCH_POSIX): New macro.
60845         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
60846         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
60847         simply fnmatch.
60848
60849         Module exclude.
60850         * m4/exclude.m4: New file.
60851
60852         Module human.
60853         * m4/human.m4: New file.
60854
60855         Module acl.
60856         * m4/acl.m4: Nop.
60857
60858         Module backupfile.
60859         * m4/backupfile.m4: New file.
60860         * m4/d-ino.m4: Indentation.
60861
60862         Module fsusage.
60863         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
60864         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
60865         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
60866
60867         Module dirfd.
60868         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
60869         requirements.
60870
60871         Module euidaccess.
60872         * m4/euidaccess.m4: New file.
60873
60874         Module file-type.
60875         * m4/file-type.m4: New file.
60876
60877         Module fileblocks.
60878         * m4/fileblocks.m4: New file.
60879
60880         Module filemode.
60881         * m4/filemode.m4: New file.
60882
60883         Module isdir.
60884         * m4/isdir.m4: New file.
60885
60886         Module lchown.
60887         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
60888         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
60889
60890         Module makepath.
60891         * m4/makepath.m4: New file.
60892
60893         Module modechange.
60894         * m4/modechange.m4: New file.
60895
60896         Module mountlist.
60897         * m4/mountlist.m4: New file.
60898         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
60899         Indentation.
60900
60901         Module path-concat.
60902         * m4/path-concat.m4: New file.
60903
60904         Module pathmax.
60905         * m4/pathmax.m4: New file.
60906
60907         Module same.
60908         * m4/same.m4: New file.
60909
60910         Module save-cwd.
60911         * m4/save-cwd.m4: New file.
60912
60913         Module savedir.
60914         * m4/savedir.m4: New file.
60915
60916         Module xgetcwd.
60917         * m4/xgetcwd.m4: New file.
60918         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
60919
60920         Module xreadlink.
60921         * m4/xreadlink.m4: New file.
60922
60923         Module safe-read.
60924         * m4/safe-read.m4: New file.
60925
60926         Module safe-write.
60927         * m4/safe-write.m4: New file.
60928
60929         Module closeout.
60930         * m4/closeout.m4: New file.
60931
60932         Module stdio-safer.
60933         * m4/stdio-safer.m4: New file.
60934
60935         Module getpass.
60936         * m4/getpass.m4: New file.
60937
60938         Module getugroups.
60939         * m4/getugroups.m4: New file.
60940
60941         Module group-member.
60942         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
60943         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
60944
60945         Module idcache.
60946         * m4/idcache.m4: New file.
60947
60948         Module userspec.
60949         * m4/userspec.m4: New file.
60950
60951         Module gettime.
60952         * m4/clock_time.m4: New file.
60953         * m4/gettime.m4: New file.
60954
60955         Module settime.
60956         * m4/settime.m4: New file.
60957
60958         Module posixtm.
60959         * m4/posixtm.m4: New file.
60960
60961         Module gethostname.
60962         * m4/gethostname.m4: New file.
60963
60964         Module canon-host.
60965         * m4/canon-host.m4: New file.
60966
60967         Module gettext.
60968         * m4/codeset.m4: New file, from gettext-0.11.5.
60969         * m4/gettext.m4: New file, from gettext-0.11.5.
60970         * m4/glibc21.m4: New file, from gettext-0.11.5.
60971         * m4/iconv.m4: New file, from gettext-0.11.5.
60972         * m4/intdiv0.m4: New file, from gettext-0.11.5.
60973         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
60974         * m4/inttypes.m4: New file, from gettext-0.11.5.
60975         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
60976         * m4/isc-posix.m4: New file, from gettext-0.11.5.
60977         * m4/lcmessage.m4: New file, from gettext-0.11.5.
60978         * m4/lib-ld.m4: New file, from gettext-0.11.5.
60979         * m4/lib-link.m4: New file, from gettext-0.11.5.
60980         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
60981         * m4/progtest.m4: New file, from gettext-0.11.5.
60982         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
60983         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
60984         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
60985
60986         Module localcharset.
60987         * m4/localcharset.m4: New file.
60988
60989         Module hard-locale.
60990         * m4/hard-locale.m4: New file.
60991
60992         Module mbswidth.
60993         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
60994         onceonly macros.
60995         * m4/mbrtowc.m4: Add comment.
60996
60997         Module memcasecmp.
60998         * m4/memcasecmp.m4: New file.
60999
61000         Module memcoll.
61001         * m4/memcoll.m4: New file.
61002
61003         Module unicodeio.
61004         * m4/unicodeio.m4: New file.
61005
61006         Module rpmatch.
61007         * m4/rpmatch.m4: New file.
61008
61009         Module yesno.
61010         * m4/yesno.m4: New file.
61011
61012         Module exitfail.
61013         * m4/exitfail.m4: New file.
61014
61015         Module c-stack.
61016         * m4/c-stack.m4 (gl_C_STACK): New macro.
61017         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
61018
61019         Module error.
61020         * m4/error.m4 (gl_ERROR): New macro.
61021         (jm_PREREQ_ERROR): Use onceonly macros.
61022
61023         Module fatal.
61024         * m4/fatal.m4: New file.
61025
61026         Module getloadavg.
61027         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
61028         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
61029
61030         Module getpagesize.
61031         * m4/getpagesize.m4: New file.
61032
61033         Module getusershell.
61034         * m4/getusershell.m4: New file.
61035
61036         Module physmem.
61037         * m4/physmem.m4: New file.
61038
61039         Module posixver.
61040         * m4/posixver.m4: New file.
61041
61042         Module quotearg.
61043         * m4/quotearg.m4: New file.
61044
61045         Module quote.
61046         * m4/quote.m4: New file.
61047
61048         Module readutmp.
61049         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
61050
61051         Module sig2str.
61052         * m4/sig2str.m4: New file.
61053
61054         Other.
61055         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
61056         ulonglong.m4.
61057         * m4/intmax_t.m4: New file.
61058         * m4/d-type.m4: Indentation.
61059         * m4/jm-macros.m4: Update.
61060         * m4/prereq.m4 (jm_PREREQ): Update.
61061         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
61062         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
61063         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
61064         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
61065         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
61066         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
61067         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
61068         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
61069         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
61070         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
61071         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
61072         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
61073         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
61074         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
61075         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
61076         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
61077         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
61078         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
61079         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
61080
61081 2002-12-24  Bruno Haible  <bruno@clisp.org>
61082
61083         * MODULES.txt: Update according to m4/ changes.
61084
61085         Module gettext.
61086         * config.rpath: New file, from gettext-0.11.5.
61087
61088         * modules/*: New module descriptions.
61089         * gnulib-tool: New file.
61090         * MODULES.html.sh: New file.
61091
61092 2002-12-21  Karl Berry  <karl@gnu.org>
61093
61094         * doc/fdl.texi: update to version 1.2.
61095
61096 2002-12-19  Karl Berry  <karl@gnu.org>
61097
61098         * config/config.guess: update from prep.
61099
61100 2002-12-18  Bruno Haible  <bruno@clisp.org>
61101
61102         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
61103         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
61104
61105 2002-12-17  Bruno Haible  <bruno@clisp.org>
61106
61107         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
61108         stdlib.h, string.h.
61109
61110 2002-12-17  Bruno Haible  <bruno@clisp.org>
61111
61112         * lib/canon-host.c (strdup): Remove unused declaration.
61113
61114         * lib/fsusage.c: Include full_read.h.
61115         (get_fs_usage): Use full_read instead of safe_read.
61116
61117         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
61118
61119 2002-12-12  Karl Berry  <karl@gnu.org>
61120
61121         * config/config.guess: update from prep.
61122
61123 2002-12-11  Bruno Haible  <bruno@clisp.org>
61124
61125         * m4/setenv.m4: New file, from gettext-0.11.5.
61126
61127 2002-12-11  Bruno Haible  <bruno@clisp.org>
61128
61129         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
61130         not unsetenv().
61131         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
61132         modifications:
61133
61134         2002-12-11  Bruno Haible  <bruno@clisp.org>
61135
61136                 * setenv.c (alloca): Fall back to malloc.
61137                 (freea): New macro.
61138                 (setenv): Use freea() to free memory allocated with alloca().
61139
61140         2002-11-13  Bruno Haible  <bruno@clisp.org>
61141
61142                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
61143                 function declarations.
61144                 * unsetenv.c (unsetenv): Likewise.
61145
61146         2002-03-04  Bruno Haible  <bruno@clisp.org>
61147
61148                 Portability to AIX 4.3.3.
61149                 * unsetenv.c: New file, extracted from setenv.c.
61150                 * setenv.c: Move the unsetenv() function to unsetenv.c.
61151
61152         2001-12-20  Bruno Haible  <bruno@clisp.org>
61153
61154                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
61155                 use malloc instead. For SunOS 4.
61156
61157         2001-12-11  Bruno Haible  <bruno@clisp.org>
61158
61159                 * setenv.c: Declare alloca.
61160                 (compar_fn_t): New typedef.
61161                 (KNOWN_VALUE, STORE_VALUE): Use it.
61162
61163         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
61164         setenv.h.
61165
61166 2002-12-10  Paul Eggert  <eggert@twinsun.com>
61167
61168         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
61169         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
61170         Choose values that are less likely to collide with system fnmatch
61171         options.
61172         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
61173         defined (e.g., a pure POSIX system).
61174         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
61175         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
61176
61177 2002-12-06  Paul Eggert  <eggert@twinsun.com>
61178
61179         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
61180         a pain in practice to deal with generated m4 files.  This change
61181         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
61182
61183         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
61184         and jm-glibc-io.m4, as they are no longer a special case.
61185         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
61186         kludge and the auto-generation stuff.  Check only whether the
61187         functions are declared, not whether they exist, since older hosts
61188         that don't declare the functions can't use the optimization anyway.
61189
61190 2002-12-06  Jim Meyering  <jim@meyering.net>
61191
61192         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
61193
61194         Merge in changes from libc's misc/error.c, in preparation
61195         for the merge of gnulib's changes back into libc.
61196
61197         * lib/error.c (_): Define only if not already defined.
61198         Move definition to follow all #include directives.
61199         Include unlocked-io.h only if !_LIBC.
61200         [_LIBC]: Include <libio/libioP.h>.
61201         [USE_IN_LIBIO]: Include <libio/iolibio.h>
61202         (fflush): Tweak definition to use INTUSE.
61203         (putc): Define.
61204
61205 2002-12-05  Paul Eggert  <eggert@twinsun.com>
61206
61207         * lib/alloca.c [defined emacs]: Include "lisp.h".
61208         (xalloc_die) [defined emacs]: New macro.
61209         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
61210         [! defined emacs]: Include <xalloc.h>.
61211         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
61212         (pointer): Typedef to POINTER_TYPE *.
61213         (malloc): Remove decl; we now always use xmalloc.
61214         (alloca): Use old-style definition, since Emacs needs this.
61215         Check for arithmetic overflow when computing combined size.
61216
61217 2002-12-04  Paul Eggert  <eggert@twinsun.com>
61218
61219         Do not generate unlocked-io.h automatically, since it's easier to
61220         maintain it by hand.
61221
61222         * lib/unlocked-io.h: New file, from GNU diffutils,
61223         but with proper copyright notice and attribution.
61224         * lib/gen-uio: Remove.
61225         * lib/Makefile.am: Add copyright notice.
61226         (libfetish_a_SOURCES): Add unlocked-io.h.
61227         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
61228         (DISTCLEANFILES, io_functions): Remove macros.
61229         (EXTRA_DIST): Remove gen_uio.
61230         (unlocked-io.h): Remove rule.
61231
61232 2002-12-04  Jim Meyering  <jim@meyering.net>
61233
61234         Reflect the fact that stat.c and lstat.c are no longer generated.
61235         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
61236         (DISTCLEANFILES): Likewise.
61237         (EXTRA_DIST): Likewise.
61238         (all_local): Don't depend on stat.c or lstat.c.
61239         (stat.c, lstat.c): Remove rules.
61240         (EXTRA_DIST): Remove xstat.in.
61241
61242         * lib/xstat.in: Remove file.  Contents moved into stat.c.
61243         * lib/stat.c: New file.  Contents mostly from xstat.in.
61244         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
61245         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
61246
61247         * lib/safe-read.c: Rework so that it may serve to define safe_write,
61248         too.
61249         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
61250
61251 2002-12-03  Jim Meyering  <jim@meyering.net>
61252
61253         * lib/safe-read.c, safe-write.c: Change variable names and comments,
61254         but not semantics, to minimize the differences between these two files.
61255         (safe_read): Change comment to mention SAFE_READ_ERROR.
61256
61257         * lib/safe-read.c (IS_EINTR): Define.
61258         (safe_read): Use IS_EINTR in place of in-function cpp directives.
61259
61260 2002-12-02  Jim Meyering  <jim@meyering.net>
61261
61262         * lib/safe-read.c (EINTR): Define.
61263         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
61264         (INT_MAX): Provide fallback.
61265         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
61266
61267         * lib/safe-read.h (SAFE_READ_ERROR): Define.
61268
61269 2002-12-02  Bruno Haible  <bruno@clisp.org>
61270
61271         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
61272         Define, taken from safe-read.c.
61273         (INT_MAX): Provide fallback.
61274         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
61275         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
61276
61277         * lib/safe-read.c (EINTR): Remove definition.
61278         (safe_read): Don't use EINTR if it is absent.
61279
61280 2002-12-01  Jim Meyering  <jim@meyering.net>
61281
61282         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
61283         zero.
61284         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
61285
61286 2002-11-27  Paul Eggert  <eggert@twinsun.com>
61287
61288         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
61289         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
61290         with `if (! (value < limit)) abort ();', for readability.
61291
61292 2002-11-26  Karl Berry  <karl@gnu.org>
61293
61294         * lib/strdup.c: copy from libc again, with jim's ok.
61295         * lib/.cppi-disable: re-add strdup.c
61296
61297 2002-11-25  Karl Berry  <karl@gnu.org>
61298
61299         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
61300         instead of "strtol.c".
61301
61302 2002-11-25  Karl Berry  <karl@gnu.org>
61303
61304         * config/install-sh: update from automake for variable quoting, $0 in
61305         error msgs, etc.
61306
61307         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
61308         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
61309         entry.
61310
61311 2002-11-25  Jim Meyering  <jim@meyering.net>
61312
61313         * lib/mktime.c: Sync from libc, now that it has the latest fix.
61314
61315 2002-11-24  Karl Berry  <karl@gnu.org>
61316
61317         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
61318         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
61319
61320 2002-11-24  Jim Meyering  <jim@meyering.net>
61321
61322         Update from coreutils:
61323
61324         * lib/mktime.c: Merge in changes from libc.
61325
61326         Avoid a link-time failure on some Linux systems.
61327         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
61328         (otherwise).
61329         (__mon_yday): Declare with the STATIC attribute.
61330         (__mktime_internal): Likewise.
61331         Based on a report from Greg Schafer.
61332
61333 2002-11-23  Jim Meyering  <jim@meyering.net>
61334
61335         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
61336         Use `unsigned', not `int', as type of index.
61337
61338         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
61339
61340         * lib/fsusage.c: Remove unneeded parentheses around operands of
61341         `defined'.
61342
61343 2002-11-22  Paul Eggert  <eggert@twinsun.com>
61344
61345         * lib/quotearg.h: Allow multiple inclusion by surrounding with
61346         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
61347         so that we can be included first.
61348         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
61349         * lib/quotearg.c: Include quotearg.h immediately after config.h.
61350         No need to include stddef.h or sys/types.h any more.
61351         Surround local include files with "", not "<>".
61352         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
61353         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
61354         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
61355         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
61356         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
61357         (ISPRINT): Remove; no longer needed now that we assume C89.
61358
61359         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
61360         Preserve errno.
61361
61362         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
61363         quotearg_char): Use SIZE_MAX rather than
61364         (size_t) -1 when we are talking about "infinity".
61365
61366         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
61367
61368 2002-11-22  Paul Eggert  <eggert@twinsun.com>
61369
61370         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
61371         hint that one should use `if (! x) abort ();' rather than `assert
61372         (x);', and anyway it's one less thing to worry about configuring.
61373         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
61374         hash_rehash, hash_insert): Use abort rather than assert.
61375
61376 2002-11-22  Bruno Haible  <bruno@clisp.org>
61377
61378         * lib/safe-read.h: Assume C89. Add comments.
61379         (safe_read): Change return type to size_t.
61380         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
61381         byte counts > SSIZE_MAX correctly.
61382         * lib/safe-write.h: New file.
61383         * lib/safe-write.c: New file.
61384         * lib/full-read.h: New file.
61385         * lib/full-read.c: New file.
61386         * lib/full-write.h: Assume C89. Add comments.
61387         * lib/full-write.c: Include safe-write.h.
61388         (full_write): Rewritten to use safe_write.
61389         Suggested by Jim Meyering and Paul Eggert.
61390
61391 2002-11-21  Jim Meyering  <jim@meyering.net>
61392
61393         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
61394
61395         Merge in changes from the coreutils.
61396
61397         2002-09-25  Paul Eggert  <eggert@twinsun.com>
61398         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
61399         <stdint.h>.
61400         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
61401         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
61402         int.  Work more efficiently if X is the same width as uintmax_t.
61403         Do not compare X to -1, to avoid bogus compiler warning.
61404         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
61405         Don't assume that f_frsize and f_bsize are the same type.
61406
61407         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
61408         warning on FreeBSD.
61409
61410         * lib/makepath.c (make_path): Restore umask *before* creating the final
61411         component.
61412         (make_path): Minor reformatting.
61413
61414         * lib/xmalloc.c: Adjust to work with new autoconf macros,
61415         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
61416         HAVE_MALLOC/HAVE_REALLOC.
61417
61418         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
61419         dummy ones.  At least on GNU/Linux systems, `auto' means something
61420         else.
61421         From Michael Stone.
61422
61423 2002-11-21  Bruno Haible  <bruno@clisp.org>
61424
61425         Remove case insensitive option matching.
61426         * lib/argmatch.h (argcasematch): Remove declaration.
61427         (ARGCASEMATCH): Remove macro.
61428         (__xargmatch_internal): Remove case_sensitive argument.
61429         (XARGMATCH): Update.
61430         (XARGCASEMATCH): Remove macro.
61431         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
61432         case_sensitive argument.
61433         (argcasematch): Remove function.
61434         (__xargmatch_internal): Remove case_sensitive argument.
61435         (main): Use XARGMATCH instead of XARGCASEMATCH.
61436
61437         * lib/xmalloc.c: Change compile-time error message. Add comment about
61438         required autoconf version.
61439
61440 2002-11-20  Paul Eggert  <eggert@twinsun.com>
61441
61442         Merge argmatch cleanups from Bison.  Assume C89.
61443
61444         * lib/argmatch.c: Include config.h here, not in argmatch.h.
61445         Include stdlib.h, for EXIT_FAILURE.
61446         Always include <string.h>, since we assume C89.
61447         (EXIT_FAILURE): Remove pre-C89 bug workaround.
61448         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
61449         Include <stddef.h> instead, since it's all we need for size_t.
61450         (PARAMS): Remove.  All uses removed.
61451         (ARRAY_CARDINALITY): Do not bother to #undef.
61452         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
61453         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
61454         Remove unnecessary parentheses.
61455         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
61456         Insert necessary parentheses.
61457         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
61458         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
61459
61460 2002-11-19  Bruno Haible  <bruno@clisp.org>
61461
61462         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
61463         * lib/mbswidth.h: Include <stddef.h>, for size_t.
61464
61465         * lib/mbswidth.h (PARAMS): Remove macro.
61466         (mbswidth, mbsnwidth): Use ANSI C function declarations.
61467         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
61468
61469         * lib/gcd.h (PARAMS): Remove macro.
61470         (gcd): Use ANSI C function declarations.
61471         * lib/gcd.c (gcd): Likewise.
61472
61473 2002-11-15  Bruno Haible  <bruno@clisp.org>
61474
61475         * lib/strcspn.c: Include <stddef.h>.
61476         (strcspn): Use ANSI C function declaration. Change return type to
61477         size_t. Use NULL.
61478         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
61479         (strpbrk): Use NULL.
61480         * lib/strpbrk.h (PARAMS): Remove macro.
61481         (strpbrk): Use ANSI C function declaration.
61482         * lib/strstr.c: Don't include <sys/types.h>.
61483         * lib/strstr.h (PARAMS): Remove macro.
61484         (strstr): Use ANSI C function declarations.
61485
61486 2002-11-14  Karl Berry  <karl@gnu.org>
61487
61488         * config/mkinstalldirs: `do' on separate line, instead of
61489         `for var; do'.
61490
61491 2002-11-06  Bruno Haible  <bruno@clisp.org>
61492
61493         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
61494         * lib/gcd.c (gcd): Likewise.
61495
61496 2002-11-05  Bruno Haible  <bruno@clisp.org>
61497
61498         * lib/gcd.h: New file, from gettext-0.11.5.
61499         * lib/gcd.c: New file, from gettext-0.11.5.
61500
61501 2002-11-05  Bruno Haible  <bruno@clisp.org>
61502
61503         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
61504         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
61505         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
61506         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
61507
61508         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
61509         <libintl.h>.
61510         * lib/makepath.c: Include gettext.h instead of <locale.h> and
61511         <libintl.h>.
61512
61513         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
61514         * lib/human.c: Include gettext.h instead of <libintl.h>.
61515         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
61516         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
61517         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
61518         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
61519         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
61520         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
61521         (textdomain): Remove definition.
61522         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
61523
61524         * lib/long-options.c: Remove include of <libintl.h> and definition of
61525         _.
61526         * lib/same.c: Remove include of <libintl.h> and definition of _.
61527
61528 2002-11-04  Owen Taylor  <otaylor@redhat.com>
61529
61530         * lib/config.charset: A few additions for Solaris.
61531
61532 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
61533
61534         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
61535         * lib/localcharset.c (locale_charset): Declare as extern "C".
61536
61537 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
61538
61539         * lib/config.charset: msdos in uk_UA uses CP1125.
61540
61541 2002-11-04  Bruno Haible  <bruno@clisp.org>
61542
61543         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
61544         * lib/strcase.h: New file, from GNU gettext-0.11.5.
61545         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
61546         * lib/strstr.h: New file, from GNU gettext-0.11.5.
61547         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
61548
61549 2002-11-04  Bruno Haible  <bruno@clisp.org>
61550
61551         * lib/localcharset.c (locale_charset): Don't return an empty string.
61552
61553 2002-11-04  Bruno Haible  <bruno@clisp.org>
61554
61555         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
61556         aliases.
61557
61558 2002-11-04  Bruno Haible  <bruno@clisp.org>
61559
61560         * lib/config.charset: Update for newest glibc. Add canonical names
61561         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
61562
61563 2002-11-04  Bruno Haible  <bruno@clisp.org>
61564
61565         * lib/config.charset: Add support for NetBSD.
61566
61567 2002-11-04  Bruno Haible  <bruno@clisp.org>
61568
61569         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
61570
61571 2002-11-01  Bruno Haible  <bruno@clisp.org>
61572
61573         * configure.in: Add AC_CONFIG_AUX_DIR call.
61574         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
61575         test/Makefile.
61576         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
61577
61578 2002-09-28  Karl Berry  <karl@gnu.org>
61579
61580         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
61581         installed automake until the next release, since changes have been
61582         made.
61583
61584 2002-09-25  Karl Berry  <karl@gnu.org>
61585
61586         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
61587         * lib/getopt*: copy from libc/posix.
61588         * lib/gettext.h: copy from gettext.
61589         * lib/.cppi-disable: add strdup.c, gettext.h.
61590
61591 2002-09-25  Karl Berry  <karl@gnu.org>
61592
61593         * config/srclist.txt: enable gettext.h check.
61594         * config/config.{guess,sub}: update from prep.
61595         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
61596                 from automake 1.6.3.
61597         See srclist*.
61598
61599 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
61600
61601         * regex.c (PATFETCH): Remove the translating fetch.
61602         (PATFETCH_RAW): Rename to PATFETCH.
61603         (set_image_of_range): New fun.
61604         (SET_RANGE_TABLE_WORK_AREA): Use it.
61605         (regex_compile): Don't translate the pattern chars so eagerly.
61606         Only do it when inserting an `exactn' bytecode or when handling
61607         a char-range.
61608         (mutually_exclusive_p): Avoid empty statement.
61609
61610 2002-07-06  Jim Meyering  <meyering@lucent.com>
61611
61612         * m4/README: Don't mention Makefile.am.in.
61613         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
61614
61615 2002-07-01  Jim Meyering  <meyering@lucent.com>
61616
61617         * lib/c-stack.c: Include sys/time.h.
61618         From Volker Borchert.
61619
61620 2002-06-26  Paul Eggert  <eggert@twinsun.com>
61621
61622         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
61623
61624 2002-06-26  Paul Eggert  <eggert@twinsun.com>
61625
61626         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
61627         New macro.  Use it uniformly instead of
61628         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
61629         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
61630         reported by Vin Shelton.
61631
61632 2002-06-22  Paul Eggert  <eggert@twinsun.com>
61633
61634         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
61635         Do not assume SA_SIGINFO behavior.
61636         Bug reported by Jim Meyering on NetBSD 1.5.2.
61637
61638 2002-06-22  Jim Meyering  <meyering@lucent.com>
61639
61640         * m4/c-stack.m4: New file, from diffutils-2.8.2.
61641         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
61642
61643         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
61644         now that configure.ac uses AC_GNU_SOURCE.
61645         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
61646         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
61647
61648         Update to latest tools.  Suggestions from Paul Eggert.
61649         * m4/stdbool.m4: New file, from diffutils-2.8.2.
61650         * m4/gnu-source.m4: Update from diffutils-2.8.2.
61651         * m4/fnmatch.m4: Likewise.
61652         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
61653         to AC_HEADER_STDBOOL
61654
61655 2002-06-22  Jim Meyering  <meyering@lucent.com>
61656
61657         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
61658         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
61659
61660 2002-06-22  Jim Meyering  <meyering@lucent.com>
61661
61662         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
61663
61664         * lib/exitfail.c, exitfail.h: Likewise.
61665         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
61666
61667         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
61668         of fnmatch.h.
61669         (EXTRA_DIST): Add fnmatch_loop.c.
61670         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
61671
61672         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
61673         * lib/fnmatch.c: Update from diffutils-2.8.2.
61674         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
61675         * lib/fnmatch.h: Remove file.
61676
61677 2002-06-21  Jim Meyering  <meyering@lucent.com>
61678
61679         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
61680         * m4/mbrtowc.m4: Likewise.
61681
61682         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
61683         * m4/mbswidth.m4: Reflect name change:
61684         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
61685         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
61686
61687         * m4/lib-link.m4: Update from gettext-0.11.2.
61688         * m4/gettext.m4: Likewise.
61689
61690         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
61691         From Alfred M. Szmidt.
61692
61693 2002-06-18  Paul Eggert  <eggert@twinsun.com>
61694
61695         * lib/file-type.h: Report an error if neither S_ISREG nor
61696         S_IFREG is defined, instead of using a test specific to glibc
61697         2.2.  This should be safe, since POSIX requires S_ISREG and
61698         Unix Version 7 had S_IFREG.  We don't need to check for
61699         <sys/types.h> since we don't use any symbols that it defines.
61700
61701 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
61702
61703         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
61704         $@-t, so that each temporary file name is unique and valid in the first
61705         8 characters, for operation under DOS.
61706
61707 2002-06-15  Paul Eggert  <eggert@twinsun.com>
61708
61709         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
61710
61711 2002-06-15  Jim Meyering  <meyering@lucent.com>
61712
61713         Work even with DJGPP 2.03, which lacks support for symlinks.
61714         From Richard Dawe.
61715         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
61716         is defined.
61717         * lib/lchown.c (S_ISLNK): Likewise.
61718
61719 2002-06-15  Jim Meyering  <meyering@lucent.com>
61720
61721         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
61722         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
61723         have been included before this file.
61724
61725 2002-06-14  Jim Meyering  <meyering@lucent.com>
61726
61727         * lib/file-type.h: Use the version from diffutils-2.8.2.
61728         * lib/file-type.c: Likewise.
61729
61730 2002-06-07  Jim Meyering  <meyering@lucent.com>
61731
61732         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
61733         They're needed at least for NetBSD 1.5.2.
61734         ($statxfs_includes): Include those same headers.
61735         ($statxfs_includes): Include sys/vfs.h if available.
61736         ($statxfs_includes): Likewise for sys/statvfs.h.
61737         Check for the following members in both structs statfs and statvfs:
61738         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
61739
61740 2002-06-01  Jim Meyering  <meyering@lucent.com>
61741
61742         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
61743         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
61744
61745 2002-05-28  Jim Meyering  <meyering@lucent.com>
61746
61747         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
61748         Reported by Volker Borchert.
61749
61750 2002-05-27  Jim Meyering  <meyering@lucent.com>
61751
61752         Fix a problem seen only on nonconforming systems whereby ls.c's
61753         use of localtime, and then of gettimeofday would cause trouble:
61754         the localtime call used to initialize rpl_gettimeofday's save
61755         mechanism would clobber ls's current local time information so
61756         that in any long listing the first file would always be listed
61757         with date 1970-01-01.  Analysis by Volker Borchert.
61758
61759         * lib/gettimeofday.c (localtime): Undefine.
61760         (rpl_localtime): New function.
61761
61762 2002-05-27  Jim Meyering  <meyering@lucent.com>
61763
61764         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
61765         localtime.
61766
61767         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
61768         use the replacement function; it wouldn't resolve at link time.
61769         Reported by Volker Borchert.
61770
61771 2002-05-22  Jim Meyering  <meyering@lucent.com>
61772
61773         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
61774         file-type.h.
61775         * lib/file-type.h: New file.
61776         * lib/file-type.c (file_type): New file/function.  Extracted from
61777         diffutils.
61778
61779 2002-04-30  Jim Meyering  <meyering@lucent.com>
61780
61781         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
61782
61783 2002-04-29  Paul Eggert  <eggert@twinsun.com>
61784
61785         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
61786
61787 2002-04-29  Paul Eggert  <eggert@twinsun.com>
61788
61789         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
61790         Do not check for alloca.h (no longer used) or stdbool.h (was never
61791         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
61792
61793 2002-04-29  Paul Eggert  <eggert@twinsun.com>
61794
61795         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
61796
61797 2002-04-29  Jim Meyering  <meyering@lucent.com>
61798
61799         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
61800         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
61801         Use AC_FUNC_STRNLEN here instead.
61802
61803         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
61804         With autoconf-2.53a, it's part of AC_PROG_CC.
61805
61806 2002-04-28  Paul Eggert  <eggert@twinsun.com>
61807
61808         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
61809         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
61810
61811 2002-04-28  Paul Eggert  <eggert@twinsun.com>
61812
61813         * lib/sig2str.h, lib/sig2str.c: New files.
61814         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
61815
61816 2002-04-28  Paul Eggert  <eggert@twinsun.com>
61817
61818         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
61819         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
61820         of 127, since 64 is the largest conceivable number for ancient
61821         nonstandard hosts.
61822         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
61823
61824 2002-04-28  Jim Meyering  <meyering@lucent.com>
61825
61826         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
61827
61828 2002-04-24  Jim Meyering  <meyering@lucent.com>
61829
61830         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
61831         (jm_PREREQ): Use it.
61832
61833         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
61834         mach/mach.h fcntl.h.
61835         Check for this function: setlocale.
61836
61837 2002-04-24  Jim Meyering  <meyering@lucent.com>
61838
61839         * lib/gettext.h: New file, from Gettext.
61840         * lib/Makefile.am (INCLUDES): Remove -I../intl.
61841         (libfetish_a_SOURCES): Add gettext.h.
61842
61843 2002-04-16  Jim Meyering  <meyering@lucent.com>
61844
61845         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
61846         ut_pid, ut_id, ut_exit.
61847
61848 2002-04-16  Jim Meyering  <meyering@lucent.com>
61849
61850         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
61851         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
61852         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
61853
61854 2002-04-12  Jim Meyering  <meyering@lucent.com>
61855
61856         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
61857         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
61858         existence of the getmntinfo function.  Needed for Darwin 5.3.
61859
61860         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
61861         This is necessary at least on Darwin 5.3.
61862
61863         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
61864         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
61865         strnlen.o in the library, and that makes some versions of ranlib
61866         object.
61867
61868 2002-04-12  Jim Meyering  <meyering@lucent.com>
61869
61870         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
61871
61872 2002-04-09  Jim Meyering  <meyering@lucent.com>
61873
61874         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
61875         to be more precise.  Rather than saying we're checking whether the
61876         function `works', say what we're testing.
61877         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
61878         Reported by Bruno Haible.
61879
61880 2002-03-10  Jim Meyering  <meyering@lucent.com>
61881
61882         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
61883         Suggestion from Santiago Vila.
61884
61885 2002-03-08  Jim Meyering  <meyering@lucent.com>
61886
61887         * lib/rename.c: Mention that this wrapper is needed also on
61888         mips-dec-ultrix4.4 systems.
61889
61890 2002-03-02  Jim Meyering  <meyering@lucent.com>
61891
61892         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
61893         not HAVE_CLOCK_SETTIME.
61894
61895 2002-02-27  Paul Eggert  <eggert@twinsun.com>
61896
61897         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
61898         Check for clock_settime.
61899
61900 2002-02-27  Paul Eggert  <eggert@twinsun.com>
61901
61902         * lib/nanosleep.h: Rename to....
61903         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
61904
61905         * lib/gettime.c: New file.
61906         * lib/settime.c: New file.
61907         * lib/stime.c: Remove.
61908
61909         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
61910         timespec.h.  Remove nanosleep.h.
61911
61912 2002-02-25  Paul Eggert  <eggert@twinsun.com>
61913
61914         * m4/acl.m4: New file.
61915         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
61916         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
61917
61918 2002-02-25  Paul Eggert  <eggert@twinsun.com>
61919
61920         * lib/acl.c, lib/acl.h: New files.
61921         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
61922
61923 2002-02-24  Jim Meyering  <meyering@lucent.com>
61924
61925         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
61926         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
61927         cause trouble.  Reported by Nelson Beebe.
61928
61929 2002-02-23  Paul Eggert  <eggert@twinsun.com>
61930
61931         * lib/path-concat.c (xpath_concat): Reorder code to pacify
61932         compilers that don't know that xalloc_die never returns.
61933
61934 2002-02-20  Jim Meyering  <meyering@lucent.com>
61935
61936         * lib/getdate.c: Regenerate using bison-1.33.
61937
61938 2002-02-17  Jim Meyering  <meyering@lucent.com>
61939
61940         * config/config.guess (main): Don't use `head -1'; it's no longer
61941         portable. Use `sed 1q' instead.
61942
61943 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
61944
61945         * m4/codeset.m4: Upgrade to gettext-0.11.
61946         * m4/gettext.m4: Upgrade to gettext-0.11.
61947         * m4/glibc21.m4: Upgrade to gettext-0.11.
61948         * m4/iconv.m4: Upgrade to gettext-0.11.
61949         * m4/isc-posix.m4: Upgrade to gettext-0.11.
61950         * m4/lcmessage.m4: Upgrade to gettext-0.11.
61951         * m4/lib-ld.m4: New file, from gettext-0.11.
61952         * m4/lib-link.m4: New file, from gettext-0.11.
61953         * m4/lib-prefix.m4: New file, from gettext-0.11.
61954         * m4/progtest.m4: Upgrade to gettext-0.11.
61955
61956 2002-02-15  Paul Eggert  <eggert@twinsun.com>
61957
61958         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
61959         (jm_PREREQ): Use it.
61960
61961 2002-02-15  Paul Eggert  <eggert@twinsun.com>
61962
61963         * lib/posixver.c, lib/posixver.h: New files.
61964         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
61965
61966 2002-02-02  Paul Eggert  <eggert@twinsun.com>
61967             Bruno Haible  <bruno@clisp.org>
61968
61969         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
61970         (fwrite_success_callback): New declaration.
61971         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
61972         print_unicode_char. Call failure callback instead of error.
61973         (fwrite_success_callback): New function.
61974         (exit_failure_callback): New function.
61975         (fallback_failure_callback): New function.
61976         (print_unicode_char): Call unicode_to_mb.
61977
61978 2002-01-26  Jim Meyering  <meyering@lucent.com>
61979
61980         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
61981         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
61982
61983 2002-01-26  Jim Meyering  <meyering@lucent.com>
61984
61985         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
61986
61987 2002-01-22  Paul Eggert  <eggert@twinsun.com>
61988
61989         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
61990
61991 2002-01-22  Jim Meyering  <meyering@lucent.com>
61992
61993         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
61994         Otherwise, some versions of automake would omit the rule that makes
61995         Makefile from Makefile.in.
61996
61997 2002-01-21  Paul Eggert  <eggert@twinsun.com>
61998
61999         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
62000         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
62001         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
62002         (memcoll): Set errno to zero if there is no error.
62003
62004         * lib/quotearg.c (quotearg_buffer_restyled):
62005         Fix bug with quoting buffers containing NUL when backslashing escapes.
62006         This bug was exposed by the other changes in this patch.
62007         (quotearg_n_options): New arg ARGSIZE.
62008         All callers changed.
62009         (quoting_options_from_style): New function.
62010         (quotearg_n_style): Use it.
62011         (quotearg_n_style_mem): New function.
62012
62013         * lib/quotearg.h (quotearg_n_style_mem): New function.
62014
62015 2002-01-19  Jim Meyering  <meyering@lucent.com>
62016
62017         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
62018         Remove useless quotes: DF_PROG="df".
62019         * m4/strnlen.m4: New file.
62020
62021 2002-01-16  Paul Eggert  <eggert@twinsun.com>
62022
62023         * lib/backupfile.c (ISDIGIT): Comment fix.
62024         * lib/getdate.y (ISDIGIT): Likewise.
62025         * lib/posixtm.c (ISDIGIT, year): Likewise.
62026         * lib/strverscmp.c (ISDIGIT): Likewise.
62027         * lib/userspec.c (ISDIGIT): Likewise.
62028
62029 2002-01-16  Jim Meyering  <meyering@lucent.com>
62030
62031         * lib/getdate.y: Add three semicolons, each just before a closing
62032         brace. Bison (as of version 1.31) no longer papers over that mistake.
62033
62034 2002-01-05  Jim Meyering  <meyering@lucent.com>
62035
62036         * lib/version-etc.c (version_etc_copyright): Update copyright year.
62037
62038 2001-12-19  Paul Eggert  <eggert@twinsun.com>
62039
62040         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
62041         not silently exit merely because the output buffer happens to
62042         have nothing pending.
62043
62044 2001-12-18  Paul Eggert  <eggert@twinsun.com>
62045
62046         See the big note in ../ChangeLog.
62047         * lib/human.c (suffixes): Prefer K to k for 1024.
62048         (generate_suffix_backwards): New function.
62049         (human_readable_inexact): Use it.
62050         * lib/xstrtol.c (__xstrtol): If there is no number but there
62051         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
62052         Accept 'K' as well as 'k'.
62053
62054 2001-12-15  Jim Meyering  <meyering@lucent.com>
62055
62056         * lib/regex.h (__restrict_arr): Update from libc.
62057
62058         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
62059         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
62060         (STREQ): Define.
62061
62062 2001-12-14  Jim Meyering  <meyering@lucent.com>
62063
62064         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
62065         Suggestion from Bruno Haible.
62066
62067 2001-12-10  Jim Meyering  <meyering@lucent.com>
62068
62069         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
62070         xrealloc, Instead, include "xalloc.h".
62071         (initbuffer): Don't cast xmalloc return value to char*.
62072         (readline): Reword comment.
62073         Don't cast xrealloc return value to char*
62074         Return NULL, not 0.
62075
62076 2001-12-09  Jim Meyering  <meyering@lucent.com>
62077
62078         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
62079         about `signed and unsigned type in conditional expression'.
62080         * lib/posixtm.c (posix_time_parse): Likewise.
62081
62082         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
62083
62084         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
62085         to avoid a pedantic warning.
62086
62087         * lib/getstr.c: Don't include assert.h.
62088         (getstr): Remove warning-evoking assertions.
62089         Return -1 if offset parameter is out of bounds.
62090         Change the type of a local from int to size_t.
62091
62092         * lib/strftime.c (my_strftime_localtime_r): Include this function
62093         definition in the `#if ! HAVE_TM_GMTOFF' block.
62094
62095         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
62096         Include xalloc.h instead.
62097
62098 2001-12-02  Jim Meyering  <meyering@lucent.com>
62099
62100         * lib/tempname.c: Don't declare getenv, thus reverting the change of
62101         2001-11-18.  It's no longer necessary, now that stdlib.h is always
62102         included.
62103
62104         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
62105         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
62106
62107 2001-11-30  Akim Demaille  <akim@epita.fr>
62108
62109         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
62110         before being defined.
62111
62112 2001-11-27  Paul Eggert  <eggert@twinsun.com>
62113
62114         * lib/quotearg.h (quotearg_n, quotearg_n_style):
62115         First arg is int, not unsigned.
62116         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
62117         (SIZE_MAX, UINT_MAX): New macros.
62118         (quotearg_n_options): Abort if N is negative.
62119         Avoid overflow check on hosts where size_t is 64 bits and int
62120         is 32 bits, as overflow is impossible there.
62121         Fix off-by-one typo that caused unnecessary reallocation.
62122
62123 2001-11-27  Jim Meyering  <meyering@lucent.com>
62124
62125         * lib/tempname.c: Merge with version from libc.
62126         * lib/regex.c: Likewise.
62127
62128         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
62129         systems for which STDC_HEADERS is 0, it was not included, resulting in
62130         a warning about an integer-to-pointer conversion problem with getenv.
62131         Reported by Volker Borchert.
62132
62133 2001-11-26  Jim Meyering  <meyering@lucent.com>
62134
62135         * lib/gtod.h: Remove file.
62136         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
62137         * lib/gettimeofday.c: Don't include gtod.h.
62138         (GTOD_init): Remove function.
62139         (rpl_gettimeofday): Do its job here instead, rather than aborting.
62140         Suggestion from Volker Borchert.
62141
62142 2001-11-23  Jim Meyering  <meyering@lucent.com>
62143
62144         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
62145         it.
62146         * lib/hash.c (struct hash_table): Define it here instead.
62147
62148 2001-11-22  Jim Meyering  <meyering@lucent.com>
62149
62150         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
62151
62152 2001-11-20  Jim Meyering  <meyering@lucent.com>
62153
62154         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
62155         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
62156
62157 2001-11-19  Jim Meyering  <meyering@lucent.com>
62158
62159         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
62160         directory.  Use "conftestXXXXXX" as the template.
62161         Suggestion from Paul Eggert.
62162
62163         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
62164         immediately, so the test doesn't mistakenly hit the max-open-files
62165         limit.
62166
62167 2001-11-18  Paul Eggert  <eggert@twinsun.com>
62168
62169         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
62170         (TEMPORARIES): New macro.
62171         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
62172         removes an artificial limitation (e.g. HP-UX 10.20, where
62173         TMP_MAX is 17576).
62174
62175 2001-11-18  Jim Meyering  <meyering@lucent.com>
62176
62177         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
62178
62179 2001-11-18  Jim Meyering  <meyering@lucent.com>
62180
62181         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
62182         on SunOS 4.
62183
62184         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
62185         files will be created before anything else.
62186
62187 2001-11-17  Paul Eggert  <eggert@twinsun.com>
62188
62189         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
62190         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
62191
62192 2001-11-17  Jim Meyering  <meyering@lucent.com>
62193
62194         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
62195         Prompted by a report from Bob Proulx.
62196
62197         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
62198         Instead, require UTILS_FUNC_MKSTEMP.
62199
62200 2001-11-17  Jim Meyering  <meyering@lucent.com>
62201
62202         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
62203         Now, that's done as part of AC_FUNC_STRTOD.
62204
62205 2001-11-17  Jim Meyering  <meyering@lucent.com>
62206
62207         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
62208         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
62209         rather than group writable.  Patch by Juan F. Codagnone.
62210
62211         * lib/readtokens.c: Remove explicit declarations of xmalloc and
62212         xrealloc, Instead, include "xalloc.h".
62213
62214         * lib/mountlist.c: Include unlocked-io.h after all system headers.
62215         Remove explicit declarations of xmalloc, xrealloc,
62216         and xstrdup.  Instead, include "xalloc.h".
62217
62218         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
62219         unlocked-io.h.
62220         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
62221         Likewise.
62222         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
62223
62224         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
62225         Reported by Padraig Brady.
62226
62227         * lib/mkstemp.c: #undef mkstemp.
62228         Include config.h.
62229         (rpl_mkstemp): Rename from mkstemp.
62230         Protoize.
62231
62232 2001-11-16  Jim Meyering  <meyering@lucent.com>
62233
62234         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
62235         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
62236         determine the amount of total physical memory, use pstat_getstatic.
62237         HPUX-11 doesn't define _SC_PHYS_PAGES.
62238         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
62239         If sysconf couldn't be used to determine the amount of available
62240         physical memory, use both pstat_getstatic and pstat_getdynamic.
62241         Based on a patch from Bob Proulx.
62242
62243 2001-11-10  Jim Meyering  <meyering@lucent.com>
62244
62245         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
62246         (jm_PREREQ): Use it.
62247
62248 2001-11-09  Jim Meyering  <meyering@lucent.com>
62249
62250         * m4/jm-macros.m4: Require autoconf-2.52f.
62251         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
62252         Use these AC_-prefixed names, not the AM_-prefixed ones.
62253
62254         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
62255
62256 2001-11-05  Jim Meyering  <meyering@lucent.com>
62257
62258         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
62259
62260 2001-11-04  Jim Meyering  <meyering@lucent.com>
62261
62262         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
62263         $DEFS.
62264
62265 2001-11-03  Jim Meyering  <meyering@lucent.com>
62266
62267         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
62268         of AC_DEFUN.
62269
62270         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
62271         know the name of the variable in the macro definition.
62272
62273 2001-11-03  Jim Meyering  <meyering@lucent.com>
62274
62275         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
62276         in argmatch_to_argument call.
62277
62278         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
62279         argument.
62280
62281         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
62282         e.g., a fault due to an attempt to free a NULL pointer.
62283
62284 2001-11-01  Jim Meyering  <meyering@lucent.com>
62285
62286         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
62287         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
62288
62289 2001-11-01  Jim Meyering  <meyering@lucent.com>
62290
62291         * lib/dirfd.c, lib/dirfd.h: New files.
62292         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
62293
62294         * lib/hash.c (hash_print) [TESTING]: Clean up.
62295
62296 2001-10-22  Paul Eggert  <eggert@twinsun.com>
62297
62298         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
62299         to avoid a warning if -Wall.
62300
62301 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
62302
62303         * README: New file
62304         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
62305         (per RMS's instructions, this is now the canonical source)
62306         * lgpl/, gpl/: New directories.
62307
62308 2001-10-21  Paul Eggert  <eggert@twinsun.com>
62309
62310         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
62311
62312 2001-10-21  Jim Meyering  <meyering@lucent.com>
62313
62314         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
62315         this code would end up calling gettext even in packages built
62316         with --disable-nls.
62317         * lib/getopt.c (_): Likewise.
62318         * lib/regex.c (_): Likewise.
62319
62320 2001-10-20  Paul Eggert  <eggert@twinsun.com>
62321
62322         * m4/error.m4 (jm_PREREQ_ERROR):
62323         Do not invoke AC_CHECK_FUNCS with strerror_r, as
62324         AC_FUNC_STRERROR_R does that.
62325         Check for strerror declaration.
62326
62327         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
62328         are supposed to have them these days.
62329         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
62330         Merge changes from latest Autoconf CVS.
62331         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
62332         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
62333         POSIX decided to standardize on the int flavor of strerror_r.
62334
62335 2001-10-20  Paul Eggert  <eggert@twinsun.com>
62336
62337         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
62338         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
62339         Use strerror_r that is only a macro, even if it is not a function.
62340         (strerror): Check for HAVE_DECL_STRERROR before declaring.
62341         (private_strerror): Use prototypes, not old-style function definition.
62342         (print_errno_message): New function.
62343         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
62344         char*-flavored one.
62345         (error_tail, error, error_at_line): Use it.
62346
62347 2001-10-11  Jim Meyering  <meyering@lucent.com>
62348
62349         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
62350         and quote_n (1, ... to avoid clobbering a buffer.
62351
62352 2001-10-05  Jim Meyering  <meyering@lucent.com>
62353
62354         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
62355         hash-pjw.h.
62356         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
62357         * lib/hash-pjw.h: New file.
62358
62359 2001-09-30  Jim Meyering  <meyering@lucent.com>
62360
62361         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
62362         `struct fsstat' has the `f_fstypename' member.
62363         Use that to define FS_TYPE, which is now used to make
62364         the getfsstat link test tighter.
62365
62366 2001-09-30  Jim Meyering  <meyering@lucent.com>
62367
62368         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
62369         Include <sys/ucred.h>, for Apple Darwin.
62370         Include sys/mount.h and sys/fs_types.h only if available.
62371         (FS_TYPE): Define.
62372         (read_filesystem_list): Use FS_TYPE.
62373
62374 2001-09-29  Paul Eggert  <eggert@twinsun.com>
62375
62376         * lib/exclude.c (excluded_filename): 0 -> false, since it's
62377         a boolean context.
62378
62379 2001-09-29  Jim Meyering  <meyering@lucent.com>
62380
62381         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
62382         [one-argument getmntent function]): Include stdio.h before mntent.h.
62383         SunOS 4.1.x needs it for the declaration of `FILE'.
62384         Patch by Volker Borchert.
62385
62386         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
62387         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
62388         sys/fs_types.h, and make the link-test for getfsstat guard #include
62389         directives with appropriate #if HAVE_*_H tests so that we can
62390         detect getfsstat on Apple Darwin1.3.7 systems.
62391         Reported by Nelson Beebe.
62392         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
62393
62394 2001-09-28  Paul Eggert  <eggert@twinsun.com>
62395
62396         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
62397         #defines strtoimax.  Also treat the other strto* functions
62398         like strtoimax.
62399
62400         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
62401         Check for strtoul and strtoumax,
62402         as those declarations are made even in the signed case.
62403         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
62404         Likewise, for strtol and strtoimax.
62405
62406 2001-09-28  Paul Eggert  <eggert@twinsun.com>
62407
62408         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
62409         #defines strtoimax.  Also treat the other strto* functions
62410         like strtoimax.
62411
62412         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
62413         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
62414         (strtoimax, strtoumax): Do not declare if already defined as a macro.
62415
62416 2001-09-26  Jim Meyering  <meyering@lucent.com>
62417
62418         Most macros in unlocked-io.h had the wrong number of arguments.
62419         * lib/gen-uio: New script.
62420         (USE_UNLOCKED_IO): Define to 1 if not already defined.
62421         * lib/unlocked-io.hin: Remove file.
62422         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
62423         rather than trying to embed it here.
62424         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
62425         Reported by Padraig Brady.
62426
62427 2001-09-25  Volker Borchert  <bt@teknon.de>
62428
62429         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
62430         `result'.
62431
62432 2001-09-24  Jim Meyering  <meyering@lucent.com>
62433
62434         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
62435
62436 2001-09-23  Jim Meyering  <meyering@lucent.com>
62437
62438         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
62439         instead of the mere test for existence of mntent.h.  The latter
62440         would get a false-positive on AIX 3.4 systems.
62441         In the outer getmntent if-block, don't die if neither of the getmntent
62442         tests succeeds.  Instead, just fall through and continue with the
62443         remaining tests.
62444
62445 2001-09-23  Jim Meyering  <meyering@lucent.com>
62446
62447         * lib/mountlist.c: Remove useless parentheses in #if directives.
62448         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
62449         the deprecated MOUNTED symbol is no longer defined in mntent.h.
62450
62451 2001-09-22  Jim Meyering  <meyering@lucent.com>
62452
62453         * m4/gettext.m4: New file.  From gettext.
62454         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
62455         * m4/progtest.m4: Likewise
62456         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
62457         * m4/glibc21.m4: Likewise.
62458
62459         * m4/libintl.m4: Remove.  No longer used.
62460
62461 2001-09-22  Jim Meyering  <meyering@lucent.com>
62462
62463         * lib/localcharset.c: Update from latest gettext.
62464         * lib/config.charset: Likewise.
62465
62466 2001-09-20  Jim Meyering  <meyering@lucent.com>
62467
62468         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
62469         strtoimax.
62470         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
62471         strtoumax.
62472
62473 2001-09-20  Jim Meyering  <meyering@lucent.com>
62474
62475         * lib/xstrtol.c (strtoimax): Guard declaration with
62476         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
62477         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
62478         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
62479         (strtoumax): Likewise, for completeness (it wasn't necessary).
62480
62481 2001-09-17  Paul Eggert  <eggert@twinsun.com>
62482
62483         * lib/strtoimax.c (HAVE_LONG_LONG):
62484         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
62485         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
62486         to work around bug in IBM C compiler.
62487
62488 2001-09-17  Jim Meyering  <meyering@lucent.com>
62489
62490         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
62491         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
62492         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
62493         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
62494         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
62495         whenever the right hand side need not be expanded by the shell.
62496
62497 2001-09-16  Paul Eggert  <eggert@twinsun.com>
62498
62499         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
62500         library.  It's not correct, as some older glibcs are buggy.
62501         fnmatch wasn't fixed until glibc 2.2.
62502
62503         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
62504         special shell magic here.
62505
62506 2001-09-16  Jim Meyering  <meyering@lucent.com>
62507
62508         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
62509         * m4/jm-macros.m4: Require it.
62510
62511 2001-09-16  Jim Meyering  <meyering@lucent.com>
62512
62513         * lib/mkdir.c: New file.
62514
62515 2001-09-15  Jim Meyering  <meyering@lucent.com>
62516
62517         * m4/jm-macros.m4: Check for help2man.
62518
62519 2001-09-11  Jim Meyering  <meyering@lucent.com>
62520
62521         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
62522         The body, by Paul Eggert, was moved here from configure.in.
62523         * m4/jm-macros.m4: Require UTILS_HOST_OS.
62524
62525 2001-09-04  Paul Eggert  <eggert@twinsun.com>
62526
62527         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
62528         (jm_PREREQ): Use it.
62529
62530 2001-09-04  Paul Eggert  <eggert@twinsun.com>
62531
62532         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
62533         Use ssize_t, not int, to store result of readlink.
62534         Check for ssize_t overflow as well as size_t overflow,
62535         as POSIX says the result of readlink is implementation-defined
62536         when ssize_t overflows.
62537         Remove unnecessary cast to char*.
62538         Use free+malloc instead of realloc, as the storage doesn't need
62539         to be preserved and it's clearer and can be more efficient that way.
62540         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
62541         * lib/xreadlink.h (xreadlink): Update prototype.
62542
62543 2001-09-04  Paul Eggert  <eggert@twinsun.com>
62544
62545         * lib/xgetcwd.c: Revert some of the previous change; intead,
62546         fix the HAVE_GETCWD_NULL code to behave more like the
62547         !HAVE_GETCWD_NULL code used to.
62548
62549         Include "xalloc.h".
62550         (xgetcwd): Do not return NULL when memory is exhausted; instead,
62551         invoke xalloc_die.
62552
62553 2001-09-03  Paul Eggert  <eggert@twinsun.com>
62554
62555         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
62556         sys/param.h, as pathmax.h includes them.
62557
62558 2001-09-03  Paul Eggert  <eggert@twinsun.com>
62559
62560         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
62561         (jm_PREREQ_XGETCWD): New macro.
62562
62563         * m4/getcwd.m4: New file.
62564
62565 2001-09-03  Paul Eggert  <eggert@twinsun.com>
62566
62567         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
62568         like the HAVE_GETCWD_NULL code.
62569         Include pathmax.h if not HAVE_GETCWD.
62570         Do not include xalloc.h.
62571         (INITIAL_BUFFER_SIZE): New symbol.
62572         Do not use xmalloc / xrealloc, since the caller is responsible for
62573         handling errors.  Preserve errno around `free' during failure.
62574         Do not overrun buffer when using getwd.
62575
62576 2001-09-03  Paul Eggert  <eggert@twinsun.com>
62577
62578         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
62579         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
62580         getcwd (NULL, 0).
62581
62582 2001-09-03  Paul Eggert  <eggert@twinsun.com>
62583
62584         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
62585         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
62586         spotted by Jim Meyering.
62587
62588 2001-09-03  Jim Meyering  <meyering@lucent.com>
62589
62590         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
62591         failure.
62592
62593 2001-09-02  Jim Meyering  <meyering@lucent.com>
62594
62595         * lib/error.c: Update from GNU libc.
62596
62597 2001-09-01  Jim Meyering  <meyering@lucent.com>
62598
62599         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
62600         Used by df.
62601
62602 2001-09-01  Jim Meyering  <meyering@lucent.com>
62603
62604         * lib/xreadlink.c: New file.
62605         * lib/xreadlink.h: New file.
62606         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
62607         xreadlink.h.
62608
62609         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
62610         doesn't conflict with sparc Solaris 7's definition in
62611         /usr/include/sys/int_types.h.
62612
62613         * lib/exclude.c: Use `""', not `<>' to #include non-system header
62614         files.
62615         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
62616         and strncasecmp as r-values.  Unixware didn't have declarations.
62617
62618 2001-08-31  Paul Eggert  <eggert@twinsun.com>
62619
62620         * lib/xstrtol.h: Add copyright notice.
62621         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
62622         LONGINT_INVALID_SUFFIX_CHAR.
62623
62624 2001-08-31  Paul Eggert  <eggert@twinsun.com>
62625
62626         * lib/xstrtol.c (strtoimax): New decl.
62627
62628 2001-08-31  Paul Eggert  <eggert@twinsun.com>
62629
62630         * lib/xgetcwd.c: Don't include pathmax.h.
62631         Include stdlib.h and unistd.h if available.
62632         Include xalloc.h.
62633         (xmalloc, xstrdup, free): Remove decls.
62634         (xgetcwd): Don't assume sizes fit in unsigned.
62635         Check for overflow when computing sizes.
62636         Simplify reallocation code.
62637
62638 2001-08-31  Paul Eggert  <eggert@twinsun.com>
62639
62640         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
62641         a directory's st_size can have an arbitrary value, so the old
62642         usage could waste an arbitrary amount of memory.  All uses
62643         changed.
62644         * lib/savedir.h: Update prototype.
62645
62646 2001-08-31  Paul Eggert  <eggert@twinsun.com>
62647
62648         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
62649
62650         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
62651         old strtoimax.c.
62652
62653         Also, make the following further changes to make this file's
62654         configuration more similar to that of strtol.c:
62655         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
62656         (strtoumax, uintmax_t, strtoull, strtol): Remove.
62657         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
62658         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
62659         changed to signed values.
62660
62661         And make the following changes as well:
62662         Fix copyright notice, as 1999 was missing.
62663         (verify): New macro.
62664         (strtoimax): Check sizes at compile-time, not run-time.
62665         Prefer strtol to strtoll if both work.
62666         (main): Remove; it was not that useful and was a pain to maintain.
62667
62668         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
62669
62670 2001-08-31  Jim Meyering  <meyering@lucent.com>
62671
62672         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
62673         Use an initial, malloc'd, buffer of length 128 rather than
62674         a statically allocated one of length 1024.
62675
62676 2001-08-30  Paul Eggert  <eggert@twinsun.com>
62677
62678         Simplify code, partly by assuming autoconf 2.52 semantics.
62679
62680         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
62681
62682         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
62683         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
62684         All uses removed.
62685         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
62686         Move AC_REQUIRE to next-to-top level, to avoid confusion.
62687         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
62688         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
62689         jm_AC_HEADER_INTTYPES_H.
62690         * m4/jm-macros.m4 (jm_MACROS): Likewise.
62691
62692         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
62693
62694         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
62695         Quote first arg of AC_DEFUN.
62696         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
62697         since they are needed to parse the include file even if we need
62698         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
62699         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
62700         but with opposite signedness.
62701
62702 2001-08-30  Paul Eggert  <eggert@twinsun.com>
62703
62704         Merge 'exclude' changes from tar 1.13.22.
62705         This fixes one or two unlikely storage allocation overflow bugs,
62706         but doesn't change user-visible behavior otherwise.
62707
62708 2001-08-30  Paul Eggert  <eggert@twinsun.com>
62709
62710         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
62711         (jm_PREREQ_EXCLUDE): New macro.
62712
62713 2001-08-30  Paul Eggert  <eggert@twinsun.com>
62714
62715         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
62716         tm to be declared.
62717
62718 2001-08-30  Paul Eggert  <eggert@twinsun.com>
62719
62720         * lib/hash.c: Remove '2001' from copyright notice.
62721
62722 2001-08-30  Paul Eggert  <eggert@twinsun.com>
62723
62724         * lib/full-write.h: New file.
62725         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
62726         * lib/full-write.c: Correct credits, as cccp.c no longer
62727         exists and anyway it was so heavily changed from the old cccp
62728         code as to be unrecognizable.  Include full-write.h.
62729         (full_write) Return size_t, with short writes meaning failure.
62730         All callers changed.  This fixes a bug with large buffers
62731         on 64-bit hosts.
62732         * lib/utime.c: Include full-write.h.
62733
62734 2001-08-30  Paul Eggert  <eggert@twinsun.com>
62735
62736         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
62737         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
62738         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
62739         Include if available.
62740         (<xalloc.h>): Include
62741         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
62742         (verify): New macro.  Use it to verify that EXCLUDE macros do not
62743         collide with FNM macros.
62744         (struct patopts): New struct.
62745         (struct exclude): Use it, as exclude patterns now come with options.
62746         (new_exclude): Support above changes.
62747         (new_exclude, add_exclude_file):
62748         Initial size must now be a power of two to simplify overflow checking.
62749         (free_exclude, fnmatch_no_wildcards): New function.
62750         (excluded_filename): No longer requires options arg, as the options
62751         are determined by add_exclude.  Now returns bool, not int.
62752         (excluded_filename, add_exclude):
62753         Add support for the fancy new exclusion options.
62754         (add_exclude, add_exclude_file): Now takes int options arg.
62755         Check for arithmetic overflow when computing sizes.
62756         (add_exclude_file): xrealloc might modify errno, so don't
62757         realloc until after errno might be used.
62758
62759         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
62760         New macros.
62761         (free_exclude): New decl.
62762         (add_exclude, add_exclude_file): Now takes int options arg.
62763         (excluded_filename): No longer requires options arg, as the options
62764         are determined by add_exclude.  Now returns bool, not int.
62765
62766 2001-08-30  Paul Eggert  <eggert@twinsun.com>
62767
62768         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
62769
62770 2001-08-27  Jim Meyering  <meyering@lucent.com>
62771
62772         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
62773
62774         * lib/version-etc.c (N_): Remove definition.
62775         Revert most of last change.
62776         Instead, simply don't mark the `Copyright...' string for translation.
62777         Based on advice from Paul Eggert.
62778
62779         * lib/strtoxmax.c: Tweak comment.
62780
62781 2001-08-26  Jim Meyering  <meyering@lucent.com>
62782
62783         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
62784
62785         * m4/xstrtoimax.m4: New file.
62786         * m4/xstrtoumax.m4: Add comments explaining why we
62787         AC_REPLACE_FUNCS(strtol).
62788
62789 2001-08-26  Jim Meyering  <meyering@lucent.com>
62790
62791         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
62792         of copyright with `%s' so translators don't get an untranslated
62793         message in 2002.
62794         (COPYRIGHT_YEAR): Define.
62795         (version_etc): Use fprintf rather than fputs.
62796         Suggestion from Ulrich Drepper.
62797
62798         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
62799
62800         * lib/strtoll.c: New file, from GNU libc.
62801         * lib/xstrtoimax.c: New file.
62802
62803         * lib/xstrtol.h: Add xstrtoimax.
62804         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
62805         * lib/strtoimax.c: New file.  Likewise, but first define
62806         STRTOUXMAX_SIGNED.
62807
62808         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
62809         ...
62810         * lib/strtoxmax.c: ... then renamed to this.
62811
62812 2001-08-18  Paul Eggert  <eggert@twinsun.com>
62813
62814         * m4/inttypes.m4: Add AC_PREREQ(2.13).
62815         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
62816         (jm_AC_TYPE_INTMAX_T): New macro.
62817         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
62818
62819         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
62820
62821         * m4/longlong.m4: Renamed from ulonglong.m4.
62822         * m4/inttypes.m4: Renamed from inttypes_h.m4.
62823         * m4/uintmax_t.m4: Removed.
62824
62825 2001-08-13  Paul Eggert  <eggert@twinsun.com>
62826
62827         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
62828         Port to Solaris 8, where 'sed' requires a space after the 'r'
62829         command, and where sh dislikes "$/".  Clean up the spacing a bit.
62830         Redirect output to $tmp just once.
62831
62832 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
62833
62834         * lib/addext.c (<errno.h>): Include.
62835         (errno): Declare if not defined.
62836         (addext): Work correctly when pathconf returns -1 and leaves
62837         errno alone because there is no limit.  Also, work even if
62838         pathconf returns a value greater than SIZE_MAX.
62839
62840 2001-08-12  Jim Meyering  <meyering@lucent.com>
62841
62842         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
62843         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
62844         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
62845         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
62846         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
62847         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
62848         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
62849         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
62850         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
62851         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
62852         utime.m4, utimes.m4, xstrtoumax.m4:
62853         Quote the first argument in each use of AC_DEFUN.
62854
62855 2001-08-12  Jim Meyering  <meyering@lucent.com>
62856
62857         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
62858         Simply `return getcwd (NULL, 0);'.
62859         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
62860         Use 1300 as initial value for length, not PATH_MAX.
62861
62862         * lib/pathmax.h: Clean up cpp syntax.
62863
62864 2001-08-12  Jim Meyering  <meyering@lucent.com>
62865
62866         * lib/gettimeofday.c: New file.
62867         * lib/gtod.h: New file.
62868         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
62869
62870 2001-08-05  Jim Meyering  <meyering@lucent.com>
62871
62872         * m4/jm-macros.m4: Require autoconf-2.52.
62873
62874 2001-08-04  Jim Meyering  <meyering@lucent.com>
62875
62876         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
62877         stmt, to get in sync with glibc.
62878
62879 2001-08-03  Paul Eggert  <eggert@twinsun.com>
62880
62881         The following changes are from gettext 0.10.39 as maintained by
62882         Bruno Haible.
62883
62884         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
62885         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
62886         with inverted sense.  All uses changed.
62887
62888         * lib/mbswidth.c: Don't include <limits.h>.
62889         Include <stdlib.h> and <string.h> unconditionally.
62890         (iswcntrl, mbsinit, ISCNTRL): New macros.
62891         (mbsnwidth): Use K&R style function declarations.
62892         Don't bother checking for MB_LEN_MAX == 1, since the compiler
62893         can optimize it when MB_CUR_MAX == 1.
62894         The width of control characters is zero, not 1.
62895
62896 2001-08-03  Paul Eggert  <eggert@twinsun.com>
62897
62898         The following changes are from gettext 0.10.39 as maintained by
62899         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
62900
62901         * m4/codeset.m4: Upgrade to serial AM1.
62902         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
62903         all uses changed.  Quote first arg of AC_DEFUN.
62904         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
62905
62906         * m4/iconv.m4: Upgrade to serial AM2.
62907         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
62908         Add --with-libconv-prefix.
62909         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
62910         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
62911         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
62912         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
62913         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
62914
62915         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
62916         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
62917         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
62918         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
62919         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
62920         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
62921         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
62922         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
62923         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
62924
62925         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
62926         string.h any more.
62927
62928         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
62929         not the default value.
62930
62931         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
62932         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
62933         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
62934         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
62935         Also check for iswcntrl, used for wcwidth fallback.
62936         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
62937         to Autoconf 2.13.
62938
62939 2001-08-03  Jim Meyering  <meyering@lucent.com>
62940
62941         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
62942         as it was in the original.  Reported by Paul Eggert.
62943
62944 2001-07-16  Jim Meyering  <meyering@lucent.com>
62945
62946         * m4/gettimeofday.m4: New file.
62947         Prompted by a report from Bernhard Baehr.
62948
62949 2001-07-15  Jim Meyering  <meyering@lucent.com>
62950
62951         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
62952         stuff. Now it's in ../Makefile.cfg.
62953
62954 2001-07-15  Jim Meyering  <meyering@lucent.com>
62955
62956         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
62957         (BUILT_SOURCES): Add unlocked-io.h.
62958         (io_functions): Define.
62959         (unlocked-io.h): New rule.
62960         (DISTCLEANFILES): Add unlocked-io.h.
62961         (all-local): Depend on unlocked-io.h, to ensure it is created.
62962
62963         * lib/unlocked-io.hin: New file
62964
62965         * lib/regex.c: Update from glibc.
62966
62967 2001-07-05  Jim Meyering  <meyering@lucent.com>
62968
62969         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
62970         recommendation.
62971         (libfetish_a_SOURCES): Put all .h files here instead.
62972         Remove a thus-exposed (better checks in automake) duplicate and
62973         two unnecessary .h files.
62974
62975 2001-07-04  Jim Meyering  <meyering@lucent.com>
62976
62977         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
62978         that generates jm-glibc-io.m4 so that it doesn't trigger any make
62979         distcheck failure.
62980
62981 2001-07-02  Jim Meyering  <meyering@lucent.com>
62982
62983         The following changes were prompted by suggestions from Bruno Haible.
62984
62985         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
62986         is now generated.
62987         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
62988         definition of EXTRA_DIST.
62989         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
62990         ensure that the generated file is created/updated whenever the list
62991         of $(unlocked_functions) is changed.
62992         (jm-glibc-io.m4): New rule.
62993         (unlocked-io.h): New rule -- currently unused.
62994
62995 2001-06-24  Jim Meyering  <meyering@lucent.com>
62996
62997         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
62998         unmatched right bracket, rather than kludging it with an extra,
62999         falsely-matching quote in a comment.  Patch by Akim Demaille.
63000
63001 2001-06-11  Jim Meyering  <meyering@lucent.com>
63002
63003         * lib/regex.c: Update from GNU libc.
63004
63005 2001-05-27  Jim Meyering  <meyering@lucent.com>
63006
63007         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
63008         Check for ut_type in struct utmp.
63009
63010 2001-05-27  Jim Meyering  <meyering@lucent.com>
63011
63012         * lib/readutmp.h (UT_TYPE): Define.
63013
63014 2001-05-24  Jim Meyering  <meyering@lucent.com>
63015
63016         * lib/argmatch.c: Include "quote.h".
63017         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
63018         quote function.  Reported by Göran Uddeborg.
63019
63020 2001-05-22  Jim Meyering  <meyering@lucent.com>
63021
63022         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
63023         now that we use the package-supplied version unconditionally.
63024         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
63025
63026 2001-05-21  Jim Meyering  <meyering@lucent.com>
63027
63028         * m4/regex.m4: Change a couple backticks to single quotes to avoid
63029         shell syntax errors.
63030
63031 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
63032
63033         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
63034
63035 2001-05-20  Paul Eggert  <eggert@twinsun.com>
63036
63037         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
63038         Don't bother to check library strftime, since
63039         we'll be using our own my_strftime function anyway.
63040         Define my_strftime instead of strftime.
63041
63042 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
63043
63044         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
63045         which is not yet declared.
63046
63047 2001-05-15  Jim Meyering  <meyering@lucent.com>
63048
63049         * m4/regex.m4: Use proper quoting so brackets appear in the test
63050         program.
63051         Reported by, and with help from, Bruno Haible.
63052
63053 2001-05-13  Jim Meyering  <meyering@lucent.com>
63054
63055         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
63056         undefined.
63057
63058 2001-05-11  Paul Eggert  <eggert@twinsun.com>
63059
63060         dirname code cleanup.  base_name now behaves more compatibly
63061         with POSIX basename when given file names that have trailing
63062         slashes, and similarly for dir_name.  Add new primitives
63063         base_len and dir_len.  Put the directory-name-related decls
63064         into dirname.h.
63065
63066         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
63067         * lib/backupfile.c (base_name): Likewise.
63068         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
63069         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
63070         * lib/makepath.c (strip_trailing_slashes): Likewise.
63071         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
63072         ISSLASH): Likewise.
63073         * lib/rename.c (strip_trailing_slashes): Likewise.
63074         * lib/same.c (base_name): Likewise.
63075         * lib/stripslash.c (ISSLASH): Likewise.
63076
63077         * lib/addext.c: Include <dirname.h> after size_t is defined.
63078         * lib/backupfile.c: Likewise.
63079
63080         * lib/addext.c (addext): Use base_len to trim redundant
63081         trailing slashes instead of doing it ourselves.
63082         But do not trim the last slash if it is not redundant.
63083
63084         * lib/backupfile.c (find_backup_file_name,
63085         max_backup_version): Use base_len instead of rolling it ourselves.
63086         Handle the case of "" and (on DOS) "C:" correctly.
63087
63088         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
63089         needed. Include <string.h>, <dirname.h>.
63090         (base_name): Allow file names ending in slashes, other than names
63091         that are all slashes.  In this case, return the basename followed
63092         by the slashes.  This is more general, and can be used in places
63093         where the original base_name purposely had an assertion failure.
63094         (base_len): New function.
63095
63096         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
63097         Do not include <assert.h>; no longer needed.
63098         Include xalloc.h.
63099         (memrchr): Remove decl.
63100         (dir_name_r): Remove.
63101         (dir_len): Renamed from dirlen.  All callers changed.
63102         Rewrite in terms of base_name, for simplicity and consistency.
63103         (dir_name): Never return NULL.  All callers changed.
63104         Do not include <stdlib.h> in test program; no longer needed.
63105         return 0; is fine for test program.
63106
63107         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
63108         New macros.
63109         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
63110
63111         * lib/path-concat.c (path_concat): Use base_len to compute
63112         base length, not strlen; this means we cannot rely on memcpy
63113         to null-terminate.
63114
63115         * lib/same.c (STREQ): Remove.
63116         (same_name): Handle the case where the basename ends in trailing '/'.
63117
63118         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
63119         a slash was stripped.  Do not strip the last slash after a
63120         file system prefix.
63121
63122 2001-05-11  Paul Eggert  <eggert@twinsun.com>
63123
63124         * lib/Makefile.am (libfetish_a_SOURCES):
63125         Add strftime.c, since we now compile it on all hosts.
63126
63127         * lib/strftime.c (my_strftime):
63128         Define to nstrftime if emacs, but only if my_strftime is not defined.
63129         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
63130         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
63131         Add one more extra argument: a nanoseconds value.
63132         All uses changed.
63133         (ns): New macro.
63134         (my_strftime function): Add %N format.
63135         (emacs_strftimeu): Renamed from emacs_strftime,
63136         with extra ut argument.
63137
63138 2001-05-09  Paul Eggert  <eggert@twinsun.com>
63139
63140         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
63141
63142 2001-04-21  Jim Meyering  <meyering@lucent.com>
63143
63144         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
63145         doesn't interfere.
63146
63147 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
63148
63149         * m4/ftruncate.m4: Check for chsize.
63150         Link with ftruncate.o unconditionally if ftruncate is missing.
63151         This was required when cross-compiling to i586-mingw32msvc.
63152
63153 2001-04-08  Jim Meyering  <meyering@lucent.com>
63154
63155         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
63156         recomputed; that's necessary when the offset spans a DST transition.
63157         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
63158
63159 2001-04-02  Jim Meyering  <meyering@lucent.com>
63160
63161         * lib/regex.h, regex.c: Update from GNU libc.
63162
63163 2001-03-24  Jim Meyering  <meyering@lucent.com>
63164
63165         * m4/jm-macros.m4: Require autoconf-2.49d.
63166
63167 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
63168
63169         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
63170
63171 2001-03-19  Paul Eggert  <eggert@twinsun.com>
63172
63173         * lib/version-etc.c (version_etc_copyright): Update to 2001.
63174
63175 2001-03-17  Jim Meyering  <meyering@lucent.com>
63176
63177         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
63178         now that the version in autoconf is equivalent.
63179         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
63180
63181         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
63182         Suggestion from Akim Demaille.
63183
63184         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
63185         (jm_PREREQ_TEMPNAME): New function.
63186
63187 2001-03-16  Paul Eggert  <eggert@twinsun.com>
63188
63189         * lib/tempname.c (uint64_t): Define to uintmax_t if
63190         not defined, and if UINT64_MAX is not defined.
63191         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
63192         Reported by John David Anglin.
63193
63194 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
63195
63196         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
63197         resolve alias if codeset is empty.
63198         * lib/config.charset (BeOS): Use wildcard syntax.
63199
63200 2001-03-13  Jim Meyering  <meyering@lucent.com>
63201
63202         * lib/path-concat.c (path_concat)
63203         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
63204         concatenating e.g., `C:' and `foo'.
63205         From Bruno Haible.
63206
63207 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
63208
63209         * lib/localcharset.c (locale_charset): Don't use
63210         setlocale(LC_CTYPE,NULL). Don't return NULL.
63211         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
63212
63213 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
63214
63215         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
63216         support for DOS/DJGPP.
63217
63218 2001-03-01  Paul Eggert  <eggert@twinsun.com>
63219
63220         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
63221         lacks mkstemp.  Compile our own tempname.c if we compile our own
63222         mkstemp.c, as mkstemp relies on tempname.
63223
63224 2001-03-01  Jim Meyering  <meyering@lucent.com>
63225
63226         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
63227         AH_VERBATIM really does output its argument verbatim.
63228
63229 2001-02-28  Paul Eggert  <eggert@twinsun.com>
63230
63231         * lib/Makefile.am (libfetish_a_SOURCES):
63232         Add dup-safer.c, fopen-safer.c.
63233         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
63234
63235         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
63236         * lib/unistd-safer.h: New files.
63237
63238 2001-02-25  Paul Eggert  <eggert@twinsun.com>
63239
63240         The mkstemp replacement is taken from glibc 2.2.2, with some
63241         portability fixes for use outside glibc, as follows:
63242
63243         * lib/tempname.c (struct_stat64): New macro.
63244         (direxists, __gen_tempname): Use it.
63245         This avoids a portability problem with Solaris 8.
63246
63247         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
63248         (<stddef.h>, <stdint.h>, <string.h>):
63249         Include only if STDC_HEADERS || _LIBC.
63250         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
63251         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
63252         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
63253         (__set_errno): Define this macro if <errno.h> doesn't.
63254         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
63255         Define these macros if <stdio.h> doesn't.
63256         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
63257         Define these macros if <sys/stat.h>
63258         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
63259         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
63260         __xstat64): Define if not _LIBC.
63261         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
63262         (__gen_tempname): Invoke gettimeofday only if
63263         HAVE_GETTIMEOFDAY || _LIBC;
63264         otherwise, fall back on plain "time".
63265         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
63266
63267         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
63268
63269         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
63270
63271 2001-02-18  Paul Eggert  <eggert@twinsun.com>
63272
63273         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
63274
63275 2001-02-17  Paul Eggert  <eggert@twinsun.com>
63276
63277         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
63278         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
63279         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
63280         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
63281
63282 2001-02-17  Paul Eggert  <eggert@twinsun.com>
63283
63284         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
63285         Remove workaround macros for hosts that have mbrtowc but not
63286         mbstate_t, as we now insist on proper declarations for both
63287         before using mbrtowc.
63288
63289 2001-02-17  Jim Meyering  <meyering@lucent.com>
63290
63291         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
63292         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
63293         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
63294         UnixWare 7.1.1.
63295
63296         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
63297         rather than AC_CACHE_VAL.
63298
63299 2001-02-17  Jim Meyering  <meyering@lucent.com>
63300
63301         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
63302         around included file name.
63303
63304         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
63305
63306         * lib/strftime.c: Update from GNU libc (the only changes were to
63307         comments).
63308
63309 2001-02-17  Jim Meyering  <meyering@lucent.com>
63310
63311         * lib/regex.c: Update from libc.
63312
63313 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
63314
63315         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
63316         clash.
63317
63318 2001-02-16  Paul Eggert  <eggert@twinsun.com>
63319
63320         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
63321         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
63322         Reported by Mark Hounschell via Paul Eggert.
63323
63324 2001-02-07  Jim Meyering  <meyering@lucent.com>
63325
63326         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
63327
63328 2001-02-05  Jim Meyering  <meyering@lucent.com>
63329
63330         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
63331         it includes the patch required for `large file' support with at least
63332         HP-UX's 10.20 /bin/cc.
63333
63334 2001-02-03  Jim Meyering  <meyering@lucent.com>
63335
63336         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
63337         AS_IF, now that it works once again (mysteriously).
63338         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
63339
63340 2001-01-30  Jim Meyering  <meyering@lucent.com>
63341
63342         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
63343         * m4/chown.m4: Rename conftestchown to conftest.chown.
63344         * m4/rename.m4: s/conftestdir/conftest.d1/ and
63345         s/conftestdir2/conftest.d2/.
63346         * m4/utimes.m4: s/conftestdata/conftest.data/
63347         Inspired by Pavel Roskin's change in autoconf.
63348
63349 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
63350
63351         * lib/config.charset: Update for FreeBSD 4.2.
63352
63353 2001-01-27  Jim Meyering  <meyering@lucent.com>
63354
63355         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
63356         a use of AS_IF.
63357         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
63358
63359 2001-01-26  Jim Meyering  <meyering@lucent.com>
63360
63361         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
63362         quotearg.c includes it.
63363
63364 2001-01-26  Jim Meyering  <meyering@lucent.com>
63365
63366         * lib/quotearg.c: Include stddef.h.
63367         * lib/quote.c: Include stddef.h.
63368         Reported by Axel Kittenberger.
63369
63370         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
63371         line in double quotes so that it evokes a better diagnostic.
63372         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
63373         Reported by Axel Kittenberger.
63374
63375 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
63376
63377         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
63378         as if it was a `charset'.
63379
63380 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
63381
63382         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
63383         has const.
63384
63385 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
63386
63387         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
63388         to avoid a warning.  Add back 'const' to inptr.
63389
63390 2001-01-20  Jim Meyering  <meyering@lucent.com>
63391
63392         Be sure that headers are checked before used in code compiled
63393         for the type checks.
63394         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
63395         In place of that, invoke jm_CHECK_ALL_TYPES.
63396         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
63397         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
63398         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
63399         The check for ssize_t was mistakenly run before the test for unistd.h.
63400
63401         The configure-time check for stdbool.h was missing.
63402         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
63403         (jm_PREREQ_HASH): New function.
63404
63405 2001-01-17  Jim Meyering  <meyering@lucent.com>
63406
63407         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
63408         for autoconf-2.49c.
63409         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
63410
63411 2001-01-16  Jim Meyering  <meyering@lucent.com>
63412
63413         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
63414         From Bruno Haible.
63415
63416 2001-01-14  Jim Meyering  <meyering@lucent.com>
63417
63418         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
63419         foo and bar.  Create conftestdir/ in the script, not in the C code.
63420         Remove directories in the script, not in the C code.
63421         Remove conftestdir{,2} before trying to create the directory.
63422         Make the entire configure script fail if the mkdir fails.
63423
63424 2001-01-14  Jim Meyering  <meyering@lucent.com>
63425
63426         * lib/rename.c: New file.  From Volker Borchert.
63427         Include stdlib.h, string.h or strings.h, and xalloc.h.
63428         Use strip_trailing_slashes rather than open-coding it.
63429
63430 2001-01-03  Paul Eggert  <eggert@twinsun.com>
63431
63432         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
63433
63434 2001-01-03  Jim Meyering  <meyering@lucent.com>
63435
63436         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
63437         of local `inptr' to avoid warning with some system declarations of
63438         iconv.
63439
63440 2001-01-02  Volker Borchert  <bt@teknon.de>
63441
63442         * m4/rename.m4: New file.
63443         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
63444
63445 2001-01-01  Jim Meyering  <meyering@lucent.com>
63446
63447         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
63448         even on systems with utmpx.h.  It's necessary for the declaration of
63449         utmp's ut_user member.  Reported by Andreas Jaeger.
63450
63451         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
63452         available. They are required for the declarations of getgrgid and
63453         getpwuid resp.
63454         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
63455         Reported by Andreas Jaeger.
63456
63457 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
63458
63459         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
63460         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
63461         so `make install' also works in VPATH builds.
63462
63463 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
63464
63465         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
63466         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
63467         can be used in subdirectories.
63468
63469 2000-12-29  Paul Eggert  <eggert@twinsun.com>
63470
63471         * lib/modechange.c: Do not assume that mode_t uses the
63472         traditional octal encoding.  E.g. "chmod 1 FOO" should set
63473         the other-execute bit of FOO even if S_IXOTH != 1.
63474
63475         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
63476         WOTH, XOTH, ALLM): New macros.
63477         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
63478          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
63479         Use them.
63480         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
63481         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
63482         (mode_compile):
63483         No need to use uintmax_t; unsigned long is long enough.
63484         Don't bother to get suffix since we don't use it.
63485
63486 2000-12-26  Jim Meyering  <meyering@lucent.com>
63487
63488         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
63489         better with autoheader.
63490
63491 2000-12-24  Jim Meyering  <meyering@lucent.com>
63492
63493         * lib/hash.c (is_prime): Return explicit boolean values.
63494         (hash_get_first): Return NULL to appease Irix5.6's 89.
63495         Reported by Nelson Beebe.
63496
63497 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
63498
63499         * lib/localcharset.c (locale_charset): Add support for Win32.
63500
63501 2000-12-18  Paul Eggert  <eggert@twinsun.com>
63502
63503         * lib/physmem.h, lib/physmem.c: New files.
63504
63505         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
63506         (noinst_HEADERS): Add physmem.h.
63507
63508         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
63509         't' for compatibility with Solaris 8 sort.
63510
63511 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
63512
63513         * lib/config.charset: Add support for BeOS.
63514
63515 2000-12-17  Jim Meyering  <meyering@lucent.com>
63516
63517         * m4/dos.m4 (jm_AC_DOS): New file and macro.
63518         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
63519
63520 2000-12-16  Jim Meyering  <meyering@lucent.com>
63521
63522         This bug had a serious impact on chown: `chown N:M FILE' (for integer
63523         N and M) would have treated it like `chown N:N FILE'.
63524
63525         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
63526
63527 2000-12-16  Jim Meyering  <meyering@lucent.com>
63528
63529         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
63530         SHELLS_FILE to a file name that's useful on djgpp systems.
63531         Include stdlib.h.
63532         (ADDITIONAL_DEFAULT_SHELLS): Define.
63533         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
63534         Based mostly on a patch from Prashant TR.
63535
63536 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
63537
63538         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
63539         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
63540         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
63541
63542 2000-12-08  Andreas Schwab  <schwab@suse.de>
63543
63544         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
63545         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
63546
63547 2000-12-07  Jim Meyering  <meyering@lucent.com>
63548
63549         * lib/stripslash.c (ISSLASH): Define.
63550         (strip_trailing_slashes): Use ISSLASH rather than comparing against
63551         `/'.
63552         From Prashant TR.
63553
63554         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
63555         (dir_name_r): Declare this function as static.
63556         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
63557         manifest itself on a name containing a mix of slashes and
63558         backslashes.
63559         Make this function work with names starting with a DOS-style
63560         drive letter and colon prefix.
63561         (dir_name): Append `.' if necessary.
63562         Based mostly on patches from Prashant TR and Eli Zaretskii.
63563
63564         * lib/dirname.h (dir_name_r): Remove prototype.
63565
63566 2000-12-06  Paul Eggert  <eggert@twinsun.com>
63567
63568         * m4/off_t-format.m4: Remove this file.
63569         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
63570
63571 2000-12-06  Jim Meyering  <meyering@lucent.com>
63572
63573         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
63574         replacement strtoull, we may well need the replacement strtoul, too.
63575         Check for declarations of strtoul and strtoull.
63576         Check for strtol.  Mainly as a cue to cause automake to include
63577         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
63578         Check for limits.h -- strtol.c needs it.
63579
63580 2000-12-05  Jim Meyering  <meyering@lucent.com>
63581
63582         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
63583
63584 2000-12-04  Jim Meyering  <meyering@lucent.com>
63585
63586         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
63587         Also include memory.h, stdlib.h, unistd.h if appropriate.
63588         Reported by Andreas Jaeger (conflicting declaration of malloc).
63589
63590 2000-12-02  Jim Meyering  <meyering@lucent.com>
63591
63592         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
63593         * m4/jm-macros.m4 (jm_MACROS): require it.
63594
63595 2000-12-02  Jim Meyering  <meyering@lucent.com>
63596
63597         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
63598
63599 2000-12-01  Paul Eggert  <eggert@twinsun.com>
63600
63601         * lib/memrchr.c: Include <config.h> before any system include file.
63602
63603 2000-11-30  Jim Meyering  <meyering@lucent.com>
63604
63605         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
63606
63607 2000-11-30  Jim Meyering  <meyering@lucent.com>
63608
63609         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
63610
63611 2000-11-29  Paul Eggert  <eggert@twinsun.com>
63612
63613         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
63614
63615 2000-11-26  Jim Meyering  <meyering@lucent.com>
63616
63617         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
63618
63619 2000-11-22  Paul Eggert  <eggert@twinsun.com>
63620
63621         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
63622         size of (size_t) -1; it's not portable.
63623
63624 2000-11-17  Jim Meyering  <meyering@lucent.com>
63625
63626         * lib/strstr.c: Update from GNU libc.
63627
63628 2000-11-17  Akim Demaille  <akim@epita.fr>
63629
63630         * lib/obstack.h: Formatting changes.
63631         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
63632         prevent type checking.
63633         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
63634         cast the value to (void *): assigning a `foo *' to a `void *'
63635         variable is valid.
63636         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
63637
63638 2000-11-16  Jim Meyering  <meyering@lucent.com>
63639
63640         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
63641
63642 2000-11-11  Jim Meyering  <meyering@lucent.com>
63643
63644         * lib/error.c: Add a couple #includes, merging from GNU libc version.
63645
63646 2000-11-10  Jim Meyering  <meyering@lucent.com>
63647
63648         * lib/obstack.h: Update from GNU libc.
63649         * lib/obstack.c: Likewise.
63650
63651 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
63652
63653         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
63654
63655 2000-11-06  Paul Eggert  <eggert@twinsun.com>
63656
63657         * lib/getusershell.c (setusershell): Use rewind rather than
63658         fseek/fseeko, to avoid configuration hassles with fseeko.
63659         Don't bother opening SHELLS_FILE if shellstream is NULL;
63660         it's not necessary.
63661
63662 2000-11-05  Jim Meyering  <meyering@lucent.com>
63663
63664         * lib/makepath.h (make_dir): Declare.
63665         * lib/makepath.c (make_dir): Remove `static' attribute.
63666         Tweak a comment.
63667
63668 2000-11-04  Jim Meyering  <meyering@lucent.com>
63669
63670         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
63671
63672 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
63673
63674         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
63675         last one in a bucket, advance to the next bucket.
63676
63677 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
63678
63679         * lib/fnmatch.c: Do not comment out all the code if we are using
63680         the GNU C library, because in some cases we are replacing buggy
63681         code in the GNU C library itself.
63682
63683 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
63684
63685         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
63686         (regex_compile): Catch bogus \(\1\).
63687
63688 2000-10-30  Paul Eggert  <eggert@twinsun.com>
63689
63690         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
63691         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
63692         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
63693
63694 2000-10-30  Paul Eggert  <eggert@twinsun.com>
63695
63696         * lib/error.h, getline.h, modechange.h:
63697         Remove "2000" from Copyright line, as the file hasn't been
63698         changed this year other than in the copyright notice.
63699
63700         * lib/xalloc.h: Add "2000" to Copyright line, as this file
63701         was changed this year.
63702
63703 2000-10-29  Jim Meyering  <meyering@lucent.com>
63704
63705         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
63706         renaming.
63707         * m4/ls-mntd-fs.m4: Likewise
63708
63709 2000-10-29  Jim Meyering  <meyering@lucent.com>
63710
63711         * lib/xstat.in: Fix grammar in comment.
63712
63713 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
63714
63715         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
63716         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
63717         doesn't define __restrict_arr.
63718
63719 2000-10-28  Jim Meyering  <meyering@lucent.com>
63720
63721         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
63722         (jm_PREREQ_MEMCHR): New function.
63723
63724 2000-10-28  Jim Meyering  <meyering@lucent.com>
63725
63726         * lib/memchr.c: Update from libc.
63727         Adjust for portability:
63728         [HAVE_STDLIB_H]: Include stdlib.h.
63729         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
63730         Undef __memchr, too.
63731         [!weak_alias]: Define __memchr to memchr.
63732
63733         * lib/regex.c: Update from libc.
63734         * lib/regex.h: Likewise.
63735         * lib/getopt1.c: Likewise.
63736         * lib/memcmp.c: Likewise.
63737
63738         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
63739         Avoid using fseek, when possible -- it's broken by design.
63740         Patch by Ulrich Drepper.
63741
63742 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
63743
63744         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
63745         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
63746         Giving in to popular pressure to shut up the compiler with casts.
63747
63748 2000-10-26  Jim Meyering  <meyering@lucent.com>
63749
63750         * lib/strftime.c: Update from libc.
63751
63752 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
63753
63754         * regex.c: More `unsigned char' -> `re_char' changes.
63755         Also change several `int' into `re_wchar_t'.
63756         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
63757         (PUSH_FAILURE_POINTER): Don't cast any more.
63758         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
63759         We want GCC to complain, since this piece of code makes
63760         re_match non-reentrant, which *should* be fixed.
63761         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
63762         (EXTEND_BUFFER): Use RETALLOC.
63763         (SET_LIST_BIT): Don't cast.
63764         (re_wchar_t): New type.
63765         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
63766         that those two functions will always properly return.
63767         (IMMEDIATE_QUIT_CHECK): Cast to void.
63768         (analyse_first): Use recursion rather than an explicit stack.
63769         (re_compile_fastmap): Can't fail anymore.
63770         (re_search_2): Don't check re_compile_fastmap for failure.
63771         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
63772         Now also sets the new value (passed in a new argument).
63773         (re_match_2_internal): Use it.
63774         Also, use a new var `reg' of type size_t when looping through regs
63775         rather than reuse the inappropriate `mcnt'.
63776
63777 2000-10-25  Jim Meyering  <meyering@lucent.com>
63778
63779         * lib/obstack.c: Update from libc.
63780
63781 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
63782
63783         * regex.c (regex_compile): Change the way of handling a range from
63784         a char less than 256 to a char not less than 256.
63785
63786 2000-10-24  Andrew Innes  <andrewi@gnu.org>
63787
63788         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
63789         NT-Emacs only.
63790         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
63791         so that re_search functions only quit when callers expect them to.
63792
63793 2000-10-23  Jim Meyering  <meyering@lucent.com>
63794
63795         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
63796         wrong.  That set_locale call must not have any side effects.
63797         From Paul Eggert.
63798
63799 2000-10-22  Jim Meyering  <meyering@lucent.com>
63800
63801         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
63802         [CYCLIC]: Remove now-unused definition.
63803
63804         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
63805         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
63806         Suggestion from Ulrich Drepper.
63807
63808 2000-10-21  Jim Meyering  <meyering@lucent.com>
63809
63810         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
63811         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
63812         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
63813
63814 2000-10-21  Jim Meyering  <meyering@lucent.com>
63815
63816         * lib/dirname.c (memrchr): Declare if necessary.
63817         (dir_name): Remove the restriction that there be no
63818         trailing slashes.  Now, this code skips past them, effectively
63819         ignoring them.
63820         [TEST_DIRNAME] (main): New unit tests.
63821
63822         * lib/memrchr.c: New file from GNU libc.
63823         Undef __memrchr, too.
63824         [!weak_alias]: Define __memrchr to memrchr.
63825         Guard weak_alias use with `#ifdef weak_alias'.
63826
63827 2000-10-21  Jim Meyering  <meyering@lucent.com>
63828
63829         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
63830         (dir_name): Use dir_name_r.
63831         * lib/dirname.h (dir_name_r): Declare it.
63832
63833 2000-10-17  Jim Meyering  <meyering@lucent.com>
63834
63835         * lib/quote.h (PARAMS): Define and use.
63836         Reported by Akim Demaille.
63837
63838         * lib/getopt.c: Update from libc.
63839
63840 2000-10-16  Jim Meyering  <meyering@lucent.com>
63841
63842         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
63843         setlocale.
63844         From Jan Fedak.
63845
63846 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
63847
63848         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
63849
63850 2000-09-25  Jim Meyering  <meyering@lucent.com>
63851
63852         * lib/md5.h (rol): Define (from GnuPG).
63853
63854         * lib/sha.c: Give credit (GnuPG) where due.
63855         (M): Use rol rather than open-coding it.
63856         Add a FIXME comment.
63857
63858 2000-09-21  Jim Meyering  <meyering@lucent.com>
63859
63860         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
63861         Reported by Michael Stone.
63862
63863 2000-09-20  Jim Meyering  <meyering@lucent.com>
63864
63865         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
63866         (noinst_HEADERS): Add sha.h.
63867         Based on code from Scott G. Miller and from GnuPG.
63868
63869 2000-09-18  Jim Meyering  <meyering@lucent.com>
63870
63871         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
63872         LIBS. Otherwise, everyone ends up linking with -lelf for some
63873         configurations.
63874         Reported by Mike Stone.
63875
63876 2000-09-15  Jim Meyering  <meyering@lucent.com>
63877
63878         * lib/regex.c: Update from libc.
63879
63880 2000-09-10  Jim Meyering  <meyering@lucent.com>
63881
63882         * lib/getopt.c (_getopt_internal): Update from glibc.
63883
63884 2000-09-09  Jim Meyering  <meyering@lucent.com>
63885
63886         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
63887         think it should be used as a general replacement for isascii.
63888         * lib/fnmatch.c: Likewise.
63889         * lib/mbswidth.c: Likewise
63890         * lib/regex.c: Likewise.
63891
63892         Don't use atoi.
63893         * lib/userspec.c: Include sys/param.h and limits.h.
63894         Include xstrtol.h.
63895         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
63896         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
63897         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
63898         UID, GID.  Check range.
63899
63900 2000-09-06  Jim Meyering  <meyering@lucent.com>
63901
63902         * lib/getopt.c (_getopt_internal): Update from glibc.
63903
63904 2000-08-30  Jim Meyering  <meyering@lucent.com>
63905
63906         * lib/strftime.c: Merge in changes from GNU libc.
63907
63908 2000-08-26  Jim Meyering  <meyering@lucent.com>
63909
63910         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
63911         * m4/fpending.m4: New file.
63912
63913 2000-08-26  Jim Meyering  <meyering@lucent.com>
63914
63915         * lib/closeout.c: Include "__fpending.h".
63916         (close_stdout_status): Return right away if there's nothing to flush.
63917
63918         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
63919         * lib/__fpending.c: New file.
63920         * lib/__fpending.h: New file.
63921
63922 2000-08-20  Jim Meyering  <meyering@lucent.com>
63923
63924         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
63925         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
63926         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
63927
63928 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
63929
63930         Improve fileutils installation on systems where running
63931         programs (like install) can't be unlinked.
63932         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
63933         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
63934
63935 2000-08-07  Paul Eggert  <eggert@twinsun.com>
63936
63937         Standardize on "memory exhausted" instead of "Memory exhausted"
63938         or "virtual memory exhausted".
63939         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
63940         "virtual memory exhausted".
63941         * lib/same.c (same_name): Invoke xalloc_die instead of printing
63942         our own message.
63943         * lib/userspec.c (parse_user_spec): Likewise.
63944         * lib/bumpalloc.h: comment fix
63945         * lib/same.c, userspec.c: Include xalloc.h.
63946
63947         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
63948         not char *const and pointing to a constant array.
63949         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
63950         (xrealloc): Comment fix.
63951
63952         * lib/userspec.c (parse_user_spec):
63953         Don't translate a message until just before returning,
63954         to avoid unnecessary translation.
63955
63956 2000-08-07  Jim Meyering  <meyering@lucent.com>
63957
63958         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
63959         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
63960         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
63961         getgroups.c, gethostname.c, getopt.h, group-member.c,
63962         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
63963         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
63964         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
63965         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
63966         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
63967         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
63968         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
63969         yesno.c: Back out Copyright date changes for each file with no change
63970         this year.  This eases coordination with other programs using the same
63971         source code modules.  From Paul Eggert.
63972
63973 2000-08-06  Paul Eggert  <eggert@twinsun.com>
63974
63975         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
63976         not char, for compatibility with glibc 2.1.3 strftime.c.
63977
63978 2000-08-03  Greg McGary  <greg@mcgary.org>
63979
63980         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
63981         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
63982         (EXTEND_BUFFER): Use them.
63983
63984 2000-08-01  Jim Meyering  <meyering@lucent.com>
63985
63986         * lib/dirname.c (ISSLASH): Define.
63987         (BACKSLASH_IS_PATH_SEPARATOR): Define.
63988         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
63989         both `\' and `/' may be use as path separators.
63990         Based on a patch from Prashant TR.
63991
63992 2000-07-31  Paul Eggert  <eggert@twinsun.com>
63993
63994         * lib/quotearg.c (quotearg_n_options): Don't make the initial
63995         slot vector a constant, since it might get modified.
63996
63997 2000-07-31  Jim Meyering  <meyering@lucent.com>
63998
63999         * lib/xmalloc.c: Use `virtual memory exhausted', not
64000         `Memory exhausted'.
64001         * lib/obstack.c (print_and_abort): Likewise.
64002
64003 2000-07-30  Paul Eggert  <eggert@twinsun.com>
64004
64005         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
64006         buffer, so that the caller can always quote one small
64007         component of a "memory exhausted" message in slot 0.
64008         From a suggestion by Jim Meyering.
64009
64010 2000-07-30  Jim Meyering  <meyering@lucent.com>
64011
64012         * lib/makepath.c (make_path): Quote the other instance, too.
64013
64014         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
64015         (STATIC_BUF_SIZE): Define.
64016         (quotearg_n_options): Use only statically allocated storage when
64017         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
64018         than STATIC_BUF_SIZE.
64019
64020 2000-07-29  Jim Meyering  <meyering@lucent.com>
64021
64022         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
64023         * lib/dirname.c (dir_name): Likewise.
64024
64025         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
64026         `/'.
64027
64028         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
64029         (dir_name): Assert that there are no trailing slashes.
64030
64031 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
64032
64033         * lib/mbswidth.h (mbswidth): Add a flags argument.
64034         (mbswidth): New declaration.
64035         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
64036         * lib/mbswidth.c (mbswidth): Add a flags argument.
64037         (mbsnwidth): New function.
64038
64039 2000-07-24  Jim Meyering  <meyering@lucent.com>
64040
64041         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
64042
64043 2000-07-23  Paul Eggert  <eggert@twinsun.com>
64044
64045         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
64046
64047 2000-07-23  Paul Eggert  <eggert@twinsun.com>
64048
64049         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
64050         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
64051         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
64052         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
64053         invoke multibyte primitives.
64054
64055 2000-07-23  Paul Eggert  <eggert@twinsun.com>
64056
64057         * lib/quotearg.c:
64058         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
64059         so that mbstate_t is always defined.
64060
64061         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
64062         be 1 in at least one GCC installation, and this configuration
64063         error is likely to be common.  Ignoring MB_LEN_MAX hurts
64064         performance on hosts that have mbrtowc but have only unibyte
64065         locales, but I assume these hosts are rare.
64066
64067 2000-07-23  Paul Eggert  <eggert@twinsun.com>
64068
64069         * lib/mbswidth.c (_XOPEN_SOURCE):
64070         Don't define; this causes problems on Solaris 7.
64071         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
64072
64073 2000-07-23  Jim Meyering  <meyering@lucent.com>
64074
64075         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
64076         too: getgrgid, getpwuid, getuid.
64077
64078 2000-07-23  Jim Meyering  <meyering@lucent.com>
64079
64080         * lib/basename.c (base_name): Add an assertion.
64081
64082 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
64083
64084         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
64085         shadow its mbsinit function.
64086
64087 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
64088
64089         * lib/mbswidth.h: New file.
64090         * lib/mbswidth.c: New file.
64091         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
64092         (noinst_HEADERS): Add mbswidth.h.
64093
64094 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
64095
64096         * lib/config.charset: Add support for FreeBSD. Improve support for
64097         HP-UX and IRIX 6.
64098
64099 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
64100
64101         * m4/mbswidth.m4: New file.
64102         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
64103
64104 2000-07-15  Jim Meyering  <meyering@lucent.com>
64105
64106         * lib/makepath.c: Include quote.h.
64107         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
64108         corresponding argument in a `quote (...)' call.
64109         Give better diagnostics.
64110
64111         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
64112         (noinst_HEADERS): Add quote.h.
64113
64114         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
64115         from tar's src/misc.c.
64116         * lib/quote.h: New file.  Prototypes for same.
64117
64118 2000-07-14  Paul Eggert  <eggert@twinsun.com>
64119
64120         From a suggestion by Bruno Haible.
64121         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
64122         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
64123         to decide whether to define the BeOS workaround macro;
64124         this adjusts to the change to AC_MBSTATE_T.
64125
64126 2000-07-14  Jim Meyering  <meyering@lucent.com>
64127
64128         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
64129         jm_AC_TYPE_UINTMAX_T.
64130
64131 2000-07-13  Paul Eggert  <eggert@twinsun.com>
64132
64133         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
64134
64135         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
64136         quotearg_buffer_restyled): Add support for
64137         clocale_quoting_style.  Undo previous change to
64138         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
64139         and "{RIGHT QUOTATION MARK}" msgids.
64140
64141 2000-07-10  Paul Eggert  <eggert@twinsun.com>
64142
64143         From a suggestion by Bruno Haible.
64144         * m4/mbstate_t.m4 (AC_MBSTATE_T):
64145         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
64146         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
64147         and mbstate_t, to a single-part test that simply defines mbstate_t.
64148         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
64149         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
64150
64151 2000-07-10  Jim Meyering  <meyering@lucent.com>
64152
64153         * m4/strerror_r.m4: Mirror the correction made in autoconf.
64154
64155         * m4/gnu-source.m4: Output to confdefs.h directly.
64156         Suggestion from Akim Demaille.
64157
64158 2000-07-09  Paul Eggert  <eggert@twinsun.com>
64159
64160         The old behavior of quoting `like this' doesn't look good with
64161         newer, ISO-style fonts.  See:
64162         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
64163
64164         Instead, quote "like this" by default.  Let the translator
64165         tailor the locale-specific quoting behavior by providing
64166         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
64167
64168         * lib/quotearg.c (N_): New macro.
64169         (gettext_default): New function.
64170         (quotearg_buffer_restyled): Use
64171         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
64172         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
64173
64174 2000-07-09  Jim Meyering  <meyering@lucent.com>
64175
64176         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
64177         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
64178
64179         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
64180         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
64181
64182 2000-07-09  Jim Meyering  <meyering@lucent.com>
64183
64184         * lib/Most files: Update copyright dates to include 2000.
64185
64186 2000-07-08  Jim Meyering  <meyering@lucent.com>
64187
64188         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
64189         if not defined.
64190         (xgethostname): Remove now-unnecessary #ifdef.
64191         Move declaration of `err' into loop where it's used.
64192
64193 2000-07-05  Paul Eggert  <eggert@twinsun.com>
64194         and Bruno Haible  <haible@clisp.cons.org>
64195
64196         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
64197         only if the test for an object-type mbstate_t fails.  This
64198         prevents us from mistakenly reporting that mbstate_t is a
64199         system object type after we "#define mbstate_t int" to work
64200         around its lack.
64201
64202 2000-07-05  Paul Eggert  <eggert@twinsun.com>
64203         and Bruno Haible  <haible@clisp.cons.org>
64204
64205         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
64206
64207 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
64208
64209         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
64210         to strerror_r.
64211         Include <ctype.h> for use of isalpha.
64212
64213 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
64214
64215         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
64216         by allocating a larger buffer. Test the gethostname return value for
64217         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
64218         returns an error and ENAMETOOLONG isn't defined.
64219
64220 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
64221
64222         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
64223         dimension.
64224
64225 2000-07-04  Jim Meyering  <meyering@lucent.com>
64226
64227         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
64228         of the deprecated AC_CHECKING.
64229
64230 2000-07-04  Jim Meyering  <meyering@lucent.com>
64231
64232         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
64233         Reported by Bruno Haible.
64234
64235 2000-07-04  Jim Meyering  <meyering@lucent.com>
64236
64237         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
64238         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
64239         lacks mbrtowc.
64240
64241 2000-07-03  Paul Eggert  <eggert@twinsun.com>
64242
64243         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
64244         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
64245
64246 2000-07-03  Paul Eggert  <eggert@twinsun.com>
64247         and Bruno Haible  <haible@clisp.cons.org>
64248
64249         * lib/quotearg.c (mbrtowc):
64250         Assign to *pwc, and return 1 only if result is nonzero.
64251         (iswprint): Use ISPRINT when substituting our own mbrtowc.
64252
64253 2000-07-03  Jim Meyering  <meyering@lucent.com>
64254
64255         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
64256
64257 2000-07-03  Jim Meyering  <meyering@lucent.com>
64258
64259         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
64260         This is necessary to get a definition of e.g., UTMP_FILE on
64261         HP-UX 10.20.
64262         From Bob Proulx.
64263
64264 2000-07-02  Jim Meyering  <meyering@lucent.com>
64265
64266         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
64267
64268         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
64269         AC_LIBOBJ(function_name).
64270         * m4/chown.m4: Likewise.
64271         * m4/fnmatch.m4: Likewise.
64272         * m4/ftruncate.m4: Likewise.
64273         * m4/getgroups.m4: Likewise.
64274         * m4/getline.m4: Likewise.
64275         * m4/group-member.m4: Likewise.
64276         * m4/jm-macros.m4: Likewise.
64277         * m4/lstat.m4: Likewise.
64278         * m4/malloc.m4: Likewise.
64279         * m4/memcmp.m4: Likewise.
64280         * m4/nanosleep.m4: Likewise.
64281         * m4/putenv.m4: Likewise.
64282         * m4/realloc.m4: Likewise.
64283         * m4/regex.m4: Likewise.
64284         * m4/stat.m4: Likewise.
64285         * m4/strftime.m4: Likewise.
64286
64287 2000-07-02  Jim Meyering  <meyering@lucent.com>
64288
64289         * lib/quotearg.c (mbstate_t): Don't define here.
64290
64291 2000-07-02  Jim Meyering  <meyering@lucent.com>
64292
64293         * lib/nanosleep.c (SIGCONT): Define if not already defined.
64294
64295 2000-07-01  Jim Meyering  <meyering@lucent.com>
64296
64297         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
64298
64299 2000-07-01  Jim Meyering  <meyering@lucent.com>
64300
64301         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
64302         problem.
64303
64304 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
64305
64306         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
64307         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
64308
64309 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
64310
64311         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
64312         per change in ../m4/ls-mntd-fs.m4.
64313         (read_filesystem_list): Ignore symbolic links.
64314
64315 2000-06-29  Jim Meyering  <meyering@lucent.com>
64316
64317         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
64318         for declaration of strcmp.
64319
64320         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
64321
64322         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
64323         Avoid warning by casting result to `char *' to remove `const'.
64324
64325 2000-06-28  Jim Meyering  <meyering@lucent.com>
64326
64327         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
64328         included by quotearg.c, for which we perform this test.  From
64329         Bruno Haible.
64330
64331 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
64332
64333         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
64334         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
64335         <utmpx.h> exists, put readutmp.o into LIBOBJS.
64336
64337 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
64338
64339         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
64340
64341 2000-06-26  Paul Eggert  <eggert@twinsun.com>
64342
64343         savedir now sets errno on failure and invokes xmalloc to get memory.
64344         Fix a couple of other minor bugs while we're at it.
64345
64346         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
64347         (NAMLEN): Remove macro.
64348         (malloc, realloc): Remove decls.
64349         (stpcpy): Likewise.
64350         ("xalloc.h"): Include.
64351         (NAME_SIZE_DEFAULT): New macro.
64352         (savedir): Use xmalloc / xrealloc to allocate memory.
64353         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
64354         Skip "" directory entries.
64355         Use strlen to calculate directory entry length, since the old method
64356         is rarely used these days and isn't worth supporting.
64357         Don't use a pointer after freeing it.
64358         Check for integer overflow when calculating allocation size.
64359         Use memcpy to copy entries, instead of stpcpy.
64360         Set errno properly when returning NULL.
64361         Check for readdir error.
64362
64363 2000-06-26  Jim Meyering  <meyering@lucent.com>
64364
64365         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
64366
64367 2000-06-25  Jim Meyering  <meyering@lucent.com>
64368
64369         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
64370         Linux header bug when _XOPEN_SOURCE is defined to 500.
64371
64372 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
64373
64374         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
64375         deficiency.
64376
64377 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
64378
64379         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
64380         Include xalloc.h.
64381         Don't include <stdlib.h>.  Don't declare malloc, realloc.
64382
64383 2000-06-24  Jim Meyering  <meyering@lucent.com>
64384
64385         * m4/strerror_r.m4: Revive this file -- to try out an experimental
64386         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
64387         for which strerror does return char*, but which lacks a conveniently
64388         accessible declaration of the function.  If the compile-test says
64389         strerror_r doesn't work, then resort to a `run'-test that works on
64390         BeOS and segfaults on DEC Unix.
64391
64392 2000-06-24  Jim Meyering  <meyering@lucent.com>
64393
64394         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
64395
64396 2000-06-23  Paul Eggert  <eggert@twinsun.com>
64397
64398         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
64399         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
64400
64401 2000-06-23  Paul Eggert  <eggert@twinsun.com>
64402
64403         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
64404         (mbrtowc, mbstate_t): Define substitutes if
64405         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
64406         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
64407         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
64408
64409 2000-06-23  Jim Meyering  <meyering@lucent.com>
64410
64411         * m4/afs.m4: Add missing AC_MSG_RESULT.
64412         Reported by Bruno Haible.
64413
64414         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
64415         Suggestion from Bruno Haible.
64416
64417 2000-06-23  Jim Meyering  <meyering@lucent.com>
64418
64419         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
64420
64421 2000-06-21  Jim Meyering  <meyering@lucent.com>
64422
64423         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
64424
64425 2000-06-21  Jim Meyering  <meyering@lucent.com>
64426
64427         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
64428         (noinst_HEADERS): Add getstr.h.
64429
64430         * lib/getline.c (getstr): Move into a separate file.
64431         * lib/getstr.c (getstr): New file, extracted from getline.c, with
64432         the following changes: new parameter, delim2; both delim[12]
64433         parameters have type `int', not `char'.  The latter would lose
64434         with 8-bit delimiters.
64435         * lib/getstr.h: New file.
64436
64437 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
64438
64439         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
64440         than 1024, return a memory chunk of least possible size, instead
64441         of size PATH_MAX + 2. In the loop, increment the size proportionally.
64442         Use free/xmalloc instead of xrealloc to avoid copying for very long
64443         paths.
64444
64445 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
64446
64447         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
64448         the empty string.
64449
64450 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
64451
64452         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
64453         address, not strdup.  Include <stdlib.h> and don't declare free().
64454
64455 2000-06-19  Jim Meyering  <meyering@lucent.com>
64456
64457         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
64458
64459 2000-06-18  Jim Meyering  <meyering@lucent.com>
64460
64461         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
64462
64463         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
64464         `checking whether...' message to be consistent with that of the
64465         lstat test.
64466
64467 2000-06-18  Jim Meyering  <meyering@lucent.com>
64468
64469         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
64470         Besides, these days every porting target provides a mkdir function.
64471
64472         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
64473         needed. (this snippet comes from src/system.h).
64474
64475 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
64476
64477         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
64478
64479 2000-06-15  Paul Eggert  <eggert@twinsun.com>
64480
64481         * lib/human.c (adjust_value): New function.
64482         (human_readable_inexact): Apply rounding style even when
64483         printing approximate values.
64484
64485 2000-06-14  Paul Eggert  <eggert@twinsun.com>
64486
64487         * lib/human.c (human_readable_inexact): Allow an input block
64488         size that is not a multiple of the output block size, and vice versa.
64489         Reported by Piergiorgio Sartor.
64490
64491 2000-06-14  Paul Eggert  <eggert@twinsun.com>
64492
64493         * lib/getdate.y (get_date): Apply relative times after time
64494         zone indicator, not before.  Reported by Todd A. Jacobs.
64495
64496 2000-06-13  Jim Meyering  <meyering@lucent.com>
64497
64498         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
64499
64500         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
64501
64502 2000-06-12  Paul Eggert  <eggert@twinsun.com>
64503
64504         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
64505
64506 2000-06-12  Jim Meyering  <meyering@lucent.com>
64507
64508         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
64509         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
64510         optional argument.
64511         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
64512         the optional argument, `lib'.
64513
64514 2000-06-08  Jim Meyering  <meyering@lucent.com>
64515
64516         * m4/largefile.m4: Remove file (now that it's part of autoconf).
64517
64518 2000-06-04  Paul Eggert  <eggert@twinsun.com>
64519
64520         Rewrite largefile configuration so that we don't need to run
64521         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
64522         AC_CANONICAL_HOST in configure.in -- jmm]
64523
64524         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
64525         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
64526         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
64527         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
64528         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
64529         All uses changed.
64530         Instead of inspecting the output of getconf, try to compile the
64531         test program without and with the macro definition.
64532         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
64533         for getconf.  Instead, check for the needed flags by compiling
64534         test programs.
64535
64536 2000-06-04  Paul Eggert  <eggert@twinsun.com>
64537
64538         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
64539
64540 2000-06-04  Jim Meyering  <meyering@lucent.com>
64541
64542         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
64543         SunOS 4.1.4 for which gid_t is an unsigned type.
64544
64545 2000-06-03  Jim Meyering  <meyering@lucent.com>
64546
64547         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
64548         now that autoconf requires that.
64549
64550         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
64551         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
64552         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
64553
64554 2000-06-03  Jim Meyering  <meyering@lucent.com>
64555
64556         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
64557
64558 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
64559
64560         * m4/glibc21.m4: New file.
64561         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
64562
64563 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
64564
64565         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
64566         newer, don't install charset.alias.
64567         * lib/config.charset: Change the Linux/glibc rules so they become empty
64568         on glibc-2.1 or newer.
64569
64570 2000-06-02  Jim Meyering  <meyering@lucent.com>
64571
64572         * lib/mountlist.c: Back out last change.  Instead, do this...
64573         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
64574         me_dummy member using the same `ignore'-testing code.
64575         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
64576         fs_type strings.
64577         From Mark D. Roth.
64578
64579 2000-05-29  Jim Meyering  <meyering@lucent.com>
64580
64581         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
64582         mounts with the `ignore' attribute.  Based on a patch from
64583         Mark D. Roth.
64584
64585 2000-05-28  Jim Meyering  <meyering@lucent.com>
64586
64587         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
64588         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
64589         * m4/stat.m4: Likewise.
64590         * m4/lstat.m4: Likewise.
64591         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
64592
64593         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
64594         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
64595
64596 2000-05-26  Jim Meyering  <meyering@lucent.com>
64597
64598         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
64599
64600 2000-05-24  Jim Meyering  <meyering@lucent.com>
64601
64602         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
64603         autoconf requires that.
64604         * m4/lib-check.m4: Likewise.
64605         * m4/jm-macros.m4: Likewise.
64606         * m4/strftime.m4: Likewise.
64607
64608         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
64609         AC_CHECK_DECLS, now that autoconf requires that.
64610
64611 2000-05-22  Jim Meyering  <meyering@lucent.com>
64612
64613         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
64614         * m4/lstat.m4: Likewise.
64615
64616 2000-05-22  Jim Meyering  <meyering@lucent.com>
64617
64618         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
64619
64620 2000-05-20  Jim Meyering  <meyering@lucent.com>
64621
64622         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
64623         (jm_PREREQ): Use it.
64624
64625 2000-05-18  Jim Meyering  <meyering@lucent.com>
64626
64627         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
64628         back, too, since it may have been modified by allocate_entry.
64629         (hash_delete): Rewrite to use neither the assignment operator
64630         nor the comma operator in an if-expression.
64631
64632 2000-05-15  Paul Eggert  <eggert@twinsun.com>
64633
64634         * lib/closeout.c:
64635         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
64636         Remove; no longer needed.
64637         "quotearg.h": Add include.
64638         (file_name): Do not bother to explicitly initialize to NULL; it's less
64639         efficient on some hosts.
64640         (close_stdout_status): Remove test as to whether stdout was already
64641         closed; it breaks for the case "echo x | sort >&-".
64642         Quote file name colons.
64643         Do not assume that _("write error") lacks format strings.
64644
64645 2000-05-15  Jim Meyering  <meyering@lucent.com>
64646
64647         * lib/version-etc.c (version_etc_copyright): Update the copyright
64648         string used in all --version output.
64649
64650 2000-05-14  Jim Meyering  <meyering@lucent.com>
64651
64652         * lib/closeout.c (close_stdout_set_file_name): New function.
64653         (close_stdout_status): Use new file-scoped global.
64654         Return right away if fstat says the stdout file descriptor is invalid.
64655         * lib/closeout.h (close_stdout_set_file_name): Declare.
64656
64657 2000-05-10  Jim Meyering  <meyering@lucent.com>
64658
64659         * lib/closeout.c [default_exit_status]: New file-scoped variable.
64660         (close_stdout_set_status): New function.
64661         * lib/closeout.h (close_stdout_set_status): Declare.
64662
64663 2000-05-09  Jim Meyering  <meyering@lucent.com>
64664
64665         * m4/gettext.m4: Rename this...
64666         * m4/libintl.m4: ...to this.
64667
64668 2000-05-08  Jim Meyering  <meyering@lucent.com>
64669
64670         * lib/long-options.c: Don't include closeout.h.
64671         (parse_long_options): Don't call close_stdout for --version.
64672
64673 2000-05-06  Paul Eggert  <eggert@twinsun.com>
64674
64675         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
64676         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
64677         2.1.3 bug.  This avoids a clash when files like regex.c define
64678         _GNU_SOURCE.
64679
64680 2000-05-06  Jim Meyering  <meyering@lucent.com>
64681
64682         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
64683         (AC_REPLACE_FUNCS): Add strnlen.
64684
64685         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
64686         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
64687
64688         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
64689         AC_SEARCH_LIBS call for nanosleep.
64690         (LIB_NANOSLEEP): Set and AC_SUBST.
64691
64692 2000-05-06  Jim Meyering  <meyering@lucent.com>
64693
64694         * lib/strnlen.c: Undefine __strnlen and strnlen.
64695         [!weak_alias]: Define __strnlen to strnlen.
64696
64697         * lib/atexit.c: New file, from libiberty.
64698
64699 2000-05-06  Jim Meyering  <meyering@lucent.com>
64700
64701         * lib/closeout.c (close_stdout_status): Also check for errors on the
64702         stderr stream.
64703
64704 2000-05-05  Jim Meyering  <meyering@lucent.com>
64705
64706         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
64707         AC_SEARCH_LIBS call for clock_gettime.
64708         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
64709
64710         * m4/search-libs.m4: Update from autoconf.
64711
64712         su doesn't work on Solaris 2.6.
64713         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
64714         <shadow.h>.  Reported by Dragos Harabor.
64715
64716 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
64717
64718         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
64719         memcpy instead of xmalloc, xrealloc, path_concat.
64720         (locale_charset): Treat empty environment variables as absent.
64721         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
64722
64723 2000-05-04  Jim Meyering  <meyering@lucent.com>
64724
64725         * lib/getopt.c: Update from glibc.
64726         * lib/obstack.c: Likewise.
64727         * lib/obstack.h: Likewise.
64728         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
64729         file
64730
64731         * lib/regex.h: Likewise.
64732         * lib/strndup.c: Likewise.
64733         * lib/strnlen.c: New file, from glibc.
64734
64735 2000-05-03  Jim Meyering  <meyering@lucent.com>
64736
64737         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
64738
64739 2000-05-02  Paul Eggert  <eggert@twinsun.com>
64740
64741         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
64742         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
64743         compile-time test, rather than inspecting host and OS, to
64744         decide whether to define _LARGEFILE_SOURCE.
64745
64746 2000-05-01  Jim Meyering  <meyering@lucent.com>
64747
64748         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
64749
64750         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
64751         Based on a patch from Bruno Haible.
64752
64753 2000-05-01  Jim Meyering  <meyering@lucent.com>
64754
64755         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
64756
64757 2000-04-29  Jim Meyering  <meyering@lucent.com>
64758
64759         * lib/path-concat.c: Declare strdup only if it's not defined.
64760         * lib/canon-host.c: Likewise.
64761
64762 2000-04-28  Jim Meyering  <meyering@lucent.com>
64763
64764         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
64765         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
64766         is included first, then limits.h is included by locale.h by libintl.h.
64767         From John David Anglin.
64768
64769 2000-04-25  Jim Meyering  <meyering@lucent.com>
64770
64771         * lib/makepath.c (S_IRWXUGO): Define.
64772         (make_path): Always perform explicit chmod if MODE specifies any
64773         of the `special' permission bits.  Prompted by a bug report against
64774         install from Mate Wierdl and Joost van Baal.
64775
64776 2000-04-18  Jim Meyering  <meyering@lucent.com>
64777
64778         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
64779         (jm_PREREQ): Use it.
64780
64781 2000-04-18  Jim Meyering  <meyering@lucent.com>
64782
64783         * lib/README: New file.
64784
64785         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
64786         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
64787
64788 2000-04-17  Jim Meyering  <meyering@lucent.com>
64789
64790         Get it right :-)
64791         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
64792         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
64793         Suggestion from Akim Demaille.
64794
64795 2000-04-17  Jim Meyering  <meyering@lucent.com>
64796
64797         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
64798         the definition of it to rpl_strftime also defined-away the system's
64799         declaration.
64800
64801 2000-04-15  Jim Meyering  <meyering@lucent.com>
64802
64803         Use `C' to denote so-called `contiguous' files, the same way
64804         that tar does.
64805         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
64806         (ftypelet): Use S_ISCTG.
64807         From Michael Deutschmann.
64808
64809 2000-04-14  Jim Meyering  <meyering@lucent.com>
64810
64811         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
64812         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
64813         clobbered.
64814
64815 2000-04-14  Jim Meyering  <meyering@lucent.com>
64816
64817         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
64818
64819 2000-04-13  Jim Meyering  <meyering@lucent.com>
64820
64821         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
64822         AH_VERBATIM to insert required #ifndef into config.h.in.
64823         Suggestion from Akim Demaille.
64824
64825 2000-04-12  Jim Meyering  <meyering@lucent.com>
64826
64827         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
64828         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
64829         Christian Krackowizer.
64830
64831         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
64832         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
64833         (AC_SYS_LARGEFILE): Require.
64834         (AM_C_PROTOTYPES): Require.
64835
64836 2000-04-08  Jim Meyering  <meyering@lucent.com>
64837
64838         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
64839         names don't conflict.  Reported by Eli Zaretskii.
64840
64841 2000-04-07  Jim Meyering  <meyering@lucent.com>
64842
64843         * lib/putenv.c: Move inclusion of errno.h so it follows that of
64844         sys/types.h, to work around system header problems on AIX 3.2.5.
64845         From Bruno Haible.
64846
64847 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
64848
64849         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
64850         bug.  Deal with the different error behavior of Irix iconv.
64851
64852 2000-04-05  Paul Eggert  <eggert@twinsun.com>
64853
64854         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
64855         IRIX if the installer said otherwise.
64856
64857 2000-04-05  Jim Meyering  <meyering@lucent.com>
64858
64859         Portability tweaks required for ultrix4.3.
64860         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
64861         (jm_CHECK_DECLS): Add getutent to the list of functions.
64862         (_jm_DECL_HEADERS): Add utmpx.h.
64863         From John David Anglin.
64864
64865         * m4/strftime.m4: Back out the 2000-04-02 change.
64866         Instead of that change, simply undefine putenv in the test program.
64867
64868 2000-04-05  Jim Meyering  <meyering@lucent.com>
64869
64870         Portability tweaks required for ultrix4.3.
64871         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
64872         getutent.
64873         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
64874         * lib/canon-host.c: Declare strdup.
64875         * lib/path-concat.c: Likewise.
64876         From John David Anglin.
64877
64878 2000-04-04  Jim Meyering  <meyering@lucent.com>
64879
64880         Be more DOS 8.3-friendly.
64881         * lib/ref-add.sin: Renamed from ref-add.sed.in.
64882         * lib/ref-del.sin: Renamed from ref-del.sed.in.
64883         * lib/Makefile.am: Reflect renaming.
64884         Reported by Eli Zaretskii.
64885
64886         Use a temporary file name that won't clash with `charset.alias'
64887         in the DOS 8.3 name space.
64888         * lib/Makefile.am (charset_tmp): Define.
64889         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
64890         (uninstall-local): Likewise.
64891         Reported by Eli Zaretskii.
64892
64893 2000-04-03  Jim Meyering  <meyering@lucent.com>
64894
64895         * m4/gettext.m4: Fix typo in comment.
64896
64897         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
64898         textutils/configure.in).  Suggestion from Paul Eggert.
64899         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
64900
64901 2000-04-02  Paul Eggert  <eggert@twinsun.com>
64902
64903         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
64904         variable in the shell rather than using putenv, which isn't
64905         portable.  This avoids the configure-time inter-test dependency
64906         on the potentially-renamed putenv function.
64907
64908 2000-03-30  Paul Eggert  <eggert@twinsun.com>
64909
64910         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
64911         before checking struct stat.st_blksize, so that
64912         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
64913
64914 2000-03-29  Paul Eggert  <eggert@twinsun.com>
64915
64916         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
64917         since strftime.c uses HAVE_STRFTIME to decide whether to use
64918         the underlying strftime.
64919
64920 2000-03-29  Paul Eggert  <eggert@twinsun.com>
64921
64922         * lib/time/strftime.c (my_strftime): Make sure we call the system
64923         strftime, not ourselves, when invoking the underlying strftime.
64924
64925 2000-03-24  Jim Meyering  <meyering@lucent.com>
64926
64927         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
64928         (charset_alias): Define.
64929         (install-exec-local): Factor out common code.
64930         (uninstall-local): Split lines longer than 80.
64931         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
64932         (SUFFIXES): Define.
64933         (.sed.in.sed): New rule.  Don't redirect directly to $@.
64934         (CLEANFILES): Add ref-add.sed and ref-del.sed.
64935
64936 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
64937
64938         * lib/config.charset: Output a line containing "Packages using this
64939         file".
64940         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
64941         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
64942         ref-del.sed): New rules.
64943
64944 2000-03-17  Jim Meyering  <meyering@lucent.com>
64945
64946         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
64947         Otherwise, include <strings.h>
64948
64949 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
64950
64951         * lib/unicodeio.c (utf8_wctomb): New function.
64952         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
64953         format instead of in UCS-4 with platform dependent endianness.
64954
64955 2000-03-10  Jim Meyering  <meyering@lucent.com>
64956
64957         * m4/lib-check.m4: Look for getspnam in -lgen, too.
64958         From Marco Franzen.
64959
64960 2000-03-07  Paul Eggert  <eggert@twinsun.com>
64961
64962         * lib/savedir.c (savedir): Work even if directory size is
64963         negative; this can happen with some screwy NFS configurations.
64964
64965 2000-03-06  Jim Meyering  <meyering@lucent.com>
64966
64967         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
64968         if it's NULL (because we ran out of memory).  From Bruno Haible.
64969
64970 2000-03-05  Jim Meyering  <meyering@lucent.com>
64971
64972         * lib/localcharset.c ("path-concat.h"): Include.
64973         (get_charset_aliases): Use path_concat instead of ANSI string
64974         concatenation.
64975
64976         * lib/unicodeio.h (PARAMS): Define.
64977         Use it to guard prototype.
64978
64979 2000-03-04  Jim Meyering  <meyering@lucent.com>
64980
64981         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
64982         for lib/localcharset.c.
64983
64984 2000-03-04  Jim Meyering  <meyering@lucent.com>
64985
64986         * lib/Makefile.am (install-exec-local): Create $(libdir) before
64987         installing into it.
64988         (uninstall-local): Uncomment this rule so `make distcheck' works
64989         once again.
64990
64991         * lib/unicodeio.c (<errno.h>): Include it.
64992         (errno): Declare if not defined.
64993
64994         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
64995
64996         * lib/config.charset: New version, incorporating remarks from a linux
64997         i18n mailing list.  From Bruno Haible.
64998
64999 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
65000
65001         * m4/codeset.m4: New file.
65002         * m4/iconv.m4: New file.
65003         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
65004
65005 2000-03-03  Jim Meyering  <meyering@lucent.com>
65006
65007         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
65008
65009 2000-03-02  Jim Meyering  <meyering@lucent.com>
65010
65011         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
65012         the messages come out on separate lines.
65013
65014         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
65015         rather than jm_CHECK_DECLARATIONS.
65016         * m4/decl.m4: Remove now-unused file.
65017
65018         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
65019         geteuid.
65020
65021 2000-03-02  Jim Meyering  <meyering@lucent.com>
65022
65023         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
65024
65025 2000-03-01  Jim Meyering  <meyering@lucent.com>
65026
65027         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
65028         * lib/unicodeio.c: Likewise.
65029
65030 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
65031
65032         * lib/config.charset: New file.
65033         * lib/localcharset.c: New file.
65034         * lib/unicodeio.h, lib/unicodeio.c: New files.
65035         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
65036         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
65037         (noinst_HEADERS): Add unicodeio.h.
65038         (all-local, install-exec-local, charset.alias): New targets.
65039
65040 2000-02-28  Paul Eggert  <eggert@twinsun.com>
65041
65042         * lib/quotearg.c (ALERT_CHAR): New macro.
65043         (quotearg_buffer_restyled): Use it.
65044
65045 2000-02-27  Jim Meyering  <meyering@lucent.com>
65046
65047         * m4/check-decl.m4: Add getenv to the list.
65048
65049 2000-02-27  Jim Meyering  <meyering@lucent.com>
65050
65051         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
65052         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
65053
65054         * lib/backupfile.c: Guard inclusion of stdlib.h with
65055         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
65056         Declare malloc if needed.
65057
65058         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
65059         `#ifndef HAVE_DECL..'
65060         now that autoconf always defines the HAVE_DECL_ symbols.
65061         * lib/human.c: Likewise.
65062         * lib/same.c: Likewise.
65063         * lib/strtoumax.c: Likewise.
65064
65065         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
65066         declaration check was not run.
65067         * lib/hash.c: Likewise.
65068         * lib/human.c: Likewise.
65069         * lib/same.c: Likewise.
65070         * lib/strtoumax.c: Likewise.
65071
65072         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
65073         `.', then first look up the entire `.'-containing string as a login
65074         name.
65075
65076 2000-02-23  Jim Meyering  <meyering@lucent.com>
65077
65078         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
65079         in place of my hack.
65080
65081 2000-02-18  Paul Eggert  <eggert@twinsun.com>
65082
65083         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
65084         (textint): New typedef.
65085         (parser_control): Member year changed from int to textint.
65086         All uses changed.
65087         (YYSTYPE): Removed; replaced by %union with int and textint members.
65088         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
65089         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
65090         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
65091         (tSNUMBER, tUNUMBER): Now of type <textintval>.
65092         (date, number, to_year): Use width of number in digits, not its value,
65093         to determine whether it's a 2-digit year, or a 2-digit time.
65094         (yylex): Store number of digits of numeric tokens.
65095         Reported by John Kendall.
65096
65097         (parser_control): Changed from struct parser_control to typedef (for
65098         consistency).  All uses changed.
65099
65100         (tID): Removed; not used.
65101         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
65102
65103 2000-02-14  Paul Eggert  <eggert@twinsun.com>
65104
65105         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
65106         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
65107
65108 2000-02-12  Jim Meyering  <meyering@lucent.com>
65109
65110         * lib/userspec.c (ISDIGIT): Define it.
65111         (isdigit): Remove definition.
65112         (is_number): Use ISDIGIT, not isdigit.
65113         <libintl.h>: Include.
65114         (_ and N_): Define.
65115         (parse_user_spec): Mark translatable strings.
65116
65117 2000-02-10  Jim Meyering  <meyering@lucent.com>
65118
65119         With these changes, nanosleep.[ch] are finally enough like the other
65120         lib/* replacement files to compile on a few more losing systems.
65121
65122         * lib/nanosleep.h: Don't include config.h.
65123         Remove prototype from declaration of nanosleep.
65124         (PARAMS): Remove now-unneeded definition.
65125         * lib/nanosleep.c: #undef nanosleep.
65126         (rpl_nanosleep): Rename from nanosleep.
65127
65128 2000-02-10  Jim Meyering  <meyering@lucent.com>
65129
65130         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
65131         gnu_nanosleep to rpl_nanosleep.
65132
65133 2000-02-09  Jim Meyering  <meyering@lucent.com>
65134
65135         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
65136         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
65137
65138 2000-02-08  Akim Demaille  <akim@epita.fr>
65139
65140         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
65141         `[' and `]' and remove uses of `changequote'.
65142         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
65143         (AC_SYS_LARGEFILE): Likewise.
65144         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
65145         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
65146         of changequote.
65147         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
65148         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
65149         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
65150         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
65151
65152 2000-02-05  Jim Meyering  <meyering@lucent.com>
65153
65154         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
65155         Remove explicit use of AC_HEADER_TIME.  It is required by
65156         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
65157         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
65158         in autoconf whereby the expansion of the latter ended up preceding
65159         the expansion of its prerequisite, AC_HEADER_TIME.
65160         Reported by Volker Borchert.
65161
65162 2000-02-03  Jim Meyering  <meyering@lucent.com>
65163
65164         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
65165
65166 2000-02-03  Jim Meyering  <meyering@lucent.com>
65167
65168         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
65169         rather than with `#if HAVE_UTMPNAME'.
65170
65171 2000-02-02  Jim Meyering  <meyering@lucent.com>
65172
65173         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
65174         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
65175         Reported by Eli Zaretskii.
65176
65177 2000-02-01  Jim Meyering  <meyering@lucent.com>
65178
65179         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
65180
65181 2000-01-31  Jim Meyering  <meyering@lucent.com>
65182
65183         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
65184         functions.  Add the time.h and sys/time.h headers along with the
65185         AC_REQUIRE'ment of AC_HEADER_TIME.
65186
65187 2000-01-31  Jim Meyering  <meyering@lucent.com>
65188
65189         * lib/nanosleep.h (nanosleep): Guard declaration with
65190         `#if ! HAVE_DECL_NANOSLEEP'.
65191         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
65192         the declaration in that vendor's sys/timers.h.
65193         Reported by Christian Krackowizer.
65194
65195         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
65196         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
65197         (ISPRINT): Likewise.
65198         Reported by Tom Tromey.
65199
65200 2000-01-30  Jim Meyering  <meyering@lucent.com>
65201
65202         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
65203
65204         * m4/prereq.m4 (utmp_includes): Define.
65205         Check for ut_user and ut_name members in both struct utmpx
65206         and struct utmp.
65207
65208 2000-01-30  Jim Meyering  <meyering@lucent.com>
65209
65210         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
65211         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
65212         header files where only utmpx.ut_user is declared.
65213
65214         * lib/readutmp.h (UT_USER): Define.
65215
65216 2000-01-29  Jim Meyering  <meyering@lucent.com>
65217
65218         * m4/lib-check.m4: New file containing library-related checks from
65219         fileutils and sh-utils (textutils had none).
65220
65221 2000-01-28  Jim Meyering  <meyering@lucent.com>
65222
65223         * m4/perl.m4: Change format of warning message to look more like that
65224         from the missing script.  Suggestion from François Pinard.
65225
65226 2000-01-25  Jim Meyering  <meyering@lucent.com>
65227
65228         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
65229         well as time.h in the compile check.
65230         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
65231         Fix typo in cross-compiling case: s/yes/no/.
65232
65233 2000-01-23  Jim Meyering  <meyering@lucent.com>
65234
65235         * m4/jm-macros.m4: Move df-related tests here from
65236         fileutils/configure.in
65237
65238         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
65239         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
65240
65241         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
65242         s/space/ac_fsusage_space/.
65243         (jm_FILE_SYSTEM_USAGE): Take two parameters.
65244
65245         * m4/ftruncate.m4: New file (derived from part of
65246         fileutils/configure.in).
65247         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
65248         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
65249
65250         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
65251         AC_SUBST these here, rather than just in sh-util/configure.in, so
65252         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
65253         all the same.
65254         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
65255         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
65256         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
65257         (AC_SUBST(POW_LIBM)): Likewise.
65258         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
65259
65260 2000-01-23  Jim Meyering  <meyering@lucent.com>
65261
65262         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
65263         obstack.c.
65264
65265 2000-01-22  Jim Meyering  <meyering@lucent.com>
65266
65267         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
65268
65269         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
65270
65271         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
65272         configure.in
65273         (AC_CHECK_HEADERS): Likewise for sh-utils.
65274         (AC_CHECK_HEADERS): Likewise for textutils.
65275         Merge the three lists of headers.
65276
65277         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
65278         from fileutils' configure.in.
65279
65280         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
65281         code. Moved tests into their own function (_jm_DECL_HEADERS) in
65282         check-decl.m4.
65283
65284         * m4/check-decl.m4: Use #if rather than #ifdef.
65285         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
65286         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
65287         (_jm_DECL_HEADERS): Define new function.
65288         (jm_CHECK_DECLARATIONS): Require it.
65289
65290 2000-01-22  Jim Meyering  <meyering@lucent.com>
65291
65292         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
65293         [! HAVE_DECL_STRTOULL]: Declare strtoull.
65294         Required for some AIX systems.  Reported by Christian Krackowizer.
65295         [TESTING] (main): New function.
65296
65297         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
65298         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
65299         letters.
65300
65301         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
65302         iswprint.
65303
65304         * lib/strverscmp.c (ISDIGIT): Define.
65305         (strverscmp): Use ISDIGIT, not isdigit.
65306
65307 2000-01-19  Jim Meyering  <meyering@lucent.com>
65308
65309         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
65310         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
65311         defines `struct timespec' in <sys/time.h>
65312
65313         * m4/c-bs-a.m4: Remove uses of changequote altogether.
65314         Thanks to Akim for explaining.
65315
65316 2000-01-17  Paul Eggert  <eggert@twinsun.com>
65317
65318         * lib/nanosleep.c (nanosleep):
65319         Don't use SA_INTERRUPT to decide whether to call sigaction, as
65320         POSIX.1 doesn't require SA_INTERRUPT and some systems
65321         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
65322         it's been part of POSIX.1 since day 1 (in 1988).
65323
65324 2000-01-17  Jim Meyering  <meyering@lucent.com>
65325
65326         * lib/interlock: Remove unused file.  Reported by François Pinard.
65327
65328 2000-01-16  Paul Eggert  <eggert@twinsun.com>
65329
65330         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
65331         alert, backslash, formfeed, and vertical tab unnecessarily in
65332         shell quoting style.
65333
65334 2000-01-16  Jim Meyering  <meyering@lucent.com>
65335
65336         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
65337         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
65338         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
65339         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
65340
65341 2000-01-16  Jim Meyering  <meyering@lucent.com>
65342
65343         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
65344         because the latter didn't work.
65345
65346 2000-01-15  Jim Meyering  <meyering@lucent.com>
65347
65348         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
65349         (AC_REPLACE_FUNCS): Add memcpy and memset.
65350         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
65351         Add strpbrk.
65352         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
65353
65354 2000-01-12  Jim Meyering  <meyering@lucent.com>
65355
65356         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
65357         (jm_PREREQ): Use it.
65358         (jm_PREREQ_READUTMP): New macro.
65359         (jm_PREREQ): Use it.
65360
65361 2000-01-11  Paul Eggert  <eggert@twinsun.com>
65362
65363         Quote multibyte characters correctly.
65364         * m4/c-bs-a.m4: New file.
65365         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
65366         (jm_PREREQ): Use it.
65367
65368 2000-01-11  Paul Eggert  <eggert@twinsun.com>
65369
65370         * m4/uintmax_t.m4: Port to autoconf 2.13.
65371
65372 2000-01-08  Jim Meyering  <meyering@ascend.com>
65373
65374         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
65375         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
65376
65377 2000-01-04  Jim Meyering  <meyering@ascend.com>
65378
65379         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
65380         jm_STRUCT_DIRENT_D_TYPE.
65381         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
65382         jm_STRUCT_DIRENT_D_INO.
65383         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
65384         jm_STRUCT_UTIMBUF.
65385         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
65386         renamings.
65387         * m4/utime.m4: Likewise.
65388
65389         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
65390         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
65391
65392 2000-01-03  Paul Eggert  <eggert@twinsun.com>
65393
65394         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
65395         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
65396
65397 2000-01-02  Jim Meyering  <meyering@ascend.com>
65398
65399         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
65400         remember if this is necessary.
65401
65402 1999-12-26  Jim Meyering  <meyering@ascend.com>
65403
65404         * m4/jm-macros.m4: Use it here.
65405         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
65406
65407 1999-12-23  Jim Meyering  <meyering@ascend.com>
65408
65409         * m4/jm-macros.m4: Check for clock_gettime (moved from
65410         fileutils/configure.in)
65411         Check for gettimeofday.
65412
65413 1999-12-20  Jim Meyering  <meyering@ascend.com>
65414
65415         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
65416         autoconf-2.14a-1999-12-20.
65417
65418 1999-12-19  Jim Meyering  <meyering@ascend.com>
65419
65420         * m4/lstat-slash.m4: New file.
65421         * m4/jm-macros.m4: Use the new macro:
65422         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
65423
65424 1999-12-07  Jim Meyering  <meyering@ascend.com>
65425
65426         * m4/perl.m4: Require that File::Compare be available, too.
65427         Too many systems seem to lack it.
65428
65429         * m4/strftime.m4: Add checks for most of the cpp macros tested in
65430         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
65431
65432 1999-11-18  Paul Eggert  <eggert@twinsun.com>
65433
65434         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
65435         problem with the QNX 4.25 shell, which doesn't propagate exit
65436         status of failed commands inside shell assignments.
65437
65438 1999-11-17  Jim Meyering  <meyering@ascend.com>
65439
65440         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
65441
65442 1999-11-07  Jim Meyering  <meyering@ascend.com>
65443
65444         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
65445
65446 1999-11-06  Jim Meyering  <meyering@ascend.com>
65447
65448         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
65449         * m4/jm-macros.m4 (jm_MACROS): Use it here.
65450
65451 1999-11-05  Jim Meyering  <meyering@ascend.com>
65452
65453         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
65454         configure.in of textutils, fileutils, and sh-utils into this one
65455         (shared between those packages) file.
65456         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
65457         AC_STRUCT_ST_BLKSIZE.
65458
65459 1999-11-03  Jim Meyering  <meyering@ascend.com>
65460
65461         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
65462         of AC_CHECK_TYPE checks includes unistd.h.
65463         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
65464         Suggestion from Akim Demaille.
65465
65466 1999-10-30  Jim Meyering  <meyering@ascend.com>
65467
65468         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
65469         m4-quoted string.
65470         * m4/ls-mntd-fs.m4: Likewise.
65471         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
65472         * m4/jm-winsz1.m4: Likewise.
65473
65474         * m4/const.m4: Remove file, since the fix made it into the experimental
65475         version of autoconf.
65476         * m4/mktime.m4: Likewise.
65477
65478         * m4/check-type.m4: Remove file, now that the latest version of
65479         AC_CHECK_TYPE takes a third arg to specify additional #includes.
65480
65481         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
65482         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
65483         AC_CHECK_TYPE.
65484
65485 1999-10-04  Jim Meyering  <meyering@ascend.com>
65486
65487         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
65488
65489 1999-09-22  Paul Eggert  <eggert@twinsun.com>
65490
65491         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
65492         2.95.1 bug with HP-UX 10.20.
65493
65494 1999-09-17  Jim Meyering  <meyering@ascend.com>
65495
65496         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
65497         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
65498         due to missing strdup (against sh-utils-2.0).
65499
65500 1999-08-29  Jim Meyering  <meyering@ascend.com>
65501
65502         * m4/jm-macros.m4: Require jm_BISON.
65503         * m4/bison.m4: New file.
65504
65505 1999-08-17  Paul Eggert  <eggert@twinsun.com>
65506
65507         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
65508         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
65509
65510 1999-08-05  Jim Meyering  <meyering@ascend.com>
65511
65512         * m4/getline.m4: Rename test file from conftestdata to conftest.data
65513         to avoid conflicts with `conftest' on 8+3 filesystems.
65514         Suggestion from Eli Zaretskii.
65515
65516 1999-08-04  Jim Meyering  <meyering@ascend.com>
65517
65518         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
65519         fileutils and sh-utils (textutils's getline test was inadequate).
65520         (AM_FUNC_GETLINE): Run this test.
65521         (AC_CHECK_FUNCS): Check for getdelim.
65522         Reported by Bob Proulx.
65523
65524 1999-08-02  Jim Meyering  <meyering@ascend.com>
65525
65526         * m4/jm-macros.m4: Add a comment.
65527
65528 1999-08-01  Paul Eggert  <eggert@twinsun.com>
65529
65530         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
65531         <inttypes.h> defines strtoumax as a macro (and not as a
65532         function).
65533
65534 1999-08-01  Paul Eggert  <eggert@twinsun.com>
65535
65536         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
65537         that we can shift, multiply and divide unsigned long long
65538         values; Ultrix cc can't do it.
65539
65540 1999-08-01  Paul Eggert  <eggert@twinsun.com>
65541
65542         * m4/mktime.m4: New file, which is a preview of what should appear
65543         in the next public autoconf release.
65544
65545 1999-08-01  Paul Eggert  <eggert@twinsun.com>
65546
65547         * m4/lfs.m4: Remove this file.
65548         * m4/largefile.m4: New file.  It contains the old contents of
65549         lfs.m4, except that all names with prefix AC_LFS have been
65550         changed to use the prefix AC_SYS_LARGEFILE instead, to be
65551         compatible with future autoconf versions.  Also, some minor m4
65552         quoting problems have been fixed.
65553
65554 1999-08-01  Paul Eggert  <eggert@twinsun.com>
65555
65556         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
65557         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
65558         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
65559         and simplify the shell code.
65560
65561 1999-08-01  Jim Meyering  <meyering@ascend.com>
65562
65563         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
65564         m4.
65565
65566 1999-07-20  Jim Meyering  <meyering@ascend.com>
65567
65568         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
65569
65570 1999-07-15  Jim Meyering  <meyering@ascend.com>
65571
65572         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
65573
65574 1999-05-22  Jim Meyering  <meyering@ascend.com>
65575
65576         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
65577
65578 1999-05-20  Jim Meyering  <meyering@ascend.com>
65579
65580         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
65581         Add a colon after each `then' in case $4 is empty.
65582
65583 1999-05-16  Jim Meyering  <meyering@ascend.com>
65584
65585         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
65586
65587 1999-05-10  Jim Meyering  <meyering@ascend.com>
65588
65589         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
65590
65591         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
65592         AC_FUNC_MKTIME.
65593
65594 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
65595
65596         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
65597
65598 1999-05-04  Paul Eggert  <eggert@twinsun.com>
65599
65600         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
65601         not CPPFLAGS, so that linking works correctly in IRIX.
65602
65603 1999-04-30  Paul Eggert  <eggert@twinsun.com>
65604
65605         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
65606
65607 1999-04-20  Paul Eggert  <eggert@twinsun.com>
65608
65609         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
65610         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
65611         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
65612         jm_AC_TYPE_UNSIGNED_LONG_LONG.
65613         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
65614
65615         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
65616
65617 1999-04-20  Jim Meyering  <meyering@ascend.com>
65618
65619         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
65620         AC_REPLACE xstroull if necessary.  From Paul Eggert.
65621         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
65622
65623 1999-04-18  Jim Meyering  <meyering@ascend.com>
65624
65625         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
65626         * m4/jm-macros.m4: Use it.
65627
65628 1999-04-06  Jim Meyering  <meyering@ascend.com>
65629
65630         * m4/strftime.m4: Remove test for %f.
65631
65632 1999-03-29  Jim Meyering  <meyering@ascend.com>
65633
65634         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
65635         superset of the AC_TYPE_* checks in the textutils, fileutils,
65636         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
65637         AC_TYPE_PID_T.
65638
65639 1999-03-28  Jim Meyering  <meyering@ascend.com>
65640
65641         * m4/jm-macros.m4: Define GNU_PACKAGE here.
65642         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
65643         replaced e.g., in the *.sh files of the sh-utils.
65644
65645 1999-03-20  Jim Meyering  <meyering@ascend.com>
65646
65647         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
65648         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
65649         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
65650
65651 1999-03-19  Jim Meyering  <meyering@ascend.com>
65652
65653         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
65654
65655 1999-03-12  Jim Meyering  <meyering@ascend.com>
65656
65657         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
65658
65659 1999-03-07  Jim Meyering  <meyering@ascend.com>
65660
65661         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
65662         declared.
65663
65664 1999-02-17  Jim Meyering  <meyering@ascend.com>
65665
65666         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
65667         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
65668
65669 1999-02-07  Jim Meyering  <meyering@ascend.com>
65670
65671         * m4/group-member.m4: New file -- extracted from sh-utils'
65672         configure.in.
65673
65674         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
65675         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
65676
65677 1999-02-06  Jim Meyering  <meyering@ascend.com>
65678
65679         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
65680         * m4/fnmatch.m4: Likewise.
65681         * m4/getgroups.m4: Likewise.
65682         * m4/lstat.m4: Likewise.
65683         * m4/malloc.m4: Likewise.
65684         * m4/putenv.m4: Likewise.
65685         * m4/realloc.m4: Likewise.
65686         * m4/regex.m4: Likewise.
65687         * m4/stat.m4: Likewise.
65688         * m4/strftime.m4: Likewise.
65689         Suggestion from Alain Magloire.
65690
65691         * m4/chown.m4: Use `.$ac_objext', not `.o'.
65692         * m4/fnmatch.m4: Likewise.
65693         * m4/getgroups.m4: Likewise.
65694         * m4/getline.m4: Likewise.
65695         * m4/lstat.m4: Likewise.
65696         * m4/malloc.m4: Likewise.
65697         * m4/memcmp.m4: Likewise.
65698         * m4/putenv.m4: Likewise.
65699         * m4/realloc.m4: Likewise.
65700         * m4/regex.m4: Likewise.
65701         * m4/stat.m4: Likewise.
65702         * m4/strftime.m4: Likewise.
65703         Suggestion from Alain Magloire.
65704
65705         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
65706         an argument.
65707
65708         * m4/regex.m4: Add a run-time Test for proper operation of
65709         re_compile_pattern.
65710
65711 1999-01-31  Jim Meyering  <meyering@ascend.com>
65712
65713         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
65714
65715 1999-01-30  Jim Meyering  <meyering@ascend.com>
65716
65717         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
65718
65719         * m4/jm-mktime.m4: Make this a wrapper around the official
65720         AM_FUNC_MKTIME rather than my private copy, now that the official one
65721         is up to date.
65722         * m4/mktime.m4: Remove file.
65723
65724         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
65725         * m4/uptime.m4: Likewise.
65726         * m4/uintmax_t.m4: Likewise.
65727
65728 1999-01-28  Jim Meyering  <meyering@ascend.com>
65729
65730         * m4/jm-macros.m4: Use jm_AFS.
65731         * m4/afs.m4: New file (from fileutils' configure.in).
65732
65733         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
65734         * m4/chown.m4: Likewise.
65735         * m4/d-ino.m4: Likewise.
65736         * m4/d-type.m4: Likewise.
65737         * m4/fnmatch.m4: Likewise.
65738         * m4/getgroups.m4: Likewise.
65739         * m4/gettext.m4: Likewise.
65740         * m4/jm-mktime.m4: Likewise.
65741         * m4/jm-winsz2.m4: Likewise.
65742         * m4/lcmessage.m4: Likewise.
65743         * m4/ls-mntd-fs.m4: Likewise.
65744         * m4/malloc.m4: Likewise.
65745         * m4/memcmp.m4: Likewise.
65746         * m4/putenv.m4: Likewise.
65747         * m4/realloc.m4: Likewise.
65748         * m4/st_mtim.m4: Likewise.
65749         * m4/strftime.m4: Likewise.
65750
65751 1999-01-16  Jim Meyering  <meyering@ascend.com>
65752
65753         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
65754         (ARGMATCH_DIE_DECL): Define.
65755
65756 1999-01-12  Jim Meyering  <meyering@ascend.com>
65757
65758         * m4/Makefile.am.in: Rewrite to avoid using fmt.
65759         Reported by Lars Hecking.
65760
65761 1999-01-10  Jim Meyering  <meyering@ascend.com>
65762
65763         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
65764         gross kludge.
65765         * m4/inttypes_h.m4: Likewise.
65766         * m4/lstat.m4: Likewise.
65767         * m4/malloc.m4: Likewise.
65768         * m4/readdir.m4: Likewise.
65769         * m4/realloc.m4: Likewise.
65770         * m4/st_dm_mode.m4: Likewise.
65771         * m4/stat.m4: Likewise.
65772         * m4/utimbuf.m4: Likewise.
65773         * m4/utimes.m4: Likewise.
65774
65775         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
65776         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
65777         comments in config.h.in are meaningful.
65778
65779         * m4/jm-macros.m4: Require autoconf-2.13 here.
65780
65781         * m4/regex.m4: By default, don't use the included regex.c on systems
65782         with glibc 2.  Suggestion from Uli Drepper.
65783
65784 1999-01-02  Jim Meyering  <meyering@ascend.com>
65785
65786         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
65787
65788 1998-12-18  Jim Meyering  <meyering@ascend.com>
65789
65790         * m4/Makefile.am.in (Makefile.am): Simplify rule.
65791         Based on a suggestion from Lars Hecking.
65792
65793 1998-11-16  Paul Eggert  <eggert@twinsun.com>
65794
65795         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
65796
65797 1998-11-16  Jim Meyering  <meyering@ascend.com>
65798
65799         * m4/lfs.m4: Double-quote the `uname...` expression.
65800
65801 1998-11-14  Jim Meyering  <meyering@ascend.com>
65802
65803         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
65804         * m4/stat.m4: Likewise.
65805
65806 1998-11-03  Jim Meyering  <meyering@ascend.com>
65807
65808         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
65809         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
65810
65811 1998-10-18  Jim Meyering  <meyering@ascend.com>
65812
65813         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
65814
65815 1998-10-17  Jim Meyering  <meyering@ascend.com>
65816
65817         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
65818         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
65819         calls for those previously hard-coded headers.  Instead, take a new
65820         parameter.
65821         (jm_CHECK_DECLARATIONS): Reflect interface change.
65822         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
65823         (jm_CHECK_DECL_LOCALTIME_R): New macro.
65824
65825         * m4/mktime.m4: Test for spring-forward gap before long-running test.
65826
65827 1998-10-14  Jim Meyering  <meyering@ascend.com>
65828
65829         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
65830         instead of "TZ=America/Vancouver".  From Paul Eggert.
65831
65832 1998-10-11  Jim Meyering  <meyering@ascend.com>
65833
65834         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
65835         This adds a test for a recently added compatibility fix for mktime.c.
65836         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
65837
65838 1998-09-27  Jim Meyering  <meyering@ascend.com>
65839
65840         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
65841
65842         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
65843         ../configure.in, including a change from Gordon Matzigkeit to allow
65844         cross-compiling for the Hurd.
65845
65846         * m4/glibc.m4: New file/macro to test for the GNU C Library
65847         versions 1 and 2.  From Gordon Matzigkeit.
65848         Indent.
65849
65850 1998-09-21  Jim Meyering  <meyering@ascend.com>
65851
65852         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
65853
65854 1998-08-18  Paul Eggert  <eggert@twinsun.com>
65855
65856         Port nanosecond-resolution times to UnixWare 2.1.2 and
65857         pedantic Solaris 2.6.
65858
65859         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
65860         AC_STRUCT_ST_MTIM.
65861         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
65862         Generate name of ns member, instead of just 1 or undef.
65863         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
65864
65865 1998-08-15  Jim Meyering  <meyering@ascend.com>
65866
65867         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
65868         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
65869         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
65870         instead of jm_TYPE_SSIZE_T.
65871
65872 1998-08-12  Jim Meyering  <meyering@ascend.com>
65873
65874         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
65875
65876 1998-08-02  Jim Meyering  <meyering@ascend.com>
65877
65878         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
65879         in acconfig.h manually.
65880
65881 1998-07-31  Paul Eggert  <eggert@twinsun.com>
65882
65883         * m4/st_mtim.m4: New file.
65884
65885 1998-07-28  Jim Meyering  <meyering@ascend.com>
65886
65887         * m4/utimes.m4: Undef stat.
65888
65889 1998-07-25  Jim Meyering  <meyering@ascend.com>
65890
65891         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
65892         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
65893
65894 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
65895
65896         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
65897         uid and gid actually remain unchanged.
65898
65899 1998-07-07  Jim Meyering  <meyering@ascend.com>
65900
65901         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
65902
65903 1998-07-04  Jim Meyering  <meyering@ascend.com>
65904
65905         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
65906         to prove that this macro can be used in packages without regex.c.
65907
65908 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
65909
65910         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
65911         is to be used.
65912
65913 1998-07-03  Jim Meyering  <meyering@ascend.com>
65914
65915         * m4/gettext.m4: Add -lintl if it's found to be necessary.
65916
65917         * m4/gettext.m4: New file -- from gettext-0.10.35.
65918         * m4/lcmessage.m4: Likewise.
65919         * m4/progtest.m4: Likewise.
65920
65921         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
65922         * m4/jm-macros.m4: Require the new macro.
65923
65924 1998-06-29  Jim Meyering  <meyering@ascend.com>
65925
65926         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
65927         for the definition of NGROUPS (used in a system header included
65928         by sys/mount.h).
65929
65930 1998-06-28  Jim Meyering  <meyering@ascend.com>
65931
65932         * m4/ls-mntd-fs.m4: New file.
65933         * m4/fstypename.m4: New file.
65934
65935         * m4/jm-macros.m4: Require the new macro.
65936         * m4/jm-glibc-io.m4: New file.
65937
65938 1998-05-19  Jim Meyering  <meyering@ascend.com>
65939
65940         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
65941         * m4/lchown.m4: New file.
65942
65943         * m4/Makefile.am.in: New file.
65944         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
65945
65946 1998-05-14  Jim Meyering  <meyering@ascend.com>
65947
65948         * m4/Makefile.am (EXTRA_DIST): Add them.
65949         * m4/jm-macros.m4: New file.
65950         * m4/utimbuf.m4: New file.
65951
65952 1998-05-12  Jim Meyering  <meyering@ascend.com>
65953
65954         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
65955
65956 1998-05-11  Jim Meyering  <meyering@ascend.com>
65957
65958         * m4/isc-posix.m4: New file.
65959
65960 1998-05-10  Jim Meyering  <meyering@ascend.com>
65961
65962         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
65963
65964 1998-05-09  Jim Meyering  <meyering@ascend.com>
65965
65966         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
65967         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
65968         with automake.
65969
65970         * m4/ssize_t.m4: New file.
65971         * m4/mktime.m4: Remove file -- the new automake has this now.
65972
65973 1998-04-26  Jim Meyering  <meyering@ascend.com>
65974
65975         * m4/assert.m4: New file.
65976         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
65977
65978 1998-04-05  Jim Meyering  <meyering@ascend.com>
65979
65980         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
65981         (jm_PREREQ): Use it here.
65982
65983 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
65984
65985         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
65986         in acconfig.h.
65987
65988 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
65989
65990         * m4/prereq.m4: New file.
65991         * m4/error.m4: New file.
65992         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
65993
65994 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
65995
65996         * m4/getline.m4: Don't set am_cv_func_working_getline before the
65997         cache-check for the same variable -- that defeated the purpose of
65998         the test; the test program was never run.  This was a problem only
65999         on systems with losing getline functions -- HP-UX 10.20 is one.
66000         Reported by Bjorn Helgaas.
66001
66002 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
66003
66004         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
66005
66006 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
66007
66008         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
66009
66010         * m4/const.m4: New file.  Use an initializer in this declaration
66011         typedef int charset[2]; const charset x;
66012         Reported by Bob Glickstein.
66013
66014 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
66015
66016         * m4/chown.m4: Fix reversed types on -1 args to chown.
66017         From Kaveh Ghazi.
66018
66019 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
66020
66021         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
66022         Add lseek and memchr.
66023
66024         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
66025         T.E.Dickey <dickey@clark.net> said that some older preprocessors
66026         have a 20-character limit on names.
66027
66028 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
66029
66030         * m4/inttypes_h.m4: New file.
66031         * m4/uintmax_t.m4: New file.
66032         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
66033
66034
66035         -----
66036
66037         Local Variables:
66038         coding: utf-8
66039         End:
66040
66041         Copyright (C) 1997-2010 Free Software Foundation, Inc.
66042
66043         Copying and distribution of this file, with or without
66044         modification, are permitted provided the copyright notice
66045         and this notice are preserved.