9208e2fdd94be9c54db25cdddd4b007f2c60c5fc
[pspp] / ChangeLog
1 2010-04-25  Bruno Haible  <bruno@clisp.org>
2
3         ptsname: Fix misuse of ttyname_r.
4         * lib/ptsname.c (__ptsname_r): Use __ttyname_r's return value instead
5         of errno.
6
7 2010-04-25  Bruno Haible  <bruno@clisp.org>
8
9         ttyname_r: Make it work on Solaris 10.
10         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Define HAVE_POSIXDECL_TTYNAME_R
11         if the system function has the POSIX declaration. Test whether the
12         function fails if the buffer is less than 128 bytes large.
13         * lib/ttyname_r.c (ttyname_r): Handle both possible declarations of the
14         system's ttyname_r function. Provide a reasonably large buffer.
15         * modules/ttyname_r (Depends-on): Add extensions.
16         * doc/posix-functions/ttyname_r.texi: Mention the Solaris problem.
17
18 2010-04-25  Bruno Haible  <bruno@clisp.org>
19
20         Use the 'extensions' module for some more functions on Solaris.
21         * doc/posix-functions/asctime_r.texi: Recommend to use the 'extensions'
22         module.
23         * doc/posix-functions/ctime_r.texi: Likewise.
24         * doc/posix-functions/getgrgid_r.texi: Likewise.
25         * doc/posix-functions/getgrnam_r.texi: Likewise.
26         * doc/posix-functions/getpwnam_r.texi: Likewise.
27         * doc/posix-functions/getpwuid_r.texi: Likewise.
28         * doc/posix-functions/readdir_r.texi: Likewise.
29         * doc/posix-functions/sigwait.texi: Likewise.
30         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Add comment.
31         * doc/posix-functions/getlogin_r.texi: Mark Solaris problem as fixed.
32
33 2010-04-25  Bruno Haible  <bruno@clisp.org>
34
35         ttyname_r: Make it work on MacOS X 10.4 and Solaris 10.
36         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether the system function
37         has the POSIX declaration. Set REPLACE_TTYNAME_R if not.
38         * lib/ttyname_r.c: Include <limits.h>.
39         (ttyname_r): Define using the system's ttyname_r function, if it exists
40         and not on Solaris.
41         * lib/unistd.in.h (ttyname_r): Replace function if REPLACE_TTYNAME_R is
42         set.
43         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_TTYNAME_R.
44         * modules/unistd (Makefile.am): Substitute REPLACE_TTYNAME_R.
45         * doc/posix-functions/ttyname_r.texi: Mark the problem as fixed.
46         Reported by Simon Josefsson.
47
48 2010-04-25  Bruno Haible  <bruno@clisp.org>
49
50         Mention effects of _POSIX_PTHREAD_SEMANTICS on Solaris.
51         * doc/posix-functions/asctime_r.texi: Mention the Solaris problem.
52         * doc/posix-functions/ctime_r.texi: Likewise.
53         * doc/posix-functions/getgrgid_r.texi: Likewise.
54         * doc/posix-functions/getgrnam_r.texi: Likewise.
55         * doc/posix-functions/getlogin_r.texi: Likewise.
56         * doc/posix-functions/getpwnam_r.texi: Likewise.
57         * doc/posix-functions/getpwuid_r.texi: Likewise.
58         * doc/posix-functions/readdir_r.texi: Likewise.
59         * doc/posix-functions/sigwait.texi: Likewise.
60         * doc/posix-functions/ttyname_r.texi: Likewise.
61         Reported by Simon Josefsson.
62
63 2010-04-25  Bruno Haible  <bruno@clisp.org>
64
65         gnulib-tool: Don't include hairy tests of dependencies in testdirs.
66         * gnulib-tool (func_usage): Document that --with-*-tests options apply
67         also to --create-testdir.
68         (func_acceptable): Don't consider the status of *-tests modules here.
69         (func_modules_transitive_closure): Consider it here, before including a
70         test module.
71         (func_import, func_create_testdir): Set inc_all_direct_tests,
72         inc_all_indirect_tests.
73         * doc/gnulib.texi (Extra tests modules): Document new behaviour of
74         --create-testdir and --create-megatestdir.
75
76 2010-04-25  Bruno Haible  <bruno@clisp.org>
77
78         gnulib-tool: Add --without-*-tests options.
79         * gnulib-tool (func_usage): Document the --without-*-tests options.
80         (excl_cxx_tests, excl_longrunning_tests, excl_privileged_tests,
81         excl_unportable_tests): New variables.
82         Fail if they are specified with --import or --update.
83         (func_acceptable): Respect the excl_*_tests variables.
84         (func_import): Set the excl_*_tests variables to empty.
85
86 2010-04-25  Simon Josefsson  <simon@josefsson.org>
87             Bruno Haible  <bruno@clisp.org>
88
89         Work around a MacOS X 10.4 bug with openpty.
90         * doc/glibc-functions/openpty.texi: Mention the MacOS X 10.4 bug.
91         * tests/test-openpty.c (main): Close the master side explicitly.
92
93 2010-04-25  Bruno Haible  <bruno@clisp.org>
94
95         strnlen: Fix a C++ test error on MacOS X and Solaris.
96         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Don't set REPLACE_STRNLEN to 1 if
97         the function is not declared.
98         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com> and
99         Simon Josefsson.
100
101 2010-04-24  Bruno Haible  <bruno@clisp.org>
102
103         Avoid a gcc warning.
104         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Pass argument
105         of correct type for %08lx directive.
106         Reported by Eric Blake.
107
108 2010-04-24  Bruno Haible  <bruno@clisp.org>
109
110         vasnprintf: Correct errno value in case of out-of-memory.
111         * lib/vasnprintf.c (VASNPRINTF): Set errno to 0 before calling SNPRINTF
112         or sprintf. Use the errno value from SNPRINTF or sprintf.
113         Reported by Ian Beckwith <ianb@erislabs.net>.
114
115 2010-04-24  Bruno Haible  <bruno@clisp.org>
116
117         ansi-c++-opt: Find correct compiler when cross-compiling.
118         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Use AC_CHECK_TOOLS instead of
119         AC_CHECK_PROGS.
120         Reported by Simon Josefsson.
121
122 2010-04-24  Giuseppe Scrivano  <gscrivano@gnu.org>
123
124         vc-list-files: Add support for subversion
125         * build-aux/vc-list-files: Use "svn list" to generate the list of
126         files controlled by subversion.
127
128 2010-04-23  Jim Meyering  <meyering@redhat.com>
129
130         vc-list-files tests: convert to use init.sh
131         * tests/test-vc-list-files-cvs.sh: Invoke "$srcdir/init.sh" and
132         path_prepend_.
133         Use Exit, not exit.
134         Use skip_ rather than open coding it.
135         Remove trap set-up and compare definitions.
136         * tests/test-vc-list-files-git.sh: Likewise.
137         * modules/vc-list-files-tests (Files): Add tests/init.sh.
138
139 2010-04-22  Simon Josefsson  <simon@josefsson.org>
140
141         * top/maint.mk (sc_prohibit_backup_files): Prohibit checked in
142         backup files.
143
144 2010-04-21  Simon Josefsson  <simon@josefsson.org>
145
146         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Test %08lx.
147
148 2010-04-20  Eric Blake  <eblake@redhat.com>
149
150         tests: be robust to ignored SIGPIPE
151         * tests/test-select-in.sh: Consume all output.
152         * tests/test-lseek.sh: Check correct exit status, while avoiding
153         EPIPE.
154
155 2010-04-20  Simon Josefsson  <simon@josefsson.org>
156             Bruno Haible  <bruno@clisp.org>
157
158         visibility: Don't use -fvisibility if it leads to a warning.
159         * m4/visibility.m4 (gl_VISIBILITY): Check whether -Werror is usable. If
160         yes, don't pretend that visibility works if it leads to a warning.
161         Reported by Mike Gran <spk121@yahoo.com>.
162
163 2010-04-20  Andreas Gruenbacher  <agruen@suse.de>
164
165         * build-aux/bootstrap: Use "git -h" for testing for supported options
166         instead of "git --help".  The short-form option only shows a summary,
167         and doesn't layout the full man page.  Grep for the full option name
168         in the summary, too.
169
170 2010-04-19  Bruno Haible  <bruno@clisp.org>
171
172         relocatable: Drop the need to define RELOCATABLE_STRIP in Makefile.am.
173         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Set RELOCATABLE_STRIP.
174         * doc/relocatable-maint.texi (Supporting Relocation): Remove the
175         mention of RELOCATABLE_STRIP.
176         Reported by Sylvain Beucler <beuc@beuc.net>.
177
178 2010-04-19  Bruno Haible  <bruno@clisp.org>
179
180         * lib/diffseq.h: Fix typo in comment.
181         Reported by Eric Blake.
182
183 2010-04-19  Bruno Haible  <bruno@clisp.org>
184
185         ioctl: Move autoconf macro to a .m4 file.
186         * m4/ioctl.m4: New file, extracted from modules/ioctl.
187         * modules/ioctl (Files): Add it.
188         (configure.ac): Simply invoke gl_FUNC_IOCTL.
189         Reported by Ian Beckwith <ianb@erislabs.net>.
190
191 2010-04-18  Andreas Gruenbacher  <agruen@suse.de>
192             Bruno Haible  <bruno@clisp.org>
193
194         diffseq: Accommodate use-case with abstract arrays.
195         * lib/diffseq.h (struct context): Remove xvec, yvec fields if ELEMENT
196         is not defined.
197         (diag, compareseq): Remove local variables xv, yv if ELEMENT is not
198         defined. Use local macro XREF_YREF_EQUAL instead of EQUAL.
199
200 2010-04-18  Bruno Haible  <bruno@clisp.org>
201
202         * doc/posix-headers/stdbool.texi: More precise wording.
203
204 2010-04-17  Jim Meyering  <meyering@redhat.com>
205
206         maint.mk: use gnu-style indentation in an embedded perl script
207         * top/maint.mk (detect_empty_lines_at_EOF_): Clean up formatting.
208         Rename variable: s/two/last_two_bytes/
209
210 2010-04-16  Eric Blake  <eblake@redhat.com>
211
212         test-stdbool: skip test that fails with Solaris CC
213         * tests/test-stdbool.c (f): Skip test that causes compilation
214         error under buggy C++ compiler.
215         * lib/stdbool.in.h: Document the limitation.
216         * doc/posix-headers/stdbool.texi (stdbool.h): Likewise.
217
218         setenv: allow compilation with C++
219         * lib/setenv.c (__add_to_environ): Add a cast.  Also, drop use of
220         register keyword.
221
222         stdint: allow test to pass with C++
223         * tests/test-stdint.c: Define __STDC_CONSTANT_MACROS, for glibc.
224
225         getopt: allow compilation with C++
226         * lib/getopt_int.h (__ordering): Hoist enum declaration outside
227         struct.
228         * lib/getopt.c (_getopt_internal_r): Use correct type.
229         Reported by Dagobert Michelson, via Joel E. Denny.
230
231 2010-04-16  Bruno Haible  <bruno@clisp.org>
232
233         Override netdb.h always.
234         * modules/netdb (Makefile.am): Augment BUILT_SOURCES always.
235         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't set NETDB_H.
236         Reported by Ludovic Courtès <ludo@gnu.org>.
237
238 2010-04-15  Bruno Haible  <bruno@clisp.org>
239
240         openpty: Fix mistake from 2010-03-21.
241         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when openpty exists.
242         Reported by Simon Josefsson.
243
244 2010-04-15  Eric Blake  <eblake@redhat.com>
245
246         test-forkpty: fix expected signature
247         * tests/test-forkpty.c (SIGNATURE_CHECK): Add appropriate const.
248         Reported by Simon Josefsson.
249
250 2010-04-15  Jim Meyering  <meyering@redhat.com>
251
252         maint.mk: texinfo_suffix_re_: correct the default regexp
253         * top/maint.mk (texinfo_suffix_re_): Fix default regexp.
254
255         * top/maint.mk (sc_texinfo_acronym): Improve filename regexp, and
256         make it configurable via texinfo_suffix_re_.
257
258 2010-04-14  Eric Blake  <eblake@redhat.com>
259
260         strtok_r: relax license to LGPLv2+
261         * modules/strtok_r (License): Relax license.
262         Reported by Matthias Bolte.
263
264 2010-04-14  Simon Josefsson  <simon@josefsson.org>
265
266         * lib/gc-libgcrypt.c (gc_init): Use MIN_GCRYPT_VERSION set to
267         version 1.4.4 by default instead of requiring the libgcrypt
268         version used during build.  This makes it possible to use the
269         application with older but still binary compatible libgcrypt
270         versions.
271
272 2010-04-13  Eric Blake  <eblake@redhat.com>
273
274         getopt-gnu: match recent glibc fixes and posix ruling
275         * tests/test-getopt.h (test_getopt): Strengthen tests of leading
276         '+' handling, when requesting extensions.
277         * tests/test-getopt_long.h (test_getopt_long): Strengthen test of
278         'W;' handling.
279         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Detect glibc 2.11 bug.
280         * doc/posix-functions/getopt.texi (getopt): Document this.
281         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
282         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
283         Likewise.
284
285         getopt: merge bug fixes from glibc
286         * lib/getopt.c (_getopt_internal_r): Use correct message for 'W;'
287         diagnostics.  Honor '+:' correctly.  Reject ';'.
288
289         getopt-posix: detect MacOS bug
290         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Reject MacOS botch of
291         optind when missing a required argument.
292         * doc/posix-functions/getopt.texi (getopt): Document the bug.
293         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
294         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
295         Likewise.
296
297         getopt-posix: avoid spurious failure on Solaris
298         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for getopt_clip as
299         an indicator that setting optind=1 is sufficient for reset.
300
301         getopt-posix: avoid spurious failure on FreeBSD
302         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for optreset even
303         in POSIX mode, since the m4 test uses it.
304
305         gnulib-tool: silence warning on BSD sh
306         * gnulib-tool: Avoid leaking warning about unknown 'declare'.
307
308 2010-04-13  Jim Meyering  <meyering@redhat.com>
309
310         doc: users.txt: GNU patch now uses gnulib
311         * users.txt: Add patch.
312
313 2010-04-12  Jim Meyering  <meyering@redhat.com>
314
315         maint.mk: generate more concise timing data for syntax-check rules
316         * top/maint.mk ($(sc_z_rules_)): Remove the ":", "sc_" prefix and
317         " done" from each line that reports a syntax-check test duration.
318
319 2010-04-12  Andreas Gruenbacher  <agruen@suse.de>
320
321         git-version-gen: use "git update-index..." rather than "git status"
322         * build-aux/git-version-gen: Use git update-index --refresh, not
323         "git status".  With some versions of git, "git status" would fail
324         to update the index and result in an unwarranted "-dirty" suffix.
325
326 2010-04-11  Jim Meyering  <meyering@redhat.com>
327
328         openat: correct formatting (no semantic change)
329         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Correct formatting in AC_DEFINE.
330         Suggested by Bruno Haible.
331
332 2010-04-11  Bruno Haible  <bruno@clisp.org>
333
334         Stricter declaration checking in testdirs.
335         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
336         If for_tests is true, augment AM_CPPFLAGS to define
337         GNULIB_STRICT_CHECKING.
338         * build-aux/warn-on-use.h (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): When
339         GNULIB_STRICT_CHECKING is defined, verify that the function is
340         declared.
341
342 2010-04-11  Paolo Bonzini  <bonzini@gnu.org>
343             Bruno Haible  <bruno@clisp.org>
344
345         libunistring: Improve configure output.
346         * m4/libunistring.m4 (gl_LIBUNISTRING): Check for libiconv first.
347         Don't say "consider installing GNU libunistring" when checking again
348         with libiconv.
349
350 2010-04-11  Bruno Haible  <bruno@clisp.org>
351
352         libunistring: Correct value of $LTLIBUNISTRING.
353         * m4/libunistring.m4 (gl_LIBUNISTRING): When it depends on libiconv,
354         correct the value of $LTLIBUNISTRING.
355
356 2010-04-11  Bruno Haible  <bruno@clisp.org>
357
358         havelib: Add static libraries to LIBS in the right order.
359         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): When $LIB[]NAME contains no
360         -l options, prepend it to $LIBS, instead of appending it to $LIBS.
361
362 2010-04-11  Bruno Haible  <bruno@clisp.org>
363
364         libunistring: Detect libunistring also when it depends on libiconv.
365         * m4/libunistring.m4 (gl_LIBUNISTRING): Unset the cached result before
366         the second AC_LIB_HAVE_LINKFLAGS invocation.
367
368 2010-04-11  James Youngman  <jay@gnu.org>
369
370         close-stream: declare local scalars to be "const"
371         * lib/close-stream.c (close_stream): Make boolean variables const
372         to document the fact that we set but do not change them.
373
374 2010-04-11  Bruno Haible  <bruno@clisp.org>
375
376         * m4/libunistring.m4 (gl_LIBUNISTRING): Fix typo in comment.
377
378 2010-04-11  Jim Meyering  <meyering@redhat.com>
379
380         maint.mk: don't include dist-check.mk
381         * top/maint.mk: Remove bogus include directive.
382
383         maint.mk: improve empty-line-at-EOF check
384         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Use Perl-based
385         solution, rather than tail+Perl-based one.  The latter would read
386         a few kilobytes from the end of each file, and did not handle empty
387         files properly.
388
389         maint.mk: print the elapsed time for each syntax-check rule
390         * top/maint.mk (sc_m_rules_): Save start time in a file.
391         (sc_z_rules_): New rules: remove temp file and print elapsed time.
392         (local-check): Interpose the .z rules
393
394 2010-04-11  Jim Meyering  <meyering@redhat.com>
395
396         maint.mk: detect_empty_lines_at_EOF_: avoid FP for an empty file
397         * top/maint.mk (detect_empty_lines_at_EOF_): Don't confuse an
398         empty file with one that ends in an empty line.
399
400 2010-04-10  Bruno Haible  <bruno@clisp.org>
401
402         mkdir: Make it work on mingw64.
403         * lib/sys_stat.in.h: Include <direct.h> together with <io.h>.
404         * lib/mkdir.c: Update comment.
405         Reported by Roman Donchenko (Роман Ð”онченко) <dxdragon@yandex.ru>.
406
407 2010-04-10  Bruno Haible  <bruno@clisp.org>
408
409         Don't override improved macro from newer autoconf.
410         * m4/gnulib-common.m4 (AC_C_RESTRICT): Don't define for
411         autoconf >= 2.62.
412         Reported by Joel E. Denny <jdenny@clemson.edu>.
413
414 2010-04-10  Jim Meyering  <meyering@redhat.com>
415
416         maint.mk: new syntax-check rule: prohibit empty lines at end of file
417         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): New rule.
418
419         maint.mk: correct a diagnostic
420         * top/maint.mk (sc_prohibit_HAVE_MBRTOWC): Fix obsolete use of $re
421         in diagnostic; now use $prohibit.
422
423 2010-04-10  Bruno Haible  <address@hidden>
424
425         fchownat: Fix a C++ test error on Solaris 8.
426         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Don't set REPLACE_FCHOWNAT to 1 if
427         the function does not exist.
428
429 2010-04-10  Bruno Haible  <bruno@clisp.org>
430
431         vasnprintf: Add more tests.
432         * tests/test-vasnprintf-posix.c: Include <errno.h>.
433         (test_function): Test converting an invalid wide string.
434
435         vasnprintf: Correct handling of unconvertible wide string arguments.
436         * lib/vasnprintf.c (MAX_ROOM_NEEDED): New function, extracted from
437         VASNPRINTF.
438         (VASNPRINTF): Use it. After snprintf failed, allocate more memory only
439         if HAVE_SNPRINTF_RETVAL_C99 is false and the allocated memory is
440         smaller than the expected maximum need for the directive. Set errno to
441         EILSEQ, not EINVAL, when the directive is 'c' or 's'.
442         (local_strnlen, local_wcslen, local_wcsnlen): Update conditions.
443         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require AC_C_INLINE and
444         gl_SNPRINTF_RETVAL_C99. Define HAVE_SNPRINTF_RETVAL_C99.
445         * modules/vasnprintf (Files): Add m4/printf.m4.
446         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
447
448 2010-04-10  Bruno Haible  <bruno@clisp.org>
449
450         vasnprintf: Fix crash in %ls directive.
451         * lib/vasnprintf.c (VASNPRINTF): Don't abort when a unconvertible wide
452         string is passed as argument to %ls, with no precision and no width.
453         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
454
455 2010-04-10  Bruno Haible  <bruno@clisp.org>
456
457         vasnprintf: Fix multiple test failures on mingw.
458         * lib/vasnprintf.c (SNPRINTF) [mingw]: Define to snprintf, not
459         _snprintf, or snwprintf, not _snwprintf.
460
461 2010-04-10  Bruno Haible  <bruno@clisp.org>
462
463         write: Fix a C++ test error on mingw.
464         * lib/unistd.in.h (write): Use _GL_CXXALIAS_SYS_CAST.
465
466 2010-04-10  Bruno Haible  <bruno@clisp.org>
467
468         vasnprintf test: Reduce code duplication.
469         * tests/test-vasnprintf.c (test_function): New function, extracted from
470         test_vasnprintf.
471         (test_vasnprintf, test_asnprintf): Invoke it.
472
473 2010-04-10  Bruno Haible  <bruno@clisp.org>
474
475         strnlen: Fix warning in C++ mode on MacOS X.
476         * lib/string.in.h (strnlen): Use the modern idiom.
477         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set REPLACE_STRNLEN to 1, instead of
478         defining strnlen as a macro already in <config.h>.
479         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
480         REPLACE_STRNLEN.
481         * modules/string (Makefile.am): Substitute REPLACE_STRNLEN.
482         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
483
484 2010-04-08  James Youngman  <jay@gnu.org>
485
486         * doc/manywarnings.texi (manywarnings): Add missing parenthesis in
487         the example.
488
489 2010-04-09  Jim Meyering  <meyering@redhat.com>
490
491         maint.mk: print better diagnostic when there is no $(_hv_file)
492         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): Skip test and
493         announce that when $(_hv_file) (aka help-version) does not exist.
494
495         init.sh: run tr in the "C" locale to avoid multibyte interpretation
496         * tests/init.sh (rand_bytes_): Run tr in the "C" locale so it does
497         not try to interpret its random input bytes.  Jarno Rajahalme reported
498         that ./test-xalloc-die.sh would fail with "tr: Illegal byte sequence".
499         on Darwin 10.3.0 with LC_CTYPE=UTF-8.
500         (mktempd_): Likewise, just in case.
501
502         ftruncate: add two years to projected module removal date: 2012
503         * m4/ftruncate.m4: Adjust comments.
504
505         ftruncate: mark module as obsolete; even MinGW provides it, now
506         * modules/ftruncate (Status): Obsolete.
507         (Notice): Say that.
508         * doc/posix-functions/ftruncate.texi: Don't say MinGW lacks it.
509         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/9203
510
511 2010-04-08  Bruno Haible  <bruno@clisp.org>
512
513         Fix side effects from tests-related modules.
514         * modules/dprintf-posix (Comment): New section.
515         * modules/fprintf-posix (Comment): Likewise.
516         * modules/obstack-printf-posix (Comment): Likewise.
517         * modules/printf-posix (Comment): Likewise.
518         * modules/snprintf-posix (Comment): Likewise.
519         * modules/sprintf-posix (Comment): Likewise.
520         * modules/vasnprintf-posix (Comment): Likewise.
521         * modules/vasprintf-posix (Comment): Likewise.
522         * modules/vdprintf-posix (Comment): Likewise.
523         * modules/vfprintf-posix (Comment): Likewise.
524         * modules/vprintf-posix (Comment): Likewise.
525         * modules/vsnprintf-posix (Comment): Likewise.
526         * modules/vsprintf-posix (Comment): Likewise.
527         * modules/xprintf-posix (Comment): Likewise.
528         * modules/xvasprintf-posix (Comment): Likewise.
529         * modules/ceilf-tests (Depends-on): Remove fprintf-posix.
530         * modules/floorf-tests (Depends-on): Likewise.
531         * modules/round-tests (Depends-on): Likewise.
532         * modules/roundf-tests (Depends-on): Likewise.
533         * modules/trunc-tests (Depends-on): Likewise.
534         * modules/truncf-tests (Depends-on): Likewise.
535         * tests/test-ceilf2.c (check): Don't invoke fprintf if the
536         'fprintf-posix' module is not present.
537         * tests/test-floorf2.c (check): Likewise.
538         * tests/test-trunc2.c (check): Likewise.
539         * tests/test-truncf2.c (check): Likewise.
540         * tests/test-round2.c (equal): Likewise.
541         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
542
543 2010-04-07  Karl Berry  <karl@gnu.org>
544
545         * config/srclist.txt,
546         * config/srclistvars.sh,
547         * config/srclist-update: doc fixes.
548
549 2010-04-07  Jim Meyering  <meyering@redhat.com>
550
551         maint.mk: add a PATH crosschecking syntax-check rule
552         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): New rule.
553         Useful if you use a test like the one in help-version (coreutils,
554         diffutils, grep, gzip) that ensures $(VERSION) matches what is
555         printed by prog --version.
556
557 2010-04-06  Bruno Haible  <bruno@clisp.org>
558
559         Fix link error on mingw.
560         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add LIBSOCKET.
561         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Likewise.
562
563 2010-04-06  Bruno Haible  <bruno@clisp.org>
564
565         Assume rmdir exists.
566         * lib/rmdir.c (rpl_rmdir): Remove code that invokes the rmdir program.
567
568 2010-04-06  Giuseppe Scrivano <gscrivano@gnu.org>
569
570         doc: update users.txt
571         * users.txt: Add gcal.
572
573 2010-04-06  Jim Meyering  <meyering@redhat.com>
574
575         init.sh: simply unset TMPDIR rather than risking env -i
576         * tests/init.sh (mktempd_): Using env -i is rather harsh, and
577         although it probably works fine on all Unix-based systems, some
578         systems (Cygwin?) cannot tolerate a totally cleared environment.
579         Suggestion from Eric Blake.
580
581 2010-04-06  Jim Meyering  <meyering@redhat.com>
582
583         init.sh: portability fix: use env's POSIX-specified -i option not -u
584         * tests/init.sh (mktempd_): Use env -i and set PATH explicitly rather
585         than unportable env -u.  Solaris 5.11's env lacks support for -u.
586
587 2010-04-05  Bruno Haible  <bruno@clisp.org>
588
589         btowc: Work around Cygwin 1.7.2 bug.
590         * m4/btowc.m4 (gl_FUNC_BTOWC): Set REPLACE_BTOWC to 1 if the function
591         does not map NUL to 0.
592         * doc/posix-functions/btowc.texi: Mention the Cygwin bug.
593
594 2010-04-05  Bruno Haible  <bruno@clisp.org>
595
596         Make the multithread modules work on Cygwin 1.7.2.
597         * m4/threadlib.m4 (gl_THREADLIB_BODY): Improve the test whether
598         imported symbols can be declared weak, so that it returns "no" on
599         Cygwin 1.7.2.
600
601 2010-04-05  Bruno Haible  <bruno@clisp.org>
602
603         Use the module 'strncat'.
604         * modules/unistr/u8-strncat (Depends-on): Add strncat.
605
606         Tests for module 'strncat'.
607         * modules/strncat-tests: New file.
608         * tests/test-strncat.c: New file.
609
610         New module 'strncat'.
611         * lib/string.in.h (strncat): New declaration.
612         * lib/strncat.c: New file, based on lib/unistr/u-strncat.h.
613         * m4/strncat.m4: New file, based on m4/memchr.m4.
614         * modules/strncat: New file.
615         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Also check whether strncat
616         is declared.
617         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRNCAT,
618         REPLACE_STRNCAT.
619         * modules/string (Makefile.am): Substitute GNULIB_STRNCAT,
620         REPLACE_STRNCAT.
621         * doc/posix-functions/strncat.texi: Mention the Solaris bug and the new
622         module.
623         * tests/test-string-c++.cc: Check signature of strncat.
624
625 2010-04-05  Jim Meyering  <meyering@redhat.com>
626
627         xstrtoumax-tests: convert to use init.sh
628         * modules/xstrtoumax-tests (Files): Add tests/init.sh.
629         * tests/test-xstrtoumax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
630         Use Exit, not exit.
631         Remove uses of $EXEEXT and "./" to run a program in the current dir.
632
633         xstrtoimax-tests: convert to use init.sh
634         * modules/xstrtoimax-tests (Files): Add tests/init.sh.
635         * tests/test-xstrtoimax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
636         Use Exit, not exit.
637         Remove uses of $EXEEXT and "./" to run a program in the current dir.
638
639 2010-04-05  Bruno Haible  <bruno@clisp.org>
640
641         sys_socket: Avoid #define replacements in C++ mode.
642         * lib/sys_socket.in.h (close, gethostname, select): In C++, attach a
643         warning to the function if possible, rather than #defining the symbol
644         to a dysfunctional alias.
645
646 2010-04-05  Bruno Haible  <bruno@clisp.org>
647
648         fseeko: Fix C++ test error on mingw.
649         * m4/fseeko.m4 (gl_HAVE_FSEEKO): New macro, extracted from
650         gl_FUNC_FSEEKO.
651         (gl_REPLACE_FSEEKO): Also set REPLACE_FSEEKO if appropriate.
652         (gl_FUNC_FSEEKO): Require gl_HAVE_FSEEKO. Update.
653         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't fiddle with internals of the
654         fseeko module. Instead, invoke gl_REPLACE_FSEEKO.
655
656 2010-04-05  Bruno Haible  <bruno@clisp.org>
657
658         duplocale: Improve test output.
659         * tests/test-duplocale.c (main): Print reason for skipped test.
660
661 2010-04-05  Bruno Haible  <bruno@clisp.org>
662
663         Assume rmdir exists.
664         * m4/rmdir.m4 (gl_FUNC_RMDIR): Remove test whether rmdir exists.
665         * doc/posix-functions/rmdir.texi: Remove mention of "old platforms".
666
667 2010-04-05  Bruno Haible  <bruno@clisp.org>
668
669         Fix link error on Solaris 8 with cc.
670         * modules/pty-c++-tests (test_pty_c___LDADD): Add LIBINTL.
671
672 2010-04-05  Bruno Haible  <bruno@clisp.org>
673
674         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
675         * lib/math.in.h (frexpl): Fix condition on _GL_CXXALIASWARN invocation.
676
677 2010-04-05  Bruno Haible  <bruno@clisp.org>
678
679         vasprintf: Update documentation.
680         * doc/glibc-functions/asprintf.texi: Mention the 'vasprintf' module.
681
682 2010-04-05  Bruno Haible  <bruno@clisp.org>
683
684         ptsname: Improve test.
685         * tests/test-ptsname.c (main): Also try the various master names of BSD
686         systems.
687
688 2010-04-05  Bruno Haible  <bruno@clisp.org>
689
690         memchr: Avoid a possible C++ test error.
691         * lib/string.in.h (memchr): Provide declaration if function is missing.
692         * m4/memchr.m4 (gl_FUNC_MEMCHR): If the function is missing, set
693         HAVE_MEMCHR to 0, not REPLACE_MEMCHR to 1.
694         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MEMCHR.
695         * modules/string (Makefile.am): Substitute HAVE_MEMCHR.
696
697 2010-04-05  Bruno Haible  <bruno@clisp.org>
698
699         strtok_r: Improve idiom.
700         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Invoke gl_PREREQ_STRDUP only when
701         AC_LIBOBJ is used.
702
703 2010-04-05  Bruno Haible  <bruno@clisp.org>
704
705         strdup: Improve idiom.
706         * m4/strdup.m4 (gl_FUNC_STRDUP): Invoke gl_PREREQ_STRDUP only when
707         AC_LIBOBJ is used.
708         (gl_FUNC_STRDUP_POSIX): When strdup is missing and malloc is not POSIX
709         compliant, don't set REPLACE_STRDUP to 1. Invoke gl_PREREQ_STRDUP only
710         when AC_LIBOBJ is used.
711
712 2010-04-05  Bruno Haible  <bruno@clisp.org>
713
714         mbsinit, mbrtowc, wcrtomb: Improve idioms.
715         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): When the function does not exist,
716         don't set REPLACE_MBSINIT to 1.
717         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): When the function does not exist,
718         don't set REPLACE_MBRTOWC to 1.
719         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): When the function does not
720         exist, don't set REPLACE_MBSRTOWCS to 1.
721         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): When the function does not
722         exist, don't set REPLACE_MBSNRTOWCS to 1.
723         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): When the function does not exist,
724         don't set REPLACE_WCRTOMB to 1.
725         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): When the function does not
726         exist, don't set REPLACE_WCSRTOMBS to 1.
727         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): When the function does not
728         exist, don't set REPLACE_WCSNRTOMBS to 1.
729
730 2010-04-05  Bruno Haible  <bruno@clisp.org>
731
732         ldexpl: Improve idiom.
733         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When the function is not declared,
734         make sure to set HAVE_DECL_LDEXPL to 0.
735
736 2010-04-05  Jim Meyering  <meyering@redhat.com>
737
738         xstrtol-tests: convert to use init.sh
739         * modules/xstrtol-tests (Files): Add tests/init.sh.
740         * tests/test-xstrtol.sh: Invoke "$srcdir/init.sh" and path_prepend_.
741         Use Exit, not exit.
742         Remove uses of $EXEEXT and "./" to run a program in the current dir.
743
744         atexit-tests: convert to use init.sh
745         * modules/atexit-tests (Files): Add tests/init.sh.
746         * tests/test-atexit.sh: Invoke "$srcdir/init.sh" and path_prepend_.
747         Use Exit, not exit.
748         Remove uses of $EXEEXT and "./" to run a program in the current dir.
749
750         init.sh: fix typo
751         * tests/init.sh: Restore omitted ":" before stderr_fileno_ initialization.
752
753         init.sh: make it easier for a test script to write to the tty, ...
754         when using automake's parallel-tests mode.
755         * tests/init.sh (stderr_fileno_): Define overridable variable.
756         (warn_): New function, to use it.
757         (fail_, skip_, framework_failure_): Use warn_.
758
759 2010-04-04  Bruno Haible  <bruno@clisp.org>
760
761         btowc: Avoid warning.
762         * lib/btowc.c: Include <stdlib.h>.
763         Reported by Hauke Fath <hauke@espresso.rhein-neckar.de>.
764
765 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
766             Bruno Haible  <bruno@clisp.org>
767
768         wchar: Port to NetBSD 1.5.
769         * lib/wchar.in.h (WEOF): Provide fallback also when wint_t exists.
770         * lib/wctype.in.h (WEOF): Likewise.
771
772 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
773             Bruno Haible  <bruno@clisp.org>
774
775         Port extended stdio to NetBSD 1.5.
776         * lib/stdio-impl.h [NetBSD]: Include <sys/param.h>.
777         (struct __sfileext, fp_ub): Define the "old way" for NetBSD 1.5Z and
778         older.
779
780 2010-04-04  Bruno Haible  <bruno@clisp.org>
781
782         string: Remove unused substitution.
783         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
784         HAVE_DECL_STRERROR.
785         * modules/string (Makefile.am): Don't substitute HAVE_DECL_STRERROR.
786
787 2010-04-04  Bruno Haible  <bruno@clisp.org>
788
789         strtod: Avoid a possible C++ test error.
790         * m4/strtod.m4 (gl_FUNC_STRTOD): When setting HAVE_STRTOD to 0, don't
791         set REPLACE_STRTOD.
792
793 2010-04-04  Bruno Haible  <bruno@clisp.org>
794
795         strerror: Update documentation.
796         * doc/posix-functions/strerror.texi: Remove mention of old platforms.
797
798 2010-04-04  Bruno Haible  <bruno@clisp.org>
799
800         stdio: Fix some C++ test errors on Solaris 8 with GCC.
801         * lib/stdio.in.h (vdprintf, vfprintf, vprintf, vsprintf): Use
802         _GL_CXXALIAS_SYS_CAST.
803
804 2010-04-04  Bruno Haible  <bruno@clisp.org>
805
806         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
807         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): When the
808         function is not declared, set HAVE_DECL_FREXPL to 0, instead of setting
809         REPLACE_FREXPL to 1.
810         * doc/posix-functions/frexpl.texi: Update documentation.
811
812 2010-04-04  Bruno Haible  <bruno@clisp.org>
813
814         math: Fix some C++ test errors on Solaris 8 and Cygwin.
815         * lib/math.in.h (cosl, logl, sinl): Use simpler idiom.
816
817 2010-04-04  Bruno Haible  <bruno@clisp.org>
818
819         Implement nanosleep for native Windows.
820         * lib/nanosleep.c (nanosleep): New implementation for native Windows.
821
822 2010-04-04  Bruno Haible  <bruno@clisp.org>
823
824         math: Fix some C++ test errors on Solaris 8.
825         * lib/math.in.h (truncf, trunc): Use simpler idiom.
826
827 2010-04-04  Bruno Haible  <bruno@clisp.org>
828
829         math: Fix some C++ test errors on Cygwin.
830         * lib/math.in.h (ceilf, ceill, floorf, floorl, roundf, round, roundl,
831         truncl): Provide declaration if the system does not have it.
832         * m4/ceilf.m4 (gl_FUNC_CEILF): If the function is not declared, set
833         HAVE_DECL_CEILF to 0, not REPLACE_CEILF to 1.
834         * m4/ceill.m4 (gl_FUNC_CEILL): If the function is not declared, set
835         HAVE_DECL_CEILL to 0, not REPLACE_CEILL to 1.
836         * m4/floorf.m4 (gl_FUNC_FLOORF): If the function is not declared, set
837         HAVE_DECL_FLOORF to 0, not REPLACE_FLOORF to 1.
838         * m4/floorl.m4 (gl_FUNC_FLOORL): If the function is not declared, set
839         HAVE_DECL_FLOORL to 0, not REPLACE_FLOORL to 1.
840         * m4/round.m4 (gl_FUNC_ROUND): If the function is not declared, set
841         HAVE_DECL_ROUND to 0, not REPLACE_ROUND to 1.
842         * m4/roundf.m4 (gl_FUNC_ROUNDF): If the function is not declared, set
843         HAVE_DECL_ROUNDF to 0, not REPLACE_ROUNDF to 1.
844         * m4/roundl.m4 (gl_FUNC_ROUNDL): If the function is not declared, set
845         HAVE_DECL_ROUNDL to 0, not REPLACE_ROUNDL to 1.
846         * m4/truncl.m4 (gl_FUNC_TRUNCL): If the function is not declared, set
847         HAVE_DECL_TRUNCL to 0, not REPLACE_TRUNCL to 1.
848         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_CEILF,
849         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
850         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
851         * modules/math (Makefile.am): Substitute HAVE_DECL_CEILF,
852         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
853         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
854
855 2010-04-04  Bruno Haible  <bruno@clisp.org>
856
857         * m4/ceilf.m4 (gl_FUNC_CEILF): Remove redundant AC_SUBST invocation.
858         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
859         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
860         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
861         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
862         * m4/isinf.m4 (gl_ISINF): Likewise.
863         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
864
865 2010-04-04  Bruno Haible  <bruno@clisp.org>
866
867         * m4/trunc.m4 (gl_FUNC_TRUNC): Remove redundant AC_SUBST invocation.
868         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
869
870 2010-04-04  Bruno Haible  <bruno@clisp.org>
871
872         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Renamed from gl_TMPFILE.
873         * modules/tmpfile (configure.ac): Update.
874
875         tmpfile: Fix C++ test error on mingw.
876         * lib/stdio.in.h (tmpfile): New declaration.
877         * m4/tmpfile.m4 (gl_TMPFILE): Require gl_STDIO_H_DEFAULTS. Set
878         REPLACE_TMPFILE instead of defining tmpfile as a macro in config.h.
879         * modules/tmpfile (Depends-on): Add stdio.
880         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
881         * m4/stdio_h.m4 (gl_STDIO_H): Also check whether tmpfile is declared.
882         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_TMPFILE and REPLACE_TMPFILE.
883         * modules/stdio (Makefile.am): Substitute GNULIB_TMPFILE and
884         REPLACE_TMPFILE.
885         * tests/test-stdio-c++.cc (tmpfile): Verify signature.
886
887 2010-04-04  Bruno Haible  <bruno@clisp.org>
888
889         ioctl: Fix C++ test error on mingw.
890         * lib/ioctl.c (ioctl): Renamed from rpl_ioctl.
891         * lib/sys_ioctl.in.h (ioctl): When SYS_IOCTL_H_HAVE_WINSOCK2_H is 1,
892         use _GL_FUNCDECL_SYS, not _GL_FUNCDECL_RPL.
893
894 2010-04-03  Bruno Haible  <bruno@clisp.org>
895
896         wcwidth: Fix C++ test error on mingw.
897         * lib/wcwidth.c (wcwidth): Renamed from rpl_wcwidth.
898         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): If the wcwidth function does not
899         exist, don't set REPLACE_WCWIDTH. Instead, rely on HAVE_DECL_WCWIDTH.
900
901 2010-04-03  Bruno Haible  <bruno@clisp.org>
902
903         nanosleep: Fix C++ test error on mingw.
904         * lib/nanosleep.c (nanosleep): Renamed from rpl_nanosleep.
905         * lib/time.in.h (nanosleep): Use modern idiom.
906         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): When the system does not have a
907         nanosleep function, set HAVE_NANOSLEEP to 0, instead of setting
908         REPLACE_NANOSLEEP to 1.
909         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_NANOSLEEP.
910         * modules/time (Makefile.am): Substitute HAVE_NANOSLEEP.
911
912 2010-04-03  Bruno Haible  <bruno@clisp.org>
913
914         strptime: Fix C++ test error on mingw.
915         * lib/time.in.h (strptime): Use HAVE_STRPTIME, not REPLACE_STRPTIME.
916         * m4/strptime.m4 (gl_FUNC_STRPTIME): Set HAVE_STRPTIME, not
917         REPLACE_STRPTIME. Invoke gl_PREREQ_STRPTIME.
918         (gl_PREREQ_STRPTIME): New macro, extracted from gl_FUNC_STRPTIME.
919         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_STRPTIME,
920         not REPLACE_STRPTIME.
921         * modules/time (Makefile.am): Substitute HAVE_STRPTIME, not
922         REPLACE_STRPTIME.
923
924 2010-04-03  Bruno Haible  <bruno@clisp.org>
925
926         timegm: Fix C++ test error on mingw.
927         * lib/time.in.h (timegm): Use modern idiom.
928         * m4/timegm.m4 (gl_FUNC_TIMEGM): When timegm does not exist, set
929         HAVE_TIMEGM to 0, not REPLACE_TIMEGM to 1.
930         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEGM.
931         * modules/time (Makefile.am): Substitute HAVE_TIMEGM.
932
933 2010-04-03  Bruno Haible  <bruno@clisp.org>
934
935         timegm: Assume declaration if function exists.
936         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume timegm is declared if and only
937         if it exists. Don't clobber ac_cv_func_timegm.
938
939 2010-04-03  Bruno Haible  <bruno@clisp.org>
940
941         time_r: Fix C++ test error on mingw.
942         * lib/time.in.h (localtime_r, gmtime_r): Use modern idiom.
943         * m4/time_r.m4 (gl_TIME_R): When localtime_r does not exist, set
944         HAVE_LOCALTIME_R to 0, not REPLACE_LOCALTIME_R to 1.
945         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_LOCALTIME_R.
946         * modules/time (Makefile.am): Substitute HAVE_LOCALTIME_R.
947
948 2010-04-03  Bruno Haible  <bruno@clisp.org>
949
950         time_r: Minor updates.
951         * modules/time_r (Description): Mention the provided functions.
952         * lib/time_r.c: Don't include <string.h>.
953         * doc/posix-functions/gmtime_r.texi: Mention the 'time_r' module.
954         * doc/posix-functions/localtime_r.texi: Likewise.
955
956 2010-04-03  Bruno Haible  <bruno@clisp.org>
957
958         time: Fix regression introduced on 2010-03-08.
959         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Require
960         gl_HEADER_TIME_H_DEFAULTS, not gl_HEADER_STRING_H_DEFAULTS.
961
962 2010-04-03  Jim Meyering  <meyering@redhat.com>
963
964         maint.mk: don't silently disable project-specific syntax-check rules
965         * top/maint.mk (_prohibit_regexp): Define, to help people realize
966         that they need to convert their project-specific syntax-check rules
967         to use the new _sc_search_regexp.
968
969 2010-04-03  Bruno Haible  <bruno@clisp.org>
970
971         fchdir: Fix regression introduced on 2010-03-08.
972         * lib/unistd.in.h (fchdir): Fix declaration.
973         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set HAVE_FCHDIR, not REPLACE_FCHDIR.
974         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_FCHDIR, not
975         REPLACE_FCHDIR.
976         * modules/unistd (Makefile.am): Substitute HAVE_FCHDIR, not
977         REPLACE_FCHDIR.
978
979 2010-04-03  Bruno Haible  <bruno@clisp.org>
980
981         getpagesize: Fix C++ test error on mingw.
982         * lib/unistd.in.h (getpagesize): Don't use _GL_CXXALIASWARN if the
983         system does not declare the function.
984         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Also check whether it's
985         declared.
986         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
987         HAVE_DECL_GETPAGESIZE.
988         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETPAGESIZE.
989
990 2010-04-03  Bruno Haible  <bruno@clisp.org>
991
992         stdio: Make C++ tests work on mingw.
993         * lib/stdio.in.h (getline): Don't use _GL_CXXALIASWARN if the system
994         does not declare the function.
995
996 2010-04-03  Bruno Haible  <bruno@clisp.org>
997
998         ftello: Fix C++ test error on mingw.
999         * lib/stdio.in.h (ftello): Use modern idiom.
1000         * lib/ftello.c (ftello): Renamed from rpl_ftello.
1001         * m4/ftello.m4 (gl_FUNC_FTELLO): Distinguish the case that the function
1002         is missing and that it needs to be replaced.
1003         (gl_REPLACE_FTELLO): Don't set REPLACE_FTELLO here.
1004         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FTELLO.
1005         * modules/stdio (Makefile.am): Substitute HAVE_FTELLO.
1006
1007 2010-04-03  Bruno Haible  <bruno@clisp.org>
1008
1009         fseeko: Fix C++ test error on mingw.
1010         * lib/stdio.in.h (fseeko): Use modern idiom.
1011         * lib/fseeko.c (fseeko): Renamed from rpl_fseeko.
1012         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Distinguish the case that the function
1013         is missing and that it needs to be replaced.
1014         (gl_REPLACE_FSEEKO): Don't set REPLACE_FSEEKO here.
1015         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FSEEKO.
1016         * modules/stdio (Makefile.am): Substitute HAVE_FSEEKO.
1017
1018 2010-04-03  Bruno Haible  <bruno@clisp.org>
1019
1020         mkstemp: Fix C++ test error on mingw.
1021         * lib/stdlib.in.h (mkstemp): Use modern idiom.
1022         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Distinguish the case that the
1023         function is missing and that it needs to be replaced.
1024         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_MKSTEMP.
1025         * modules/stdlib (Makefile.am): Substitute HAVE_MKSTEMP.
1026
1027 2010-04-03  Bruno Haible  <bruno@clisp.org>
1028
1029         stpncpy: Fix C++ test error on mingw.
1030         * lib/string.in.h (stpncpy): Use modern idiom.
1031         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Distinguish the case that the
1032         function is missing and that it needs to be replaced.
1033         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
1034         REPLACE_STPNCPY.
1035         * modules/string (Makefile.am): Substitute REPLACE_STPNCPY.
1036
1037 2010-04-03  Bruno Haible  <bruno@clisp.org>
1038
1039         sys_stat: Fix C++ test error on mingw.
1040         * build-aux/c++defs.h (_GL_CXXALIAS_RPL_CAST_1): New macro.
1041         * lib/sys_stat.in.h (lchmod): Use it instead of _GL_CXXALIAS_RPL_1.
1042
1043 2010-04-03  Bruno Haible  <bruno@clisp.org>
1044
1045         pty: Update doc.
1046         * doc/glibc-headers/pty.texi: Mention changes done since 2010-03-18.
1047
1048 2010-04-03  Bruno Haible  <bruno@clisp.org>
1049
1050         unistd: Fix C++ test error on mingw.
1051         * lib/unistd.in.h (getcwd): Use _GL_CXXALIAS_SYS_CAST.
1052
1053 2010-04-03  Bruno Haible  <bruno@clisp.org>
1054
1055         Update doc regarding mingw.
1056         * doc/glibc-functions/openpty.texi: Update regarding mingw.
1057         * doc/glibc-functions/login_tty.texi: Likewise.
1058         * doc/glibc-functions/forkpty.texi: Likewise.
1059
1060 2010-04-03  Bruno Haible  <bruno@clisp.org>
1061
1062         stdlib: Avoid compilation failure of c-strtold on mingw.
1063         * lib/stdlib.in.h: Don't include <unistd.h> on native Windows systems.
1064
1065 2010-04-03  Bruno Haible  <bruno@clisp.org>
1066
1067         locale: Make C++ tests work on Cygwin and mingw.
1068         * lib/locale.in.h (duplocale): Don't use _GL_CXXALIASWARN if gnulib
1069         cannot provide the function.
1070         Reported by Simon Josefsson.
1071
1072 2010-04-03  Bruno Haible  <bruno@clisp.org>
1073
1074         localename: Port to MacOS X 10.6.
1075         * lib/localename.c (gl_locale_name_thread_unsafe): On MacOS X, try the
1076         memory layout of the locales in MacOS X 10.6 as well.
1077         Reported by Panu Kekäläinen <panu@kekalainen.eu>.
1078
1079 2010-04-02  Bruno Haible  <bruno@clisp.org>
1080
1081         gnulib-tool: Ensure that long-running tests are executed last.
1082         * gnulib-tool (func_emit_tests_Makefile_am): Emit the code for long-
1083         running tests after the one for the other tests.
1084
1085 2010-04-02  Bruno Haible  <bruno@clisp.org>
1086
1087         gnulib-tool: Ensure the tests in the main directory are executed first.
1088         * gnulib-tool (func_emit_tests_Makefile_am): Initialize SUBDIRS to
1089         start with the current directory.
1090
1091 2010-04-02  Bruno Haible  <bruno@clisp.org>
1092
1093         Tests for module 'havelib', moved here from GNU gettext.
1094         * modules/havelib-tests: New file, from gettext/autoconf-lib-link with
1095         modifications.
1096         * tests/havelib/README: New file, from gettext/autoconf-lib-link.
1097         * tests/havelib/Makefile.am: New file, from gettext/autoconf-lib-link
1098         with modifications.
1099         * tests/havelib/rpath-1: New file, from gettext/autoconf-lib-link with
1100         modifications.
1101         * tests/havelib/rpath-1a: New file, from gettext/autoconf-lib-link.
1102         * tests/havelib/rpath-1b: New file, from gettext/autoconf-lib-link.
1103         * tests/havelib/rpath-2_a: New file, from gettext/autoconf-lib-link
1104         with modifications.
1105         * tests/havelib/rpath-2_b: New file, from gettext/autoconf-lib-link
1106         with modifications.
1107         * tests/havelib/rpath-2aaa: New file, from gettext/autoconf-lib-link.
1108         * tests/havelib/rpath-2aab: New file, from gettext/autoconf-lib-link.
1109         * tests/havelib/rpath-2aac: New file, from gettext/autoconf-lib-link.
1110         * tests/havelib/rpath-2aad: New file, from gettext/autoconf-lib-link.
1111         * tests/havelib/rpath-2aba: New file, from gettext/autoconf-lib-link.
1112         * tests/havelib/rpath-2abb: New file, from gettext/autoconf-lib-link.
1113         * tests/havelib/rpath-2abc: New file, from gettext/autoconf-lib-link.
1114         * tests/havelib/rpath-2abd: New file, from gettext/autoconf-lib-link.
1115         * tests/havelib/rpath-2baa: New file, from gettext/autoconf-lib-link.
1116         * tests/havelib/rpath-2bab: New file, from gettext/autoconf-lib-link.
1117         * tests/havelib/rpath-2bac: New file, from gettext/autoconf-lib-link.
1118         * tests/havelib/rpath-2bad: New file, from gettext/autoconf-lib-link.
1119         * tests/havelib/rpath-2bba: New file, from gettext/autoconf-lib-link.
1120         * tests/havelib/rpath-2bbb: New file, from gettext/autoconf-lib-link.
1121         * tests/havelib/rpath-2bbc: New file, from gettext/autoconf-lib-link.
1122         * tests/havelib/rpath-2bbd: New file, from gettext/autoconf-lib-link.
1123         * tests/havelib/rpath-3_a: New file, from gettext/autoconf-lib-link
1124         with modifications.
1125         * tests/havelib/rpath-3_b: New file, from gettext/autoconf-lib-link
1126         with modifications.
1127         * tests/havelib/rpath-3aaa: New file, from gettext/autoconf-lib-link.
1128         * tests/havelib/rpath-3aab: New file, from gettext/autoconf-lib-link.
1129         * tests/havelib/rpath-3aac: New file, from gettext/autoconf-lib-link.
1130         * tests/havelib/rpath-3aad: New file, from gettext/autoconf-lib-link.
1131         * tests/havelib/rpath-3aae: New file, from gettext/autoconf-lib-link.
1132         * tests/havelib/rpath-3aaf: New file, from gettext/autoconf-lib-link.
1133         * tests/havelib/rpath-3aag: New file, from gettext/autoconf-lib-link.
1134         * tests/havelib/rpath-3aah: New file, from gettext/autoconf-lib-link.
1135         * tests/havelib/rpath-3aba: New file, from gettext/autoconf-lib-link.
1136         * tests/havelib/rpath-3abb: New file, from gettext/autoconf-lib-link.
1137         * tests/havelib/rpath-3abc: New file, from gettext/autoconf-lib-link.
1138         * tests/havelib/rpath-3abd: New file, from gettext/autoconf-lib-link.
1139         * tests/havelib/rpath-3abe: New file, from gettext/autoconf-lib-link.
1140         * tests/havelib/rpath-3abf: New file, from gettext/autoconf-lib-link.
1141         * tests/havelib/rpath-3abg: New file, from gettext/autoconf-lib-link.
1142         * tests/havelib/rpath-3abh: New file, from gettext/autoconf-lib-link.
1143         * tests/havelib/rpath-3baa: New file, from gettext/autoconf-lib-link.
1144         * tests/havelib/rpath-3bab: New file, from gettext/autoconf-lib-link.
1145         * tests/havelib/rpath-3bac: New file, from gettext/autoconf-lib-link.
1146         * tests/havelib/rpath-3bad: New file, from gettext/autoconf-lib-link.
1147         * tests/havelib/rpath-3bae: New file, from gettext/autoconf-lib-link.
1148         * tests/havelib/rpath-3baf: New file, from gettext/autoconf-lib-link.
1149         * tests/havelib/rpath-3bag: New file, from gettext/autoconf-lib-link.
1150         * tests/havelib/rpath-3bah: New file, from gettext/autoconf-lib-link.
1151         * tests/havelib/rpath-3bba: New file, from gettext/autoconf-lib-link.
1152         * tests/havelib/rpath-3bbb: New file, from gettext/autoconf-lib-link.
1153         * tests/havelib/rpath-3bbc: New file, from gettext/autoconf-lib-link.
1154         * tests/havelib/rpath-3bbd: New file, from gettext/autoconf-lib-link.
1155         * tests/havelib/rpath-3bbe: New file, from gettext/autoconf-lib-link.
1156         * tests/havelib/rpath-3bbf: New file, from gettext/autoconf-lib-link.
1157         * tests/havelib/rpath-3bbg: New file, from gettext/autoconf-lib-link.
1158         * tests/havelib/rpath-3bbh: New file, from gettext/autoconf-lib-link.
1159         * tests/havelib/rpathx/rpathx.c: New file, from
1160         gettext/autoconf-lib-link.
1161         * tests/havelib/rpathx/Makefile.am: New file, from
1162         gettext/autoconf-lib-link.
1163         * tests/havelib/rpathx/configure.ac: New file, from
1164         gettext/autoconf-lib-link with modifications.
1165         * tests/havelib/rpathy/rpathy.c: New file, from
1166         gettext/autoconf-lib-link.
1167         * tests/havelib/rpathy/Makefile.am: New file, from
1168         gettext/autoconf-lib-link.
1169         * tests/havelib/rpathy/configure.ac: New file, from
1170         gettext/autoconf-lib-link with modifications.
1171         * tests/havelib/rpathz/rpathz.c: New file, from
1172         gettext/autoconf-lib-link.
1173         * tests/havelib/rpathz/Makefile.am: New file, from
1174         gettext/autoconf-lib-link.
1175         * tests/havelib/rpathz/configure.ac: New file, from
1176         gettext/autoconf-lib-link with modifications.
1177         * tests/havelib/rpathlx/usex.c: New file, from
1178         gettext/autoconf-lib-link.
1179         * tests/havelib/rpathlx/Makefile.am: New file, from
1180         gettext/autoconf-lib-link.
1181         * tests/havelib/rpathlx/configure.ac: New file, from
1182         gettext/autoconf-lib-link with modifications.
1183         * tests/havelib/rpathly/usey.c: New file, from
1184         gettext/autoconf-lib-link.
1185         * tests/havelib/rpathly/Makefile.am: New file, from
1186         gettext/autoconf-lib-link.
1187         * tests/havelib/rpathly/configure.ac: New file, from
1188         gettext/autoconf-lib-link with modifications.
1189         * tests/havelib/rpathlz/usez.c: New file, from
1190         gettext/autoconf-lib-link.
1191         * tests/havelib/rpathlz/Makefile.am: New file, from
1192         gettext/autoconf-lib-link.
1193         * tests/havelib/rpathlz/configure.ac: New file, from
1194         gettext/autoconf-lib-link with modifications.
1195         * tests/havelib/rpathlyx/usey.c: New file, from
1196         gettext/autoconf-lib-link.
1197         * tests/havelib/rpathlyx/Makefile.am: New file, from
1198         gettext/autoconf-lib-link.
1199         * tests/havelib/rpathlyx/configure.ac: New file, from
1200         gettext/autoconf-lib-link with modifications.
1201         * tests/havelib/rpathlzyx/usez.c: New file, from
1202         gettext/autoconf-lib-link.
1203         * tests/havelib/rpathlzyx/Makefile.am: New file, from
1204         gettext/autoconf-lib-link.
1205         * tests/havelib/rpathlzyx/configure.ac: New file, from
1206         gettext/autoconf-lib-link with modifications.
1207         * tests/havelib/rpathcfg.sh: New file, from gettext/autoconf-lib-link
1208         with modifications.
1209
1210 2010-04-02  Bruno Haible  <bruno@clisp.org>
1211
1212         gnulib-tool: Create distributed built sources also for the tests.
1213         * gnulib-tool (func_create_testdir): Also generate distributed built
1214         sources in the tests directory.
1215
1216 2010-04-02  Bruno Haible  <bruno@clisp.org>
1217
1218         gnulib-tool: Obey user's environment variables.
1219         * gnulib-tool (func_create_testdir): When creating built sources,
1220         respect the environment variables for autoconf, automake, etc. given by
1221         the user.
1222
1223 2010-04-02  Bruno Haible  <bruno@clisp.org>
1224
1225         gnulib-tool: Provide the value of --m4-base to modules.
1226         * gnulib-tool (func_import, func_create_testdir): Emit a definition
1227         of gl_m4_base.
1228
1229 2010-04-02  Eric Blake  <eblake@redhat.com>
1230
1231         maint.mk: fix some fallout
1232         * NEWS: Document the incompatible change, and its effect on cfg.mk.
1233         * top/maint.mk (sc_prohibit_test_minus_ao): Update.
1234
1235 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
1236
1237         maint.mk: _sc_search_regexp: generalize and rename from _prohibit_regexp
1238         * top/maint.mk (_sc_search_regexp): Rename from _prohibit_regexp.
1239         (sc_cast_of_argument_to_free): Adapt to use _sc_search_regexp.
1240         (sc_cast_of_x_alloc_return_value): Likewise.
1241         (sc_cast_of_alloca_return_value): Likewise.
1242         (sc_space_tab): Likewise.
1243         (sc_prohibit_atoi_atof): Likewise.
1244         (sc_prohibit_magic_number_exit): Likewise.
1245         (sc_error_exit_success): Likewise.
1246         (sc_file_system): Likewise.
1247         (sc_prohibit_have_config_h): Likewise.
1248         (sc_require_config_h): Likewise.
1249         (sc_prohibit_HAVE_MBRTOWC): Likewise.
1250         (sc_obsolete_symbols): Likewise.
1251         (sc_changelog): Likewise.
1252         (sc_program_name): Likewise.
1253         (sc_the_the): Likewise.
1254         (sc_trailing_blank): Likewise.
1255         (sc_two_space_separator_in_usage): Likewise.
1256         (sc_useless_cpp_parens): Likewise.
1257         (sc_GPL_version): Likewise.
1258         (sc_GFDL_version): Likewise.
1259         (sc_texinfo_acronym): Likewise.
1260         (sc_prohibit_cvs_keyword): Likewise.
1261         (sc_prohibit_stat_st_blocks): Likewise.
1262         (sc_prohibit_S_IS_definition): Likewise.
1263         (sc_redundant_const): Likewise.
1264         (sc_makefile_TAB_only_indentation): Likewise.
1265         (sc_m4_quote_check): Likewise.
1266         (sc_makefile_path_separator_check): Likewise.
1267         (sc_copyright_check): Likewise.
1268         (sc_Wundef_boolean): Likewise.
1269         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
1270
1271         maint.mk: match 0 or more whitespace-before-function-call '('
1272         * top/maint.mk (sc_error_exit_success): Relax regexp to match uses
1273         that have zero or two-and-more spaces between the function name
1274         and the open parenthesis.
1275         (sc_error_message_warn_fatal): Likewise.
1276         (sc_error_message_uppercase): Likewise.
1277         (sc_error_message_period): Likewise.
1278
1279 2010-03-31  Eric Blake  <eblake@redhat.com>
1280
1281         maint.mk: check for [ as well as test
1282         * top/maint.mk (sc_prohibit_test_minus_ao): Extend test.
1283         Based on a libvirt report by Matthias Bolte.
1284
1285         gnumakefile: don't squelch _version output
1286         * top/GNUmakefile (_version): Create one-shot dependency rather
1287         than using $(shell) when version must be regenerated.
1288         (_autoreconf): Run verbosely, by default.
1289
1290         sys_time: avoid compiler warnings
1291         * lib/sys_time.in.h (includes): Ensure gcc pragma is
1292         unconditional, fixing regression from 2010-03-29.
1293         Reported by Simon Josefsson.
1294
1295 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
1296
1297         maint.mk: s/_header_without_use/_sc_header_without_use/
1298         * top/maint.mk (_sc_header_without_use): Rename from _header_without_use.
1299         (sc_prohibit_assert_without_use): Use the new name.
1300         (sc_prohibit_close_stream_without_use): Likewise.
1301         (sc_prohibit_getopt_without_use): Likewise.
1302         (sc_prohibit_quotearg_without_use): Likewise.
1303         (sc_prohibit_quote_without_use): Likewise.
1304         (sc_prohibit_long_options_without_use): Likewise.
1305         (sc_prohibit_inttostr_without_use): Likewise.
1306         (sc_prohibit_ignore_value_without_use): Likewise.
1307         (sc_prohibit_error_without_use): Likewise.
1308         (sc_prohibit_xalloc_without_use): Likewise.
1309         (sc_prohibit_hash_without_use): Likewise.
1310         (sc_prohibit_hash_pjw_without_use): Likewise.
1311         (sc_prohibit_safe_read_without_use): Likewise.
1312         (sc_prohibit_argmatch_without_use): Likewise.
1313         (sc_prohibit_canonicalize_without_use): Likewise.
1314         (sc_prohibit_root_dev_ino_without_use): Likewise.
1315         (sc_prohibit_openat_without_use): Likewise.
1316         (sc_prohibit_c_ctype_without_use): Likewise.
1317         (sc_prohibit_signal_without_use): Likewise.
1318         (sc_prohibit_intprops_without_use): Likewise.
1319
1320 2010-03-30  Eric Blake  <eblake@redhat.com>
1321
1322         maint: improve module indicators
1323         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE)
1324         (gl_MODULE_INDICATOR, gl_MODULE_INDICATOR_FOR_TESTS): Fit in 80
1325         columns, and avoid extra macro expansion.
1326
1327         fdopendir: work around FreeBSD bug
1328         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
1329         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Set it.
1330         * modules/dirent (Makefile.am): Substitute it.
1331         * lib/dirent.in.h (fdopendir): Supply missing FreeBSD
1332         declaration.
1333         * doc/posix-functions/fdopendir.texi (fdopendir): Document the
1334         fix.
1335         Reported by Christian Weisgerber <naddy@mips.inka.de>.
1336
1337 2010-03-29  Bruno Haible  <bruno@clisp.org>
1338
1339         Emit #pragma system_header after the inclusion guard, not before.
1340         * lib/arpa_inet.in.h: Emit #pragma system_header after the inclusion
1341         guard that spans the entire file, not before. This enables an
1342         optimization in GCC's preprocessor.
1343         * lib/ctype.in.h: Likewise.
1344         * lib/dirent.in.h: Likewise.
1345         * lib/errno.in.h: Likewise.
1346         * lib/float.in.h: Likewise.
1347         * lib/getopt.in.h: Likewise.
1348         * lib/iconv.in.h: Likewise.
1349         * lib/langinfo.in.h: Likewise.
1350         * lib/locale.in.h: Likewise.
1351         * lib/math.in.h: Likewise.
1352         * lib/netdb.in.h: Likewise.
1353         * lib/netinet_in.in.h: Likewise.
1354         * lib/pty.in.h: Likewise.
1355         * lib/sched.in.h: Likewise.
1356         * lib/se-selinux.in.h: Likewise.
1357         * lib/search.in.h: Likewise.
1358         * lib/spawn.in.h: Likewise.
1359         * lib/stdarg.in.h: Likewise.
1360         * lib/stdint.in.h: Likewise.
1361         * lib/string.in.h: Likewise.
1362         * lib/strings.in.h: Likewise.
1363         * lib/sys_file.in.h: Likewise.
1364         * lib/sys_ioctl.in.h: Likewise.
1365         * lib/sys_time.in.h: Likewise.
1366         * lib/sys_times.in.h: Likewise.
1367         * lib/sys_utsname.in.h: Likewise.
1368         * lib/sys_wait.in.h: Likewise.
1369         * lib/sysexits.in.h: Likewise.
1370         * lib/wctype.in.h: Likewise.
1371
1372 2010-03-28  James Youngman  <jay@gnu.org>
1373
1374         save-cwd: don't leak a file descriptor when the caller execs.
1375         * lib/save-cwd.c (save_cwd): set the close-on-exec flag for the
1376         saved file descriptor.
1377         * modules/save-cwd (Depends-on): Depend on cloexec.
1378
1379 2010-03-29  Bruno Haible  <bruno@clisp.org>
1380
1381         Remove vestiges of fts-lgpl module.
1382         * lib/fts_.h: Assume GNULIB_FTS is 1.
1383         * lib/fts.c: Likewise.
1384         * modules/fts (configure.ac): Remove gl_MODULE_INDICATOR invocation.
1385
1386 2010-03-28  Bruno Haible  <bruno@clisp.org>
1387
1388         Fix definition of tests witness macro.
1389         * gnulib-tool (func_import): Fix definition of witness macro.
1390
1391 2010-03-28  Bruno Haible  <bruno@clisp.org>
1392
1393         Fix ioctl's protoype on glibc systems.
1394         * lib/sys_ioctl.in.h (ioctl): If REPLACE_IOCTL is 1, use a wrapper. Use
1395         _GL_CXXALIAS_SYS, not _GL_CXXALIAS_SYS_CAST.
1396         * lib/ioctl.c (rpl_ioctl) [HAVE_IOCTL]: New wrapper.
1397         * modules/ioctl (configure.ac): Test whether ioctl has the POSIX
1398         signature. If not, arrange to replace the ioctl function.
1399         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
1400         REPLACE_IOCTL.
1401         * modules/sys_ioctl (Makefile.am): Substitute REPLACE_IOCTL.
1402         * doc/posix-functions/ioctl.texi: Mention the glibc problem.
1403         Reported by Ludovic Courtès <ludo@gnu.org>.
1404
1405 2010-03-28  Javier Villavicencio  <the_paya@gentoo.org>
1406
1407         exclude: fix the case of globs vs. EXCLUDE_INCLUDE
1408         * lib/exclude.c (excluded_file_pattern_p): Fix logic error that
1409         made it so grep -r --include=GLOB* ... did not work.
1410
1411 2010-03-26  Jim Meyering  <meyering@redhat.com>
1412             Eric Blake  <eblake@redhat.com>
1413
1414         maint.mk: prohibit use of test's -o and -a operators
1415         * top/maint.mk (sc_prohibit_test_minus_ao): New rule.
1416
1417 2010-03-28  Bruno Haible  <bruno@clisp.org>
1418
1419         Remove unused GNULIB_XYZ macro definitions.
1420         * modules/crypto/gc-camellia (configure.ac): Remove gl_MODULE_INDICATOR
1421         invocation.
1422
1423 2010-03-28  Bruno Haible  <bruno@clisp.org>
1424
1425         Mark privileged tests modules.
1426         * modules/idpriv-drop-tests (Status): New section.
1427         * modules/idpriv-droptemp-tests (Status): New section.
1428
1429 2010-03-28  Bruno Haible  <bruno@clisp.org>
1430
1431         Split C++ tests into separate tests modules.
1432         * modules/dirent-c++-tests: New file, extracted from
1433         modules/dirent-tests.
1434         * modules/dirent-tests: Depend on it.
1435         * modules/fcntl-h-c++-tests: New file, extracted from
1436         modules/fcntl-h-tests.
1437         * modules/fcntl-h-tests: Depend on it.
1438         * modules/glob-c++-tests: New file, extracted from modules/glob-tests.
1439         * modules/glob-tests: Depend on it.
1440         * modules/iconv-h-c++-tests: New file, extracted from
1441         modules/iconv-h-tests.
1442         * modules/iconv-h-tests: Depend on it.
1443         * modules/langinfo-c++-tests: New file, extracted from
1444         modules/langinfo-tests.
1445         * modules/langinfo-tests: Depend on it.
1446         * modules/locale-c++-tests: New file, extracted from
1447         modules/locale-tests.
1448         * modules/locale-tests: Depend on it.
1449         * modules/math-c++-tests: New file, extracted from modules/math-tests.
1450         * modules/math-tests: Depend on it.
1451         * modules/pty-c++-tests: New file, extracted from modules/pty-tests.
1452         * modules/pty-tests: Depend on it.
1453         * modules/search-c++-tests: New file, extracted from
1454         modules/search-tests.
1455         * modules/search-tests: Depend on it.
1456         * modules/signal-c++-tests: New file, extracted from
1457         modules/signal-tests.
1458         * modules/signal-tests: Depend on it.
1459         * modules/spawn-c++-tests: New file, extracted from
1460         modules/spawn-tests.
1461         * modules/spawn-tests: Depend on it.
1462         * modules/stdio-c++-tests: New file, extracted from
1463         modules/stdio-tests.
1464         * modules/stdio-tests: Depend on it.
1465         * modules/stdlib-c++-tests: New file, extracted from
1466         modules/stdlib-tests.
1467         * modules/stdlib-tests: Depend on it.
1468         * modules/string-c++-tests: New file, extracted from
1469         modules/string-tests.
1470         * modules/string-tests: Depend on it.
1471         * modules/sys_ioctl-c++-tests: New file, extracted from
1472         modules/sys_ioctl-tests.
1473         * modules/sys_ioctl-tests: Depend on it.
1474         * modules/sys_select-c++-tests: New file, extracted from
1475         modules/sys_select-tests.
1476         * modules/sys_select-tests: Depend on it.
1477         * modules/sys_socket-c++-tests: New file, extracted from
1478         modules/sys_socket-tests.
1479         * modules/sys_socket-tests: Depend on it.
1480         * modules/sys_stat-c++-tests: New file, extracted from
1481         modules/sys_stat-tests.
1482         * modules/sys_stat-tests: Depend on it.
1483         * modules/sys_time-c++-tests: New file, extracted from
1484         modules/sys_time-tests.
1485         * modules/sys_time-tests: Depend on it.
1486         * modules/time-c++-tests: New file, extracted from modules/time-tests.
1487         * modules/time-tests: Depend on it.
1488         * modules/unistd-c++-tests: New file, extracted from
1489         modules/unistd-tests.
1490         * modules/unistd-tests: Depend on it.
1491         * modules/wchar-c++-tests: New file, extracted from
1492         modules/wchar-tests.
1493         * modules/wchar-tests: Depend on it.
1494         * modules/wctype-c++-tests: New file, extracted from
1495         modules/wctype-tests.
1496         * modules/wctype-tests: Depend on it.
1497         Reported by Simon Josefsson.
1498
1499 2010-03-28  Bruno Haible  <bruno@clisp.org>
1500
1501         gnulib-tool: Allow 'foo-tests' module even if there is no module 'foo'.
1502         * gnulib-tool (func_exists_module): New function, extracted from
1503         func_verify_module.
1504         (func_verify_module): Use it.
1505         (func_get_dependencies): Synthetize a dependency from 'foo-tests' to
1506         'foo' only if 'foo' exists.
1507         * doc/gnulib.texi (Extra tests modules): Explain how to split a tests
1508         module.
1509
1510 2010-03-28  Bruno Haible  <bruno@clisp.org>
1511
1512         gnulib-tool: Add support for special categories of tests.
1513         * gnulib-tool: New options --with-c++-tests, --with-longrunning-tests,
1514         --with-privileged-tests, --with-unportable-tests, --with-all-tests.
1515         (func_usage): Document them.
1516         (inc_cxx_tests, inc_longrunning_tests, inc_privileged_tests,
1517         inc_unportable_tests, inc_all_tests): New variables.
1518         (func_acceptable): Consider these variables.
1519         (func_modules_transitive_closure): Make it work when the 'Status' field
1520         consists of multiple words.
1521         (func_import): Store and restore the values of inc_cxx_tests,
1522         inc_longrunning_tests, inc_privileged_tests, inc_unportable_tests,
1523         inc_all_tests in gnulib-comp.m4.
1524         (func_create_testdir): Set inc_all_tests to true.
1525         * doc/gnulib.texi (Extra tests modules): New section.
1526         Suggested by Jim Meyering.
1527
1528 2010-03-28  Bruno Haible  <bruno@clisp.org>
1529
1530         ansi-c++-opt: Allow turning off the C++ build by default.
1531         * m4/ansi-c++.m4 (gl_CXX_CHOICE): Let CXX_CHOICE default to 'no' if
1532         gl_CXX_CHOICE_DEFAULT_NO is defined.
1533         Requested by Eric Blake.
1534
1535 2010-03-28  Bruno Haible  <bruno@clisp.org>
1536
1537         unistd: Avoid #define replacements in C++ mode.
1538         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
1539         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
1540         setsockopt, shutdown, select): In C++, attach a warning to the function
1541         if possible, rather than #defining the symbol to a dysfunctional alias.
1542         Reported by John W. Eaton <jwe@gnu.org>.
1543
1544 2010-03-28  Bruno Haible  <bruno@clisp.org>
1545
1546         Fix link errors on mingw.
1547         * lib/sys_ioctl.in.h (ioctl): Fix declaration idiom.
1548         * modules/sys_ioctl-tests (Makefile.am): Link test-sys_ioctl-c++ with
1549         $(LIBSOCKET).
1550         * modules/sys_select-tests (Makefile.am): Link test-sys_select-c++ with
1551         $(LIBSOCKET).
1552
1553 2010-03-28  Bruno Haible  <bruno@clisp.org>
1554             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1555
1556         lib-ignore: Determine different options for different compilers.
1557         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Set a variable which
1558         depends on the current language (C/C++/Fortran). Don't set LDFLAGS.
1559         Add comments.
1560         (_gl_IGNORE_UNUSED_LIBRARIES_OPTIONS): New macro.
1561         * NEWS: Mention the change.
1562
1563 2010-03-27  Bruno Haible  <bruno@clisp.org>
1564
1565         Remove unused GNULIB_XYZ macro definitions.
1566         * modules/dup3 (configure.ac): Remove gl_MODULE_INDICATOR invocation.
1567         * modules/fseek (configure.ac): Likewise.
1568         * modules/ioctl (configure.ac): Likewise.
1569         * modules/open (configure.ac): Likewise.
1570         * modules/stdlib-safer (configure.ac): Likewise.
1571
1572 2010-03-27  Bruno Haible  <bruno@clisp.org>
1573
1574         Add a remark about certain modules.
1575         * modules/malloc (Comment): New section.
1576         * modules/realloc (Comment): Likewise.
1577         * modules/sigpipe (Comment): Likewise.
1578
1579 2010-03-27  Bruno Haible  <bruno@clisp.org>
1580
1581         Resolve conflict between the two kinds of module indicators.
1582         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Define
1583         GNULIB_TEST_XYZ instead of GNULIB_XYZ.
1584         * modules/canonicalize (configure.ac): Invoke
1585         gl_MODULE_INDICATOR_FOR_TESTS.
1586         * tests/test-canonicalize-lgpl.c: Test GNULIB_TEST_XYZ instead of
1587         GNULIB_XYZ.
1588         * tests/test-dirent-c++.cc: Likewise.
1589         * tests/test-dirent-safer.c: Likewise.
1590         * tests/test-dup2.c: Likewise.
1591         * tests/test-fchdir.c: Likewise.
1592         * tests/test-fcntl-h-c++.cc: Likewise.
1593         * tests/test-getopt.c: Likewise.
1594         * tests/test-getopt.h: Likewise.
1595         * tests/test-langinfo-c++.cc: Likewise.
1596         * tests/test-locale-c++.cc: Likewise.
1597         * tests/test-math-c++.cc: Likewise.
1598         * tests/test-pty-c++.cc: Likewise.
1599         * tests/test-search-c++.cc: Likewise.
1600         * tests/test-signal-c++.cc: Likewise.
1601         * tests/test-spawn-c++.cc: Likewise.
1602         * tests/test-stdio-c++.cc: Likewise.
1603         * tests/test-stdlib-c++.cc: Likewise.
1604         * tests/test-string-c++.cc: Likewise.
1605         * tests/test-sys_ioctl-c++.cc: Likewise.
1606         * tests/test-sys_select-c++.cc: Likewise.
1607         * tests/test-sys_socket-c++.cc: Likewise.
1608         * tests/test-sys_stat-c++.cc: Likewise.
1609         * tests/test-sys_time-c++.cc: Likewise.
1610         * tests/test-time-c++.cc: Likewise.
1611         * tests/test-unistd-c++.cc: Likewise.
1612         * tests/test-wchar-c++.cc: Likewise.
1613         * tests/uninorm/test-u8-nfc.c: Likewise.
1614         * tests/uninorm/test-u8-nfd.c: Likewise.
1615         * tests/uninorm/test-u8-nfkc.c: Likewise.
1616         * tests/uninorm/test-u8-nfkd.c: Likewise.
1617         * tests/uninorm/test-u16-nfc.c: Likewise.
1618         * tests/uninorm/test-u16-nfd.c: Likewise.
1619         * tests/uninorm/test-u16-nfkc.c: Likewise.
1620         * tests/uninorm/test-u16-nfkd.c: Likewise.
1621         * tests/uninorm/test-u32-nfc.c: Likewise.
1622         * tests/uninorm/test-u32-nfc-big.c: Likewise.
1623         * tests/uninorm/test-u32-nfd.c: Likewise.
1624         * tests/uninorm/test-u32-nfd-big.c: Likewise.
1625         * tests/uninorm/test-u32-nfkc.c: Likewise.
1626         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
1627         * tests/uninorm/test-u32-nfkd.c: Likewise.
1628         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
1629         * tests/uninorm/test-u32-normalize-big.c: Likewise.
1630
1631 2010-03-27  Bruno Haible  <bruno@clisp.org>
1632
1633         Distinguish two kinds of module indicators.
1634         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Renamed from
1635         gl_MODULE_INDICATOR.
1636         (gl_MODULE_INDICATOR): New macro.
1637         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
1638         gl_MODULE_INDICATOR_FOR_TESTS instead of gl_MODULE_INDICATOR.
1639         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
1640         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
1641         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
1642         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
1643         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
1644         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
1645         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
1646         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
1647         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
1648         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
1649         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
1650         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
1651         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
1652         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
1653         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
1654         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
1655         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
1656         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
1657         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
1658         * modules/cloexec (configure.ac): Likewise.
1659         * modules/getopt-gnu (configure.ac): Likewise.
1660         * modules/uninorm/u8-normalize (configure.ac): Likewise.
1661         * modules/uninorm/u16-normalize (configure.ac): Likewise.
1662         * modules/uninorm/u32-normalize (configure.ac): Likewise.
1663         * modules/fdopendir (configure.ac): Invoke gl_MODULE_INDICATOR.
1664
1665 2010-03-27  Bruno Haible  <bruno@clisp.org>
1666
1667         New module description field 'Comment'.
1668         * gnulib-tool: New option --extract-comment.
1669         (func_usage): Document it.
1670         (sed_extract_prog, sed_extract_field_header): Support 'Comment' field.
1671         (func_get_comment): New function.
1672         * modules/TEMPLATE-EXTENDED: Add a blank Comment field.
1673
1674 2010-03-27  Bruno Haible  <bruno@clisp.org>
1675
1676         Addendum to 2010-02-07 commit.
1677         * gnulib-tool (func_usage): Document --extract-applicability option.
1678
1679 2010-03-27  Bruno Haible  <bruno@clisp.org>
1680
1681         Use GNULIB_POSIXCHECK instead of GNULIB_PORTCHECK.
1682         * lib/time.in.h (asctime, asctime_r, ctime, ctime_r): Test
1683         GNULIB_POSIXCHECK, not GNULIB_PORTCHECK. Provide compile-time warnings
1684         rather than link errors.
1685
1686 2010-03-27  Bruno Haible  <bruno@clisp.org>
1687
1688         Avoid side effects from tests-related modules on the compilation of lib.
1689         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): New macro.
1690         (gl_MODULE_INDICATOR_SET_VARIABLE): Use its expansion as a value.
1691         * gnulib-tool (func_emit_tests_Makefile_am): Accept a witness_macro
1692         parameter. Emit into AM_CPPFLAGS a definition of the designated C
1693         macro.
1694         (func_import): Define a witness macro. Assign it a value that depends
1695         on the current package. Override gl_MODULE_INDICATOR_CONDITION for the
1696         tests-related modules.
1697         (func_create_testdir): Update func_emit_tests_Makefile_am invocation.
1698         Reported by Jim Meyering.
1699
1700 2010-03-27  Bruno Haible  <bruno@clisp.org>
1701
1702         Factorize common .m4 code.
1703         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE): New macro.
1704         * m4/arpa_inet_h.m4 (gl_ARPA_INET_MODULE_INDICATOR): Use it.
1705         * m4/ctype.m4 (gl_CTYPE_MODULE_INDICATOR): Likewise.
1706         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Likewise.
1707         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
1708         * m4/iconv_h.m4 (gl_ICONV_MODULE_INDICATOR): Likewise.
1709         * m4/inttypes.m4 (gl_INTTYPES_MODULE_INDICATOR): Likewise.
1710         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
1711         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
1712         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
1713         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Likewise.
1714         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
1715         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
1716         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
1717         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
1718         * m4/stddef_h.m4 (gl_STDDEF_MODULE_INDICATOR): Likewise.
1719         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
1720         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
1721         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
1722         * m4/strings_h.m4 (gl_STRINGS_MODULE_INDICATOR): Likewise.
1723         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_MODULE_INDICATOR): Likewise.
1724         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
1725         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
1726         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
1727         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
1728         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
1729         * m4/sys_times_h.m4 (gl_SYS_TIMES_MODULE_INDICATOR): Likewise.
1730         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_MODULE_INDICATOR): Likewise.
1731         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Likewise.
1732         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
1733         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
1734         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
1735
1736 2010-03-27  Bruno Haible  <bruno@clisp.org>
1737
1738         Fix a compilation error on Cygwin with g++ >= 4.3.
1739         * lib/sys_stat.in.h (lchmod): Don't warn about the use of this function
1740         if it is undefined or if we alias it to chmod.
1741         (lstat): Don't warn about the use of this function if it is undefined
1742         or if we alias it to stat.
1743         Reported by Simon Josefsson.
1744
1745 2010-03-27  Bruno Haible  <bruno@clisp.org>
1746
1747         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Renamed from gl_GETLOGIN.
1748         * modules/getlogin (configure.ac): Update.
1749
1750         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Renamed from gl_GETLOGIN_R.
1751         * modules/getlogin_r (configure.ac): Update.
1752
1753         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Renamed from gl_INET_NTOP.
1754         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Update.
1755         * modules/inet_ntop (configure.ac): Update.
1756
1757         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Renamed from gl_INET_PTON.
1758         * modules/inet_pton (configure.ac): Update.
1759
1760         * m4/mbslen.m4 (gl_FUNC_MBSLEN): Renamed from gl_MBSLEN.
1761         * modules/mbslen (configure.ac): Update.
1762
1763         * m4/pty.m4 (gl_FUNC_FORKPTY): Renamed from gl_FORKPTY.
1764         (gl_FUNC_OPENPTY): Renamed from gl_OPENPTY.
1765         * modules/forkpty (configure.ac): Update.
1766         * modules/openpty (configure.ac): Update.
1767
1768 2010-03-26  Simon Josefsson  <simon@josefsson.org>
1769
1770         * top/maint.mk (sc_texinfo_acronym): Don't infloop if there is
1771         no *.texi files.  Reported by Eric Blake <eblake@redhat.com>.
1772
1773 2010-03-25  Eric Blake  <eblake@redhat.com>
1774
1775         maint: use pragma consistently across replacement headers
1776         * lib/ctype.in.h (system_header): Hoist for consistent placement.
1777         * lib/dirent.in.h (system_header): Likewise.
1778         * lib/errno.in.h (system_header): Likewise.
1779         * lib/float.in.h (system_header): Likewise.
1780         * lib/getopt.in.h (system_header): Likewise.
1781         * lib/iconv.in.h (system_header): Likewise.
1782         * lib/inttypes.in.h (system_header): Likewise.
1783         * lib/langinfo.in.h (system_header): Likewise.
1784         * lib/locale.in.h (system_header): Likewise.
1785         * lib/math.in.h (system_header): Likewise.
1786         * lib/netdb.in.h (system_header): Likewise.
1787         * lib/netinet_in.in.h (system_header): Likewise.
1788         * lib/pty.in.h (system_header): Likewise.
1789         * lib/sched.in.h (system_header): Likewise.
1790         * lib/se-selinux.in.h (system_header): Likewise.
1791         * lib/search.in.h (system_header): Likewise.
1792         * lib/spawn.in.h (system_header): Likewise.
1793         * lib/stdarg.in.h (system_header): Likewise.
1794         * lib/stdint.in.h (system_header): Likewise.
1795         * lib/string.in.h (system_header): Likewise.
1796         * lib/strings.in.h (system_header): Likewise.
1797         * lib/sys_file.in.h (system_header): Likewise.
1798         * lib/sys_ioctl.in.h (system_header): Likewise.
1799         * lib/sys_socket.in.h (system_header): Likewise.
1800         * lib/sys_times.in.h (system_header): Likewise.
1801         * lib/sys_utsname.in.h (system_header): Likewise.
1802         * lib/sys_wait.in.h (system_header): Likewise.
1803         * lib/sysexits.in.h (system_header): Likewise.
1804         * lib/unistd.in.h (system_header): Likewise.
1805         * lib/wctype.in.h (system_header): Likewise.
1806
1807         arpa/inet: fix mingw compilation warning
1808         * lib/arpa_inet.in.h (system_header): Hoist to be unconditional.
1809         Reported by Matthew Bolte.
1810
1811 2010-03-25  Bruno Haible  <bruno@clisp.org>
1812
1813         Avoid collision between gnulib wrapper and libintl wrapper.
1814         * lib/printf.c (printf): Don't define if a printf wrapper is already
1815         defined in intl/printf.c.
1816         Reported by Michel Boaventura <michel@michelboaventura.com>.
1817
1818 2010-03-25  Bruno Haible  <bruno@clisp.org>
1819
1820         Use ANSI C.
1821         * lib/readutmp.h (getutent): Provide ANSI C prototype.
1822
1823 2010-03-25  Bruno Haible  <bruno@clisp.org>
1824
1825         Minor formatting changes.
1826         * lib/acosl.c: Insert space before function argument list.
1827         * lib/argz.c: Likewise.
1828         * lib/asinl.c: Likewise.
1829         * lib/expl.c: Likewise.
1830         * lib/gen-uni-tables.c: Likewise.
1831         * lib/gettext.h: Likewise.
1832         * lib/glthread/lock.h: Likewise.
1833         * lib/tanl.c: Likewise.
1834         * lib/uniname/uniname.c: Likewise.
1835         * tests/test-idpriv-drop.c: Likewise.
1836         * tests/test-idpriv-droptemp.c: Likewise.
1837         * tests/test-lock.c: Likewise.
1838         * tests/test-tls.c: Likewise.
1839         * lib/argp-help.c: Insert space before function-like macro argument
1840         list.
1841         * lib/memcmp.c: Likewise.
1842         * tests/test-base64.c: Likewise.
1843         * lib/localename.c: Insert space before sizeof's argument list.
1844         * lib/safe-alloc.h: Likewise.
1845         * lib/file-set.h: Insert space before macro argument list.
1846         * tests/test-argp.c: Likewise.
1847         * lib/argp-namefrob.h: Insert space before function parameter list.
1848         * lib/getaddrinfo.c: Likewise.
1849         * lib/netdb.in.h: Likewise.
1850         * lib/parse-duration.h: Likewise.
1851         * lib/parse-duration.c: Likewise.
1852         * lib/poll.c: Likewise.
1853         * lib/select.c: Likewise.
1854         * lib/trim.h: Likewise.
1855         * tests/test-usleep.c: Likewise.
1856         * lib/ldexpl.c: Insert space before function parameter list and before
1857         function argument list.
1858         * lib/logl.c: Likewise.
1859         * lib/sqrtl.c: Likewise.
1860         * lib/trim.c: Likewise.
1861         * lib/cosl.c: Use GNU style indentation. Insert space before function
1862         argument list.
1863         * lib/sinl.c: Likewise.
1864         * lib/tsearch.c: Insert space after 'for'.
1865         Reported by Jim Meyering.
1866
1867 2010-03-23  Pádraig Brady  <P@draigBrady.com>  (tiny change)
1868
1869         * maint.mk (sc_Wundef_boolean): Check for the presence of the
1870         config header before grepping, as it's not present before
1871         autoreconf/configure are run.  Reported by Simon Josefsson.
1872
1873 2010-03-23  Bruno Haible  <bruno@clisp.org>
1874
1875         pt_chown: Make it work with automake < 1.11.
1876         * modules/pt_chown (Makefile.am): Define pkglibexecdir.
1877         Reported by Simon Josefsson.
1878
1879 2010-03-23  Bruno Haible  <bruno@clisp.org>
1880
1881         pt_chown: Don't depend on GPLed modules.
1882         * lib/pt_chown.c: Don't include idpriv.h.
1883         (main): Don't drop privileges.
1884         * modules/pt_chown (Depends-on): Remove idpriv-drop.
1885         Reported by Simon Josefsson.
1886
1887 2010-03-24  Simon Josefsson  <simon@josefsson.org>
1888
1889         * top/maint.mk (sc_texinfo_acronym): Add rule, based on
1890         suggestions from karl@freefriends.org (Karl Berry).
1891
1892 2010-03-22  Eric Blake  <eblake@redhat.com>
1893
1894         gethostname: further tweaks
1895         * lib/unistd.in.h (includes): Only worry about <winsock2.h> if we
1896         are overriding gethostname.
1897         Suggested by Bruno Haible.
1898
1899 2010-03-21  Bruno Haible  <bruno@clisp.org>
1900
1901         Fix comments.
1902         * lib/forkpty.c (rpl_forkpty): Fix comment.
1903         * lib/openpty.c (rpl_openpty): Likewise.
1904         Reported by Eric Blake.
1905
1906 2010-03-22  Eric Blake  <eblake@redhat.com>
1907
1908         gethostname: fix build on mingw
1909         * lib/unistd.in.h (includes): Work around fact that mingw
1910         <winsock2.h> re-includes <unistd.h>, by avoiding any
1911         redeclarations if we are being included by <winsock2.h>.
1912         Reported by Matthias Bolte.
1913
1914 2010-03-21  Bruno Haible  <bruno@clisp.org>
1915
1916         forkpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
1917         * lib/forkpty.c (forkpty): New replacement function, from glibc with
1918         modifications.
1919         * lib/pty.in.h (forkpty): Update declaration. Add comments.
1920         * m4/pty.m4 (gl_FORKPTY): If forkpty is not declared, arrange to
1921         provide the replacement.
1922         * modules/forkpty (Depends-on): Add openpty, login_tty.
1923         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_FORKPTY.
1924         * modules/pty (Makefile.am): Substitute HAVE_FORKPTY.
1925         * doc/glibc-functions/forkpty.texi: More supported platforms.
1926         * config/srclist.txt: Add forkpty.c (commented).
1927
1928 2010-03-21  Bruno Haible  <bruno@clisp.org>
1929
1930         * modules/forkpty-tests: Use the common TEMPLATE-TESTS.
1931         (Makefile.am): Verify that PTY_LIB is defined.
1932
1933         * modules/openpty-tests: Use the common TEMPLATE-TESTS.
1934
1935 2010-03-21  Bruno Haible  <bruno@clisp.org>
1936
1937         Tests for module 'login_tty'.
1938         * modules/login_tty-tests: New file.
1939         * tests/test-login_tty.c: New file.
1940
1941         New module 'login_tty'.
1942         * lib/login_tty.c: New file.
1943         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): New macro.
1944         * modules/login_tty: New file.
1945         * doc/glibc-functions/login_tty.texi: Mention the new module.
1946
1947 2010-03-21  Bruno Haible  <bruno@clisp.org>
1948
1949         login_tty: Documentation.
1950         * doc/glibc-functions/login_tty.texi: New file.
1951         * doc/gnulib.texi (Glibc <utmp.h>): Include it.
1952
1953 2010-03-21  Bruno Haible  <bruno@clisp.org>
1954
1955         pty: Consistent macro naming.
1956         * m4/pty_h.m4 (gl_PTY_H): Renamed from gl_PTY.
1957         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): Update.
1958         * modules/pty (configure.ac): Update.
1959
1960 2010-03-21  Bruno Haible  <bruno@clisp.org>
1961
1962         Tests for openpty: Make stricter.
1963         * tests/test-openpty.c (main): Add test of canonical processing and
1964         erase.
1965         * modules/openpty-tests (Makefile.am): Verify that PTY_LIB is defined.
1966
1967         openpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
1968         * lib/openpty.c (openpty): New replacement function.
1969         * lib/pty.in.h: Include <termios.h>.
1970         (openpty): Update declaration. Add comments.
1971         * m4/pty.m4 (gl_OPENPTY): Require AC_USE_SYSTEM_EXTENSIONS. If openpty
1972         is not declared, arrange to provide the replacement. Check for _getpty
1973         and posix_openpt.
1974         * modules/openpty (Depends-on): Add extensions, fcntl-h, ioctl.
1975         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_OPENPTY.
1976         * modules/pty (Makefile.am): Substitute HAVE_OPENPTY.
1977         * modules/pty-tests (test_pty_c___LDADD): New variable.
1978         * doc/glibc-functions/openpty.texi: More supported platforms.
1979
1980 2010-03-21  Bruno Haible  <bruno@clisp.org>
1981
1982         setenv: Tweaks.
1983         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Include necessary headers in
1984         the test program.
1985         * doc/posix-functions/setenv.texi: Update platforms list.
1986
1987 2010-03-21  Bruno Haible  <bruno@clisp.org>
1988
1989         New module 'unlockpt'.
1990         * lib/unlockpt.c: New file, from glibc with modifications.
1991         * m4/unlockpt.m4: New file.
1992         * modules/unlockpt: New file.
1993         * lib/stdlib.in.h (unlockpt): New declaration.
1994         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether unlockpt is declared.
1995         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_UNLOCKPT, HAVE_UNLOCKPT.
1996         * modules/stdlib (Makefile.am): Substitute GNULIB_UNLOCKPT,
1997         HAVE_UNLOCKPT.
1998         * doc/posix-functions/unlockpt.texi: Mention the new module.
1999         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::unlockpt.
2000         * config/srclist.txt: Add unlockpt.c (commented).
2001
2002 2010-03-21  Jim Meyering  <meyering@redhat.com>
2003
2004         maint.mk: prohibit inclusion of "intprops.h" without use
2005         * top/maint.mk (sc_prohibit_intprops_without_use): New rule.
2006
2007 2010-03-21  Bruno Haible  <bruno@clisp.org>
2008
2009         New module 'grantpt'.
2010         * lib/grantpt.c: New file, from glibc with modifications.
2011         * m4/grantpt.m4: New file.
2012         * modules/grantpt: New file.
2013         * lib/stdlib.in.h (grantpt): New declaration.
2014         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether grantpt is declared.
2015         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GRANTPT, HAVE_GRANTPT.
2016         * modules/stdlib (Makefile.am): Substitute GNULIB_GRANTPT,
2017         HAVE_GRANTPT.
2018         * doc/posix-functions/grantpt.texi: Mention the new module.
2019         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::grantpt.
2020         * config/srclist.txt: Add grantpt.c (commented).
2021
2022 2010-03-21  Bruno Haible  <bruno@clisp.org>
2023
2024         New module 'pt_chown'.
2025         * lib/pt_chown.c: New file, from glibc with modifications.
2026         * lib/pty-private.h: New file, from glibc with modifications.
2027         * modules/pt_chown: New file.
2028         * config/srclist.txt: Add pt_chown.c, pty-private.h (commented).
2029
2030 2010-03-21  Bruno Haible  <bruno@clisp.org>
2031
2032         Tests for module 'ptsname'.
2033         * modules/ptsname-tests: New file.
2034         * tests/test-ptsname.c: New file.
2035
2036         New module 'ptsname'.
2037         * lib/ptsname.c: New file, from glibc with modifications.
2038         * m4/ptsname.m4: New file.
2039         * modules/ptsname: New file.
2040         * lib/stdlib.in.h (ptsname): New declaration.
2041         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether ptsname is declared.
2042         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PTSNAME, HAVE_PTSNAME.
2043         * modules/stdlib (Makefile.am): Substitute GNULIB_PTSNAME,
2044         HAVE_PTSNAME.
2045         * doc/posix-functions/ptsname.texi: Mention the new module.
2046         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::ptsname.
2047         * config/srclist.txt: Add ptsname.c (commented).
2048
2049 2010-03-21  Bruno Haible  <bruno@clisp.org>
2050
2051         Tests for module 'ttyname_r'.
2052         * modules/ttyname_r-tests: New file.
2053         * tests/test-ttyname_r.c: New file.
2054
2055         New module 'ttyname_r'.
2056         * lib/ttyname_r.c: New file.
2057         * m4/ttyname_r.m4: New file.
2058         * modules/ttyname_r: New file.
2059         * lib/unistd.in.h (ttyname_r): New declaration.
2060         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether ttyname_r is declared.
2061         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TTYNAME_R, HAVE_TTYNAME_R.
2062         * modules/unistd (Makefile.am): Substitute GNULIB_TTYNAME_R,
2063         HAVE_TTYNAME_R.
2064         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::ttyname_r.
2065         * doc/posix-functions/ttyname_r.texi: Mention the new module.
2066
2067 2010-03-20  Bruno Haible  <bruno@clisp.org>
2068
2069         signal: Undefine macro definitions in C++ mode.
2070         * lib/signal.in.h (sigismember, sigemptyset, sigaddset, sigdelset,
2071         sigfillset): Undefine macro definitions from the system header in C++
2072         mode.
2073         Reported by John W. Eaton <jwe@gnu.org>.
2074
2075 2010-03-20  Bruno Haible  <bruno@clisp.org>
2076
2077         Ensure no #include statements inside extern "C" { ... }.
2078         * lib/obstack.h: Shrink extern "C" { ... } region so that it does not
2079         contain #include statements.
2080         * lib/time.in.h: Likewise.
2081
2082 2010-03-20  Bruno Haible  <bruno@clisp.org>
2083
2084         Make _GL_WARN_ON_USE usable in C++ and C mode in the same compilation.
2085         * build-aux/warn-on-use.h (_GL_WARN_EXTERN_C): New macro.
2086         (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): Likewise.
2087         Reported by John W. Eaton <jwe@gnu.org>.
2088
2089 2010-03-20  Bruno Haible  <bruno@clisp.org>
2090
2091         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix last commit.
2092         Reported by Jim Meyering.
2093
2094 2010-03-20  Bruno Haible  <bruno@clisp.org>
2095
2096         pipe: Set errno upon failure.
2097         * lib/pipe.h: Specify that when -1 is returned, errno is set.
2098         * lib/pipe.c (create_pipe): Set errno when returning -1. Use the right
2099         errno value in error message.
2100
2101 2010-03-20  Bruno Haible  <bruno@clisp.org>
2102             Jim Meyering  <meyering@redhat.com>
2103
2104         lchown: Avoid "unused variable" warning.
2105         * lib/lchown.c (rpl_lchown): Move variable 'st' into #if block.
2106
2107 2010-03-20  Bruno Haible  <bruno@clisp.org>
2108
2109         Work around unlink() bug on MacOS X 10.5.6.
2110         * lib/unlink.c (rpl_unlink): If UNLINK_PARENT_BUG is defined, fail when
2111         attempting to unlink a parent directory.
2112         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. Test for
2113         MacOS X 10.5 bug. If the bug is present, define UNLINK_PARENT_BUG and
2114         activate for the replacement function.
2115         * doc/posix-functions/unlink.texi: Mention the MacOS X 10.5 bug.
2116
2117 2010-03-20  Bruno Haible  <bruno@clisp.org>
2118
2119         Fix link errors on Solaris 8.
2120         * modules/dirent-tests (test_dirent_c___LDADD): Add LIB_NANOSLEEP.
2121         * modules/wctype-tests (test_wctype_c___LDADD): Likewise.
2122
2123 2010-03-19  Jim Meyering  <meyering@redhat.com>
2124
2125         regcomp.c: make non-_LIBC implementation of build_range_exp consistent
2126         The _LIBC implementation of build_range_exp correctly honors the
2127         RE_NO_EMPTY_RANGES flag when checking for reversed range endpoints.
2128         However, the non-_LIBC implementation would ignore that syntax-bit
2129         flag and return REG_ERANGE unconditionally.
2130         This change makes it honor that flag.
2131         * lib/regcomp.c (build_range_exp) [!_LIBC]: Add a parameter: "syntax".
2132         Make two pointer parameters "const".
2133         Use "syntax" bits in order to honor RE_NO_EMPTY_RANGES.
2134         (parse_bracket_exp): Update caller.
2135
2136         regex.m4: correct the reversed range endpoint ([b-a]) test
2137         * m4/regex.m4: When requiring that [b-a] evoke failure,
2138         use RE_NO_EMPTY_RANGES.  This makes this entire configure-time
2139         test pass once again for x86-based systems.
2140
2141 2010-03-19  Bruno Haible  <bruno@clisp.org>
2142
2143         scandir: Fix link error on Solaris 8.
2144         * lib/scandir.c (_D_EXACT_NAMLEN, _D_ALLOC_NAMLEN): New fallback
2145         macros.
2146
2147 2010-03-19  Bruno Haible  <bruno@clisp.org>
2148
2149         getusershell: Fix documentation.
2150         * doc/glibc-functions/endusershell.texi: Refer to the getusershell
2151         module.
2152         * doc/glibc-functions/setusershell.texi: Likewise.
2153
2154         getusershell: Provide declaration, missing on Solaris 9.
2155         * lib/unistd.in.h (getusershell, setusershell, endusershell): Declare
2156         also if HAVE_GETUSERSHELL && !HAVE_DECL_GETUSERSHELL.
2157         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): When the function exists,
2158         check whether it is declared. Set HAVE_DECL_GETUSERSHELL.
2159         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
2160         HAVE_DECL_GETUSERSHELL, not HAVE_GETUSERSHELL.
2161         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETUSERSHELL, not
2162         HAVE_GETUSERSHELL.
2163         * doc/glibc-functions/getusershell.texi: Mention the Solaris problem.
2164
2165 2010-03-19  Bruno Haible  <bruno@clisp.org>
2166
2167         wctype: Provide iswblank function.
2168         * lib/wctype.in.h (iswblank): Provide a replacement also when iswcntrl
2169         exists and is fine.
2170         * m4/wctype_h.m4 (gl_WCTYPE_H): Also check whether iswcntrl exists.
2171         * modules/wctype (Makefile.am): Substitute HAVE_ISWBLANK.
2172         * tests/test-wctype.c (main): Re-enable the iswblank tests.
2173         * doc/posix-functions/iswblank.texi: Update.
2174
2175 2010-03-19  Bruno Haible  <bruno@clisp.org>
2176
2177         Tests of module 'pty' in C++ mode.
2178         * modules/pty-tests: New file.
2179         * tests/test-pty-c++.cc: New file.
2180         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
2181
2182 2010-03-19  Eric Blake  <eblake@redhat.com>
2183
2184         logb: fix documentation
2185         * doc/posix-functions/logb.texi (logb): Gnulib fixes the cygwin
2186         1.5 declaration bug.
2187
2188         forkpty, openpty: prefer glibc's const-safe prototype
2189         * lib/forkpty.c (rpl_forkpty): New file.
2190         * lib/openpty.c (rpl_openpty): Likewise.
2191         * modules/forkpty (Files): Distribute it.
2192         * modules/openpty (Files): Likewise.
2193         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.  Move decl
2194         check...
2195         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): ...here.  Request
2196         replacement for for non-const BSD signature.
2197         * modules/pty (Makefile.am): Substitute witnesses.
2198         * lib/pty.in.h (forkpty, openpty): Declare replacements.
2199         * tests/test-forkpty.c: Update signature check.
2200         * tests/test-openpty.c: Likewise.
2201         * doc/glibc-functions/forkpty.texi (forkpty): Document the fix.
2202         * doc/glibc-functions/openpty.texi (openpty): Likewise.
2203
2204         forkpty, openpty: split functions into new modules
2205         * modules/pty (Makefile.am): Substitute new witnesses.
2206         (Libraries): Move library detection...
2207         * modules/forkpty: ...into new module.
2208         * modules/openpty: Another new module.
2209         * modules/pty-tests: Rename and split...
2210         * modules/forkpty-tests: ...to this...
2211         * modules/openpty-tests: ...and this.
2212         * tests/test-pty.c: Rename and split...
2213         * tests/test-forkpty.c: ...to this...
2214         * tests/test-openpty.c: ...and this.
2215         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.
2216         (gl_PTY): Split library searching...
2217         * m4/pty.m4 (gl_PTY_LIB): ...into new file.
2218         (gl_FORKPTY, gl_OPENPTY): New macros.
2219         * lib/pty.in.h (forkpty, openpty): Honor new witnesses.
2220         * NEWS: Mention the split.
2221         * MODULES.html.sh (Misc): Document the modules.
2222         * doc/glibc-functions/forkpty.texi (forkpty): Likewise.
2223         * doc/glibc-functions/openpty.texi (openpty): Likewise.
2224
2225         pty: improve replacement header
2226         * lib/pty.in.h: New file.
2227         * modules/pty (Files): Ship it.
2228         (Makefile.am): Always build replacement.
2229         * m4/pty.m4: Rename...
2230         * m4/pty_h.m4: ...to this.
2231         (gl_PTY): Modernize setting of witness macros; update check of
2232         forkpty to take proper advantage of cache.
2233         (gl_PTY_MODULE_INDICATOR, gl_PTY_H_DEFAULTS): New macros.
2234
2235         getopt: avoid compiler warning
2236         * lib/getopt.c (attribute_hidden): Remove unused macro.
2237
2238 2010-03-18  Bruno Haible  <bruno@clisp.org>
2239
2240         Fix link errors on Solaris 8.
2241         * modules/iconv-h-tests (test_iconv_h_c___LDADD): Add LIB_NANOSLEEP.
2242         * modules/search-tests (test_search_c___LDADD): Likewise.
2243         * modules/signal-tests (test_signal_c___LDADD): Likewise.
2244         * modules/spawn-tests (test_spawn_c___LDADD): Likewise.
2245         * modules/stdio-tests (test_stdio_c___LDADD): Likewise.
2246         * modules/sys_select-tests (test_sys_select_c___LDADD): Likewise.
2247         * modules/sys_socket-tests (test_sys_socket_c___LDADD): Likewise.
2248         * modules/sys_time-tests (test_sys_time_c___LDADD): Likewise.
2249         * modules/wchar-tests (test_wchar_c___LDADD): Likewise.
2250
2251 2010-03-18  Bruno Haible  <bruno@clisp.org>
2252
2253         Fix bug introduced on 2010-03-14.
2254         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): New macro.
2255         (gl_SPAWN_H): Require it.
2256         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Likewise.
2257         Reported by Simon Josefsson.
2258
2259 2010-03-18  Bruno Haible  <bruno@clisp.org>
2260
2261         Fix typo introduced on 2009-12-31.
2262         * m4/spawn_h.m4 (gl_SPAWN_H): Check for the declaration of
2263         posix_spawn_file_actions_adddup2.
2264
2265 2010-03-17  Bert Wesarg  <bert.wesarg@googlemail.com>  (tiny change)
2266         and Eric Blake  <eblake@redhat.com>
2267
2268         test-vc-list-files-git: make more robust
2269         * tests/test-vc-list-files-git.sh: Unset problematic environment
2270         variables.  Chain commands together.
2271
2272 2010-03-17  Ludovic Courtès <ludo@gnu.org>  (tiny change)
2273
2274         * m4/pty.m4: Unset $ac_cv_have_decl_forkpty before the second
2275         `AC_CHECK_DECL' invocation.
2276
2277 2010-03-15  Sergey Poznyakoff  <gray@gnu.org.ua>
2278
2279         * lib/inttostr.c (inttostr): Make sure the invocation of verify
2280         appears before executable statements. Suggested by Petr Sumbera
2281         <Petr.Sumbera@Sun.COM>.
2282
2283 2010-03-14  Bruno Haible  <bruno@clisp.org>
2284
2285         * tests/test-flock.c (test_exclusive): Comment out a test that causes
2286         portability problems. Instead use a simpler test.
2287         (main): Check that invalid arguments are rejected only on Linux.
2288
2289 2010-03-14  Bruno Haible  <bruno@clisp.org>
2290
2291         Fix bug introduced on 2009-12-31.
2292         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
2293         gl_PREREQ_SYS_H_WINSOCK2 always.
2294         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise. Remove
2295         SYS_SOCKET_H variable.
2296         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Remove test for flock.
2297         Update comments.
2298         * m4/ctype.m4 (gl_CTYPE_H): Update comments.
2299         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
2300         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
2301         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
2302         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
2303
2304 2010-03-14  Bruno Haible  <bruno@clisp.org>
2305
2306         Fix values returned by sinl, cosl.
2307         * lib/trigl.h: Add specification comments.
2308         * lib/sincosl.c (kernel_sinl, kernel_cosl): Fix comments and formula
2309         that combines the values from the precomputed table with the values of
2310         the Chebyshev polynomials.
2311
2312 2010-03-14  Bruno Haible  <bruno@clisp.org>
2313
2314         Fix compilation error when modules 'posix_spawn[p]' are not used.
2315         * m4/spawn_h.m4 (gl_SPAWN_H): Set HAVE_POSIX_SPAWN here.
2316         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): ... not here.
2317
2318 2010-03-14  Bruno Haible  <bruno@clisp.org>
2319
2320         Fix compilation error on mingw when module 'time_r' is not used.
2321         * lib/time.in.h (localtime_r, gmtime_r): Declare only if GNULIB_TIME_R
2322         is 1.
2323         * tests/test-time-c++.cc (localtime_r, gmtime_r): Likewise.
2324         * modules/time_r (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
2325         * modules/time (Makefile.am): Substitute GNULIB_TIME_R.
2326         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TIME_R.
2327
2328 2010-03-14  Bruno Haible  <bruno@clisp.org>
2329
2330         Fix compilation error with Sun C.
2331         * lib/strtol.c: Use LLONG_MIN instead of GCC specific LONG_LONG_MIN.
2332         Use LLONG_MAX instead of GCC specific LONG_LONG_MAX. Use ULLONG_MAX
2333         instead of GCC specific ULONG_LONG_MAX.
2334         * lib/xstrtoll.c: Likewise.
2335         * lib/xstrtoull.c: Likewise.
2336
2337 2010-03-13  Bruno Haible  <bruno@clisp.org>
2338
2339         Allow the user to disable C++ code and tests.
2340         * m4/ansi-c++.m4 (gl_CXX_CHOICE): New macro.
2341         (gl_PROG_ANSI_CXX): Require it.
2342
2343 2010-03-13  Bruno Haible  <bruno@clisp.org>
2344
2345         * DEPENDENCIES (libtool): Mention libtool 2.2.x requirement in special
2346         cases.
2347
2348 2010-03-13  Bruno Haible  <bruno@clisp.org>
2349
2350         Test that gnulib does not break the standard C++ headers.
2351         * tests/test-locale-c++2.cc: New file.
2352         * modules/locale-tests (Files): Add it.
2353         (Makefile.am): Compile it for test-locale-c++.
2354         * tests/test-math-c++2.cc: New file.
2355         * modules/math-tests (Files): Add it.
2356         (Makefile.am): Compile it for test-math-c++.
2357         * tests/test-signal-c++2.cc: New file.
2358         * modules/signal-tests (Files): Add it.
2359         (Makefile.am): Compile it for test-signal-c++.
2360         * tests/test-stdio-c++2.cc: New file.
2361         * modules/stdio-tests (Files): Add it.
2362         (Makefile.am): Compile it for test-stdio-c++.
2363         * tests/test-stdlib-c++2.cc: New file.
2364         * modules/stdlib-tests (Files): Add it.
2365         (Makefile.am): Compile it for test-stdlib-c++.
2366         * tests/test-string-c++2.cc: New file.
2367         * modules/string-tests (Files): Add it.
2368         (Makefile.am): Compile it for test-string-c++.
2369         * tests/test-time-c++2.cc: New file.
2370         * modules/time-tests (Files): Add it.
2371         (Makefile.am): Compile it for test-time-c++.
2372         Reported by John W. Eaton <jwe@gnu.org>.
2373
2374 2010-03-13  Bruno Haible  <bruno@clisp.org>
2375
2376         * gnulib-tool (func_usage): Clarify which options are available for
2377         --create-testdir and --create-megatestdir.
2378
2379 2010-03-13  Bruno Haible  <bruno@clisp.org>
2380
2381         Fix compilation error with glibc >= 2.10 and g++ >= 4.4.
2382         * build-aux/warn-on-use.h (_GL_WARN_ON_USE_CXX): New macro.
2383         * build-aux/c++defs.h (_GL_CXXALIASWARN1): New macro.
2384         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
2385         strstr, strcasestr): Use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN
2386         when appropriate.
2387         Reported by Jim Meyering.
2388
2389 2010-03-12  Simon Josefsson  <simon@josefsson.org>
2390
2391         * gnulib-tool (func_import): Explain origin of code.
2392
2393 2010-03-12  Bruno Haible  <bruno@clisp.org>
2394
2395         Fix problem with automake's definition of CXXLINK.
2396         * gnulib-tool (func_create_testdir): After LT_INIT, also use LT_LANG.
2397         Reported by Simon Josefsson and Ludovic Courtès.
2398
2399 2010-03-12  Bruno Haible  <bruno@clisp.org>
2400
2401         * doc/gnulib-intro.texi (Steady Development): Mention Ian Beckwith's
2402         stable releases.
2403
2404 2010-03-11  Bruno Haible  <bruno@clisp.org>
2405
2406         Fix problems with overloaded C++ definitions of memchr, strpbrk, etc.
2407         * build-aux/c++defs.h (_GL_CXXALIAS_SYS_CAST2): Make it work regardless
2408         whether the system provides one variant or multiple variants of the
2409         function.
2410         * lib/string.in.h (memchr, strpbrk): Use _GL_CXXALIAS_SYS_CAST2 for all
2411         C++ compilers.
2412         (memrchr, rawmemchr, strchrnul, strstr, strcasestr): Use
2413         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS.
2414         Reported by Jim Meyering.
2415
2416 2010-03-09  Simon Josefsson  <simon@josefsson.org>
2417
2418         * gnulib-tool (LIBTOOLPATH): Fix cut'n'paste bug.
2419
2420 2010-03-08  Bruno Haible  <bruno@clisp.org>
2421
2422         gnulib-tool: Add support for --libtool in --create-testdir.
2423         * gnulib-tool (LIBTOOLPATH, LIBTOOLIZE): New variables.
2424         (func_create_testdir): Emit LT_INIT invocations. Invoke LIBTOOLIZE.
2425
2426 2010-03-08  Eric Blake  <eblake@redhat.com>
2427
2428         gnulib-tool.texi: mention possibility of git submodule
2429         * doc/gnulib-tool.texi (VCS Issues): Add details about using git
2430         submodules.
2431         * doc/.gitignore: Ignore another generated file.
2432
2433 2010-03-08  Karl Berry  <karl@gnu.org>
2434
2435         * doc/gnulib-tool.texi (VCS Issues): Mention third option
2436         of committing gnulib files while skipping others.
2437
2438 2010-03-07  Bruno Haible  <bruno@clisp.org>
2439
2440         Tests of module 'wctype' in C++ mode.
2441         * tests/test-wctype-c++.cc: New file.
2442         * modules/wctype-tests (Files): Add it and tests/signature.h.
2443         (Depends-on): Add ansi-c++-opt.
2444         (Makefile.am): Arrange to compile and run test-wctype-c++.
2445
2446         Tests of module 'wchar' in C++ mode.
2447         * tests/test-wchar-c++.cc: New file.
2448         * modules/wchar-tests (Files): Add it and tests/signature.h.
2449         (Depends-on): Add ansi-c++-opt.
2450         (Makefile.am): Arrange to compile and run test-wchar-c++.
2451         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Invoke
2452         gl_MODULE_INDICATOR.
2453
2454         Tests of module 'unistd' in C++ mode.
2455         * tests/test-unistd-c++.cc: New file.
2456         * modules/unistd-tests (Files): Add it and tests/signature.h.
2457         (Depends-on): Add ansi-c++-opt.
2458         (Makefile.am): Arrange to compile and run test-unistd-c++.
2459         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Invoke
2460         gl_MODULE_INDICATOR.
2461
2462         Tests of module 'time' in C++ mode.
2463         * tests/test-time-c++.cc: New file.
2464         * modules/time-tests (Files): Add it and tests/signature.h.
2465         (Depends-on): Add ansi-c++-opt.
2466         (Makefile.am): Arrange to compile and run test-time-c++.
2467         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
2468
2469         Tests of module 'sys_time' in C++ mode.
2470         * tests/test-sys_time-c++.cc: New file.
2471         * modules/sys_time-tests (Files): Add it and tests/signature.h.
2472         (Depends-on): Add ansi-c++-opt.
2473         (Makefile.am): Arrange to compile and run test-sys_time-c++.
2474         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Invoke
2475         gl_MODULE_INDICATOR.
2476
2477         Tests of module 'sys_stat' in C++ mode.
2478         * tests/test-sys_stat-c++.cc: New file.
2479         * modules/sys_stat-tests (Files): Add it and tests/signature.h.
2480         (Depends-on): Add ansi-c++-opt.
2481         (Makefile.am): Arrange to compile and run test-sys_stat-c++.
2482         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Invoke
2483         gl_MODULE_INDICATOR.
2484
2485         Tests of module 'sys_socket' in C++ mode.
2486         * tests/test-sys_socket-c++.cc: New file.
2487         * modules/sys_socket-tests (Files): Add it and tests/signature.h.
2488         (Depends-on): Add ansi-c++-opt.
2489         (Makefile.am): Arrange to compile and run test-sys_socket-c++.
2490         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Invoke
2491         gl_MODULE_INDICATOR.
2492
2493         Tests of module 'sys_select' in C++ mode.
2494         * tests/test-sys_select-c++.cc: New file.
2495         * modules/sys_select-tests (Files): Add it and tests/signature.h.
2496         (Depends-on): Add ansi-c++-opt.
2497         (Makefile.am): Arrange to compile and run test-sys_select-c++.
2498         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Invoke
2499         gl_MODULE_INDICATOR.
2500
2501         Tests of module 'sys_ioctl' in C++ mode.
2502         * tests/test-sys_ioctl-c++.cc: New file.
2503         * modules/sys_ioctl-tests (Files): Add it and tests/signature.h.
2504         (Depends-on): Add ansi-c++-opt.
2505         (Makefile.am): Arrange to compile and run test-sys_ioctl-c++.
2506         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Invoke
2507         gl_MODULE_INDICATOR.
2508
2509         Tests of module 'string' in C++ mode.
2510         * tests/test-string-c++.cc: New file.
2511         * modules/string-tests (Files): Add it and tests/signature.h.
2512         (Depends-on): Add ansi-c++-opt.
2513         (Makefile.am): Arrange to compile and run test-string-c++.
2514         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Invoke
2515         gl_MODULE_INDICATOR.
2516
2517         Tests of module 'stdlib' in C++ mode.
2518         * tests/test-stdlib-c++.cc: New file.
2519         * modules/stdlib-tests (Files): Add it and tests/signature.h.
2520         (Depends-on): Add ansi-c++-opt.
2521         (Makefile.am): Arrange to compile and run test-stdlib-c++.
2522         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Invoke
2523         gl_MODULE_INDICATOR.
2524
2525         Tests of module 'stdio' in C++ mode.
2526         * tests/test-stdio-c++.cc: New file.
2527         * modules/stdio-tests (Files): Add it and tests/signature.h.
2528         (Depends-on): Add ansi-c++-opt.
2529         (Makefile.am): Arrange to compile and run test-stdio-c++.
2530         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Invoke
2531         gl_MODULE_INDICATOR.
2532
2533         Tests of module 'spawn' in C++ mode.
2534         * tests/test-spawn-c++.cc: New file.
2535         * modules/spawn-tests (Files): Add it and tests/signature.h.
2536         (Depends-on): Add ansi-c++-opt.
2537         (Makefile.am): Arrange to compile and run test-spawn-c++.
2538         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Invoke
2539         gl_MODULE_INDICATOR.
2540
2541         Tests of module 'signal' in C++ mode.
2542         * tests/test-signal-c++.cc: New file.
2543         * modules/signal-tests (Files): Add it and tests/signature.h.
2544         (Depends-on): Add ansi-c++-opt.
2545         (Makefile.am): Arrange to compile and run test-signal-c++.
2546         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Invoke
2547         gl_MODULE_INDICATOR.
2548
2549         Tests of module 'search' in C++ mode.
2550         * tests/test-search-c++.cc: New file.
2551         * modules/search-tests (Files): Add it and tests/signature.h.
2552         (Depends-on): Add ansi-c++-opt.
2553         (Makefile.am): Arrange to compile and run test-search-c++.
2554         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Invoke
2555         gl_MODULE_INDICATOR.
2556
2557         Tests of module 'math' in C++ mode.
2558         * tests/test-math-c++.cc: New file.
2559         * modules/math-tests (Files): Add it and tests/signature.h.
2560         (Depends-on): Add ansi-c++-opt.
2561         (Makefile.am): Arrange to compile and run test-math-c++.
2562         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
2563
2564         Tests of module 'locale' in C++ mode.
2565         * tests/test-locale-c++.cc: New file.
2566         * modules/locale-tests (Files): Add it and tests/signature.h.
2567         (Depends-on): Add ansi-c++-opt.
2568         (Makefile.am): Arrange to compile and run test-locale-c++.
2569         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Invoke
2570         gl_MODULE_INDICATOR.
2571
2572         Tests of module 'langinfo' in C++ mode.
2573         * tests/test-langinfo-c++.cc: New file.
2574         * modules/langinfo-tests (Files): Add it and tests/signature.h.
2575         (Depends-on): Add ansi-c++-opt.
2576         (Makefile.am): Arrange to compile and run test-langinfo-c++.
2577         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Invoke
2578         gl_MODULE_INDICATOR.
2579
2580         Tests of module 'iconv-h' in C++ mode.
2581         * tests/test-iconv-h-c++.cc: New file.
2582         * modules/iconv-h-tests (Files): Add it and tests/signature.h.
2583         (Depends-on): Add ansi-c++-opt.
2584         (Makefile.am): Arrange to compile and run test-iconv-h-c++.
2585
2586         Tests of module 'glob' in C++ mode.
2587         * tests/test-glob-c++.cc: New file.
2588         * modules/glob-tests (Files): Add it.
2589         (Depends-on): Add ansi-c++-opt.
2590         (Makefile.am): Arrange to compile and run test-glob-c++.
2591
2592         Tests of module 'fcntl-h' in C++ mode.
2593         * tests/test-fcntl-h-c++.cc: New file.
2594         * modules/fcntl-h-tests (Files): Add it and tests/signature.h.
2595         (Depends-on): Add ansi-c++-opt.
2596         (Makefile.am): Arrange to compile and run test-fcntl-h-c++.
2597         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Invoke
2598         gl_MODULE_INDICATOR.
2599
2600         Tests of module 'dirent' in C++ mode.
2601         * tests/test-dirent-c++.cc: New file.
2602         * modules/dirent-tests (Files): Add it and tests/signature.h.
2603         (Depends-on): Add ansi-c++-opt.
2604         (Makefile.am): Arrange to compile and run test-dirent-c++.
2605         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
2606         gl_MODULE_INDICATOR.
2607
2608         New module 'ansi-c++-opt'.
2609         * modules/ansi-c++-opt: New file.
2610         * m4/ansi-c++.m4: New file, from GNU gettext with modifications.
2611
2612         Document C++ namespace mode.
2613         * doc/gnulib.texi (A C++ namespace for gnulib): New section.
2614
2615         wctype: Avoid #define replacements in C++ mode.
2616         * lib/wctype.in.h: Include c++defs.h, warn-on-use.h.
2617         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower,
2618         iswprint, iswpunct, iswspace, iswupper, iswxdigit, towlower, towupper):
2619         In C++, define a namespaced alias symbol.
2620         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set WCTYPE_H.
2621         * modules/wctype (Depends-on): Add c++defs, warn-on-use.
2622         (Makefile.am): Provide a wctype.h replacement always. Update wctype.h
2623         rule.
2624
2625         wchar: Avoid #define replacements in C++ mode.
2626         * lib/wchar.in.h: Include c++defs.h.
2627         (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs,
2628         wcrtomb, wcsrtombs, wcsnrtombs): In C++, define a namespaced alias
2629         symbol.
2630         (wcwidth): Likewise. Fix prototype to be POSIX compliant.
2631         * modules/wchar (Depends-on): Add c++defs.
2632         (Makefile.am): Update wchar.h rule.
2633
2634         unistd: Avoid #define replacements in C++ mode.
2635         * lib/unistd.in.h: Include c++defs.h.
2636         (chown, close, dup, dup2, dup3, euidaccess, faccessat, fchdir,
2637         fchownat, fsync, ftruncate, getcwd, getdomainname, getdtablesize,
2638         getgroups, gethostname, getlogin, getlogin_r, getpagesize,
2639         getusershell, setusershell, endusershell, lchown, link, linkat, lseek,
2640         pipe2, pread, readlink, readlinkat, rmdir, sleep, symlink, symlinkat,
2641         unlink, unlinkat, usleep, write): In C++, define a namespaced alias
2642         symbol.
2643         (environ): Update.
2644         * modules/unistd (Depends-on): Add c++defs.
2645         (Makefile.am): Update unistd.h rule.
2646
2647         time: Avoid #define replacements in C++ mode.
2648         * lib/time.in.h: Include c++defs.h, warn-on-use.h.
2649         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): In C++,
2650         define a namespaced alias symbol.
2651         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): New macro.
2652         (gl_HEADER_TIME_H_DEFAULTS): Initialize also GNULIB_MKTIME,
2653         GNULIB_NANOSLEEP, GNULIB_STRPTIME, GNULIB_TIMEGM.
2654         * modules/time (Depends-on): Add c++defs, warn-on-use.
2655         (Makefile.am): Update time.h rule.
2656         * modules/mktime (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
2657         * modules/nanosleep (configure.ac): Likewise.
2658         * modules/strptime (configure.ac): Likewise.
2659         * modules/timegm (configure.ac): Likewise.
2660
2661         sys_time: Avoid #define replacements in C++ mode.
2662         * lib/sys_time.in.h: Include c++defs.h.
2663         (gettimeofday): In C++, define a namespaced alias symbol.
2664         * modules/sys_time (Depends-on): Add c++defs.
2665         (Makefile.am): Update sys/time.h rule.
2666
2667         sys_stat: Avoid #define replacements in C++ mode.
2668         * lib/sys_stat.in.h: Include c++defs.h.
2669         (fchmodat, fstat, fstatat, futimens, lchmod, lstat, mkdir, mkdirat,
2670         mkfifo, mkfifoat, mknod, mknodat, utimensat): In C++, define a
2671         namespaced alias symbol.
2672         In C++, define a namespaced alias symbol.
2673         * modules/sys_stat (Depends-on): Add c++defs.
2674         (Makefile.am): Update sys/stat.h rule.
2675
2676         sys_socket: Avoid #define replacements in C++ mode.
2677         * lib/sys_socket.in.h: Handle the case of recursive include on Cygwin.
2678         Include c++defs.h. Include warn-on-use.h earlier. Enable the function
2679         definitions also when the system has a <sys/socket.h>.
2680         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
2681         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, accept4):
2682         In C++, define a namespaced alias symbol.
2683         * modules/sys_socket (Depends-on): Add c++defs.
2684         (Makefile.am): Update sys/socket.h rule.
2685
2686         sys_select: Avoid #define replacements in C++ mode.
2687         * lib/sys_select.in.h: Include c++defs.h. Enable the function
2688         definitions also when the system has a <sys/select.h>.
2689         (select): In C++, define a namespaced alias symbol.
2690         * modules/sys_select (Depends-on): Add c++defs.
2691         (Makefile.am): Update sys/select.h rule.
2692
2693         sys_ioctl: Avoid #define replacements in C++ mode.
2694         * lib/sys_ioctl.in.h: Include c++defs.h.
2695         (ioctl): In C++, define a namespaced alias symbol.
2696         * modules/sys_ioctl (Depends-on): Add c++defs.
2697         (Makefile.am): Update sys/ioctl.h rule.
2698
2699         string: Avoid #define replacements in C++ mode.
2700         * lib/string.in.h: Include c++defs.h.
2701         (stpncpy): Define to rpl_stpncpy, not gnu_stpncpy.
2702         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
2703         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
2704         strcasestr, strtok_r, mbslen, mbschr, mbsrchr, mbspbrk, strerror,
2705         strsignal, strverscmp): In C++, define a namespaced alias symbol.
2706         * modules/string (Depends-on): Add c++defs.
2707         (Makefile.am): Update string.h rule.
2708
2709         stdlib: Avoid #define replacements in C++ mode.
2710         * lib/stdlib.in.h: Include c++defs.h.
2711         (atoll, calloc, canonicalize_file_name, getloadavg, getsubopt, malloc,
2712         mkdtemp, mkostemp, mkostemps, mkstemp, mkstemps, putenv, random_r,
2713         srandom_r, initstate_r, setstate_r, realloc, realpath, rpmatch, setenv,
2714         strtod, strtoll, strtoull, unsetenv): In C++, define a namespaced alias
2715         symbol.
2716         * modules/stdlib (Depends-on): Add c++defs.
2717         (Makefile.am): Update stdlib.h rule.
2718
2719         stdio: Avoid #define replacements in C++ mode.
2720         * lib/stdio.in.h: Include c++defs.h.
2721         (dprintf, fclose, fflush, fopen, fprintf, fpurge, fputc, fputs,
2722         freopen, fseek, fseeko, ftell, ftello, fwrite, getdelim, getline,
2723         obstack_printf, obstack_vprintf, perror, popen, printf, fputc, putchar,
2724         puts, remove, rename, renameat, snprintf, sprintf, asprintf, vasprintf,
2725         vdprintf, vfprintf, vprintf, vsnprintf, vsprintf): In C++, define a
2726         namespaced alias symbol.
2727         * modules/stdio (Depends-on): Add c++defs.
2728         (Makefile.am): Update stdio.h rule.
2729
2730         spawn: Avoid #define replacements in C++ mode.
2731         * lib/spawn.in.h: Include c++defs.h.
2732         (posix_spawn, posix_spawnp, posix_spawnattr_init,
2733         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
2734         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
2735         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
2736         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
2737         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
2738         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
2739         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
2740         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
2741         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
2742         In C++, define a namespaced alias symbol.
2743         * modules/spawn (Depends-on): Add c++defs.
2744         (Makefile.am): Update spawn.h rule.
2745
2746         signal: Avoid #define replacements in C++ mode.
2747         * lib/signal.in.h: Include c++defs.h.
2748         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
2749         sigpending, sigprocmask, signal, raise, sigaction): In C++, define a
2750         namespaced alias symbol.
2751         * modules/signal (Depends-on): Add c++defs.
2752         (Makefile.am): Update signal.h rule.
2753
2754         search: Avoid #define replacements in C++ mode.
2755         * lib/search.in.h: Include c++defs.h.
2756         (_gl_search_compar_fn, _gl_search_action_fn): New types.
2757         (tsearch, tfind, tdelete, twalk): In C++, define a namespaced alias
2758         symbol.
2759         * modules/search (Depends-on): Add c++defs.
2760         (Makefile.am): Update search.h rule.
2761
2762         math: Avoid #define replacements in C++ mode.
2763         * lib/math.in.h: Include c++defs.h.
2764         (frexp, acosl, asinl, atanl, ceilf, ceill, cosl, expl, floorf, floorl,
2765         frexpl, ldexpl, logl, roundf, round, roundl, sinl, sqrtl, tanl, truncf,
2766         trunc, truncl): In C++, define a namespaced alias symbol.
2767         * modules/math (Depends-on): Add c++defs.
2768         (Makefile.am): Update math.h rule.
2769
2770         locale: Avoid #define replacements in C++ mode.
2771         * lib/locale.in.h: Include c++defs.h.
2772         (duplocale): In C++, define a namespaced alias symbol.
2773         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize HAVE_DUPLOCALE.
2774         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Set HAVE_DUPLOCALE.
2775         * modules/locale (Depends-on): Add c++defs.
2776         (Makefile.am): Update locale.h rule. Substitute HAVE_DUPLOCALE.
2777
2778         langinfo: Avoid #define replacements in C++ mode.
2779         * lib/langinfo.in.h: Include c++defs.h.
2780         (nl_langinfo): In C++, define a namespaced alias symbol.
2781         * modules/langinfo (Depends-on): Add c++defs.
2782         (Makefile.am): Update langinfo.h rule.
2783
2784         iconv-h: Avoid #define replacements in C++ mode.
2785         * lib/iconv.in.h: Include c++defs.h, warn-on-use.h.
2786         (iconv_open, iconv, iconv_close): In C++, define a namespaced alias
2787         symbol.
2788         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
2789         whenever iconv is present.
2790         * modules/iconv-h (Depends-on): Add c++defs, warn-on-use.
2791         (Makefile.am): Update iconv.h rule.
2792
2793         glob: Avoid #define replacements in C++ mode.
2794         * lib/glob.in.h: Include c++defs.h, warn-on-use.h.
2795         (_gl_glob_errfunc_fn): New type.
2796         (glob, globfree, glob_pattern_p): In C++, define a namespaced alias
2797         symbol.
2798         * modules/glob (Depends-on): Add c++defs, warn-on-use.
2799         (Makefile.am): Update glob.h rule.
2800
2801         fcntl-h: Avoid #define replacements in C++ mode.
2802         * lib/fcntl.in.h: Include c++defs.h.
2803         (fcntl, open, openat): In C++, define a namespaced alias symbol.
2804         * modules/fcntl-h (Depends-on): Add c++defs.
2805         (Makefile.am): Update fcntl.h rule.
2806
2807         dirent: Avoid #define replacements in C++ mode.
2808         * lib/dirent.in.h: Include c++defs.h.
2809         (closedir, fdopendir, opendir, scandir, alphasort): In C++, define a
2810         namespaced alias symbol.
2811         (dirfd): Update declaration.
2812         * modules/dirent (Depends-on): Add c++defs.
2813         (Makefile.am): Update dirent.h rule.
2814
2815         ctype: Make it usable in C++ code.
2816         * lib/ctype.in.h: Include c++defs.h.
2817         (isblank): Declare as extern "C".
2818         * modules/ctype (Depends-on): Add c++defs.
2819         (Makefile.am): Update ctype.h rule.
2820
2821         New module 'c++defs'.
2822         * modules/c++defs: New file.
2823         * build-aux/c++defs.h: New file.
2824         Reported by John W. Eaton <jwe@gnu.org>.
2825
2826 2010-03-07  Bruno Haible  <bruno@clisp.org>
2827
2828         logb: Provide missing declaration for Cygwin.
2829         * lib/math.in.h (logb): New declaration.
2830         * m4/logb.m4: New file.
2831         * modules/logb (Files): Add m4/logb.m4.
2832         (Depends-on): Add math.
2833         (configure.ac): Invoke gl_FUNC_LOGB, gl_MATH_MODULE_INDICATOR.
2834         * m4/math_h.m4 (gl_MATH_H): Check also for logb declaration.
2835         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGB, HAVE_DECL_LOGB.
2836         * modules/math (Makefile.am): Substitute GNULIB_LOGB, HAVE_DECL_LOGB.
2837         * doc/posix-functions/logb.texi: Mention the Cygwin bug.
2838
2839 2010-03-07  Bruno Haible  <bruno@clisp.org>
2840
2841         Fix test-cond link error.
2842         * tests/test-cond.c: Include <stdio.h>.
2843
2844 2010-03-07  Bruno Haible  <bruno@clisp.org>
2845
2846         Fix test-dirent-safer link error.
2847         * modules/dirent-safer-tests (Makefile.am): Define
2848         test_dirent_safer_LDADD.
2849
2850 2010-03-07  Bruno Haible  <bruno@clisp.org>
2851
2852         * gnulib-tool (func_create_testdir): Don't use 'lib-ignore' module
2853         among default module list.
2854
2855 2010-03-07  Bruno Haible  <bruno@clisp.org>
2856
2857         Fix link error on platforms with GNU libiconv.
2858         * modules/unistr/u8-strcoll-tests (Makefile): Define
2859         test_u8_strcoll_LDADD.
2860         * modules/unistr/u16-strcoll-tests (Makefile): Define
2861         test_u16_strcoll_LDADD.
2862         * modules/unistr/u32-strcoll-tests (Makefile): Define
2863         test_u32_strcoll_LDADD.
2864
2865 2010-03-07  Bruno Haible  <bruno@clisp.org>
2866
2867         Use POSIX declarations for socket functions.
2868         * lib/sys_socket.in.h (rpl_connect, rpl_accept, rpl_bind,
2869         rpl_getpeername, rpl_getsockname, rpl_recv, rpl_send, rpl_recvfrom,
2870         rpl_sendto): Change declaration to match POSIX.
2871         * lib/connect.c (rpl_connect): Likewise.
2872         * lib/accept.c (rpl_accept): Likewise.
2873         * lib/bind.c (rpl_bind): Likewise.
2874         * lib/getpeername.c (rpl_getpeername): Likewise.
2875         * lib/getsockname.c (rpl_getsockname): Likewise.
2876         * lib/recv.c (rpl_recv): Likewise.
2877         * lib/send.c (rpl_send): Likewise.
2878         * lib/recvfrom.c (rpl_recvfrom): Likewise.
2879         * lib/sendto.c (rpl_sendto): Likewise.
2880
2881 2010-03-06  Bruno Haible  <bruno@clisp.org>
2882
2883         Clarify access, euidaccess, faccessat.
2884         * doc/posix-functions/faccessat.texi: Mention security problem under
2885         "Other problems", not "Portability problems".
2886         * doc/posix-functions/access.texi: Likewise. Mention a related security
2887         problem.
2888         * doc/glibc-functions/euidaccess.texi: Mention security problems.
2889         * lib/euidaccess.c: Add comments about platforms.
2890         * lib/unistd.in.h (access, euidaccess): Add warnings.
2891
2892 2010-03-07  Bruno Haible  <bruno@clisp.org>
2893
2894         Ensure posix_spawnattr_{get,set}sched{policy,param} are defined.
2895         * lib/spawn.in.h (POSIX_SPAWN_SETSCHEDPARAM): Define fallback.
2896         (POSIX_SPAWN_SETSCHEDULER): Likewise.
2897         (POSIX_SPAWN_USEVFORK): Define in a way that works when
2898         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
2899         (posix_spawnattr_getschedpolicy, posix_spawnattr_setschedpolicy): Also
2900         declare when POSIX_SPAWN_SETSCHEDULER is zero.
2901         (posix_spawnattr_getschedparam, posix_spawnattr_setschedparam): Also
2902         declare when POSIX_SPAWN_SETSCHEDPARAM is zero.
2903         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether
2904         POSIX_SPAWN_SETSCHEDULER or POSIX_SPAWN_SETSCHEDPARAM are zero.
2905         * modules/posix_spawnattr_getschedparam (configure.ac): Enable the
2906         replacement also when POSIX_SPAWN_SETSCHEDPARAM is zero.
2907         * modules/posix_spawnattr_setschedparam (configure.ac): Likewise.
2908         * modules/posix_spawnattr_getschedpolicy (configure.ac): Enable the
2909         replacement also when POSIX_SPAWN_SETSCHEDULER is zero.
2910         * modules/posix_spawnattr_setschedpolicy (configure.ac): Likewise.
2911         * lib/spawnattr_getschedparam.c (posix_spawnattr_getschedparam): Do
2912         nothing if POSIX_SPAWN_SETSCHEDPARAM is zero.
2913         * lib/spawnattr_setschedparam.c (posix_spawnattr_setschedparam):
2914         Likewise.
2915         * lib/spawnattr_getschedpolicy.c (posix_spawnattr_getschedpolicy): Do
2916         nothing if POSIX_SPAWN_SETSCHEDULER is zero.
2917         * lib/spawnattr_setschedpolicy.c (posix_spawnattr_setschedpolicy):
2918         Likewise.
2919         * tests/test-spawn.c (main): Make it work when
2920         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
2921
2922 2010-03-07  Bruno Haible  <bruno@clisp.org>
2923
2924         Fix incorrect Makefile.am generation in German locale.
2925         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
2926         Execute sed command with character range in C locale.
2927
2928 2010-03-06  Bruno Haible  <bruno@clisp.org>
2929
2930         Tests for module 'iconv-h'.
2931         * modules/iconv-h-tests: New file.
2932         * tests/test-iconv-h.c: New file.
2933
2934         New module 'iconv-h'.
2935         * modules/iconv-h: New file.
2936         * modules/iconv_open (Files): Remove lib/iconv.in.h, m4/iconv_h.m4.
2937         (Depends-on): Add iconv-h. Remove include_next, arg-nonnull.
2938         (configure.ac): Remove gl_ICONV_H.
2939         (Makefile.am): Remove rule for iconv.h.
2940
2941 2010-03-06  Bruno Haible  <bruno@clisp.org>
2942
2943         More consistent naming of *.m4 files.
2944         * m4/wctype_h.m4: Renamed from m4/wctype.m4.
2945         * modules/wctype (Files): Update.
2946
2947         More consistent naming of *.m4 files.
2948         * m4/wchar_h.m4: Renamed from m4/wchar.m4.
2949         * modules/wchar (Files): Update.
2950
2951 2010-03-06  Jim Meyering  <meyering@redhat.com>
2952
2953         euidaccess: relax license to LGPLv2+
2954         * modules/euidaccess (License): Relax to LGPLv2+.
2955
2956 2010-03-06  Bruno Haible  <bruno@clisp.org>
2957
2958         Prefer lib_SOURCES over unconditional AC_LIBOBJ.
2959         * modules/exitfail (configure.ac): Remove AC_LIBOBJ invocation.
2960         (Makefile.am): Augment lib_SOURCES instead.
2961
2962 2010-03-04  Jim Meyering  <meyering@redhat.com>
2963
2964         utime: remove obsolete module
2965         This module, like autoconf's AC_FUNC_UTIME_NULL macro, has been
2966         unnecessary for years, and has been marked as obsolete for 10 months.
2967         * modules/utime: Remove file.
2968         * lib/utime.c: Remove file.
2969         * m4/utime.m4: Remove file.
2970         * m4/utimes-null.m4: Remove file.
2971         * doc/posix-functions/utime.texi (utime): Remove reference to
2972         the module.  Move the sole "fixed by gnulib" item into the
2973         "problems not fixed by Gnulib" list.
2974         * MODULES.html.sh (func_all_modules): Remove reference to "utime".
2975
2976 2010-03-05  Simon Josefsson  <simon@josefsson.org>
2977
2978         * modules/exit (License): Relax license to LGPLv2+.
2979         (Status): Mark as obsolete.
2980         * NEWS: Mention deprecated 'exit' module.
2981         * doc/posix-functions/exit.texi: Recommend 'stdlib' module instead
2982         of now obsolete 'exit'.
2983
2984 2010-03-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2985
2986         fts-lgpl: remove unused module
2987         * modules/fts-lgpl: Remove.
2988         * MODULES.html.sh (func_all_modules): Adjust.
2989         * check-module (find_included_lib_files): Adjust.
2990         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove.
2991
2992 2010-03-02  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
2993
2994         copy-acl: enhance Solaris ACL error handling
2995         * lib/copy-acl.c (qcopy_acl): Also ignore EOPNOTSUPP.
2996         * lib/set-mode-acl.c (qset_acl): Likewise.
2997
2998 2010-03-02  Bruno Haible  <bruno@clisp.org>
2999
3000         spawn: Don't override the system defined values on FreeBSD 8.
3001         * lib/spawn.in.h (POSIX_SPAWN_RESETIDS, POSIX_SPAWN_SETPGROUP,
3002         POSIX_SPAWN_SETSIGDEF, POSIX_SPAWN_SETSIGMASK,
3003         POSIX_SPAWN_SETSCHEDPARAM, POSIX_SPAWN_SETSCHEDULER): Don't redefine
3004         if HAVE_POSIX_SPAWN is 1.
3005         Reported by Johan van Selst <johans@stack.nl> via Eric Blake.
3006
3007 2010-03-01  Bruno Haible  <bruno@clisp.org>
3008
3009         * doc/gnulib-tool.texi (Initial import): Clarify the requirements
3010         regarding Automake.
3011
3012 2010-02-25  Bruno Haible  <bruno@clisp.org>
3013
3014         Fix breakage of gnulib-tool with ksh, introduced on 2010-02-21.
3015         * gnulib-tool: Define 'echo' as a function only before the ksh alias
3016         setting, not afterwards.
3017         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
3018
3019 2010-02-24  Eric Blake  <eblake@redhat.com>
3020
3021         bootstrap, git-version-gen: use timestamp
3022         * build-aux/git-version-gen (scriptversion): Force UTC.
3023         * build-aux/bootstrap (scriptversion): New variable.
3024
3025         bootstrap: allow older git
3026         * build-aux/bootstrap (GNULIB_SRCDIR): Add fallback if git is
3027         older than 1.6.4.  Requested by the libvirt project.
3028
3029 2010-02-23  Eric Blake  <eblake@redhat.com>
3030
3031         warn-on-use: work with old autoconf
3032         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Accomodate older
3033         AS_VAR semantics of autoconf 2.60.
3034         Reported by Bruno Haible.
3035
3036         bootstrap: improve some comments
3037         * build-aux/bootstrap: Drop unneeded emacs hint.  Add some
3038         clarification comments.
3039
3040         gettimeofday: provide correct function
3041         * lib/gettimeofday.c (gettimeofday): Provide rpl_gettimeofday only
3042         when replacement is declared, otherwise provide gettimeofday.
3043         Reported by Michael Goffioul.
3044
3045 2010-02-23  Jim Meyering  <meyering@redhat.com>
3046
3047         lib-ignore: relax license to "unlimited", not LGPLv2+
3048         * modules/lib-ignore (License): Relax to "unlimited".
3049
3050 2010-02-23  Jim Meyering  <meyering@redhat.com>
3051
3052         lib-ignore: relax license to LGPLv2+
3053         * modules/lib-ignore (License): Relax to LGPLv2+.
3054
3055 2010-02-22  Eric Blake  <eblake@redhat.com>
3056
3057         lseek: avoid bash 3.2 broken pipe bug
3058         * m4/lseek.m4 (gl_FUNC_LSEEK): Drain pipe, to avoid spurious
3059         warning from bash 3.2.
3060         Reported by Ben Pfaff, with analysis from Bruno Haible.
3061
3062         bootstrap: support non-FSF copyright holder
3063         * build-aux/bootstrap (COPYRIGHT_HOLDER, with_gettext): Allow
3064         bootstrap.conf override of COPYRIGHT_HOLDER.
3065         (MSGID_BUGS_ADDRESS): Allow URL rather than email.
3066
3067         bootstrap: interoperate with gettext 0.14.1
3068         * build-aux/bootstrap (slurp): Fix typo when using older gettext.
3069
3070         bootstrap: allow for alternate submodule location
3071         * build-aux/bootstrap (gnulib_path): New variable; use instead of
3072         hardcoding submodule location.
3073         (gnulib_mk): Allow direct use of Makefile.am.
3074
3075         bootstrap: use GNULIB_SRCDIR to reduce disk usage
3076         * build-aux/bootstrap (GNULIB_SRCDIR): If set, use as a reference,
3077         rather than reconfiguring where the submodule points.
3078
3079         gettimeofday: restore support for platforms that lack function
3080         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Also compile
3081         replacement if function is missing.
3082         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): New witness.
3083         * modules/sys_time (Makefile.am): Substitute it.
3084         * lib/sys_time.in.h (gettimeofday): Check it.
3085         Reported by Michael Goffioul.
3086
3087 2010-02-21  Bruno Haible  <bruno@clisp.org>
3088
3089         * lib/stdio.in.h (obstack_printf): Fix typo.
3090
3091 2010-02-21  Jose E. Marchesi  <jemarch@gnu.org>
3092
3093         vc-list-files: use bzr ls's -R option
3094         * build-aux/vc-list-files: Invoke bazaar to generate a recursive
3095         list of versioned files based on 'dir' (usage of -R in 'bzr ls').
3096
3097 2010-02-21  Jim Meyering  <meyering@redhat.com>
3098
3099         init.sh: fix EXEEXT shims to work also for names like test-prog
3100         * tests/init.sh: Re-exec a better shell, when needed.
3101         If the current shell lacks support for posix $(...), an init.sh-using
3102         test will now try to find a shell that supports that.  If EXEEXT is
3103         nonempty, we also require support for hyphen-in-alias-name and shell
3104         substitutions like ${var#glob}.  Failure to find such a shell results
3105         in a skipped test.
3106
3107 2010-02-21  Bruno Haible  <bruno@clisp.org>
3108
3109         Really work around around "broken pipe" error message from bash 3.2.
3110         * gnulib-tool (func_reset_sigpipe): Remove function.
3111         (echo): In bash 3.2, define to a function that uses printf.
3112         Analyzed by Ralf Wildenhues, Chet Ramey, Ben Pfaff.
3113
3114 2010-02-20  Bruno Haible  <bruno@clisp.org>
3115
3116         Restore support for automake 1.9.6 with autoconf 2.61.
3117         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Ensure MKDIR_P is AC_SUBSTed.
3118         Reported by James Youngman <jay@gnu.org>.
3119
3120 2010-02-20  Bruno Haible  <bruno@clisp.org>
3121
3122         Improve *printf warning condition.
3123         * lib/stdio.in.h (fprintf, printf, vfprintf, vprintf): Emit warning
3124         also if GNULIB_POSIXCHECK is defined, the *-posix module is not used,
3125         and the function is overridden due to SIGPIPE emulation.
3126
3127 2010-02-20  Bruno Haible  <bruno@clisp.org>
3128
3129         * lib/stdio.in.h: Tweak comments.
3130
3131 2010-02-19  Bruno Haible  <bruno@clisp.org>
3132
3133         Make it easier to find modules. New gnulib-tool option '--find'.
3134         * gnulib-tool: New option --find.
3135         (func_usage): Document it.
3136         (func_sanitize_modulelist): New function, extracted from
3137         func_all_modules.
3138         (func_all_modules): Invoke it.
3139         * doc/gnulib-tool.texi (Which modules?): New node.
3140
3141 2010-02-18  Markus Duft <mduft@gentoo.org>  (tiny change)
3142
3143         * lib/sys_select.in.h: Provide select replacement even if
3144         sys/select.h exists on a system, for Interix.
3145
3146 2010-02-18  Jim Meyering  <meyering@redhat.com>
3147
3148         init.sh: don't use $(...) just yet
3149         * tests/init.sh (create_exe_shim_functions_): Use `...`, not $(...),
3150         to accommodate e.g., Solaris' /bin/sh.
3151
3152 2010-02-17  Bruno Haible  <bruno@clisp.org>
3153
3154         * doc/posix-headers/netdb.texi: Mention NetBSD 5.0 problem.
3155         Reported by Ludovic Courtès <ludo@gnu.org>.
3156
3157 2010-02-16  Simon Josefsson  <simon@josefsson.org>
3158
3159         * modules/userspec-tests (test_userspec_LDADD): Add variable, for
3160         linking with -lintl.
3161
3162 2010-02-17  Simon Josefsson  <simon@josefsson.org>
3163
3164         * lib/netdb.in.h (AI_V4MAPPED, AI_ALL, AI_ADDRCONFIG): Define to 0
3165         if not provided by the system's netdb.h.  Reported by
3166         ludo@gnu.org (Ludovic Courtès).
3167
3168 2010-02-15  Jim Meyering  <meyering@redhat.com>
3169
3170         init.sh: improve portability and efficiency
3171         * tests/init.sh (find_exe_basenames_): Remove unnecessary use of
3172         "dummy" in a for loop.
3173         Use '!', not '^' to select the complement of a character set used
3174         in a "case" statement.
3175         Use shell variable manipulation, a la ${...%.exe}, rather than sed.
3176         Suggestions from Eric Blake.
3177
3178         init.sh: automatically accommodate programs with the .exe suffix
3179         Automatically arrange for an invocation of "prog" to execute the
3180         program named "prog$EXEEXT" (usually prog.exe).  Thus, all invocations
3181         may use the simpler "prog", yet still work when built on a system
3182         that requires specifying the added suffix.
3183         Do this by constructing a function named "prog" that invokes
3184         "prog.exe" for each .exe file in selected directories.
3185         * tests/init.sh (find_exe_basenames_): New function.
3186         (create_exe_shim_functions_): New function.
3187         (path_prepend_): Use it.
3188
3189         maint.mk: mark syntax-check sc_*.m rules as .PHONY
3190         * top/maint.mk ($(syntax-check-rules)): Add .PHONY, so that
3191         "make -t syntax-check" doesn't create a ton of sc_*.m files.
3192
3193 2010-02-14  Jim Meyering  <meyering@redhat.com>
3194
3195         maint.mk: prohibit inclusion of "hash-pjw.h" without_use
3196         * top/maint.mk (sc_prohibit_hash_without_use): Re-add "@".
3197         (sc_prohibit_hash_pjw_without_use): New rule.
3198
3199         maint.mk: allow the default upload destination dir to be overridden
3200         * top/maint.mk (upload_dest_dir_): Define with a default that
3201         preserves the status quo.
3202         (emit_upload_commands): Use it, rather than hard-coding $(PACKAGE).
3203         Reported by Peter Simons.
3204
3205         maint.mk: prohibit inclusion of "hash.h" without_use
3206         * top/maint.mk (sc_prohibit_hash_without_use): New rule.
3207
3208 2010-02-10  Jim Meyering  <meyering@redhat.com>
3209
3210         maint.mk: prohibit inclusion of "ignore-value.h" without_use
3211         * top/maint.mk (sc_prohibit_ignore_value_without_use): New rule.
3212
3213 2010-02-09  Eric Blake  <ebb9@byu.net>
3214         and Bruno Haible  <bruno@clisp.org>
3215
3216         obstack-printf-posix: ensure declaration
3217         * m4/obstack-printf.m4 (gl_DECL_OBSTACK_PRINTF): New macro,
3218         extracted from gl_FUNC_OBSTACK_PRINTF.
3219         (gl_FUNC_OBSTACK_PRINTF): Invoke it.
3220         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
3221         Likewise.
3222         * lib/stdio.in.h (obstack_printf, obstack_vprintf): Declare also
3223         if GNULIB_OBSTACK_PRINTF_POSIX is 1 and GNULIB_OBSTACK_PRINTF is
3224         0.
3225
3226 2010-02-08  Bruno Haible  <bruno@clisp.org>
3227
3228         gnulib-tool: Fix typo in 2010-02-07 commit.
3229         * gnulib-tool (func_get_dependencies): Fix typo in last commit.
3230         Reported by Eric Blake.
3231
3232 2010-02-07  Bruno Haible  <bruno@clisp.org>
3233
3234         gnulib-tool: Fix up caching patches.
3235         * gnulib-tool: New options --cache-modules, --no-cache-modules. Remove
3236         option --no-cache. Use associative arrays when supported by the shell.
3237         (sed_comments): New variable.
3238         (modcache): Renamed from do_cache.
3239         (sed_extract_field_header): Renamed from sed_extract_cache_prog. Don't
3240         abbreviate unnecessarily.
3241         (have_associative): New variable.
3242         (func_cache_var): Define correctly for bash 1.x. Define in an optimized
3243         way also for ksh and zsh.
3244         (func_init_sed_convert_to_cache_statements): New function, extracted
3245         from func_cache_lookup_module. Add support for associative arrays.
3246         Don't set the c_MODULE_cached variable here. Ignore all lines before
3247         the first field header. Remove only the final newline, not all trailing
3248         newlines. Support empty fields correctly. Limit the use of 'eval' to
3249         assignments.
3250         (func_get_description, func_get_status, func_get_notice,
3251         func_get_applicability, func_get_filelist, func_get_dependencies,
3252         func_get_autoconf_early_snippet, func_get_autoconf_snippet,
3253         func_get_automake_snippet, func_get_include_directive,
3254         func_get_link_directive, func_get_license, func_get_maintainer):
3255         Update documentation. List the unoptimized code first. Add support for
3256         associative arrays. Limit the use of 'eval' to assignments.
3257         (func_get_applicability): Undo stylistic pessimisations.
3258         (func_get_automake_snippet, func_get_include_directive): Reduce code
3259         duplication.
3260         (func_modules_transitive_closure, func_modules_add_dummy,
3261         func_modules_notice, func_modules_to_filelist, func_add_file,
3262         func_update_file, func_emit_lib_Makefile_am, func_emit_po_Makevars,
3263         func_emit_po_POTFILES_in, func_emit_tests_Makefile_am, func_import,
3264         func_create_testdir, func_create_megatestdir): Update documentation.
3265
3266 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3267
3268         * gnulib-tool (func_cache_lookup_module): Store the module name
3269         belonging to the cache variable; error out if two different
3270         module names map to the same cache variable name.
3271
3272 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3273
3274         gnulib-tool: Make caching optional.
3275         * gnulib-tool: Accept option --no-cache, turning off $do_cache.
3276         Update matching short versions of --no-changelog.
3277         (func_usage): Update.
3278         (sed_extract_cache_prog): Renamed from ...
3279         (sed_extract_prog): ... this; revert to old extraction script.
3280         (func_get_description, func_get_status)
3281         (func_get_notice, func_get_applicability, func_get_filelist)
3282         (func_get_dependencies, func_get_autoconf_early_snippet)
3283         (func_get_autoconf_snippet, func_get_automake_snippet)
3284         (func_get_include_directive, func_get_link_directive)
3285         (func_get_license, func_get_maintainer): If $do_cache is false,
3286         use old, non-caching extraction scripts.
3287         Suggestion by Bruno Haible.
3288
3289 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3290
3291         gnulib-tool: cache module metainformation.
3292         * gnulib-tool (sed_extract_prog): Match newline before each
3293         header, and rewrite header to a shell variable suffix.
3294         (func_cache_var, func_cache_lookup_module): New functions,
3295         to turn a module name into a cache variable prefix, and to
3296         look up and cache module metainformation.
3297         (func_get_description, func_get_status)
3298         (func_get_notice, func_get_applicability, func_get_filelist)
3299         (func_get_dependencies, func_get_autoconf_early_snippet)
3300         (func_get_autoconf_snippet, func_get_automake_snippet)
3301         (func_get_include_directive, func_get_link_directive)
3302         (func_get_license, func_get_maintainer): Use
3303         func_cache_lookup_module.
3304
3305 2010-02-07  Bruno Haible  <bruno@clisp.org>
3306
3307         fnctl: Fix missing dependency.
3308         * modules/fcntl (Depends-on): Add getdtablesize.
3309         Reported by John W. Eaton <jwe@gnu.org>.
3310
3311 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
3312
3313         Argp: fix recognition of short alias options.
3314
3315         * lib/argp-parse.c (convert_options): Fix improper use of
3316         `|' between character values.
3317         * tests/test-argp.c (group1_option): New alias option
3318         --read (-r).
3319         (group1_parser): Special handling for 'r'.
3320         (test15): New test case.
3321         (test_fun): Add test15.
3322         * tests/test-argp-2.sh: Update expected --help and --usage
3323         outputs.
3324
3325 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
3326
3327         * tests/test-argp.c: Fix indentation.
3328
3329 2010-02-04  Eric Blake  <ebb9@byu.net>
3330
3331         gettimeofday: expose type of second argument
3332         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Do better detection
3333         of glibc extension signature, and define GETTIMEOFDAY_TIMEZONE.
3334         * tests/test-gettimeofday.c: Use it to silence warning.
3335         * doc/posix-functions/gettimeofday.texi (gettimeofday): Document
3336         the issue.
3337
3338 2010-02-03  Jim Meyering  <meyering@redhat.com>
3339
3340         regcomp.c: avoid the sole warning from gcc's -Wtype-limits
3341         * lib/regcomp.c (TYPE_SIGNED): Define.
3342         (parse_dup_op): Use it to avoid the sole warning from -Wtype-limits.
3343
3344         regcomp.c: avoid a new -Wshadow warning
3345         * lib/regcomp.c (create_initial_state): Do not shadow local "err".
3346
3347 2010-02-01  Jim Meyering  <meyering@redhat.com>
3348
3349         removing useless parentheses in cpp #define directives
3350         For motivation, see commit c0221df4, "define STREQ(a,b)
3351         consistently, removing useless parentheses"
3352         * lib/memcmp.c (CMP_LT_OR_GT): Remove useless parentheses.
3353         * lib/mountlist.c (MNT_IGNORE): Likewise.
3354         * lib/trim.h (trim, trim_trailing, trim_leading): Likewise.
3355
3356 2010-02-01  Eric Blake  <ebb9@byu.net>
3357
3358         sys_time: use link-warning
3359         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Split defaults...
3360         (gl_HEADER_SYS_TIME_H_DEFAULTS): ...into new macro.
3361         (gl_SYS_TIME_MODULE_INDICATOR): New macro.
3362         * modules/sys_time (Depends-on): Add warn-on-use.
3363         (Makefile.am): Always build replacement.
3364         (configure.ac): Update substitutions.
3365         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY)
3366         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Include defaults, and no longer
3367         bother with SYS_TIME_H.
3368         * modules/gettimeofday (configure.ac): Declare indicator.
3369         * lib/sys_time.in.h (gettimeofday): Warn if gnulib module is not
3370         in use.
3371
3372         closein-tests: silence compiler warning
3373         * tests/test-closein.c (main): Ignore fread result.
3374         * modules/closein-tests (Depends-on): Add ignore-value.
3375
3376         tests: silence warning about system return
3377         * tests/test-areadlink-with-size.c (main): Ignore system result.
3378         * tests/test-areadlink.c (main): Likewise.
3379         * tests/test-areadlinkat-with-size.c (main): Likewise.
3380         * tests/test-areadlinkat.c (main): Likewise.
3381         * tests/test-canonicalize-lgpl.c (main): Likewise.
3382         * tests/test-canonicalize.c (main): Likewise.
3383         * tests/test-chown.c (main): Likewise.
3384         * tests/test-fchownat.c (main): Likewise.
3385         * tests/test-fdutimensat.c (main): Likewise.
3386         * tests/test-fstatat.c (main): Likewise.
3387         * tests/test-futimens.c (main): Likewise.
3388         * tests/test-lchown.c (main): Likewise.
3389         * tests/test-link.c (main): Likewise.
3390         * tests/test-linkat.c (main): Likewise.
3391         * tests/test-lstat.c (main): Likewise.
3392         * tests/test-mkdir.c (main): Likewise.
3393         * tests/test-mkdirat.c (main): Likewise.
3394         * tests/test-mkfifo.c (main): Likewise.
3395         * tests/test-mkfifoat.c (main): Likewise.
3396         * tests/test-mknod.c (main): Likewise.
3397         * tests/test-readlink.c (main): Likewise.
3398         * tests/test-remove.c (main): Likewise.
3399         * tests/test-rename.c (main): Likewise.
3400         * tests/test-renameat.c (main): Likewise.
3401         * tests/test-rmdir.c (main): Likewise.
3402         * tests/test-symlink.c (main): Likewise.
3403         * tests/test-symlinkat.c (main): Likewise.
3404         * tests/test-unlink.c (main): Likewise.
3405         * tests/test-unlinkat.c (main): Likewise.
3406         * tests/test-utimens.c (main): Likewise.
3407         * tests/test-utimensat.c (main): Likewise.
3408         * modules/areadlink-tests (Depends-on): Add ignore-value.
3409         * modules/areadlink-with-size-tests (Depends-on): Likewise.
3410         * modules/areadlinkat-tests (Depends-on): Likewise.
3411         * modules/areadlinkat-with-size-tests (Depends-on): Likewise.
3412         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
3413         * modules/canonicalize-tests (Depends-on): Likewise.
3414         * modules/chown-tests (Depends-on): Likewise.
3415         * modules/fdutimensat-tests (Depends-on): Likewise.
3416         * modules/futimens-tests (Depends-on): Likewise.
3417         * modules/lchown-tests (Depends-on): Likewise.
3418         * modules/link-tests (Depends-on): Likewise.
3419         * modules/linkat-tests (Depends-on): Likewise.
3420         * modules/lstat-tests (Depends-on): Likewise.
3421         * modules/mkdir-tests (Depends-on): Likewise.
3422         * modules/mkfifo-tests (Depends-on): Likewise.
3423         * modules/mkfifoat-tests (Depends-on): Likewise.
3424         * modules/mknod-tests (Depends-on): Likewise.
3425         * modules/openat-tests (Depends-on): Likewise.
3426         * modules/readlink-tests (Depends-on): Likewise.
3427         * modules/remove-tests (Depends-on): Likewise.
3428         * modules/rename-tests (Depends-on): Likewise.
3429         * modules/renameat-tests (Depends-on): Likewise.
3430         * modules/rmdir-tests (Depends-on): Likewise.
3431         * modules/symlink-tests (Depends-on): Likewise.
3432         * modules/symlinkat-tests (Depends-on): Likewise.
3433         * modules/unlink-tests (Depends-on): Likewise.
3434         * modules/utimens-tests (Depends-on): Likewise.
3435         * modules/utimensat-tests (Depends-on): Likewise.
3436
3437 2010-01-31  Bruno Haible  <bruno@clisp.org>
3438
3439         Perform the same test for many <math.h> functions.
3440         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC,
3441         gl_COMMON_DOUBLE_MATHFUNC_TEST): New macros.
3442         * m4/sqrt.m4 (gl_FUNC_SQRT): Invoke gl_COMMON_DOUBLE_MATHFUNC instead
3443         of gl_MATHFUNC.
3444         * modules/acos (configure.ac): Likewise.
3445         * modules/asin (configure.ac): Likewise.
3446         * modules/atan (configure.ac): Likewise.
3447         * modules/atan2 (configure.ac): Likewise.
3448         * modules/cbrt (configure.ac): Likewise.
3449         * modules/copysign (configure.ac): Likewise.
3450         * modules/cos (configure.ac): Likewise.
3451         * modules/cosh (configure.ac): Likewise.
3452         * modules/erf (configure.ac): Likewise.
3453         * modules/erfc (configure.ac): Likewise.
3454         * modules/exp (configure.ac): Likewise.
3455         * modules/fmod (configure.ac): Likewise.
3456         * modules/hypot (configure.ac): Likewise.
3457         * modules/j0 (configure.ac): Likewise.
3458         * modules/j1 (configure.ac): Likewise.
3459         * modules/jn (configure.ac): Likewise.
3460         * modules/lgamma (configure.ac): Likewise.
3461         * modules/log (configure.ac): Likewise.
3462         * modules/log10 (configure.ac): Likewise.
3463         * modules/log1p (configure.ac): Likewise.
3464         * modules/pow (configure.ac): Likewise.
3465         * modules/remainder (configure.ac): Likewise.
3466         * modules/sin (configure.ac): Likewise.
3467         * modules/sinh (configure.ac): Likewise.
3468         * modules/tan (configure.ac): Likewise.
3469         * modules/tanh (configure.ac): Likewise.
3470         * modules/y0 (configure.ac): Likewise.
3471         * modules/y1 (configure.ac): Likewise.
3472         * modules/yn (configure.ac): Likewise.
3473         Suggested by Paolo Bonzini.
3474
3475 2010-01-31  Bruno Haible  <bruno@clisp.org>
3476
3477         * m4/getline.m4 (gl_FUNC_GETLINE): Add comment about REPLACE_GETLINE.
3478
3479 2010-01-31  Bruno Haible  <bruno@clisp.org>
3480
3481         Work around getdelim() bug on FreeBSD 8.0.
3482         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Test whether getdelim supports an
3483         initially NULL line. Set REPLACE_GETDELIM if getdelim exists but does
3484         not work.
3485         * lib/stdio.in.h (getdelim): Define as an alias if REPLACE_GETDELIM
3486         is 1.
3487         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize REPLACE_GETDELIM.
3488         * modules/stdio (Makefile.am): Also substitute REPLACE_GETDELIM.
3489         * tests/test-getdelim.c (main): Also test result for a NULL buffer and
3490         a non-zero size.
3491         * doc/posix-functions/getdelim.texi: Mention the FreeBSD bug.
3492
3493 2010-01-31  Bruno Haible  <bruno@clisp.org>
3494
3495         Work around getline() bug on FreeBSD 8.0.
3496         * m4/getline.m4 (gl_FUNC_GETLINE): Also test result for a NULL buffer
3497         and a non-zero size.
3498         * tests/test-getline.c (main): Likewise.
3499         * doc/posix-functions/getline.texi: Mention the FreeBSD bug.
3500         Reported by Dennis <noordsij@cs.helsinki.fi> via Eric Blake.
3501
3502 2010-01-28  Eric Blake  <ebb9@byu.net>
3503
3504         regex: fix build failure
3505         * lib/regex_internal.h (__GNUC_PREREQ): Define for non-glibc
3506         platforms.
3507
3508 2010-01-28  Jim Meyering  <meyering@redhat.com>
3509
3510         regex: do not ignore memory allocation failure
3511         * lib/regex_internal.c (create_cd_newstate): Detect
3512         re_node_set_init_copy failure.   Extracted from glibc commit
3513         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
3514
3515         regex: sync more white-space changes from libc
3516         * lib/regex_internal.c: White-space only changes.
3517         * lib/regexec.c: Likewise.
3518
3519         regex: add many uses of __attribute_warn_unused_result__
3520         * lib/regex_internal.c: Use __attribute_warn_unused_result__.
3521         * lib/regexec.c: Likewise.
3522         Extracted from a messy glibc commit.
3523
3524         regcomp.c: spelling and merge-artifact from glibc
3525         * lib/regcomp.c: Merge remainder of glibc's
3526         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
3527
3528         regcomp.c: sync white-space changes from glibc
3529         * lib/regcomp.c: Merge to accommodate white space
3530         changes from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
3531
3532         regcomp.c: do not ignore internal return values
3533         * lib/regcomp.c: Do not ignore internal return values.
3534         This is from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c,
3535         but without its white-space changes and spelling fixes.
3536
3537         regex_internal.h: define __attribute_warn_unused_result__
3538         * lib/regex_internal.h (__attribute_warn_unused_result__): Define.
3539
3540         maint: add a syntax-check rule to check for vulnerable Makefile.in
3541         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): New rule.
3542
3543 2010-01-27  Jim Meyering  <meyering@redhat.com>
3544
3545         ncftpput-ftp: clean up spaces
3546         * build-aux/ncftpput-ftp: Make Copyright line consistent.
3547         Remove trailing blanks.
3548
3549 2010-01-27  Simon Josefsson  <simon@josefsson.org>
3550
3551         * build-aux/git-version-gen: Fix copyright statement.
3552         * build-aux/gnupload: Likewise.
3553         * tests/test-arcfour.c: Likewise.
3554         * tests/test-arctwo.c: Likewise.
3555         * tests/test-count-one-bits.c: Likewise.
3556         * tests/test-crc.c: Likewise.
3557         * tests/test-des.c: Likewise.
3558         * tests/test-gc-arcfour.c: Likewise.
3559         * tests/test-gc-arctwo.c: Likewise.
3560         * tests/test-gc-des.c: Likewise.
3561         * tests/test-gc-hmac-md5.c: Likewise.
3562         * tests/test-gc-hmac-sha1.c: Likewise.
3563         * tests/test-gc-md2.c: Likewise.
3564         * tests/test-gc-md4.c: Likewise.
3565         * tests/test-gc-md5.c: Likewise.
3566         * tests/test-gc-pbkdf2-sha1.c: Likewise.
3567         * tests/test-gc-rijndael.c: Likewise.
3568         * tests/test-gc-sha1.c: Likewise.
3569         * tests/test-gc.c: Likewise.
3570         * tests/test-gethostname.c: Likewise.
3571         * tests/test-gettimeofday.c: Likewise.
3572         * tests/test-hash.c: Likewise.
3573         * tests/test-hmac-md5.c: Likewise.
3574         * tests/test-hmac-sha1.c: Likewise.
3575         * tests/test-md2.c: Likewise.
3576         * tests/test-md4.c: Likewise.
3577         * tests/test-md5.c: Likewise.
3578         * tests/test-memchr.c: Likewise.
3579         * tests/test-memchr2.c: Likewise.
3580         * tests/test-memcmp.c: Likewise.
3581         * tests/test-memmem.c: Likewise.
3582         * tests/test-memrchr.c: Likewise.
3583         * tests/test-rawmemchr.c: Likewise.
3584         * tests/test-read-file.c: Likewise.
3585         * tests/test-rijndael.c: Likewise.
3586         * tests/test-sockets.c: Likewise.
3587         * tests/test-strchrnul.c: Likewise.
3588         * tests/test-strstr.c: Likewise.
3589         * tests/test-strtod.c: Likewise.
3590         * build-aux/ncftpput-ftp: Likewise.
3591
3592 2010-01-26  Eric Blake  <ebb9@byu.net>
3593
3594         ignore-value: update recommended header name
3595         * modules/ignore-value (Include): Only use <> for headers that
3596         exist in glibc.
3597
3598 2010-01-26  Jim Meyering  <meyering@redhat.com>
3599
3600         test-userspec.c: avoid compiler warnings
3601         * tests/test-userspec.c (main): Avoid shadowing ("uid"),
3602         and "initialization discards qualifiers..." warnings.
3603         Put the first "uid" in its own scope, and make char* members "const".
3604
3605 2010-01-25  Bruno Haible  <bruno@clisp.org>
3606
3607         gnulib-tool: Make warning diagnostics consistent.
3608         * gnulib-tool (func_warning): New function.
3609         Use it everywhere where gnulib-tool produces output to stderr and it is
3610         not a fatal error.
3611
3612 2010-01-25  Bruno Haible  <bruno@clisp.org>
3613
3614         Fix test dependencies.
3615         * modules/xstrtol-tests (Depends-on): Add inttypes.
3616         * modules/xstrtoll-tests (Depends-on): Likewise. Remove xstrtoll.
3617
3618 2010-01-25 Pádraig Brady <P@draigBrady.com>
3619
3620         syntax-check: detect incorrect boolean macro values in config.h
3621         * modules/maintainer-makefile (configure.ac): Parameterize the location
3622         of config.h which will be available to makefiles as $(CONFIG_INCLUDE).
3623         The logic is from Eric Blake and the location indicated by Jim Meyering.
3624         Note the more natural CONFIG_HEADER name is prohibited by automake
3625         for backwards compatibility reasons.
3626         * top/maint.mk (sc_Wundef_boolean): New rule.
3627
3628 2010-01-25  Jim Meyering  <meyering@redhat.com>
3629
3630         bootstrap: detect MacOS 10.6's shasum, too
3631         * build-aux/bootstrap: Also recognize MacOS 10.6's shasum.
3632         Suggested by Thomas Treichl <Thomas.Treichl@gmx.net>.
3633
3634 2010-01-23  Jim Meyering  <meyering@redhat.com>
3635
3636         xstrtoll: new module
3637         * modules/xstrtoll: New file.
3638         * MODULES.html.sh (Numeric conversion functions): Add xstrtoll.
3639         * lib/xstrtol.h [HAVE_LONG_LONG_INT]: Declare xstrtoll and xstrtoull.
3640         * lib/xstrtoll.c, lib/xstrtoull.c: New files.
3641         ./configure fails if you use this module and lack "long long".
3642         * modules/xstrtoll-tests: New module.
3643         * tests/test-xstrtoll.c, tests/test-xstrtoull.c: New files.
3644         * tests/test-xstrtoll.sh: Like test-xstrtol.c, but use the
3645         new init.sh-based test framework.
3646
3647 2010-01-24  Bruno Haible  <bruno@clisp.org>
3648
3649         Tests for module 'yn'.
3650         * modules/yn-tests: New file.
3651         * tests/test-yn.c: New file.
3652
3653         Tests for module 'y1'.
3654         * modules/y1-tests: New file.
3655         * tests/test-y1.c: New file.
3656
3657         Tests for module 'y0'.
3658         * modules/y0-tests: New file.
3659         * tests/test-y0.c: New file.
3660
3661         Tests for module 'tanh'.
3662         * modules/tanh-tests: New file.
3663         * tests/test-tanh.c: New file.
3664
3665         Tests for module 'tan'.
3666         * modules/tan-tests: New file.
3667         * tests/test-tan.c: New file.
3668
3669         Tests for module 'sqrt'.
3670         * modules/sqrt-tests: New file.
3671         * tests/test-sqrt.c: New file.
3672
3673         Tests for module 'sinh'.
3674         * modules/sinh-tests: New file.
3675         * tests/test-sinh.c: New file.
3676
3677         Tests for module 'sin'.
3678         * modules/sin-tests: New file.
3679         * tests/test-sin.c: New file.
3680
3681         Tests for module 'rint'.
3682         * modules/rint-tests: New file.
3683         * tests/test-rint.c: New file.
3684
3685         Tests for module 'remainder'.
3686         * modules/remainder-tests: New file.
3687         * tests/test-remainder.c: New file.
3688
3689         Tests for module 'pow'.
3690         * modules/pow-tests: New file.
3691         * tests/test-pow.c: New file.
3692
3693         Tests for module 'nextafter'.
3694         * modules/nextafter-tests: New file.
3695         * tests/test-nextafter.c: New file.
3696
3697         Tests for module 'modf'.
3698         * modules/modf-tests: New file.
3699         * tests/test-modf.c: New file.
3700
3701         Tests for module 'logb'.
3702         * modules/logb-tests: New file.
3703         * tests/test-logb.c: New file.
3704
3705         Tests for module 'log1p'.
3706         * modules/log1p-tests: New file.
3707         * tests/test-log1p.c: New file.
3708
3709         Tests for module 'log10'.
3710         * modules/log10-tests: New file.
3711         * tests/test-log10.c: New file.
3712
3713         Tests for module 'log'.
3714         * modules/log-tests: New file.
3715         * tests/test-log.c: New file.
3716
3717         Tests for module 'lgamma'.
3718         * modules/lgamma-tests: New file.
3719         * tests/test-lgamma.c: New file.
3720
3721         Tests for module 'ldexp'.
3722         * modules/ldexp-tests: New file.
3723         * tests/test-ldexp.c: New file.
3724
3725         Tests for module 'jn'.
3726         * modules/jn-tests: New file.
3727         * tests/test-jn.c: New file.
3728
3729         Tests for module 'j1'.
3730         * modules/j1-tests: New file.
3731         * tests/test-j1.c: New file.
3732
3733         Tests for module 'j0'.
3734         * modules/j0-tests: New file.
3735         * tests/test-j0.c: New file.
3736
3737         Tests for module 'hypot'.
3738         * modules/hypot-tests: New file.
3739         * tests/test-hypot.c: New file.
3740
3741         Tests for module 'fmod'.
3742         * modules/fmod-tests: New file.
3743         * tests/test-fmod.c: New file.
3744
3745         Tests for module 'fabs'.
3746         * modules/fabs-tests: New file.
3747         * tests/test-fabs.c: New file.
3748
3749         Tests for module 'exp'.
3750         * modules/exp-tests: New file.
3751         * tests/test-exp.c: New file.
3752
3753         Tests for module 'erfc'.
3754         * modules/erfc-tests: New file.
3755         * tests/test-erfc.c: New file.
3756
3757         Tests for module 'erf'.
3758         * modules/erf-tests: New file.
3759         * tests/test-erf.c: New file.
3760
3761         Tests for module 'cosh'.
3762         * modules/cosh-tests: New file.
3763         * tests/test-cosh.c: New file.
3764
3765         Tests for module 'cos'.
3766         * modules/cos-tests: New file.
3767         * tests/test-cos.c: New file.
3768
3769         Tests for module 'copysign'.
3770         * modules/copysign-tests: New file.
3771         * tests/test-copysign.c: New file.
3772
3773         Tests for module 'cbrt'.
3774         * modules/cbrt-tests: New file.
3775         * tests/test-cbrt.c: New file.
3776
3777         Tests for module 'atan2'.
3778         * modules/atan2-tests: New file.
3779         * tests/test-atan2.c: New file.
3780
3781         Tests for module 'atan'.
3782         * modules/atan-tests: New file.
3783         * tests/test-atan.c: New file.
3784
3785         Tests for module 'asin'.
3786         * modules/asin-tests: New file.
3787         * tests/test-asin.c: New file.
3788
3789         Tests for module 'acos'.
3790         * modules/acos-tests: New file.
3791         * tests/test-acos.c: New file.
3792
3793 2010-01-24  Bruno Haible  <bruno@clisp.org>
3794
3795         Fix tests for common <math.h> functions.
3796         * m4/mathfunc.m4 (gl_MATHFUNC): Take two additional parameters. Use a
3797         code snippet that references the function pointer, rather than merely
3798         calling the function. Substitute the FUNC_LIBM variable.
3799         * m4/sqrt.m4 (gl_FUNC_SQRT): Update gl_MATHFUNC invocation.
3800         * modules/acos (configure.ac): Likewise.
3801         * modules/asin (configure.ac): Likewise.
3802         * modules/atan (configure.ac): Likewise.
3803         * modules/atan2 (configure.ac): Likewise.
3804         * modules/cbrt (configure.ac): Likewise.
3805         * modules/copysign (configure.ac): Likewise.
3806         * modules/cos (configure.ac): Likewise.
3807         * modules/cosh (configure.ac): Likewise.
3808         * modules/erf (configure.ac): Likewise.
3809         * modules/erfc (configure.ac): Likewise.
3810         * modules/exp (configure.ac): Likewise.
3811         * modules/fabs (configure.ac): Likewise.
3812         * modules/fmod (configure.ac): Likewise.
3813         * modules/hypot (configure.ac): Likewise.
3814         * modules/j0 (configure.ac): Likewise.
3815         * modules/j1 (configure.ac): Likewise.
3816         * modules/jn (configure.ac): Likewise.
3817         * modules/ldexp (configure.ac): Likewise.
3818         * modules/lgamma (configure.ac): Likewise.
3819         * modules/log (configure.ac): Likewise.
3820         * modules/log10 (configure.ac): Likewise.
3821         * modules/log1p (configure.ac): Likewise.
3822         * modules/logb (configure.ac): Likewise.
3823         * modules/modf (configure.ac): Likewise.
3824         * modules/nextafter (configure.ac): Likewise.
3825         * modules/pow (configure.ac): Likewise.
3826         * modules/remainder (configure.ac): Likewise.
3827         * modules/rint (configure.ac): Likewise.
3828         * modules/sin (configure.ac): Likewise.
3829         * modules/sinh (configure.ac): Likewise.
3830         * modules/tan (configure.ac): Likewise.
3831         * modules/tanh (configure.ac): Likewise.
3832         * modules/y0 (configure.ac): Likewise.
3833         * modules/y1 (configure.ac): Likewise.
3834         * modules/yn (configure.ac): Likewise.
3835
3836 2010-01-24  Bruno Haible  <bruno@clisp.org>
3837
3838         Tests: Defeat inlining of math functions by GCC >= 4.3.0.
3839         * tests/test-acosl.c (x): New variable.
3840         (main): Store argument in x and fetch it from x.
3841         * tests/test-asinl.c (x): New variable.
3842         (main): Store argument in x and fetch it from x.
3843         * tests/test-atanl.c (x): New variable.
3844         (main): Store argument in x and fetch it from x.
3845         * tests/test-cosl.c (x): New variable.
3846         (main): Store argument in x and fetch it from x.
3847         * tests/test-expl.c (x): New variable.
3848         (main): Store argument in x and fetch it from x.
3849         * tests/test-logl.c (x): New variable.
3850         (main): Store argument in x and fetch it from x.
3851         * tests/test-sinl.c (x): New variable.
3852         (main): Store argument in x and fetch it from x.
3853         * tests/test-sqrtl.c (x): New variable.
3854         (main): Store argument in x and fetch it from x.
3855         * tests/test-tanl.c (x): New variable.
3856         (main): Store argument in x and fetch it from x.
3857
3858 2010-01-24  Bruno Haible  <bruno@clisp.org>
3859
3860         Provide EXEEXT and srcdir in TESTS_ENVIRONMENT by default.
3861         * gnulib-tool (func_emit_tests_Makefile_am): Add EXEEXT and srcdir
3862         assignments to the initial TESTS_ENVIRONMENT.
3863         * doc/gnulib.texi (Unit test modules): Document it.
3864         * modules/acl-tests (Makefile.am): Drop EXEEXT assignment from
3865         TESTS_ENVIRONMENT.
3866         * modules/btowc-tests (Makefile.am): Likewise.
3867         * modules/c-stack-tests (Makefile.am): Likewise.
3868         * modules/c-strcase-tests (Makefile.am): Likewise.
3869         * modules/copy-file-tests (Makefile.am): Likewise.
3870         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
3871         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
3872         * modules/mbrtowc-tests (Makefile.am): Likewise.
3873         * modules/mbscasecmp-tests (Makefile.am): Likewise.
3874         * modules/mbscasestr-tests (Makefile.am): Likewise.
3875         * modules/mbschr-tests (Makefile.am): Likewise.
3876         * modules/mbscspn-tests (Makefile.am): Likewise.
3877         * modules/mbsinit-tests (Makefile.am): Likewise.
3878         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
3879         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
3880         * modules/mbspbrk-tests (Makefile.am): Likewise.
3881         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
3882         * modules/mbsrchr-tests (Makefile.am): Likewise.
3883         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
3884         * modules/mbsspn-tests (Makefile.am): Likewise.
3885         * modules/mbsstr-tests (Makefile.am): Likewise.
3886         * modules/nl_langinfo-tests (Makefile.am): Likewise.
3887         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
3888         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
3889         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
3890         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
3891         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
3892         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
3893         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
3894         * modules/wcrtomb-tests (Makefile.am): Likewise.
3895         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
3896         * modules/wcsrtombs-tests (Makefile.am): Likewise.
3897         * modules/quotearg-tests (Makefile.am): Drop EXEEXT and srcdir
3898         assignments from TESTS_ENVIRONMENT.
3899         * modules/argp-tests (Makefile.am): Drop TESTS_ENVIRONMENT
3900         augmentation.
3901         * modules/argp-version-etc-tests (Makefile.am): Likewise.
3902         * modules/atexit-tests (Makefile.am): Likewise.
3903         * modules/binary-io-tests (Makefile.am): Likewise.
3904         * modules/closein-tests (Makefile.am): Likewise.
3905         * modules/dprintf-posix-tests (Makefile.am): Likewise.
3906         * modules/exclude-tests (Makefile.am): Likewise.
3907         * modules/fflush-tests (Makefile.am): Likewise.
3908         * modules/fpending-tests (Makefile.am): Likewise.
3909         * modules/fprintf-posix-tests (Makefile.am): Likewise.
3910         * modules/freadahead-tests (Makefile.am): Likewise.
3911         * modules/freadptr-tests (Makefile.am): Likewise.
3912         * modules/freadseek-tests (Makefile.am): Likewise.
3913         * modules/fseek-tests (Makefile.am): Likewise.
3914         * modules/fseeko-tests (Makefile.am): Likewise.
3915         * modules/ftell-tests (Makefile.am): Likewise.
3916         * modules/ftello-tests (Makefile.am): Likewise.
3917         * modules/idpriv-drop-tests (Makefile.am): Likewise.
3918         * modules/idpriv-droptemp-tests (Makefile.am): Likewise.
3919         * modules/lseek-tests (Makefile.am): Likewise.
3920         * modules/parse-duration-tests (Makefile.am): Likewise.
3921         * modules/perror-tests (Makefile.am): Likewise.
3922         * modules/pipe-filter-gi-tests (Makefile.am): Likewise.
3923         * modules/pipe-filter-ii-tests (Makefile.am): Likewise.
3924         * modules/pipe-tests (Makefile.am): Likewise.
3925         * modules/pread-tests (Makefile.am): Likewise.
3926         * modules/printf-posix-tests (Makefile.am): Likewise.
3927         * modules/select-tests (Makefile.am): Likewise.
3928         * modules/sigpipe-tests (Makefile.am): Likewise.
3929         * modules/tsearch-tests (Makefile.am): Likewise.
3930         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
3931         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
3932         * modules/uniname/uniname-tests (Makefile.am): Likewise.
3933         * modules/uniwidth/width-tests (Makefile.am): Likewise.
3934         * modules/vdprintf-posix-tests (Makefile.am): Likewise.
3935         * modules/version-etc-tests (Makefile.am): Likewise.
3936         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
3937         * modules/vprintf-posix-tests (Makefile.am): Likewise.
3938         * modules/xalloc-die-tests (Makefile.am): Likewise.
3939         * modules/xprintf-posix-tests (Makefile.am): Likewise.
3940         * modules/xstrtoimax-tests (Makefile.am): Likewise.
3941         * modules/xstrtol-tests (Makefile.am): Likewise.
3942         * modules/xstrtoumax-tests (Makefile.am): Likewise.
3943         * modules/yesno-tests (Makefile.am): Likewise.
3944         Suggested by Jim Meyering.
3945
3946 2010-01-24  Bruno Haible  <bruno@clisp.org>
3947
3948         More documentation.
3949         * doc/gnulib.texi (Writing modules): New chapter.
3950         (Miscellaneous Notes): Move sections "Comments" and "Header files" to
3951         the new chapter.
3952
3953 2010-01-24  Jim Meyering  <meyering@redhat.com>
3954
3955         maint.mk: do not prepend "./" after filtering
3956         * top/maint.mk (_prepend_srcdir_prefix): New variable
3957         (VC_LIST_EXCEPT): Use it to avoid prepending (post-filter)
3958         "./" when $(srcdir) is ".".
3959
3960         define STREQ(a,b) consistently, removing useless parentheses
3961         #define STREQ(a, b) (strcmp ((a), (b)) == 0) is over-parenthesized,
3962         since the only risk is that "a" or "b" contains an unparenthesized
3963         comma, but if either did that, STREQ would have 3 or more arguments.
3964         Hence, #define STREQ(a, b) (strcmp (a, b) == 0) is better.
3965         * lib/fts.c (STREQ): Remove unnecessary parentheses.
3966         * lib/hash-triple.c (STREQ): Likewise.
3967         * tests/test-argv-iter.c (STREQ): Use a and b, not s1 and s2.
3968         * lib/getugroups.c (STREQ): Likewise.
3969
3970 2010-01-23  Jim Meyering  <meyering@redhat.com>
3971
3972         maint.mk: fix syntax-check in a non-srcdir build directory
3973         * top/maint.mk (_dot_escaped_srcdir): Remove erroneous backslash,
3974         introduced in my 2010-01-21 commit, a6da6c45.  Reported by Eric Blake.
3975
3976 2010-01-22  Jim Meyering  <meyering@redhat.com>
3977
3978         userspec: add unit tests
3979         * tests/test-userspec.c: New file.
3980         * modules/userspec-tests: Likewise.
3981
3982 2010-01-21  Jim Meyering  <meyering@redhat.com>
3983
3984         maint.mk: handle source file names containing "." robustly
3985         * top/maint.mk (_dot_escaped_srcdir): Define.
3986         (VC_LIST): Use it in LHS of sed substitution.
3987
3988 2010-01-21  Jiri Denemark  <jdenemar@redhat.com>
3989
3990         maint.mk: fix VC_LIST_EXCEPT for srcdir != builddir
3991         * top/maint.mk (VC_LIST_EXCEPT): Preprocess the output of
3992         $(VC_LIST) to remove a prefix of '$(srcdir)/', so that it works
3993         from a non-srcdir build.
3994
3995 2010-01-20  Eric Blake  <ebb9@byu.net>
3996
3997         warn-on-use: use instead of link-warning
3998         * modules/stdio (Depends-on, Makefile.am): Drop link-warning.
3999         * modules/unistd (Depends-on, Makefile.am): Likewise.
4000         * modules/arpa_inet (Depends-on): Replace link-warning with
4001         warn-on-use.
4002         (Makefile.am): Update rules accordingly.
4003         * modules/ctype (Depends-on, Makefile.am): Likewise.
4004         * modules/dirent (Depends-on, Makefile.am): Likewise.
4005         * modules/fcntl-h (Depends-on, Makefile.am): Likewise.
4006         * modules/inttypes (Depends-on, Makefile.am): Likewise.
4007         * modules/langinfo (Depends-on, Makefile.am): Likewise.
4008         * modules/locale (Depends-on, Makefile.am): Likewise.
4009         * modules/math (Depends-on, Makefile.am): Likewise.
4010         * modules/search (Depends-on, Makefile.am): Likewise.
4011         * modules/signal (Depends-on, Makefile.am): Likewise.
4012         * modules/spawn (Depends-on, Makefile.am): Likewise.
4013         * modules/stdlib (Depends-on, Makefile.am): Likewise.
4014         * modules/string (Depends-on, Makefile.am): Likewise.
4015         * modules/strings (Depends-on, Makefile.am): Likewise.
4016         * modules/sys_file (Depends-on, Makefile.am): Likewise.
4017         * modules/sys_ioctl (Depends-on, Makefile.am): Likewise.
4018         * modules/sys_select (Depends-on, Makefile.am): Likewise.
4019         * modules/sys_socket (Depends-on, Makefile.am): Likewise.
4020         * modules/sys_stat (Depends-on, Makefile.am): Likewise.
4021         * modules/sys_times (Depends-on, Makefile.am): Likewise.
4022         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
4023         * modules/wchar (Depends-on, Makefile.am): Likewise.
4024         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Check which functions
4025         should be poisoned.
4026         * m4/ctype.m4 (gl_CTYPE_H): Likewise.
4027         * m4/dirent_h.m4 (gl_DIRENT_H): Likewise.
4028         * m4/fcntl_h.m4 (gl_FCNTL_H): Likewise.
4029         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
4030         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
4031         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
4032         * m4/math_h.m4 (gl_MATH_H): Likewise.
4033         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
4034         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
4035         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
4036         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
4037         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
4038         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
4039         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
4040         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H_DEFAULTS): Likewise.
4041         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
4042         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
4043         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
4044         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
4045         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
4046         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
4047         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
4048         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
4049         * lib/arpa_inet.in.h: Use _GL_WARN_ON_USE instead of
4050         GL_LINK_WARNING.
4051         * lib/ctype.in.h: Likewise.
4052         * lib/dirent.in.h: Likewise.
4053         * lib/fcntl.in.h: Likewise.
4054         * lib/inttypes.in.h: Likewise.
4055         * lib/langinfo.in.h: Likewise.
4056         * lib/locale.in.h: Likewise.
4057         * lib/math.in.h: Likewise.
4058         * lib/search.in.h: Likewise.
4059         * lib/signal.in.h: Likewise.
4060         * lib/spawn.in.h: Likewise.
4061         * lib/stdio.in.h: Likewise.
4062         * lib/stdlib.in.h: Likewise.
4063         * lib/string.in.h: Likewise.
4064         * lib/strings.in.h: Likewise.
4065         * lib/sys_file.in.h: Likewise.
4066         * lib/sys_ioctl.in.h: Likewise.
4067         * lib/sys_select.in.h: Likewise.
4068         * lib/sys_socket.in.h: Likewise.
4069         * lib/sys_stat.in.h: Likewise.
4070         * lib/sys_times.in.h: Likewise.
4071         * lib/sys_utsname.in.h: Likewise.
4072         * lib/unistd.in.h: Likewise.
4073         * lib/wchar.in.h: Likewise.
4074
4075 2010-01-20  Bruno Haible  <bruno@clisp.org>
4076
4077         Avoid duplicate -lm.
4078         * m4/isnan.m4 (gl_ISNAN): Avoid duplicate -lm in $ISNAN_LIBM.
4079         * m4/round.m4 (gl_FUNC_ROUND): Avoid duplicate -lm in $ROUND_LIBM.
4080         * m4/roundf.m4 (gl_FUNC_ROUNDF): Avoid duplicate -lm in $ROUNDF_LIBM.
4081         * m4/roundl.m4 (gl_FUNC_ROUNDL): Avoid duplicate -lm in $ROUNDL_LIBM.
4082         * m4/acosl.m4 (gl_FUNC_ACOSL): Avoid duplicate -lm in $ACOSL_LIBM.
4083         * m4/cosl.m4 (gl_FUNC_COSL): Avoid duplicate -lm in $COSL_LIBM.
4084         * m4/logl.m4 (gl_FUNC_LOGL): Avoid duplicate -lm in $LOGL_LIBM.
4085         * m4/sinl.m4 (gl_FUNC_SINL): Avoid duplicate -lm in $SINL_LIBM.
4086         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Avoid duplicate -lm in $SQRTL_LIBM.
4087         * m4/tanl.m4 (gl_FUNC_TANL): Avoid duplicate -lm in $TANL_LIBM.
4088         * m4/asinl.m4 (gl_FUNC_ASINL): Same change, for consistency.
4089         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
4090         Reported by Paolo Bonzini.
4091
4092 2010-01-19  Bruno Haible  <bruno@clisp.org>
4093
4094         langinfo, nl_langinfo: Relicense under LGPLv2+.
4095         * modules/langinfo (License): Change to LGPLv2+.
4096         * modules/nl_langinfo (License): Likewise.
4097         Patch by David Lutterkort <lutter@redhat.com>.
4098
4099 2010-01-19  Bruno Haible  <bruno@clisp.org>
4100
4101         Avoid compilation error with cc on OSF/1 5.1.
4102         * lib/fcntl.in.h: Include <unistd.h> after the #include_next <fcntl.h>
4103         statement, not before.
4104         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
4105
4106 2010-01-18  Bruno Haible  <bruno@clisp.org>
4107
4108         Avoid a link error due to the __printf__ symbol.
4109         * lib/stdio.in.h (__attribute__): Define to empty also for gcc 2.5.x
4110         and 2.6.x.
4111         (__format__, __printf__): Remove definitions.
4112         * lib/argp-fmtstream.h: Likewise.
4113         * lib/argp.h: Likewise.
4114         * lib/error.h: Likewise.
4115         * lib/vasnprintf.h: Likewise.
4116         * lib/xprintf.h: Likewise.
4117         * lib/xvasprintf.h: Likewise.
4118         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
4119
4120 2010-01-18  Bruno Haible  <bruno@clisp.org>
4121
4122         Tests for module 'tanl'.
4123         * modules/tanl-tests: New file.
4124         * tests/test-tanl.c: New file.
4125
4126         Tests for module 'sqrtl'.
4127         * modules/sqrtl-tests: New file.
4128         * tests/test-sqrtl.c: New file.
4129
4130         Tests for module 'sinl'.
4131         * modules/sinl-tests: New file.
4132         * tests/test-sinl.c: New file.
4133
4134         Tests for module 'logl'.
4135         * modules/logl-tests: New file.
4136         * tests/test-logl.c: New file.
4137
4138         Tests for module 'expl'.
4139         * modules/expl-tests: New file.
4140         * tests/test-expl.c: New file.
4141
4142         Tests for module 'cosl'.
4143         * modules/cosl-tests: New file.
4144         * tests/test-cosl.c: New file.
4145
4146         Tests for module 'atanl'.
4147         * modules/atanl-tests: New file.
4148         * tests/test-atanl.c: New file.
4149
4150         Tests for module 'asinl'.
4151         * modules/asinl-tests: New file.
4152         * tests/test-asinl.c: New file.
4153
4154         Tests for module 'acosl'.
4155         * modules/acosl-tests: New file.
4156         * tests/test-acosl.c: New file.
4157
4158         New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
4159         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
4160         tanl): Use the standard gnulib idiom.
4161         * lib/cosl.c: Don't include trigl.c and sincosl.c.
4162         * lib/sinl.c: Likewise.
4163         * lib/tanl.c: Don't include trigl.c.
4164         (kernel_tanl): Make static.
4165         * lib/sincosl.c: Include trigl.h first.
4166         * lib/trigl.c: Likewise.
4167         * m4/acosl.m4: New file.
4168         * m4/asinl.m4: New file.
4169         * m4/atanl.m4: New file.
4170         * m4/cosl.m4: New file.
4171         * m4/expl.m4: New file.
4172         * m4/logl.m4: New file.
4173         * m4/sinl.m4: New file.
4174         * m4/sqrtl.m4: New file.
4175         * m4/tanl.m4: New file.
4176         * m4/mathl.m4: Remove file.
4177         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_* and HAVE_*
4178         variables for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
4179         Don't initialize GNULIB_MATHL.
4180         * modules/acosl: New file.
4181         * modules/asinl: New file.
4182         * modules/atanl: New file.
4183         * modules/cosl: New file.
4184         * modules/expl: New file.
4185         * modules/logl: New file.
4186         * modules/sinl: New file.
4187         * modules/sqrtl: New file.
4188         * modules/tanl: New file.
4189         * modules/math (Makefile.am): Substitute GNULIB_* and HAVE_* variables
4190         for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl. Don't
4191         substitute GNULIB_MATHL.
4192         * modules/mathl: Rewritten.
4193         * doc/posix-functions/acosl.texi: Mention the 'acosl' module.
4194         * doc/posix-functions/asinl.texi: Mention the 'asinl' module.
4195         * doc/posix-functions/atanl.texi: Mention the 'atanl' module.
4196         * doc/posix-functions/cosl.texi: Mention the 'cosl' module.
4197         * doc/posix-functions/expl.texi: Mention the 'expl' module.
4198         * doc/posix-functions/logl.texi: Mention the 'logl' module.
4199         * doc/posix-functions/sinl.texi: Mention the 'sinl' module.
4200         * doc/posix-functions/sqrtl.texi: Mention the 'sqrtl' module.
4201         * doc/posix-functions/tanl.texi: Mention the 'tanl' module.
4202
4203 2010-01-18  Bruno Haible  <bruno@clisp.org>
4204
4205         sqrt: Make gl_FUNC_SQRT requirable.
4206         * m4/sqrt.m4: New file.
4207         * modules/sqrt (Files): Add it.
4208         (configure.ac): Invoke gl_FUNC_SQRT.
4209
4210 2010-01-18  Bruno Haible  <bruno@clisp.org>
4211
4212         New modules for common <math.h> functions.
4213         * m4/mathfunc.m4: New file.
4214         * modules/acos: New file.
4215         * modules/asin: New file.
4216         * modules/atan: New file.
4217         * modules/atan2: New file.
4218         * modules/cbrt: New file.
4219         * modules/copysign: New file.
4220         * modules/cos: New file.
4221         * modules/cosh: New file.
4222         * modules/erf: New file.
4223         * modules/erfc: New file.
4224         * modules/exp: New file.
4225         * modules/fabs: New file.
4226         * modules/fmod: New file.
4227         * modules/hypot: New file.
4228         * modules/j0: New file.
4229         * modules/j1: New file.
4230         * modules/jn: New file.
4231         * modules/ldexp: New file.
4232         * modules/lgamma: New file.
4233         * modules/log: New file.
4234         * modules/log10: New file.
4235         * modules/log1p: New file.
4236         * modules/logb: New file.
4237         * modules/modf: New file.
4238         * modules/nextafter: New file.
4239         * modules/pow: New file.
4240         * modules/remainder: New file.
4241         * modules/rint: New file.
4242         * modules/sin: New file.
4243         * modules/sinh: New file.
4244         * modules/sqrt: New file.
4245         * modules/tan: New file.
4246         * modules/tanh: New file.
4247         * modules/y0: New file.
4248         * modules/y1: New file.
4249         * modules/yn: New file.
4250         * doc/posix-functions/acos.texi: Mention the 'acos' module.
4251         * doc/posix-functions/asin.texi: Mention the 'asin' module.
4252         * doc/posix-functions/atan.texi: Mention the 'atan' module.
4253         * doc/posix-functions/atan2.texi: Mention the 'atan2' module.
4254         * doc/posix-functions/cbrt.texi: Mention the 'cbrt' module.
4255         * doc/posix-functions/copysign.texi: Mention the 'copysign' module.
4256         * doc/posix-functions/cos.texi: Mention the 'cos' module.
4257         * doc/posix-functions/cosh.texi: Mention the 'cosh' module.
4258         * doc/posix-functions/erf.texi: Mention the 'erf' module.
4259         * doc/posix-functions/erfc.texi: Mention the 'erfc' module.
4260         * doc/posix-functions/exp.texi: Mention the 'exp' module.
4261         * doc/posix-functions/fabs.texi: Mention the 'fabs' module.
4262         * doc/posix-functions/fmod.texi: Mention the 'fmod' module.
4263         * doc/posix-functions/hypot.texi: Mention the 'hypot' module.
4264         * doc/posix-functions/j0.texi: Mention the 'j0' module.
4265         * doc/posix-functions/j1.texi: Mention the 'j1' module.
4266         * doc/posix-functions/jn.texi: Mention the 'jn' module.
4267         * doc/posix-functions/ldexp.texi: Mention the 'ldexp' module.
4268         * doc/posix-functions/lgamma.texi: Mention the 'lgamma' module.
4269         * doc/posix-functions/log.texi: Mention the 'log' module.
4270         * doc/posix-functions/log10.texi: Mention the 'log10' module.
4271         * doc/posix-functions/log1p.texi: Mention the 'log1p' module.
4272         * doc/posix-functions/logb.texi: Mention the 'logb' module.
4273         * doc/posix-functions/modf.texi: Mention the 'modf' module.
4274         * doc/posix-functions/nextafter.texi: Mention the 'nextafter' module.
4275         * doc/posix-functions/pow.texi: Mention the 'pow' module.
4276         * doc/posix-functions/remainder.texi: Mention the 'remainder' module.
4277         * doc/posix-functions/rint.texi: Mention the 'rint' module.
4278         * doc/posix-functions/sin.texi: Mention the 'sin' module.
4279         * doc/posix-functions/sinh.texi: Mention the 'sinh' module.
4280         * doc/posix-functions/sqrt.texi: Mention the 'sqrt' module.
4281         * doc/posix-functions/tan.texi: Mention the 'tan' module.
4282         * doc/posix-functions/tanh.texi: Mention the 'tanh' module.
4283         * doc/posix-functions/y0.texi: Mention the 'y0' module.
4284         * doc/posix-functions/y1.texi: Mention the 'y1' module.
4285         * doc/posix-functions/yn.texi: Mention the 'yn' module.
4286
4287 2010-01-18  Jim Meyering  <meyering@redhat.com>
4288
4289         ignore-value: relax license to LGPLv2+
4290         * modules/ignore-value (License): Relax to LGPLv2+.
4291
4292         getdate: don't leak when TZ contains two or more '"'s
4293         * lib/getdate.y (get_date): Don't leak a copy of TZ for each
4294         double quote in TZ after the first one.
4295
4296         readtokens: do not leak internal token_lengths buffer
4297         * lib/readtokens.c (readtokens): Free the local, lengths,
4298         when the supplied "token_lengths" parameter is NULL.
4299
4300 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4301
4302         Fix a couple of missing LIBTHREAD link failures on AIX.
4303         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add
4304         $(LIBTHREAD).
4305         * modules/strsignal-tests (test_strsignal_LDADD): Likewise.
4306
4307         Link test-poll against INET_PTON_LIB.
4308         * modules/poll-tests (test_poll_LDADD): Add $(INET_PTON_LIB),
4309         for inet_pton on Solaris 10.
4310
4311 2010-01-17  Bruno Haible  <bruno@clisp.org>
4312
4313         unistdio/*-sprintf: Fix typo in module description.
4314         * modules/unistdio/u8-sprintf (Depends-on): Fix typo.
4315         * modules/unistdio/u8-u8-sprintf (Depends-on): Likewise.
4316         * modules/unistdio/u16-sprintf (Depends-on): Likewise.
4317         * modules/unistdio/u16-u16-sprintf (Depends-on): Likewise.
4318         * modules/unistdio/u32-sprintf (Depends-on): Likewise.
4319         * modules/unistdio/u32-u32-sprintf (Depends-on): Likewise.
4320         * modules/unistdio/ulc-sprintf (Depends-on): Likewise.
4321         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
4322
4323 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4324
4325         gnulib-tool: fix filelist for AIX, HP-UX ksh.
4326         * gnulib-tool (func_filter_filelist): Do not quote possibly-empty
4327         variables in shell case patterns, for AIX and HP-UX ksh.
4328
4329         Split large sed scripts, for HP-UX sed.
4330         * modules/stdio: Split sed scripts around 50 sed commands,
4331         to avoid HP-UX limit of 99 commands, in the near future.
4332         * modules/string: Likewise.
4333         * modules/unistd: Likewise.
4334
4335         gnulib-tool: avoid writing in the current directory.
4336         * gnulib-tool (func_emit_lib_Makefile_am)
4337         (func_emit_tests_Makefile_am): Put temporary files in $tmp,
4338         not in the current directory, so concurrent gnulib-tool
4339         instances do not interfere.
4340
4341 2010-01-16  Jim Meyering  <meyering@redhat.com>
4342
4343         doc: update users.txt
4344         * users.txt: Add grep.
4345         (diffutils, gzip): Update URLs.
4346
4347 2010-01-12  Bruno Haible  <bruno@clisp.org>
4348
4349         posix_spawn: Avoid test failure on Cygwin.
4350         * tests/test-posix_spawn3.c (DATA_FILENAME) [CYGWIN]: Use less risky
4351         characters.
4352         Reported by Simon Josefsson.
4353
4354 2010-01-12  Bruno Haible  <bruno@clisp.org>
4355
4356         * tests/test-cond.c (main): When skipping the test, show the reason.
4357
4358 2010-01-12  Simon Josefsson  <simon@josefsson.org>
4359
4360         * lib/striconv.c (str_cd_iconv): Avoid if before free.
4361
4362 2010-01-12  Simon Josefsson  <simon@josefsson.org>
4363
4364         * top/maint.mk (VC_LIST_EXCEPT): Filter list through
4365         VC_LIST_ALWAYS_EXCLUDE_REGEX.
4366
4367 2010-01-12  Eric Blake  <ebb9@byu.net>
4368
4369         build: guarantee AS_VAR_IF
4370         * m4/warnings.m4 (gl_WARN_ADD): Use autoconf name.
4371         (gl_AS_VAR_IF): Move...
4372         * m4/gnulib-common.m4 (AS_VAR_IF): ...here.
4373         Reported by Simon Josefsson.
4374
4375 2010-01-12  Simon Josefsson  <simon@josefsson.org>
4376
4377         * lib/stdio.in.h: Fix typo.
4378
4379 2010-01-12  Simon Josefsson  <simon@josefsson.org>
4380
4381         * m4/gc.m4: Check if linking to libgcrypt also needs linking to
4382         libgpg-error.
4383
4384 2010-01-12  Simon Josefsson  <simon@josefsson.org>
4385
4386         * tests/test-xalloc-die.sh: Use $EXEEXT.
4387
4388 2010-01-12  Simon Josefsson  <simon@josefsson.org>
4389             Bruno Haible  <bruno@clisp.org>
4390
4391         getlogin, getlogin_r: Avoid test failure.
4392         * tests/test-getlogin.c: Include <stdio.h>.
4393         (main): Skip the test when the function fails because stdin is not a
4394         tty.
4395         * tests/test-getlogin_r.c: Include <stdio.h>.
4396         (main): Skip the test when the function fails because stdin is not a
4397         tty.
4398
4399 2010-01-11  Eric Blake  <ebb9@byu.net>
4400
4401         tests: avoid more large file warnings
4402         * tests/test-fflush.c: Avoid warning about ftell use.
4403         * tests/test-fseek.c: Avoid warning about fseek use.
4404
4405 2010-01-10  Bruno Haible  <bruno@clisp.org>
4406
4407         nproc: Work better on Linux when /proc and /sys are not mounted.
4408         * lib/nproc.c (num_processors): Use num_processors_via_affinity_mask ()
4409         as lower bound when, on glibc/Linux systems,
4410         sysconf (_SC_NPROCESSORS_CONF) returns 1.
4411         Suggested by Pádraig Brady <P@draigbrady.com>.
4412         Reported by Dmitry V. Levin <ldv@altlinux.org>.
4413
4414         nproc: Refactor.
4415         * lib/nproc.c (num_processors_via_affinity_mask): New function,
4416         extracted from num_processors.
4417         (num_processors): Call it.
4418
4419 2010-01-11  Jim Meyering  <meyering@redhat.com>
4420
4421         utimecmp: avoid new warning from upcoming gcc-4.5.0
4422         * lib/utimecmp.c (BILLION): Define using #define rather than an
4423         anonymous enum, to placate upcoming gcc-4.5.0's -Wenum-compare.
4424
4425 2010-01-11  Eric Blake  <ebb9@byu.net>
4426
4427         math: add portability warnings for classification macros
4428         * modules/math (Depends-on): Add warn-on-use.
4429         (Makefile.am): Provide new substitutions.
4430         * m4/math_h.m4 (gl_MATH_H): Require inline.
4431         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL)
4432         (_GL_WARN_REAL_FLOATING_IMPL): New helper macros.
4433         (isfinite, isinf, isnan, signbit) [GNULIB_POSIXCHECK]: Use them to
4434         implement warnings.
4435
4436         unistd: warn on use of environ without module
4437         * modules/unistd (Depends-on): Add warn-on-use.
4438         (Makefile.am): Provide new substitutions.
4439         * m4/unistd_h.m4 (gl_UNISTD_H): Check for inline and environ.
4440         * lib/unistd.in.h (environ): Wrap with a warning helper function.
4441
4442         stdio: warn on suspicious uses
4443         * modules/stdio (Depends-on): Add warn-on-use.
4444         (Makefile.am): Provide new substitutions.
4445         * m4/stdio_h.m4 (gl_STDIO_H): Check for inline, ftello, and
4446         fseeko.
4447         * lib/stdio.in.h (gets): Always warn on use.
4448         (fseek, ftell): Adjust when warnings are issued, and honor
4449         _GL_NO_LARGE_FILES as a way to silence the warning.
4450         * tests/test-fpurge.c [!GNULIB_FSEEK]: Use new means to squelch
4451         any warning about large file offsets.
4452         * tests/test-freadable.c [!GNULIB_FSEEK]: Likewise.
4453         * tests/test-freading.c [!GNULIB_FSEEK]: Likewise.
4454         * tests/test-fseeko.c [!GNULIB_FSEEK]: Likewise.
4455         * tests/test-ftell.c [!GNULIB_FSEEK]: Likewise.
4456         * tests/test-ftello.c [!GNULIB_FSEEK]: Likewise.
4457         * tests/test-fwritable.c [!GNULIB_FSEEK]: Likewise.
4458         * tests/test-fwriting.c [!GNULIB_FSEEK]: Likewise.
4459         * tests/test-getopt.c [!GNULIB_FTELL]: Likewise.
4460
4461         warn-on-use: new module
4462         * modules/warn-on-use: New file.
4463         * build-aux/warn-on-use.h: Likewise.
4464         * m4/warn-on-use.m4: Likewise.
4465         * MODULES.html.sh (Support for building): Mention it.
4466
4467 2010-01-10  Bruno Haible  <bruno@clisp.org>
4468
4469         Tests for module 'unistr/u32-strdup'.
4470         * modules/unistr/u32-strdup-tests: New file.
4471         * tests/unistr/test-u32-strdup.c: New file.
4472
4473         Tests for module 'unistr/u16-strdup'.
4474         * modules/unistr/u16-strdup-tests: New file.
4475         * tests/unistr/test-u16-strdup.c: New file.
4476
4477         Tests for module 'unistr/u8-strdup'.
4478         * modules/unistr/u8-strdup-tests: New file.
4479         * tests/unistr/test-u8-strdup.c: New file.
4480         * tests/unistr/test-strdup.h: New file.
4481
4482         Tests for module 'unistr/u32-strncmp'.
4483         * modules/unistr/u32-strncmp-tests: New file.
4484         * tests/unistr/test-u32-strncmp.c: New file.
4485
4486         Tests for module 'unistr/u16-strncmp'.
4487         * modules/unistr/u16-strncmp-tests: New file.
4488         * tests/unistr/test-u16-strncmp.c: New file.
4489
4490         Tests for module 'unistr/u8-strncmp'.
4491         * modules/unistr/u8-strncmp-tests: New file.
4492         * tests/unistr/test-u8-strncmp.c: New file.
4493         * tests/unistr/test-strncmp.h: New file.
4494
4495         Tests for module 'unistr/u32-strcoll'.
4496         * modules/unistr/u32-strcoll-tests: New file.
4497         * tests/unistr/test-u32-strcoll.c: New file.
4498
4499         Tests for module 'unistr/u16-strcoll'.
4500         * modules/unistr/u16-strcoll-tests: New file.
4501         * tests/unistr/test-u16-strcoll.c: New file.
4502
4503         Tests for module 'unistr/u8-strcoll'.
4504         * modules/unistr/u8-strcoll-tests: New file.
4505         * tests/unistr/test-u8-strcoll.c: New file.
4506
4507         Tests for module 'unistr/u32-strcmp'.
4508         * modules/unistr/u32-strcmp-tests: New file.
4509         * tests/unistr/test-u32-strcmp.c: New file.
4510         * tests/unistr/test-u32-strcmp.h: New file.
4511
4512         Tests for module 'unistr/u16-strcmp'.
4513         * modules/unistr/u16-strcmp-tests: New file.
4514         * tests/unistr/test-u16-strcmp.c: New file.
4515         * tests/unistr/test-u16-strcmp.h: New file.
4516
4517         Tests for module 'unistr/u8-strcmp'.
4518         * modules/unistr/u8-strcmp-tests: New file.
4519         * tests/unistr/test-u8-strcmp.c: New file.
4520         * tests/unistr/test-u8-strcmp.h: New file.
4521         * tests/unistr/test-strcmp.h: New file.
4522
4523         Tests for module 'unistr/u32-strncat'.
4524         * modules/unistr/u32-strncat-tests: New file.
4525         * tests/unistr/test-u32-strncat.c: New file.
4526
4527         Tests for module 'unistr/u16-strncat'.
4528         * modules/unistr/u16-strncat-tests: New file.
4529         * tests/unistr/test-u16-strncat.c: New file.
4530
4531         Tests for module 'unistr/u8-strncat'.
4532         * modules/unistr/u8-strncat-tests: New file.
4533         * tests/unistr/test-u8-strncat.c: New file.
4534         * tests/unistr/test-strncat.h: New file.
4535
4536         Tests for module 'unistr/u32-strcat'.
4537         * modules/unistr/u32-strcat-tests: New file.
4538         * tests/unistr/test-u32-strcat.c: New file.
4539
4540         Tests for module 'unistr/u16-strcat'.
4541         * modules/unistr/u16-strcat-tests: New file.
4542         * tests/unistr/test-u16-strcat.c: New file.
4543
4544         Tests for module 'unistr/u8-strcat'.
4545         * modules/unistr/u8-strcat-tests: New file.
4546         * tests/unistr/test-u8-strcat.c: New file.
4547         * tests/unistr/test-strcat.h: New file.
4548
4549         Tests for module 'unistr/u32-stpncpy'.
4550         * modules/unistr/u32-stpncpy-tests: New file.
4551         * tests/unistr/test-u32-stpncpy.c: New file.
4552
4553         Tests for module 'unistr/u16-stpncpy'.
4554         * modules/unistr/u16-stpncpy-tests: New file.
4555         * tests/unistr/test-u16-stpncpy.c: New file.
4556
4557         Tests for module 'unistr/u8-stpncpy'.
4558         * modules/unistr/u8-stpncpy-tests: New file.
4559         * tests/unistr/test-u8-stpncpy.c: New file.
4560         * tests/unistr/test-stpncpy.h: New file.
4561
4562         Tests for module 'unistr/u32-strncpy'.
4563         * modules/unistr/u32-strncpy-tests: New file.
4564         * tests/unistr/test-u32-strncpy.c: New file.
4565
4566         Tests for module 'unistr/u16-strncpy'.
4567         * modules/unistr/u16-strncpy-tests: New file.
4568         * tests/unistr/test-u16-strncpy.c: New file.
4569
4570         Tests for module 'unistr/u8-strncpy'.
4571         * modules/unistr/u8-strncpy-tests: New file.
4572         * tests/unistr/test-u8-strncpy.c: New file.
4573         * tests/unistr/test-strncpy.h: New file.
4574
4575         Tests for module 'unistr/u32-stpcpy'.
4576         * modules/unistr/u32-stpcpy-tests: New file.
4577         * tests/unistr/test-u32-stpcpy.c: New file.
4578
4579         Tests for module 'unistr/u16-stpcpy'.
4580         * modules/unistr/u16-stpcpy-tests: New file.
4581         * tests/unistr/test-u16-stpcpy.c: New file.
4582
4583         Tests for module 'unistr/u8-stpcpy'.
4584         * modules/unistr/u8-stpcpy-tests: New file.
4585         * tests/unistr/test-u8-stpcpy.c: New file.
4586         * tests/unistr/test-stpcpy.h: New file.
4587
4588         Tests for module 'unistr/u32-strcpy'.
4589         * modules/unistr/u32-strcpy-tests: New file.
4590         * tests/unistr/test-u32-strcpy.c: New file.
4591
4592         Tests for module 'unistr/u16-strcpy'.
4593         * modules/unistr/u16-strcpy-tests: New file.
4594         * tests/unistr/test-u16-strcpy.c: New file.
4595
4596         Tests for module 'unistr/u8-strcpy'.
4597         * modules/unistr/u8-strcpy-tests: New file.
4598         * tests/unistr/test-u8-strcpy.c: New file.
4599         * tests/unistr/test-strcpy.h: New file.
4600
4601         Tests for module 'unistr/u32-strnlen'.
4602         * modules/unistr/u32-strnlen-tests: New file.
4603         * tests/unistr/test-u32-strnlen.c: New file.
4604
4605         Tests for module 'unistr/u16-strnlen'.
4606         * modules/unistr/u16-strnlen-tests: New file.
4607         * tests/unistr/test-u16-strnlen.c: New file.
4608
4609         Tests for module 'unistr/u8-strnlen'.
4610         * modules/unistr/u8-strnlen-tests: New file.
4611         * tests/unistr/test-u8-strnlen.c: New file.
4612         * tests/unistr/test-strnlen.h: New file.
4613
4614         Tests for module 'unistr/u32-strlen'.
4615         * modules/unistr/u32-strlen-tests: New file.
4616         * tests/unistr/test-u32-strlen.c: New file.
4617
4618         Tests for module 'unistr/u16-strlen'.
4619         * modules/unistr/u16-strlen-tests: New file.
4620         * tests/unistr/test-u16-strlen.c: New file.
4621
4622         Tests for module 'unistr/u8-strlen'.
4623         * modules/unistr/u8-strlen-tests: New file.
4624         * tests/unistr/test-u8-strlen.c: New file.
4625
4626         Tests for module 'unistr/u32-prev'.
4627         * modules/unistr/u32-prev-tests: New file.
4628         * tests/unistr/test-u32-prev.c: New file.
4629
4630         Tests for module 'unistr/u16-prev'.
4631         * modules/unistr/u16-prev-tests: New file.
4632         * tests/unistr/test-u16-prev.c: New file.
4633
4634         Tests for module 'unistr/u8-prev'.
4635         * modules/unistr/u8-prev-tests: New file.
4636         * tests/unistr/test-u8-prev.c: New file.
4637
4638         Tests for module 'unistr/u32-next'.
4639         * modules/unistr/u32-next-tests: New file.
4640         * tests/unistr/test-u32-next.c: New file.
4641
4642         Tests for module 'unistr/u16-next'.
4643         * modules/unistr/u16-next-tests: New file.
4644         * tests/unistr/test-u16-next.c: New file.
4645
4646         Tests for module 'unistr/u8-next'.
4647         * modules/unistr/u8-next-tests: New file.
4648         * tests/unistr/test-u8-next.c: New file.
4649
4650         Tests for module 'unistr/u32-strmbtouc'.
4651         * modules/unistr/u32-strmbtouc-tests: New file.
4652         * tests/unistr/test-u32-strmbtouc.c: New file.
4653
4654         Tests for module 'unistr/u16-strmbtouc'.
4655         * modules/unistr/u16-strmbtouc-tests: New file.
4656         * tests/unistr/test-u16-strmbtouc.c: New file.
4657
4658         Tests for module 'unistr/u8-strmbtouc'.
4659         * modules/unistr/u8-strmbtouc-tests: New file.
4660         * tests/unistr/test-u8-strmbtouc.c: New file.
4661
4662         Tests for module 'unistr/u32-strmblen'.
4663         * modules/unistr/u32-strmblen-tests: New file.
4664         * tests/unistr/test-u32-strmblen.c: New file.
4665
4666         Tests for module 'unistr/u16-strmblen'.
4667         * modules/unistr/u16-strmblen-tests: New file.
4668         * tests/unistr/test-u16-strmblen.c: New file.
4669
4670         Tests for module 'unistr/u8-strmblen'.
4671         * modules/unistr/u8-strmblen-tests: New file.
4672         * tests/unistr/test-u8-strmblen.c: New file.
4673
4674         Tests for module 'unistr/u32-cpy-alloc'.
4675         * modules/unistr/u32-cpy-alloc-tests: New file.
4676         * tests/unistr/test-u32-cpy-alloc.c: New file.
4677
4678         Tests for module 'unistr/u16-cpy-alloc'.
4679         * modules/unistr/u16-cpy-alloc-tests: New file.
4680         * tests/unistr/test-u16-cpy-alloc.c: New file.
4681
4682         Tests for module 'unistr/u8-cpy-alloc'.
4683         * modules/unistr/u8-cpy-alloc-tests: New file.
4684         * tests/unistr/test-u8-cpy-alloc.c: New file.
4685         * tests/unistr/test-cpy-alloc.h: New file.
4686
4687         Tests for module 'unistr/u32-mbsnlen'.
4688         * modules/unistr/u32-mbsnlen-tests: New file.
4689         * tests/unistr/test-u32-mbsnlen.c: New file.
4690
4691         Tests for module 'unistr/u16-mbsnlen'.
4692         * modules/unistr/u16-mbsnlen-tests: New file.
4693         * tests/unistr/test-u16-mbsnlen.c: New file.
4694
4695         Tests for module 'unistr/u8-mbsnlen'.
4696         * modules/unistr/u8-mbsnlen-tests: New file.
4697         * tests/unistr/test-u8-mbsnlen.c: New file.
4698
4699         Tests for module 'unistr/u32-chr'.
4700         * modules/unistr/u32-chr-tests: New file.
4701         * tests/unistr/test-u32-chr.c: New file.
4702
4703         Tests for module 'unistr/u16-chr'.
4704         * modules/unistr/u16-chr-tests: New file.
4705         * tests/unistr/test-u16-chr.c: New file.
4706
4707         Tests for module 'unistr/u8-chr'.
4708         * modules/unistr/u8-chr-tests: New file.
4709         * tests/unistr/test-u8-chr.c: New file.
4710         * tests/unistr/test-chr.h: New file, based on tests/test-memchr.c.
4711
4712         Tests for module 'unistr/u32-cmp2'.
4713         * modules/unistr/u32-cmp2-tests: New file.
4714         * tests/unistr/test-u32-cmp2.c: New file.
4715
4716         Tests for module 'unistr/u16-cmp2'.
4717         * modules/unistr/u16-cmp2-tests: New file.
4718         * tests/unistr/test-u16-cmp2.c: New file.
4719
4720         Tests for module 'unistr/u8-cmp2'.
4721         * modules/unistr/u8-cmp2-tests: New file.
4722         * tests/unistr/test-u8-cmp2.c: New file.
4723         * tests/unistr/test-cmp2.h: New file, based on tests/unistr/test-cmp.h.
4724
4725         Tests for module 'unistr/u32-cmp'.
4726         * modules/unistr/u32-cmp-tests: New file.
4727         * tests/unistr/test-u32-cmp.c: New file.
4728
4729         Tests for module 'unistr/u16-cmp'.
4730         * modules/unistr/u16-cmp-tests: New file.
4731         * tests/unistr/test-u16-cmp.c: New file.
4732
4733         Tests for module 'unistr/u8-cmp'.
4734         * modules/unistr/u8-cmp-tests: New file.
4735         * tests/unistr/test-u8-cmp.c: New file.
4736         * tests/unistr/test-cmp.h: New file, based on tests/test-memcmp.c.
4737
4738         Tests for module 'unistr/u32-set'.
4739         * modules/unistr/u32-set-tests: New file.
4740         * tests/unistr/test-u32-set.c: New file.
4741
4742         Tests for module 'unistr/u16-set'.
4743         * modules/unistr/u16-set-tests: New file.
4744         * tests/unistr/test-u16-set.c: New file.
4745
4746         Tests for module 'unistr/u8-set'.
4747         * modules/unistr/u8-set-tests: New file.
4748         * tests/unistr/test-u8-set.c: New file.
4749         * tests/unistr/test-set.h: New file.
4750
4751         Tests for module 'unistr/u32-move'.
4752         * modules/unistr/u32-move-tests: New file.
4753         * tests/unistr/test-u32-move.c: New file.
4754
4755         Tests for module 'unistr/u16-move'.
4756         * modules/unistr/u16-move-tests: New file.
4757         * tests/unistr/test-u16-move.c: New file.
4758
4759         Tests for module 'unistr/u8-move'.
4760         * modules/unistr/u8-move-tests: New file.
4761         * tests/unistr/test-u8-move.c: New file.
4762         * tests/unistr/test-move.h: New file.
4763
4764         Tests for module 'unistr/u32-cpy'.
4765         * modules/unistr/u32-cpy-tests: New file.
4766         * tests/unistr/test-u32-cpy.c: New file.
4767
4768         Tests for module 'unistr/u16-cpy'.
4769         * modules/unistr/u16-cpy-tests: New file.
4770         * tests/unistr/test-u16-cpy.c: New file.
4771
4772         Tests for module 'unistr/u8-cpy'.
4773         * modules/unistr/u8-cpy-tests: New file.
4774         * tests/unistr/test-u8-cpy.c: New file.
4775         * tests/unistr/test-cpy.h: New file.
4776
4777 2010-01-09  Bruno Haible  <bruno@clisp.org>
4778
4779         Tests for module 'unistr/u32-uctomb'.
4780         * modules/unistr/u32-uctomb-tests: New file.
4781         * tests/unistr/test-u32-uctomb.c: New file.
4782
4783         Tests for module 'unistr/u16-uctomb'.
4784         * modules/unistr/u16-uctomb-tests: New file.
4785         * tests/unistr/test-u16-uctomb.c: New file.
4786
4787         Tests for module 'unistr/u8-uctomb'.
4788         * modules/unistr/u8-uctomb-tests: New file.
4789         * tests/unistr/test-u8-uctomb.c: New file.
4790
4791         Tests for module 'unistr/u32-mbtoucr'.
4792         * modules/unistr/u32-mbtoucr-tests: New file.
4793         * tests/unistr/test-u32-mbtoucr.c: New file.
4794
4795         Tests for module 'unistr/u16-mbtoucr'.
4796         * modules/unistr/u16-mbtoucr-tests: New file.
4797         * tests/unistr/test-u16-mbtoucr.c: New file.
4798
4799         Tests for module 'unistr/u8-mbtoucr'.
4800         * modules/unistr/u8-mbtoucr-tests: New file.
4801         * tests/unistr/test-u8-mbtoucr.c: New file.
4802
4803         Tests for module 'unistr/u32-mbtouc'.
4804         * modules/unistr/u32-mbtouc-tests: New file.
4805         * tests/unistr/test-u32-mbtouc.c: New file.
4806
4807         Tests for module 'unistr/u16-mbtouc'.
4808         * modules/unistr/u16-mbtouc-tests: New file.
4809         * tests/unistr/test-u16-mbtouc.c: New file.
4810
4811         Tests for module 'unistr/u8-mbtouc'.
4812         * modules/unistr/u8-mbtouc-tests: New file.
4813         * tests/unistr/test-u8-mbtouc.c: New file.
4814
4815         Tests for module 'unistr/u32-mbtouc-unsafe'.
4816         * modules/unistr/u32-mbtouc-unsafe-tests: New file.
4817         * tests/unistr/test-u32-mbtouc-unsafe.c: New file.
4818         * tests/unistr/test-u32-mbtouc.h: New file.
4819
4820         Tests for module 'unistr/u16-mbtouc-unsafe'.
4821         * modules/unistr/u16-mbtouc-unsafe-tests: New file.
4822         * tests/unistr/test-u16-mbtouc-unsafe.c: New file.
4823         * tests/unistr/test-u16-mbtouc.h: New file.
4824
4825         Tests for module 'unistr/u8-mbtouc-unsafe'.
4826         * modules/unistr/u8-mbtouc-unsafe-tests: New file.
4827         * tests/unistr/test-u8-mbtouc-unsafe.c: New file.
4828         * tests/unistr/test-u8-mbtouc.h: New file.
4829
4830         Tests for module 'unistr/u32-mblen'.
4831         * modules/unistr/u32-mblen-tests: New file.
4832         * tests/unistr/test-u32-mblen.c: New file.
4833
4834         Tests for module 'unistr/u16-mblen'.
4835         * modules/unistr/u16-mblen-tests: New file.
4836         * tests/unistr/test-u16-mblen.c: New file.
4837
4838         Tests for module 'unistr/u8-mblen'.
4839         * modules/unistr/u8-mblen-tests: New file.
4840         * tests/unistr/test-u8-mblen.c: New file.
4841
4842         Tests for module 'unistr/u32-to-u16'.
4843         * modules/unistr/u32-to-u16-tests: New file.
4844         * tests/unistr/test-u32-to-u16.c: New file.
4845
4846         Tests for module 'unistr/u32-to-u8'.
4847         * modules/unistr/u32-to-u8-tests: New file.
4848         * tests/unistr/test-u32-to-u8.c: New file.
4849
4850         Tests for module 'unistr/u16-to-u32'.
4851         * modules/unistr/u16-to-u32-tests: New file.
4852         * tests/unistr/test-u16-to-u32.c: New file.
4853
4854         Tests for module 'unistr/u16-to-u8'.
4855         * modules/unistr/u16-to-u8-tests: New file.
4856         * tests/unistr/test-u16-to-u8.c: New file.
4857
4858         Tests for module 'unistr/u8-to-u32'.
4859         * modules/unistr/u8-to-u32-tests: New file.
4860         * tests/unistr/test-u8-to-u32.c: New file.
4861
4862         Tests for module 'unistr/u8-to-u16'.
4863         * modules/unistr/u8-to-u16-tests: New file.
4864         * tests/unistr/test-u8-to-u16.c: New file.
4865
4866         Tests for module 'unistr/u32-check'.
4867         * modules/unistr/u32-check-tests: New file.
4868         * tests/unistr/test-u32-check.c: New file.
4869
4870         Tests for module 'unistr/u16-check'.
4871         * modules/unistr/u16-check-tests: New file.
4872         * tests/unistr/test-u16-check.c: New file.
4873
4874         Tests for module 'unistr/u8-check'.
4875         * modules/unistr/u8-check-tests: New file.
4876         * tests/unistr/test-u8-check.c: New file.
4877
4878         * tests/unictype/test-categ_byname.c: Include <stdbool.h>.
4879         (category_equals): New function.
4880         (main): Add more tests.
4881         * modules/unictype/category-byname-tests (Depends-on): Add stdbool.
4882
4883         * tests/unictype/test-bidi_byname.c (main): Add more tests.
4884
4885 2010-01-10  Bruno Haible  <bruno@clisp.org>
4886
4887         unistr/u*-strcoll: Try harder to distinguish different strings.
4888         * lib/unistr/u-strcoll.h (FUNC): When sl1 and sl2 are the same,
4889         compare s1 and s2 to see if they are different.
4890
4891 2010-01-10  Bruno Haible  <bruno@clisp.org>
4892
4893         unistr/u*-stpncpy: Fix the return value.
4894         * lib/unistr.h (u8_stpncpy, u16_stpncpy, u32_stpncpy): Make the
4895         description of the return value consistent with stpncpy in glibc.
4896         * lib/unistr/u-stpncpy.h (FUNC): Return the pointer past the last
4897         written non-NUL unit.
4898
4899 2010-01-10  Bruno Haible  <bruno@clisp.org>
4900
4901         unistr/u*-next: Add missing dependencies.
4902         * modules/unistr/u8-next (Depends-on): Add unistr/u8-strmbtouc.
4903         * modules/unistr/u16-next (Depends-on): Add unistr/u16-strmbtouc.
4904         * modules/unistr/u32-next (Depends-on): Add unistr/u32-strmbtouc.
4905
4906 2010-01-10  Bruno Haible  <bruno@clisp.org>
4907
4908         unistr/u8-mbsnlen: Fix return value for incomplete character.
4909         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtoucr instead of
4910         u8_mblen.
4911         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtoucr.
4912         Remove unistr/u8-mblen.
4913         * lib/unistr/u16-mbsnlen.c (u16_mbsnlen): Use u16_mbtoucr instead of
4914         u16_mblen.
4915         * modules/unistr/u16-mbsnlen (Depends-on): Add unistr/u16-mbtoucr.
4916         Remove unistr/u16-mblen.
4917
4918 2010-01-10  Bruno Haible  <bruno@clisp.org>
4919
4920         wchar: Fix compilation error when <wchar.h> is used from coreutils.
4921         * lib/wchar.in.h: Treat __need_wint_t like __need_mbstate_t.
4922         Reported by Brian Gough <bjg@gnu.org> and
4923         Chris Clayton <chris2553@googlemail.com> via
4924         Mike Frysinger <vapier@gentoo.org> and Jim Meyering <jim@meyering.net>.
4925
4926 2010-01-09  Bruno Haible  <bruno@clisp.org>
4927
4928         unistr/u16-to-u32: Reject invalid input.
4929         * lib/unistr/u16-to-u32.c (u16_to_u32): Call u16_mbtoucr instead of
4930         u16_mbtouc.
4931         * modules/unistr/u16-to-u32 (Depends-on): Add unistr/u16-mbtoucr.
4932         Remove unistr/u16-mbtouc.
4933
4934         unistr/u16-to-u8: Reject invalid input.
4935         * lib/unistr/u16-to-u8.c (u16_to_u8): Call u16_mbtoucr instead of
4936         u16_mbtouc.
4937         * modules/unistr/u16-to-u8 (Depends-on): Add unistr/u16-mbtoucr.
4938         Remove unistr/u16-mbtouc.
4939
4940         unistr/u8-to-u32: Reject invalid input.
4941         * lib/unistr/u8-to-u32.c (u8_to_u32): Call u8_mbtoucr instead of
4942         u8_mbtouc.
4943         * modules/unistr/u8-to-u32 (Depends-on): Add unistr/u8-mbtoucr.
4944         Remove unistr/u8-mbtouc.
4945
4946         unistr/u8-to-u16: Reject invalid input.
4947         * lib/unistr/u8-to-u16.c (u8_to_u16): Call u8_mbtoucr instead of
4948         u8_mbtouc.
4949         * modules/unistr/u8-to-u16 (Depends-on): Add unistr/u8-mbtoucr.
4950         Remove unistr/u8-mbtouc.
4951
4952 2010-01-09  Bruno Haible  <bruno@clisp.org>
4953
4954         Tests for module 'getlogin'.
4955         * modules/getlogin-tests: New file.
4956         * tests/test-getlogin.c: New file.
4957
4958         New module 'getlogin'.
4959         * lib/unistd.in.h (getlogin): New declaration.
4960         * lib/getlogin.c: New file.
4961         * m4/getlogin.m4: New file.
4962         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETLOGIN,
4963         HAVE_GETLOGIN.
4964         * modules/unistd (Makefile.am): Substitute GNULIB_GETLOGIN,
4965         HAVE_GETLOGIN.
4966         * modules/getlogin: New file.
4967         * doc/posix-functions/getlogin.texi: Mention the new module.
4968         Reported by John W. Eaton <jwe@gnu.org>.
4969
4970 2010-01-09  Bruno Haible  <bruno@clisp.org>
4971
4972         getlogin_r: Support for native Windows.
4973         * lib/getlogin_r.c: Include <windows.h>
4974         (getlogin_r): Implement for native Windows.
4975         * tests/test-getlogin_r.c (main): Also test with a huge buffer.
4976         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>
4977         via John W. Eaton <jwe@gnu.org>.
4978
4979 2010-01-09  Bruno Haible  <bruno@clisp.org>
4980
4981         getlogin_r: Small fixes.
4982         * lib/getlogin_r.c (getlogin_r): Don't set errno if the function
4983         succeeds.
4984         * m4/getlogin_r.m4 (gl_GETLOGIN_R): Require gl_USE_SYSTEM_EXTENSIONS
4985         before testing whether getlogin_r is declared. No need to set
4986         HAVE_DECL_GETLOGIN_R to 1.
4987         (gl_PREREQ_GETLOGIN_R): Don't check for the getlogin_r declaration.
4988
4989 2010-01-09  Bruno Haible  <bruno@clisp.org>
4990
4991         * lib/unistd.in.h (getlogin_r): Add comment.
4992
4993 2010-01-09  Bruno Haible  <bruno@clisp.org>
4994
4995         Tests for module 'getlogin_r'.
4996         * modules/getlogin_r-tests: New file.
4997         * tests/test-getlogin_r.c: New file.
4998
4999 2010-01-09  Jim Meyering  <meyering@redhat.com>
5000
5001         maint.mk: extend proper_name_utf8-vs-LIBICONV-checking rule
5002         * top/maint.mk (sc_proper_name_utf8_requires_ICONV): Adapt to work
5003         also when $(LIBICONV) is part of LDADD, rather than ${prog}_LDADD.
5004
5005 2010-01-08  Simon Josefsson  <simon@josefsson.org>
5006
5007         * lib/dup2.c (rpl_dup2): Improve comment.
5008
5009 2010-01-08  Eric Blake  <ebb9@byu.net>
5010
5011         maint.mk: allow packages to add makefile @@ exceptions
5012         * top/maint.mk (_makefile_at_at_check_exceptions): New hook.
5013         (sc_makefile_check): Rename...
5014         (sc_makefile_at_at_check): ...to this, and use hook.
5015
5016         dup2: work around mingw bug
5017         * lib/dup2.c (rpl_dup2): Sanitize return value on mingw.
5018         Reported by Simon Josefsson.
5019
5020 2010-01-07  John W. Eaton  <jwe@octave.org>  (tiny change)
5021
5022         glob: Fix C++ compilation.
5023         * lib/glob.in.h [__cplusplus]: Define __BEGIN_DECLS and __END_DECLS for
5024         C++.
5025
5026 2010-01-07  Bruno Haible  <bruno@clisp.org>
5027
5028         Fix indentation of wctype.in.h, broken since 2007-01-06.
5029         * lib/wctype.in.h: Fix indentation of preprocessor directives.
5030
5031 2010-01-07  Bruno Haible  <bruno@clisp.org>
5032
5033         mbslen: Avoid collision with system function.
5034         * lib/string.in.h [MirBSD]: Include <wchar.h>.
5035         (mbslen): Undefine first. Alias mbslen to rpl_mbslen.
5036         * m4/mbslen.m4: New file.
5037         * modules/mbslen (Files): Add it.
5038         (configure.ac): Invoke gl_MBSLEN.
5039         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MBSLEN.
5040         * modules/string (Makefile.am): Substitute HAVE_MBSLEN.
5041         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>
5042         via Ian Beckwith <ianb@erislabs.net>.
5043
5044 2010-01-07  Bruno Haible  <bruno@clisp.org>
5045
5046         dirent: Document the last fix.
5047         * doc/posix-headers/dirent.texi: Document the bug of missing 'ino_t'.
5048
5049 2010-01-07  Bruno Haible  <bruno@clisp.org>
5050
5051         stdio: Ensure <stdio.h> defines off_t, ssize_t, va_list.
5052         * lib/stdio.in.h: Include <sys/types.h> unconditionally.
5053         * tests/test-stdio.c: Verify that fpos_t, off_t, size_t, ssize_t,
5054         va_list are defined.
5055         * doc/posix-headers/stdio.texi: Document the bug of missing types.
5056         Reported by Eric Blake.
5057
5058 2010-01-07  Bruno Haible  <bruno@clisp.org>
5059
5060         xlist, xoset: Fix missing dependency bug, introduced on 2009-12-13.
5061         * modules/xlist (Depends-on): Add 'list',
5062         * modules/xoset (Depends-on): Add 'oset'.
5063         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
5064
5065 2010-01-07  Bruno Haible  <bruno@clisp.org>
5066
5067         * doc/posix-functions/strcasecmp.texi: Clarify the platforms.
5068         * doc/posix-functions/strncasecmp.texi: Likewise.
5069
5070 2010-01-07  Bruno Haible  <bruno@clisp.org>
5071
5072         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Simplify logic.
5073
5074 2010-01-07  John W. Eaton  <jwe@octave.org>
5075
5076         wctype: allow C++ use
5077         * lib/wctype.in.h: Add extern "C" block for C++.
5078
5079 2010-01-06  Eric Blake  <ebb9@byu.net>
5080
5081         maint.mk: detect incorrect GFDL usage
5082         * top/maint.mk (_GFDL_regexp, sc_GFDL_version): New rule.
5083
5084 2010-01-06  Jim Meyering  <meyering@redhat.com>
5085         and Eric Blake  <ebb9@byu.net>
5086
5087         maint.mk: ignore multi-line copyright in NEWS
5088         * top/maint.mk (NEWS_hash): Add immunity to multi-line copyright.
5089
5090 2010-01-06  Eric Blake  <ebb9@byu.net>
5091
5092         select: add missing dependency
5093         * modules/select-tests (Depends-on): Move sockets dependency...
5094         * modules/select (Depends-on): ...here.
5095         Reported by Ian Beckwith.
5096
5097         doc: regenerate INSTALL
5098         * doc/INSTALL: Reflect recent autoconf update.
5099         * doc/INSTALL.ISO: Likewise.
5100         * doc/INSTALL.UTF-8: Likewise.
5101
5102         pread: fix compilation on glibc
5103         * m4/pread.m4 (gl_FUNC_PREAD): Request all interfaces.
5104         Reported by Ralf Wildenhues.
5105
5106         dirent: fix test failure
5107         * lib/dirent.in.h (includes): Guarantee ino_t.
5108         Reported by Ralf Wildenhues.
5109
5110 2010-01-06  Petr Salinger  <Petr.Salinger@seznam.cz>  (tiny change)
5111
5112         linkat, renameat: avoid bad free
5113         * lib/at-func2.c (at_func2): Fix typo.
5114         Reported via Ian Beckwith, from http://bugs.debian.org/561117.
5115
5116 2010-01-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5117
5118         cleanup after gl_FUNC_READLINK, for gl_FUNC_SYMLINK test
5119         * m4/readlink.m4 (gl_FUNC_READLINK): Remove conftest.lnk2,
5120         to avoid failure of symlink test later.
5121
5122 2010-01-06  Eric Blake  <ebb9@byu.net>
5123
5124         stdio, unistd: guarantee ssize_t
5125         * lib/unistd.in.h (includes): Ensure that types required by POSIX
5126         2008 are exposed when needed.
5127         * lib/stdio.in.h (includes): Likewise.
5128         Reported by Ralf Wildenhues.
5129
5130 2010-01-06  Paolo Bonzini  <bonzini@gnu.org>
5131
5132         nl_langinfo: do not call AC_CHECK_FUNC_ONCE inside if.
5133         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Do not call
5134         AC_CHECK_FUNC_ONCE inside if, do not adjust ac_cv_func_nl_langinfo.
5135
5136 2010-01-06  Jim Meyering  <meyering@redhat.com>
5137
5138         readtokens: this module *does* require xalloc.h
5139         It uses only functions that were omitted by the old syntax-check rule.
5140         * lib/readtokens.c: Include "xalloc.h" once again.
5141         * modules/readtokens (Depends-on): Add xalloc.
5142         This reverts part of 0e0f8f12ec241c0f1c1f21f960bb5cf908a0fa3c.
5143
5144 2010-01-05  Eric Blake  <ebb9@byu.net>
5145
5146         maint: support 'make announcement' from a VPATH build
5147         * top/maint.mk (announcement): Look for correct NEWS file.
5148
5149 2010-01-05  Aurelien Jarno  <aurelien@aurel32.net>  (tiny change)
5150
5151         utimens (fdutimens): ignore a negative FD, per contract
5152         * lib/utimens.c (fdutimens) [HAVE_FUTIMENS]: Call futimens only
5153         when we have a valid file descriptor.  Otherwise, using a brand
5154         new glibc (with just-patched futimens that now fails with EBADF)
5155         would cause this function to fail with ENOSYS.
5156         Reported by Guillaume Ayoub in http://bugs.debian.org/563726.
5157         See also http://bugzilla.redhat.com/552320.
5158
5159 2010-01-05  Eric Blake  <ebb9@byu.net>
5160
5161         strcase: document what it provides
5162         * doc/posix-functions/strcasecmp.texi (strcasecmp): Mention the
5163         gnulib module.
5164         * doc/posix-functions/strncasecmp.texi (strncasecmp): Likewise.
5165         Reported by Dilyan Palauzov <Dilyan.Palauzov@aegee.org>.
5166
5167 2010-01-05  Jim Meyering  <meyering@redhat.com>
5168
5169         maint: remove useless inclusions of "xalloc.h"
5170         * lib/getloadavg.c: Remove useless inclusion of "xalloc.h".
5171         * lib/readtokens.c: Likewise.
5172         * lib/same.c: Likewise.
5173         * modules/getloadavg (Depends-on): Remove xalloc.
5174         * modules/readtokens: Likewise.
5175         * modules/same: Likewise.
5176
5177         maint.mk: include 4 more function names in alloca.h-checking regexp
5178         * top/maint.mk (sc_prohibit_xalloc_without_use): Use more complete
5179         regexp.  Before, we would give a false-positive (saying alloca.h
5180         is included unnecessarily) when the only uses involved omitted symbols.
5181
5182         xalloc.h: use consistent formatting
5183         * lib/xalloc.h: Move declarations to start in the first column.
5184
5185 2010-01-05  Eric Blake  <ebb9@byu.net>
5186
5187         mkdir: avoid xalloc
5188         * lib/mkdir.c (includes): Drop unused header.
5189         Reported by John W. Eaton.
5190
5191 2010-01-04  Jim Meyering  <meyering@redhat.com>
5192
5193         nl_langinfo: avoid configure-time syntax error
5194         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): When we've already tested
5195         for nl_langinfo.h, AC_CHECK_FUNCS_ONCE([nl_langinfo]) expands to
5196         the empty string.  Don't let that provoke a shell syntax error.
5197
5198         regcomp, regexec, fnmatch: avoid array bounds read error
5199         * lib/regcomp.c (build_equiv_class): From glibc:
5200         Use only the low 24 bits of a findidx return value as an index
5201         into the weights array.  Patch by Ulrich Drepper:
5202         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=b7d1c5fa30
5203         * lib/regexec.c (check_node_accept_bytes): Likewise.
5204         * lib/fnmatch_loop.c (FCT): Likewise.
5205
5206         regcomp: skip collseq lookup when there are no rules
5207         * lib/regcomp.c (lookup_collation_sequence_value): From glibc:
5208         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a532a41df58
5209
5210         regcomp: recognize ill-formed { } expressions
5211         * lib/regcomp.c (parse_dup_op): From glibc:
5212         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a87cd2894cb
5213
5214         regcomp: fix typo in comment
5215         * lib/regcomp.c (duplicate_node_closure): Sync from glibc.
5216         s/satisfy/satisfies/.
5217
5218         regcomp: sync from glibc: remove dead store
5219         * lib/regcomp.c (duplicate_node_closure): Remove useless
5220         search_duplicated_node call and dead store.
5221
5222         regcomp: sync from glibc; always use nl_langinfo
5223         * lib/regcomp.c (init_dfa) [!LIBC]: Always use nl_langinfo (CODESET),
5224         now that gnulib provides it.  Recognize UTF8 as well as UTF-8.
5225         * modules/regex (Depends-on): Add nl_langinfo.
5226
5227 2010-01-04  Eric Blake  <ebb9@byu.net>
5228
5229         fdopendir: fix configure test
5230         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for existing file.
5231
5232 2010-01-01  Bruno Haible  <bruno@clisp.org>
5233
5234         wchar: Remove unused configure check.
5235         * m4/wchar.m4 (gl_WCHAR_H): Don't test whether <wchar.h> is standalone.
5236
5237 2010-01-01  Eric Blake  <ebb9@byu.net>
5238
5239         headers: make check of system header explicit
5240         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't exploit knowledge of
5241         gl_CHECK_NEXT_HEADER internals, but call AC_CHECK_HEADERS_ONCE
5242         ourselves.
5243         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
5244         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
5245         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
5246         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise, for gt_INTTYPES_PRI
5247         internals.
5248         * m4/wchar.m4 (gl_WCHAR_H): Skip followup test if header is
5249         missing.
5250         Suggested by Bruno Haible.
5251
5252 2010-01-01  Jim Meyering  <meyering@redhat.com>
5253
5254         ChangeLog: tweak to eliminate unnecessary copyright line
5255         * ChangeLog: Remove a copyright line that was mistakenly updated
5256         by today's update-copyright run.  Reported by Eric Blake.
5257
5258         test-update-copyright: don't let envvar setting cause test failure
5259         * tests/test-update-copyright.sh: Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
5260
5261 2010-01-01  Bruno Haible  <bruno@clisp.org>
5262
5263         localename: Avoid gcc warning.
5264         * lib/localename.c (gl_locale_name_thread_unsafe): Don't define this
5265         function if it is not used.
5266
5267 2010-01-01  Jim Meyering  <meyering@redhat.com>
5268
5269         update nearly all FSF copyright year lists to include 2010
5270         Use the same procedure as for 2009, outlined in
5271         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081
5272
5273         version-etc: set COPYRIGHT_YEAR to 2010
5274         * lib/version-etc.c (COPYRIGHT_YEAR): Manually update the enum.
5275
5276 2009-12-31  Eric Blake  <ebb9@byu.net>
5277
5278         doc: correct availability of cygwin 1.5.x getopt
5279         * doc/posix-functions/optarg.texi (optarg): Cygwin supplies getopt
5280         variables.
5281         * doc/posix-functions/opterr.texi (opterr): Likewise.
5282         * doc/posix-functions/optind.texi (optind): Likewise.
5283         * doc/posix-functions/optopt.texi (optopt): Likewise.
5284         * doc/posix-functions/tzname.texi (tzname): Likewise.
5285
5286         openat: update maintainer
5287         * modules/openat (Maintainer): Add myself.
5288
5289         utimens: avoid shadowing warning
5290         * lib/utimens.c (fdutimens, lutimens): Consolidate separate stat
5291         buffers into one, to avoid shadowing, as well as avoiding a
5292         redundant stat.
5293         Reported by Jim Meyering.
5294
5295         test-dup2: avoid compiler warning
5296         * tests/test-dup2.c (is_inheritable): Only define if used.
5297
5298 2010-01-01  Bruno Haible  <bruno@clisp.org>
5299
5300         vasnprintf: Avoid passing an 'rpl_mbstate_t *' to the system's wcrtomb.
5301         * lib/vasnprintf.c (VASNPRINTF): If GNULIB_defined_mbstate_t is
5302         defined, use wctomb instead of wcrtomb.
5303
5304 2010-01-01  Bruno Haible  <bruno@clisp.org>
5305
5306         iconv: Reject native Solaris iconv.
5307         * m4/iconv.m4 (AM_ICONV_LINK): Recognize native Solaris iconv() bug.
5308         * doc/posix-functions/iconv.texi: Document native Solaris iconv() bug.
5309
5310 2009-12-31  Bruno Haible  <bruno@clisp.org>
5311
5312         * tests/test-signal.c (main): Remove test of 'SIG'.
5313
5314 2009-12-31  Bruno Haible  <bruno@clisp.org>
5315
5316         spawn: Fix incomplete fix.
5317         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
5318         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
5319         warnings for GNULIB_POSIXCHECK again.
5320         Reported by Eric Blake.
5321
5322 2009-12-31  Bruno Haible  <bruno@clisp.org>
5323
5324         Avoid namespace pollution on glibc systems.
5325         * lib/spawn.in.h: Don't include <sched.h>, <signal.h> on glibc systems.
5326         * lib/sys_times.in.h: Don't include <time.h> on glibc systems.
5327         * lib/wchar.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> on
5328         glibc systems.
5329
5330 2009-12-31  Bruno Haible  <bruno@clisp.org>
5331
5332         * m4/wchar.m4 (gl_WCHAR_H): Remove gl_STDDEF_H invocation.
5333         (gl_REPLACE_WCHAR_H): Turn into a no-op.
5334         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Likewise.
5335         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
5336         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
5337         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
5338         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
5339
5340 2009-12-31  Bruno Haible  <bruno@clisp.org>
5341
5342         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
5343         gl_CHECK_NEXT_HEADERS before testing ac_cv_header_sys_select_h, not
5344         afterwards.
5345
5346 2009-12-31  Bruno Haible  <bruno@clisp.org>
5347
5348         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H_DEFAULTS): Don't set
5349         SYS_UTSNAME_H.
5350
5351 2009-12-31  Bruno Haible  <bruno@clisp.org>
5352
5353         spawn: Fix misapplied patch.
5354         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
5355         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
5356         warnings for GNULIB_POSIXCHECK.
5357
5358 2009-12-31  Bruno Haible  <bruno@clisp.org>
5359
5360         times: Update after sys_times changed.
5361         * m4/times.m4: New file, extracted from modules/times. Set HAVE_TIMES.
5362         * modules/times (Files): Add it.
5363         (configure.ac): Invoke gl_FUNC_TIMES.
5364
5365 2009-12-31  Bruno Haible  <bruno@clisp.org>
5366
5367         Use AC_C_INLINE where necessary.
5368         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Require AC_C_INLINE.
5369         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
5370         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
5371         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
5372         * m4/mbfile.m4 (gl_MBFILE): Likewise.
5373         * m4/mbiter.m4 (gl_MBITER): Likewise.
5374         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
5375         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
5376         * m4/wait-process.m4 (gl_WAIT_PROCESS): Likewise.
5377         * modules/u64 (configure.ac): Likewise.
5378
5379 2009-12-31  Bruno Haible  <bruno@clisp.org>
5380
5381         Use AC_C_INLINE instead of module 'inline' where possible.
5382         * modules/inline (Description): Clarify purpose.
5383         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS): Require AC_C_INLINE.
5384         * modules/count-one-bits (Depends-on): Remove inline.
5385         * m4/openat.m4 (gl_PREREQ_OPENAT): Require AC_C_INLINE.
5386         * modules/openat (Depends-on): Remove inline.
5387         * modules/fdutimensat (Depends-on, configure.ac): Require AC_C_INLINE
5388         instead of depending on module 'inline'.
5389         * modules/filevercmp (Depends-on, configure.ac): Likewise.
5390         * modules/unicase/cased (Depends-on, configure.ac): Likewise.
5391         * modules/unicase/ignorable (Depends-on, configure.ac): Likewise.
5392         * modules/unictype/category-of (Depends-on, configure.ac): Likewise.
5393         * modules/unictype/category-test (Depends-on, configure.ac): Likewise.
5394         * modules/unictype/ctype-alnum (Depends-on, configure.ac): Likewise.
5395         * modules/unictype/ctype-alpha (Depends-on, configure.ac): Likewise.
5396         * modules/unictype/ctype-blank (Depends-on, configure.ac): Likewise.
5397         * modules/unictype/ctype-cntrl (Depends-on, configure.ac): Likewise.
5398         * modules/unictype/ctype-digit (Depends-on, configure.ac): Likewise.
5399         * modules/unictype/ctype-graph (Depends-on, configure.ac): Likewise.
5400         * modules/unictype/ctype-lower (Depends-on, configure.ac): Likewise.
5401         * modules/unictype/ctype-print (Depends-on, configure.ac): Likewise.
5402         * modules/unictype/ctype-punct (Depends-on, configure.ac): Likewise.
5403         * modules/unictype/ctype-space (Depends-on, configure.ac): Likewise.
5404         * modules/unictype/ctype-upper (Depends-on, configure.ac): Likewise.
5405         * modules/unictype/ctype-xdigit (Depends-on, configure.ac): Likewise.
5406         * modules/unictype/property-alphabetic (Depends-on, configure.ac):
5407         Likewise.
5408         * modules/unictype/property-ascii-hex-digit (Depends-on,
5409         configure.ac): Likewise.
5410         * modules/unictype/property-bidi-arabic-digit (Depends-on,
5411         configure.ac): Likewise.
5412         * modules/unictype/property-bidi-arabic-right-to-left (Depends-on,
5413         configure.ac): Likewise.
5414         * modules/unictype/property-bidi-block-separator (Depends-on,
5415         configure.ac): Likewise.
5416         * modules/unictype/property-bidi-boundary-neutral (Depends-on,
5417         configure.ac): Likewise.
5418         * modules/unictype/property-bidi-common-separator (Depends-on,
5419         configure.ac): Likewise.
5420         * modules/unictype/property-bidi-control (Depends-on, configure.ac):
5421         Likewise.
5422         * modules/unictype/property-bidi-embedding-or-override (Depends-on,
5423         configure.ac): Likewise.
5424         * modules/unictype/property-bidi-eur-num-separator (Depends-on,
5425         configure.ac): Likewise.
5426         * modules/unictype/property-bidi-eur-num-terminator (Depends-on,
5427         configure.ac): Likewise.
5428         * modules/unictype/property-bidi-european-digit (Depends-on,
5429         configure.ac): Likewise.
5430         * modules/unictype/property-bidi-hebrew-right-to-left (Depends-on,
5431         configure.ac): Likewise.
5432         * modules/unictype/property-bidi-left-to-right (Depends-on,
5433         configure.ac): Likewise.
5434         * modules/unictype/property-bidi-non-spacing-mark (Depends-on,
5435         configure.ac): Likewise.
5436         * modules/unictype/property-bidi-other-neutral (Depends-on,
5437         configure.ac): Likewise.
5438         * modules/unictype/property-bidi-pdf (Depends-on, configure.ac):
5439         Likewise.
5440         * modules/unictype/property-bidi-segment-separator (Depends-on,
5441         configure.ac): Likewise.
5442         * modules/unictype/property-bidi-whitespace (Depends-on,
5443         configure.ac): Likewise.
5444         * modules/unictype/property-combining (Depends-on, configure.ac):
5445         Likewise.
5446         * modules/unictype/property-composite (Depends-on, configure.ac):
5447         Likewise.
5448         * modules/unictype/property-currency-symbol (Depends-on,
5449         configure.ac): Likewise.
5450         * modules/unictype/property-dash (Depends-on, configure.ac): Likewise.
5451         * modules/unictype/property-decimal-digit (Depends-on, configure.ac):
5452         Likewise.
5453         * modules/unictype/property-default-ignorable-code-point (Depends-on,
5454         configure.ac): Likewise.
5455         * modules/unictype/property-deprecated (Depends-on, configure.ac):
5456         Likewise.
5457         * modules/unictype/property-diacritic (Depends-on, configure.ac):
5458         Likewise.
5459         * modules/unictype/property-extender (Depends-on, configure.ac):
5460         Likewise.
5461         * modules/unictype/property-format-control (Depends-on, configure.ac):
5462         Likewise.
5463         * modules/unictype/property-grapheme-base (Depends-on, configure.ac):
5464         Likewise.
5465         * modules/unictype/property-grapheme-extend (Depends-on, configure.ac):
5466         Likewise.
5467         * modules/unictype/property-grapheme-link (Depends-on, configure.ac):
5468         Likewise.
5469         * modules/unictype/property-hex-digit (Depends-on, configure.ac):
5470         Likewise.
5471         * modules/unictype/property-hyphen (Depends-on, configure.ac):
5472         Likewise.
5473         * modules/unictype/property-id-continue (Depends-on, configure.ac):
5474         Likewise.
5475         * modules/unictype/property-id-start (Depends-on, configure.ac):
5476         Likewise.
5477         * modules/unictype/property-ideographic (Depends-on, configure.ac):
5478         Likewise.
5479         * modules/unictype/property-ids-binary-operator (Depends-on,
5480         configure.ac): Likewise.
5481         * modules/unictype/property-ids-trinary-operator (Depends-on,
5482         configure.ac): Likewise.
5483         * modules/unictype/property-ignorable-control (Depends-on,
5484         configure.ac): Likewise.
5485         * modules/unictype/property-iso-control (Depends-on, configure.ac):
5486         Likewise.
5487         * modules/unictype/property-join-control (Depends-on, configure.ac):
5488         Likewise.
5489         * modules/unictype/property-left-of-pair (Depends-on, configure.ac):
5490         Likewise.
5491         * modules/unictype/property-line-separator (Depends-on, configure.ac):
5492         Likewise.
5493         * modules/unictype/property-logical-order-exception (Depends-on,
5494         configure.ac): Likewise.
5495         * modules/unictype/property-lowercase (Depends-on, configure.ac):
5496         Likewise.
5497         * modules/unictype/property-math (Depends-on, configure.ac): Likewise.
5498         * modules/unictype/property-non-break (Depends-on, configure.ac):
5499         Likewise.
5500         * modules/unictype/property-not-a-character (Depends-on, configure.ac):
5501         Likewise.
5502         * modules/unictype/property-numeric (Depends-on, configure.ac):
5503         Likewise.
5504         * modules/unictype/property-other-alphabetic (Depends-on,
5505         configure.ac): Likewise.
5506         * modules/unictype/property-other-default-ignorable-code-point
5507         (Depends-on, configure.ac): Likewise.
5508         * modules/unictype/property-other-grapheme-extend (Depends-on,
5509         configure.ac): Likewise.
5510         * modules/unictype/property-other-id-continue (Depends-on,
5511         configure.ac): Likewise.
5512         * modules/unictype/property-other-id-start (Depends-on, configure.ac):
5513         Likewise.
5514         * modules/unictype/property-other-lowercase (Depends-on, configure.ac):
5515         Likewise.
5516         * modules/unictype/property-other-math (Depends-on, configure.ac):
5517         Likewise.
5518         * modules/unictype/property-other-uppercase (Depends-on, configure.ac):
5519         Likewise.
5520         * modules/unictype/property-paired-punctuation (Depends-on,
5521         configure.ac): Likewise.
5522         * modules/unictype/property-paragraph-separator (Depends-on,
5523         configure.ac): Likewise.
5524         * modules/unictype/property-pattern-syntax (Depends-on, configure.ac):
5525         Likewise.
5526         * modules/unictype/property-pattern-white-space (Depends-on,
5527         configure.ac): Likewise.
5528         * modules/unictype/property-private-use (Depends-on, configure.ac):
5529         Likewise.
5530         * modules/unictype/property-punctuation (Depends-on, configure.ac):
5531         Likewise.
5532         * modules/unictype/property-quotation-mark (Depends-on, configure.ac):
5533         Likewise.
5534         * modules/unictype/property-radical (Depends-on, configure.ac):
5535         Likewise.
5536         * modules/unictype/property-sentence-terminal (Depends-on,
5537         configure.ac): Likewise.
5538         * modules/unictype/property-soft-dotted (Depends-on, configure.ac):
5539         Likewise.
5540         * modules/unictype/property-space (Depends-on, configure.ac): Likewise.
5541         * modules/unictype/property-terminal-punctuation (Depends-on,
5542         configure.ac): Likewise.
5543         * modules/unictype/property-titlecase (Depends-on, configure.ac):
5544         Likewise.
5545         * modules/unictype/property-unassigned-code-value (Depends-on,
5546         configure.ac): Likewise.
5547         * modules/unictype/property-unified-ideograph (Depends-on,
5548         configure.ac): Likewise.
5549         * modules/unictype/property-uppercase (Depends-on, configure.ac):
5550         Likewise.
5551         * modules/unictype/property-variation-selector (Depends-on,
5552         configure.ac): Likewise.
5553         * modules/unictype/property-white-space (Depends-on, configure.ac):
5554         Likewise.
5555         * modules/unictype/property-xid-continue (Depends-on, configure.ac):
5556         Likewise.
5557         * modules/unictype/property-xid-start (Depends-on, configure.ac):
5558         Likewise.
5559         * modules/unictype/property-zero-width (Depends-on, configure.ac):
5560         Likewise.
5561         * modules/unictype/syntax-c-ident (Depends-on, configure.ac): Likewise.
5562         * modules/unictype/syntax-java-ident (Depends-on, configure.ac):
5563         Likewise.
5564
5565 2009-12-31  Bruno Haible  <bruno@clisp.org>
5566
5567         Remove unnecessary AC_C_INLINE invocation.
5568         * m4/popen.m4 (gl_PREREQ_POPEN): Don't invoke AC_C_INLINE. Not needed
5569         since 2009-08-21.
5570
5571 2009-12-31  Jim Meyering  <meyering@redhat.com>
5572
5573         maint.mk: don't require explicit gpg_key_ID in cfg.mk
5574         * top/maint.mk (gpg_key_ID): Derive key ID from signed release tag.
5575         With this change, we can all remove the gpg_key_ID = ... definition
5576         from our respective cfg.mk files.
5577
5578         maint.mk: create announcement template in ~/, not in /tmp
5579         * top/maint.mk (emit_upload_commands): Adjust.
5580         (release-prep): Emit into ~/announce-..., not /tmp/announce-...
5581         Remove temporary file, .ci-msg.
5582
5583 2009-12-31  Eric Blake  <ebb9@byu.net>
5584
5585         link-warning: always build headers with link warnings
5586         * modules/arpa_inet (Makefile.am): Always build replacement
5587         header.
5588         * modules/ctype (Makefile.am): Likewise.
5589         * modules/dirent (Makefile.am): Likewise.
5590         * modules/inttypes (Makefile.am): Likewise.
5591         * modules/langinfo (Makefile.am): Likewise.
5592         * modules/locale (Makefile.am): Likewise.
5593         * modules/spawn (Makefile.am): Likewise.
5594         * modules/sys_file (Makefile.am): Likewise.
5595         * modules/sys_ioctl (Makefile.am): Likewise.
5596         * modules/sys_select (Makefile.am): Likewise.
5597         * modules/sys_socket (Makefile.am): Likewise.
5598         * modules/sys_times (Makefile.am): Likewise.
5599         * modules/sys_utsname (Makefile.am): Likewise.
5600         * modules/sys_wait (Makefile.am): Likewise.
5601         * modules/wchar (Makefile.am): Likewise.
5602         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET)
5603         (gl_ARPA_INET_H_DEFAULTS): Drop unneeded variable.
5604         * m4/ctype.m4 (gl_CTYPE_H_DEFAULTS): Likewise.
5605         * m4/isblank.m4 (gl_FUNC_ISBLANK): Likewise.
5606         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H, gl_DIRENT_H_DEFAULTS):
5607         Likewise.
5608         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
5609         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
5610         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_H_DEFAULTS):
5611         Likewise.
5612         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H, gl_SPAWN_H_DEFAULTS):
5613         Likewise.
5614         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
5615         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H, gl_REPLACE_SYS_IOCTL_H)
5616         (gl_SYS_IOCTL_H_DEFAULTS): Likewise.
5617         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
5618         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
5619         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
5620         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
5621         * m4/wchar.m4 (gl_WCHAR_H, gl_REPLACE_WCHAR_H)
5622         (gl_WCHAR_H_DEFAULTS): Likewise.
5623
5624 2009-12-31  Eric Blake  <ebb9@byu.net>
5625
5626         signal, spawn: use link warnings
5627         * lib/signal.in.h (sigset_t): Make unconditional.
5628         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset)
5629         (sigpending, sigprocmask, sigaction): Add link warnings.
5630         * lib/spawn.in.h (posix_spawn, posix_spawnp, posix_spawnattr_init)
5631         (posix_spawnattr_destroy, posix_spawnattr_getsigdefault)
5632         (posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask)
5633         (posix_spawnattr_setsigmask, posix_spawnattr_getflags)
5634         (posix_spawnattr_setflags, posix_spawnattr_getpgroup)
5635         (posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy)
5636         (posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam)
5637         (posix_spawnattr_setschedparam, posix_spawn_file_actions_init)
5638         (posix_spawn_file_actions_destroy)
5639         (posix_spawn_file_actions_addopen)
5640         (posix_spawn_file_actions_addclose)
5641         (posix_spawn_file_actions_adddup2): Likewise.
5642         * m4/signal_h.m4 (gl_SIGNAL_H): Guarantee uid_t.
5643         * tests/test-signal.c (main): Enhance test.
5644
5645         spawn: improve wrapper support
5646         * m4/spawn_h.m4 (gl_SPAWN_H): Check for type existence.
5647         (gl_SPAWN_H_DEFAULTS): New defaults.
5648         * modules/spawn (Makefile.am): Substitute them.
5649         * lib/spawn.in.h: (posix_spawnattr_t, posix_spawn_file_actions_t):
5650         Only declare if missing or broken.
5651
5652         sys_times, sys_utsname: use include_next
5653         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Support wrapping an existing
5654         header.
5655         (gl_SYS_TIMES_H_DEFAULTS): Add another variable.
5656         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
5657         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
5658         * modules/sys_times (Depends-on): Add include_next.
5659         (Makefile.am): Substitute additional values.
5660         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
5661         * lib/sys_times.in.h (includes): Include native header, if
5662         available.
5663         * lib/sys_utsname.in.h (includes): Likewise.
5664         * tests/test-sys_times.c (main): Enhance test.
5665
5666         fdutimensat: revert prior patch
5667         * modules/fdutimensat (Depends-on): Re-add inline; it is needed by
5668         utimens.h.
5669         Reported by Bruno Haible.
5670
5671 2009-12-30  Eric Blake  <ebb9@byu.net>
5672
5673         sys_wait: drop link-warning dependency
5674         * modules/sys_wait (Depends-on, Makefile.am): Drop unneeded
5675         link-warning efforts.
5676         * lib/sys_wait.in.h: Likewise.
5677
5678         fdutimensat: remove bogus dependency
5679         * modules/fdutimensat (Depends-on): Drop inline.
5680
5681         unistd: fix typo
5682         * lib/unistd.in.h (linkat) [GNULIB_POSIXCHECK]: Fix typo.
5683
5684 2009-12-30  Bruno Haible  <bruno@clisp.org>
5685
5686         Fix compilation error with Solaris cc.
5687         * lib/unicase/u8-is-invariant.c: Include <stdbool.h>.
5688         * lib/unicase/u16-is-invariant.c: Likewise.
5689         * lib/unicase/u32-is-invariant.c: Likewise.
5690         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
5691
5692 2009-12-30  Bruno Haible  <bruno@clisp.org>
5693
5694         Fix test crash.
5695         * tests/test-localename.c (test_locale_name_thread): Skip unavailable
5696         locales.
5697         Reported by Simon Josefsson <simon@josefsson.org>.
5698
5699 2009-12-30  Bruno Haible  <bruno@clisp.org>
5700
5701         Fix compilation error on most platforms.
5702         * tests/test-localename.c (categories): Define only if HAVE_NEWLOCALE.
5703         Reported by Simon Josefsson <simon@josefsson.org>
5704         and Nelson H. F. Beebe <beebe@math.utah.edu>.
5705
5706 2009-12-30  Eric Blake  <ebb9@byu.net>
5707
5708         futimens, utimensat: work around ntfs-3g bug
5709         * lib/utimensat.c (rpl_utimensat): Drop attempts to cache whether
5710         a ctime bug is present, and expand workaround to cover ntfs-3g.
5711         * lib/utimens.c (fdutimens, lutimens): Likewise.
5712         (utimensat_ctime_really, detect_ctime_bug): Drop cache mechanism.
5713         (validate_timespec): Adjust return value.
5714         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Update comment.
5715         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
5716         Reported by ctrn3e8 <ctrn3e8@gmail.com>.
5717
5718 2009-12-29  Eric Blake  <ebb9@byu.net>
5719
5720         link-warning: make usage consistent
5721         * modules/ctype (Depends-on): Add link-warning.
5722         (Makefile.am): Update rules accordingly.
5723         * modules/langinfo (Depends-on, Makefile.am): Likewise.
5724         * modules/locale (Depends-on, Makefile.am): Likewise.
5725         * modules/sys_file (Makefile.am): Likewise.
5726         * modules/getopt-posix (Makefile.am): Delete unused link warning
5727         efforts.
5728         * lib/ctype.in.h (GL_LINK_WARNING): Ensure definition before use.
5729         * lib/langinfo.in.h (GL_LINK_WARNING): Likewise.
5730         * lib/locale.in.h (GL_LINK_WARNING): Likewise.
5731         * lib/sys_file.in.h (GL_LINK_WARNING): Likewise.
5732
5733         stdio: remove unused variables
5734         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Remove unused variables.
5735         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
5736         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
5737
5738         tests: test more substitute headers
5739         * modules/ctype-tests: New file.
5740         * modules/dirent-tests: Likewise.
5741         * modules/spawn-tests: Likewise.
5742         * modules/sys_file-tests: Likewise.
5743         * modules/sys_ioctl-tests: Likewise.
5744         * modules/sys_wait-tests: Likewise.
5745         * tests/test-ctype.c: Likewise.
5746         * tests/test-dirent.c: Likewise.
5747         * tests/test-spawn.c: Likewise.
5748         * tests/test-sys_file.c: Likewise.
5749         * tests/test-sys_ioctl.c: Likewise.
5750         * tests/test-sys_wait.c: Likewise.
5751         * m4/spawn_h.m4 (gl_SPAWN_H): Replace header if it is missing.
5752         * lib/sys_file.in.h (LOCK_SH, LOCK_EX, LOCK_UN, LOCK_NB): Provide
5753         whether or not flock is in use.
5754
5755         tests: remove License section from module
5756         * modules/arpa_inet-tests: Remove unneeded section.
5757         * modules/byteswap-tests: Likewise.
5758         * modules/ceilf-tests: Likewise.
5759         * modules/ceill-tests: Likewise.
5760         * modules/crypto/des-tests: Likewise.
5761         * modules/crypto/gc-arcfour-tests: Likewise.
5762         * modules/crypto/gc-arctwo-tests: Likewise.
5763         * modules/crypto/gc-des-tests: Likewise.
5764         * modules/crypto/gc-hmac-md5-tests: Likewise.
5765         * modules/crypto/gc-hmac-sha1-tests: Likewise.
5766         * modules/crypto/gc-md2-tests: Likewise.
5767         * modules/crypto/gc-md4-tests: Likewise.
5768         * modules/crypto/gc-md5-tests: Likewise.
5769         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
5770         * modules/crypto/gc-rijndael-tests: Likewise.
5771         * modules/crypto/gc-sha1-tests: Likewise.
5772         * modules/crypto/gc-tests: Likewise.
5773         * modules/crypto/md2-tests: Likewise.
5774         * modules/crypto/md4-tests: Likewise.
5775         * modules/fcntl-h-tests: Likewise.
5776         * modules/floorf-tests: Likewise.
5777         * modules/floorl-tests: Likewise.
5778         * modules/frexp-nolibm-tests: Likewise.
5779         * modules/frexp-tests: Likewise.
5780         * modules/frexpl-nolibm-tests: Likewise.
5781         * modules/frexpl-tests: Likewise.
5782         * modules/getaddrinfo-tests: Likewise.
5783         * modules/inttypes-tests: Likewise.
5784         * modules/isfinite-tests: Likewise.
5785         * modules/isinf-tests: Likewise.
5786         * modules/ldexpl-tests: Likewise.
5787         * modules/locale-tests: Likewise.
5788         * modules/math-tests: Likewise.
5789         * modules/netdb-tests: Likewise.
5790         * modules/netinet_in-tests: Likewise.
5791         * modules/printf-frexp-tests: Likewise.
5792         * modules/printf-frexpl-tests: Likewise.
5793         * modules/priv-set-tests: Likewise.
5794         * modules/random_r-tests: Likewise.
5795         * modules/round-tests: Likewise.
5796         * modules/roundf-tests: Likewise.
5797         * modules/roundl-tests: Likewise.
5798         * modules/search-tests: Likewise.
5799         * modules/select-tests: Likewise.
5800         * modules/signal-tests: Likewise.
5801         * modules/stdbool-tests: Likewise.
5802         * modules/stddef-tests: Likewise.
5803         * modules/stdint-tests: Likewise.
5804         * modules/stdio-tests: Likewise.
5805         * modules/stdlib-tests: Likewise.
5806         * modules/string-tests: Likewise.
5807         * modules/strings-tests: Likewise.
5808         * modules/sys_select-tests: Likewise.
5809         * modules/sys_socket-tests: Likewise.
5810         * modules/sys_stat-tests: Likewise.
5811         * modules/sys_time-tests: Likewise.
5812         * modules/sys_utsname-tests: Likewise.
5813         * modules/sysexits-tests: Likewise.
5814         * modules/time-tests: Likewise.
5815         * modules/trunc-tests: Likewise.
5816         * modules/truncf-tests: Likewise.
5817         * modules/truncl-tests: Likewise.
5818         * modules/tsearch-tests: Likewise.
5819         * modules/unistd-tests: Likewise.
5820         * modules/wchar-tests: Likewise.
5821         * modules/wctype-tests: Likewise.
5822
5823         tests: fix license on several tests
5824         * tests/test-des.c: Update to GPLv3+.
5825         * tests/test-flock.c: Likewise.
5826         * tests/test-fsync.c: Likewise.
5827         * tests/test-futimens.h: Likewise.
5828         * tests/test-gc-arcfour.c: Likewise.
5829         * tests/test-gc-arctwo.c: Likewise.
5830         * tests/test-gc-des.c: Likewise.
5831         * tests/test-gc-hmac-md5.c: Likewise.
5832         * tests/test-gc-hmac-sha1.c: Likewise.
5833         * tests/test-gc-md2.c: Likewise.
5834         * tests/test-gc-md4.c: Likewise.
5835         * tests/test-gc-md5.c: Likewise.
5836         * tests/test-gc-pbkdf2-sha1.c: Likewise.
5837         * tests/test-gc-rijndael.c: Likewise.
5838         * tests/test-gc-sha1.c: Likewise.
5839         * tests/test-gc.c: Likewise.
5840         * tests/test-getcwd.c: Likewise.
5841         * tests/test-link.c: Likewise.
5842         * tests/test-link.h: Likewise.
5843         * tests/test-lutimens.h: Likewise.
5844         * tests/test-md2.c: Likewise.
5845         * tests/test-md4.c: Likewise.
5846         * tests/test-mkdir.h: Likewise.
5847         * tests/test-rename.c: Likewise.
5848         * tests/test-rename.h: Likewise.
5849         * tests/test-safe-alloc.c: Likewise.
5850         * tests/test-utimens-common.h: Likewise.
5851         * tests/test-utimens.h: Likewise.
5852
5853         maint: sync license texts
5854         * config/srclist.txt: Add gpl-1.3.texi, lgpl-1.3.texi.
5855         * doc/gpl-3.0.texi: Revert copyright year update.
5856         * doc/lgpl-3.0.texi: Likewise.
5857
5858 2009-12-29  Jim Meyering  <meyering@redhat.com>
5859
5860         update nearly all FSF copyright year lists to include 2009
5861         The files named by the following are exempted:
5862             grep -v '^#' config/srclist.txt|grep -v '^$' | while read src dst; do
5863               test -f "$dst" && { echo "$dst"; continue; }
5864               test -d "$dst" || continue
5865               echo "$dst"/$(basename "$src")
5866             done > exempt
5867             git ls-files tests/unictype >> exempt
5868         In the remaining files, convert to all-interval notation if
5869         - there is already at least one year interval like 2000-2003
5870         - the file is maintained by me
5871         - the file is in lib/uni*/, where that style already prevails
5872         Otherwise, use update-copyright's default.
5873
5874 2009-12-29  Simon Josefsson  <simon@josefsson.org>
5875         and Eric Blake  <ebb9@byu.net>
5876
5877         tests: don't require debug system() to pass
5878         * tests/test-lstat.h (test_lstat_func): Move debug cleanup...
5879         * tests/test-rmdir.h (test_rmdir_func): Likewise.
5880         * tests/test-unlink.h (test_unlink_func): Likewise.
5881         * tests/test-fstatat.c (main): ...into callers.
5882         * tests/test-lstat.c (main): Likewise.
5883         * tests/test-rmdir.c (main): Likewise.
5884         * tests/test-unlink.c (main): Likewise.
5885         * tests/test-unlinkat.c (main): Likewise.
5886         * tests/test-areadlink-with-size.c (main): Don't require a
5887         debug-only system call to pass, aiding cross-testing to mingw.
5888         * tests/test-areadlink.c (main): Likewise.
5889         * tests/test-areadlinkat-with-size.c (main): Likewise.
5890         * tests/test-areadlinkat.c (main): Likewise.
5891         * tests/test-canonicalize-lgpl.c (main): Likewise.
5892         * tests/test-canonicalize.c (main): Likewise.
5893         * tests/test-chown.c (main): Likewise.
5894         * tests/test-fchownat.c (main): Likewise.
5895         * tests/test-lchown.c (main): Likewise.
5896         * tests/test-fdutimensat.c (main): Likewise.
5897         * tests/test-futimens.c (main): Likewise.
5898         * tests/test-link.c (main): Likewise.
5899         * tests/test-linkat.c (main): Likewise.
5900         * tests/test-mkdir.c (main): Likewise.
5901         * tests/test-mkdirat.c (main): Likewise.
5902         * tests/test-mkfifo.c (main): Likewise.
5903         * tests/test-mkfifoat.c (main): Likewise.
5904         * tests/test-mknod.c (main): Likewise.
5905         * tests/test-readlink.c (main): Likewise.
5906         * tests/test-remove.c (main): Likewise.
5907         * tests/test-rename.c (main): Likewise.
5908         * tests/test-renameat.c (main): Likewise.
5909         * tests/test-symlink.c (main): Likewise.
5910         * tests/test-symlinkat.c (main): Likewise.
5911         * tests/test-utimens.c (main): Likewise.
5912         * tests/test-utimensat.c (main): Likewise.
5913
5914 2009-12-29  Simon Josefsson  <simon@josefsson.org>
5915
5916         * modules/selinux-h (selinux/selinux.h, selinux/context.h): Depend
5917         on $(UNUSED_PARAMETER_H) to avoid build failure.
5918
5919 2009-12-28  Jim Meyering  <meyering@redhat.com>
5920
5921         update-copyright: you may specify a max. line length other than 72
5922         * build-aux/update-copyright: Honor $UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
5923
5924         maint: use consistent FSF copyright line syntax
5925         * lib/posixtm.c: Add missing comma in FSF copyright line.
5926         * lib/posixtm.h: Likewise.
5927         * lib/getugroups.c: Add missing ", Inc.".
5928
5929         pmccabe2html: emit consistent FSF copyright; remove trailing blanks
5930         * build-aux/pmccabe2html: Insert comma before "Inc." in emitted
5931         FSF copyright line.  Remove trailing blanks.
5932
5933 2009-12-28  Eric Blake  <ebb9@byu.net>
5934
5935         test-dup2: reduce dependencies
5936         * modules/cloexec (Configure.ac): Set witness.
5937         * modules/dup2-tests (Depends-on): Drop cloexec.
5938         * tests/test-dup2.c (main): Skip portion of test if cloexec module
5939         not present.
5940         Suggested by Bruno Haible.
5941
5942 2009-12-26  Bruno Haible  <bruno@clisp.org>
5943
5944         Remove an unneeded dependency.
5945         * modules/fseterr (Depends-on): Remove dup2.
5946
5947 2009-12-26  Eric Blake  <ebb9@byu.net>
5948
5949         tests: use macros.h in more places
5950         * tests/macros.h (ASSERT): Depend on ASSERT_STREAM.
5951         (ASSERT_STREAM): Provide default of stderr.
5952         * tests/test-dirent-safer.c: Include macros.h, using alternate
5953         stream for assertions.
5954         * tests/test-dup-safer.c: Likewise.
5955         * tests/test-freopen-safer.c: Likewise.
5956         * tests/test-getopt.c: Likewise.
5957         * tests/test-openat-safer.c: Likewise.
5958         * tests/test-pipe.c: Likewise.
5959         * tests/test-popen-safer.c: Likewise.
5960         * modules/dirent-safer-tests (Files): Include macros.h.
5961         * modules/unistd-safer-tests (Files): Likewise.
5962         * modules/freopen-safer-tests (Files): Likewise.
5963         * modules/getopt-posix-tests (Files): Likewise.
5964         * modules/openat-safer-tests (Files): Likewise.
5965         * modules/pipe-tests (Files): Likewise.
5966
5967 2009-12-26  Bruno Haible  <bruno@clisp.org>
5968
5969         javacomp: Portability fix.
5970         * m4/javacomp.m4 (gt_JAVACOMP): Fix creation of conftestver.class so
5971         that it also works on Solaris.
5972
5973 2009-12-26  Bruno Haible  <bruno@clisp.org>
5974
5975         localename: Fix storage allocation of gl_locale_name_thread's result.
5976         * lib/localename.c (SIZE_BITS, string_hash, struct hash_node,
5977         HASH_TABLE_SIZE, struniq_hash_table, struniq_lock, struniq): Define on
5978         all platforms that have 'uselocale'.
5979         (gl_locale_name_thread_unsafe): New function, extracted from
5980         gl_locale_name_thread.
5981         (gl_locale_name_thread): Call struniq on all platforms that have
5982         'uselocale'.
5983         * tests/test-localename.c (test_locale_name_thread): Check that the
5984         resulting strings are permanently allocated.
5985         * modules/localename-tests (Depends-on): Add strdup.
5986
5987 2009-12-26  Bruno Haible  <bruno@clisp.org>
5988
5989         * tests/test-localename.c (categories): Fill in the strings.
5990
5991 2009-12-26  Jim Meyering  <meyering@redhat.com>
5992
5993         isdir: complete the removal of m4/isdir.m4
5994         * modules/isdir (configure.ac): Remove reference to gl_ISDIR.
5995
5996         isdir: clean up, since at least grep still uses it
5997         * lib/isdir.c: Include "isdir.h".
5998         (S_ISDIR): Remove now-unneeded definition.
5999         * modules/isdir (Files): Add lib/isdir.h.
6000         * lib/isdir.h: New file, with declaration.
6001         * m4/isdir.m4: Remove file -- unneeded.
6002
6003 2009-12-25  Bruno Haible  <bruno@clisp.org>
6004
6005         selinux-h: Make generated .h files standalone.
6006         * lib/se-context.in.h: Arrange to include _GL_UNUSED_PARAMETER
6007         definition. Use _GL_UNUSED_PARAMETER instead of _GL_UNUSED.
6008         * lib/se-selinux.in.h: Likewise.
6009         * modules/selinux-h (Depends-on): Add unused-parameter.
6010         (Makefile.am): Insert definition of _GL_UNUSED_PARAMETER into
6011         selinux/selinux.h and selinux/context.h.
6012         Suggested by Eric Blake.
6013
6014 2009-12-25  Bruno Haible  <bruno@clisp.org>
6015
6016         Move gl_FCNTL_O_FLAGS to a separate .m4 file.
6017         * m4/fcntl-o.m4: New file, extracted from m4/fcntl_h.m4.
6018         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): Remove macro.
6019         * modules/fcntl-h (Files): Add m4/fcntl-o.m4.
6020         * modules/localcharset (Files): Likewise. Remove m4/fcntl_h.m4.
6021
6022 2009-12-24  Bruno Haible  <bruno@clisp.org>
6023
6024         openat: Fix warning.
6025         * lib/openat-proc.c: Include <unistd.h>.
6026
6027 2009-12-24  Bruno Haible  <bruno@clisp.org>
6028
6029         New module 'unused-parameter'.
6030         * build-aux/unused-parameter.h: New file, extracted from earlier
6031         gnulib-common.m4.
6032         * modules/unused-parameter: New file.
6033         * lib/unistr.h: Include unused-parameter.h.
6034         (u32_mbtouc_unsafe, u32_mbtouc): Use _GL_UNUSED_PARAMETER instead of
6035         _GL_UNUSED.
6036         * modules/unistr/base (Depends-on): Add unused-parameter.
6037
6038 2009-12-24  Bruno Haible  <bruno@clisp.org>
6039
6040         Add missing dependencies to 'extensions' module.
6041         * m4/extensions.m4: Add comment.
6042         * modules/accept4 (Depends-on): Add extensions.
6043         * modules/dup3 (Depends-on): Likewise.
6044         * modules/fcntl (Depends-on): Likewise.
6045         * modules/futimens (Depends-on): Likewise.
6046         * modules/mknod (Depends-on): Likewise.
6047         * modules/pipe2 (Depends-on): Likewise.
6048         * modules/stat-time (Depends-on): Likewise.
6049         * modules/strcasestr-simple (Depends-on): Likewise.
6050         * modules/strsignal (Depends-on): Likewise.
6051         * modules/utimensat (Depends-on): Likewise.
6052         * modules/localcharset (Depends-on): Likewise. Needed because of
6053         gl_FCNTL_O_FLAGS.
6054         * modules/wcrtomb (Depends-on): Likewise. Needed because of
6055         AC_TYPE_MBSTATE_T.
6056         * modules/wcsnrtombs (Depends-on): Likewise.
6057         * modules/wcsrtombs (Depends-on): Likewise.
6058
6059 2009-12-24  Bruno Haible  <bruno@clisp.org>
6060
6061         binary-io: Avoid gcc warning due to SET_BINARY.
6062         * lib/binary-io.h (SET_BINARY): Cast the result to void.
6063         Reported by Jim Meyering <jim@meyering.net>. Suggestion by Eric Blake.
6064
6065 2009-12-24  Bruno Haible  <bruno@clisp.org>
6066
6067         Avoid future namespace pollution on glibc systems.
6068         * lib/arpa_inet.in.h: Don't include <sys/socket.h> on glibc systems.
6069         * lib/sys_ioctl.in.h: Don't include <unistd.h> on glibc systems.
6070         * lib/sys_select.in.h: Don't include <sys/time.h> and <string.h> on
6071         glibc systems.
6072
6073 2009-12-24  Bruno Haible  <bruno@clisp.org>
6074
6075         Refactor common macros used in tests.
6076         * tests/macros.h: New file.
6077         * tests/test-areadlink.c: Include macros.h. Don't include <stdio.h>
6078         and/or <stdlib.h>, if appropriate.
6079         (ASSERT, SIZEOF): Remove macros.
6080         * tests/test-areadlink-with-size.c: Likewise.
6081         * tests/test-areadlinkat.c: Likewise.
6082         * tests/test-areadlinkat-with-size.c: Likewise.
6083         * tests/test-argmatch.c: Likewise.
6084         * tests/test-argv-iter.c: Likewise.
6085         * tests/test-array-mergesort.c: Likewise.
6086         * tests/test-array_list.c: Likewise.
6087         * tests/test-array_oset.c: Likewise.
6088         * tests/test-avltree_list.c: Likewise.
6089         * tests/test-avltree_oset.c: Likewise.
6090         * tests/test-avltreehash_list.c: Likewise.
6091         * tests/test-base64.c: Likewise.
6092         * tests/test-binary-io.c: Likewise.
6093         * tests/test-bitrotate.c: Likewise.
6094         * tests/test-btowc.c: Likewise.
6095         * tests/test-byteswap.c: Likewise.
6096         * tests/test-c-ctype.c: Likewise.
6097         * tests/test-c-stack.c: Likewise.
6098         * tests/test-c-strcasecmp.c: Likewise.
6099         * tests/test-c-strcasestr.c: Likewise.
6100         * tests/test-c-strncasecmp.c: Likewise.
6101         * tests/test-c-strstr.c: Likewise.
6102         * tests/test-canonicalize-lgpl.c: Likewise.
6103         * tests/test-canonicalize.c: Likewise.
6104         * tests/test-carray_list.c: Likewise.
6105         * tests/test-ceilf1.c: Likewise.
6106         * tests/test-ceilf2.c: Likewise.
6107         * tests/test-ceill.c: Likewise.
6108         * tests/test-chown.c: Likewise.
6109         * tests/test-cloexec.c: Likewise.
6110         * tests/test-copy-acl.c: Likewise.
6111         * tests/test-copy-file.c: Likewise.
6112         * tests/test-count-one-bits.c: Likewise.
6113         * tests/test-dprintf-posix.c: Likewise.
6114         * tests/test-dup2.c: Likewise.
6115         * tests/test-dup3.c: Likewise.
6116         * tests/test-duplocale.c: Likewise.
6117         * tests/test-fbufmode.c: Likewise.
6118         * tests/test-fchdir.c: Likewise.
6119         * tests/test-fchownat.c: Likewise.
6120         * tests/test-fcntl-safer.c: Likewise.
6121         * tests/test-fcntl.c: Likewise.
6122         * tests/test-fdopendir.c: Likewise.
6123         * tests/test-fdutimensat.c: Likewise.
6124         * tests/test-fflush2.c: Likewise.
6125         * tests/test-file-has-acl.c: Likewise.
6126         * tests/test-filevercmp.c: Likewise.
6127         * tests/test-flock.c: Likewise.
6128         * tests/test-floorf1.c: Likewise.
6129         * tests/test-floorf2.c: Likewise.
6130         * tests/test-floorl.c: Likewise.
6131         * tests/test-fnmatch.c: Likewise.
6132         * tests/test-fopen.h: Likewise.
6133         * tests/test-fpending.c: Likewise.
6134         * tests/test-fprintf-posix.c: Likewise.
6135         * tests/test-fpurge.c: Likewise.
6136         * tests/test-freadable.c: Likewise.
6137         * tests/test-freadahead.c: Likewise.
6138         * tests/test-freading.c: Likewise.
6139         * tests/test-freadptr.c: Likewise.
6140         * tests/test-freadptr2.c: Likewise.
6141         * tests/test-freadseek.c: Likewise.
6142         * tests/test-freopen.c: Likewise.
6143         * tests/test-frexp.c: Likewise.
6144         * tests/test-frexpl.c: Likewise.
6145         * tests/test-fseek.c: Likewise.
6146         * tests/test-fseeko.c: Likewise.
6147         * tests/test-fstatat.c: Likewise.
6148         * tests/test-fstrcmp.c: Likewise.
6149         * tests/test-fsync.c: Likewise.
6150         * tests/test-ftell.c: Likewise.
6151         * tests/test-ftello.c: Likewise.
6152         * tests/test-func.c: Likewise.
6153         * tests/test-futimens.c: Likewise.
6154         * tests/test-fwritable.c: Likewise.
6155         * tests/test-fwriting.c: Likewise.
6156         * tests/test-getcwd.c: Likewise.
6157         * tests/test-getdate.c: Likewise.
6158         * tests/test-getdelim.c: Likewise.
6159         * tests/test-getdtablesize.c: Likewise.
6160         * tests/test-getgroups.c: Likewise.
6161         * tests/test-getline.c: Likewise.
6162         * tests/test-getndelim2.c: Likewise.
6163         * tests/test-glob.c: Likewise.
6164         * tests/test-hash.c: Likewise.
6165         * tests/test-i-ring.c: Likewise.
6166         * tests/test-iconv-utf.c: Likewise.
6167         * tests/test-iconv.c: Likewise.
6168         * tests/test-idpriv-drop.c: Likewise.
6169         * tests/test-idpriv-droptemp.c: Likewise.
6170         * tests/test-inet_ntop.c: Likewise.
6171         * tests/test-inet_pton.c: Likewise.
6172         * tests/test-isblank.c: Likewise.
6173         * tests/test-isfinite.c: Likewise.
6174         * tests/test-isinf.c: Likewise.
6175         * tests/test-isnan.c: Likewise.
6176         * tests/test-isnand.h: Likewise.
6177         * tests/test-isnanf.h: Likewise.
6178         * tests/test-isnanl.h: Likewise.
6179         * tests/test-lchown.c: Likewise.
6180         * tests/test-ldexpl.c: Likewise.
6181         * tests/test-link.c: Likewise.
6182         * tests/test-linkat.c: Likewise.
6183         * tests/test-linked_list.c: Likewise.
6184         * tests/test-linkedhash_list.c: Likewise.
6185         * tests/test-localename.c: Likewise.
6186         * tests/test-lseek.c: Likewise.
6187         * tests/test-lstat.c: Likewise.
6188         * tests/test-mbmemcasecmp.c: Likewise.
6189         * tests/test-mbmemcasecoll.c: Likewise.
6190         * tests/test-mbrtowc.c: Likewise.
6191         * tests/test-mbscasecmp.c: Likewise.
6192         * tests/test-mbscasestr1.c: Likewise.
6193         * tests/test-mbscasestr2.c: Likewise.
6194         * tests/test-mbscasestr3.c: Likewise.
6195         * tests/test-mbscasestr4.c: Likewise.
6196         * tests/test-mbschr.c: Likewise.
6197         * tests/test-mbscspn.c: Likewise.
6198         * tests/test-mbsinit.c: Likewise.
6199         * tests/test-mbsncasecmp.c: Likewise.
6200         * tests/test-mbsnrtowcs.c: Likewise.
6201         * tests/test-mbspbrk.c: Likewise.
6202         * tests/test-mbspcasecmp.c: Likewise.
6203         * tests/test-mbsrchr.c: Likewise.
6204         * tests/test-mbsrtowcs.c: Likewise.
6205         * tests/test-mbsspn.c: Likewise.
6206         * tests/test-mbsstr1.c: Likewise.
6207         * tests/test-mbsstr2.c: Likewise.
6208         * tests/test-mbsstr3.c: Likewise.
6209         * tests/test-memchr.c: Likewise.
6210         * tests/test-memchr2.c: Likewise.
6211         * tests/test-memcmp.c: Likewise.
6212         * tests/test-memmem.c: Likewise.
6213         * tests/test-memrchr.c: Likewise.
6214         * tests/test-mkdir.c: Likewise.
6215         * tests/test-mkdirat.c: Likewise.
6216         * tests/test-mkfifo.c: Likewise.
6217         * tests/test-mkfifoat.c: Likewise.
6218         * tests/test-mknod.c: Likewise.
6219         * tests/test-nanosleep.c: Likewise.
6220         * tests/test-nl_langinfo.c: Likewise.
6221         * tests/test-obstack-printf.c: Likewise.
6222         * tests/test-open.c: Likewise.
6223         * tests/test-openat.c: Likewise.
6224         * tests/test-pipe-filter-gi1.c: Likewise.
6225         * tests/test-pipe-filter-gi2-main.c: Likewise.
6226         * tests/test-pipe-filter-ii1.c: Likewise.
6227         * tests/test-pipe-filter-ii2-main.c: Likewise.
6228         * tests/test-pipe2.c: Likewise.
6229         * tests/test-popen.h: Likewise.
6230         * tests/test-posixtm.c: Likewise.
6231         * tests/test-pread.c: Likewise.
6232         * tests/test-printf-frexp.c: Likewise.
6233         * tests/test-printf-frexpl.c: Likewise.
6234         * tests/test-printf-posix.c: Likewise.
6235         * tests/test-priv-set.c: Likewise.
6236         * tests/test-quotearg.c: Likewise.
6237         * tests/test-random_r.c: Likewise.
6238         * tests/test-rawmemchr.c: Likewise.
6239         * tests/test-rbtree_list.c: Likewise.
6240         * tests/test-rbtree_oset.c: Likewise.
6241         * tests/test-rbtreehash_list.c: Likewise.
6242         * tests/test-readlink.c: Likewise.
6243         * tests/test-remove.c: Likewise.
6244         * tests/test-rename.c: Likewise.
6245         * tests/test-renameat.c: Likewise.
6246         * tests/test-rmdir.c: Likewise.
6247         * tests/test-round1.c: Likewise.
6248         * tests/test-roundf1.c: Likewise.
6249         * tests/test-roundl.c: Likewise.
6250         * tests/test-safe-alloc.c: Likewise.
6251         * tests/test-sameacls.c: Likewise.
6252         * tests/test-set-mode-acl.c: Likewise.
6253         * tests/test-setenv.c: Likewise.
6254         * tests/test-sigaction.c: Likewise.
6255         * tests/test-signbit.c: Likewise.
6256         * tests/test-sleep.c: Likewise.
6257         * tests/test-snprintf-posix.c: Likewise.
6258         * tests/test-snprintf.c: Likewise.
6259         * tests/test-sprintf-posix.c: Likewise.
6260         * tests/test-stat-time.c: Likewise.
6261         * tests/test-stat.c: Likewise.
6262         * tests/test-strcasestr.c: Likewise.
6263         * tests/test-strchrnul.c: Likewise.
6264         * tests/test-strerror.c: Likewise.
6265         * tests/test-striconv.c: Likewise.
6266         * tests/test-striconveh.c: Likewise.
6267         * tests/test-striconveha.c: Likewise.
6268         * tests/test-strsignal.c: Likewise.
6269         * tests/test-strstr.c: Likewise.
6270         * tests/test-strtod.c: Likewise.
6271         * tests/test-strverscmp.c: Likewise.
6272         * tests/test-symlink.c: Likewise.
6273         * tests/test-symlinkat.c: Likewise.
6274         * tests/test-trunc1.c: Likewise.
6275         * tests/test-trunc2.c: Likewise.
6276         * tests/test-truncf1.c: Likewise.
6277         * tests/test-truncf2.c: Likewise.
6278         * tests/test-truncl.c: Likewise.
6279         * tests/test-uname.c: Likewise.
6280         * tests/test-unlink.c: Likewise.
6281         * tests/test-unlinkat.c: Likewise.
6282         * tests/test-unsetenv.c: Likewise.
6283         * tests/test-usleep.c: Likewise.
6284         * tests/test-utimens.c: Likewise.
6285         * tests/test-utimensat.c: Likewise.
6286         * tests/test-vasnprintf-posix.c: Likewise.
6287         * tests/test-vasnprintf-posix2.c: Likewise.
6288         * tests/test-vasnprintf.c: Likewise.
6289         * tests/test-vasprintf-posix.c: Likewise.
6290         * tests/test-vasprintf.c: Likewise.
6291         * tests/test-vdprintf-posix.c: Likewise.
6292         * tests/test-vfprintf-posix.c: Likewise.
6293         * tests/test-vprintf-posix.c: Likewise.
6294         * tests/test-vsnprintf-posix.c: Likewise.
6295         * tests/test-vsnprintf.c: Likewise.
6296         * tests/test-vsprintf-posix.c: Likewise.
6297         * tests/test-wcrtomb.c: Likewise.
6298         * tests/test-wcsnrtombs.c: Likewise.
6299         * tests/test-wcsrtombs.c: Likewise.
6300         * tests/test-wctype.c: Likewise.
6301         * tests/test-wcwidth.c: Likewise.
6302         * tests/test-xfprintf-posix.c: Likewise.
6303         * tests/test-xmemdup0.c: Likewise.
6304         * tests/test-xprintf-posix.c: Likewise.
6305         * tests/test-xvasprintf.c: Likewise.
6306         * tests/unicase/test-locale-language.c: Likewise.
6307         * tests/unicase/test-mapping-part1.h: Likewise.
6308         * tests/unicase/test-predicate-part1.h: Likewise.
6309         * tests/unicase/test-u8-casecmp.c: Likewise.
6310         * tests/unicase/test-u8-casecoll.c: Likewise.
6311         * tests/unicase/test-u8-casefold.c: Likewise.
6312         * tests/unicase/test-u8-is-cased.c: Likewise.
6313         * tests/unicase/test-u8-is-casefolded.c: Likewise.
6314         * tests/unicase/test-u8-is-lowercase.c: Likewise.
6315         * tests/unicase/test-u8-is-titlecase.c: Likewise.
6316         * tests/unicase/test-u8-is-uppercase.c: Likewise.
6317         * tests/unicase/test-u8-tolower.c: Likewise.
6318         * tests/unicase/test-u8-totitle.c: Likewise.
6319         * tests/unicase/test-u8-toupper.c: Likewise.
6320         * tests/unicase/test-u16-casecmp.c: Likewise.
6321         * tests/unicase/test-u16-casecoll.c: Likewise.
6322         * tests/unicase/test-u16-casefold.c: Likewise.
6323         * tests/unicase/test-u16-is-cased.c: Likewise.
6324         * tests/unicase/test-u16-is-casefolded.c: Likewise.
6325         * tests/unicase/test-u16-is-lowercase.c: Likewise.
6326         * tests/unicase/test-u16-is-titlecase.c: Likewise.
6327         * tests/unicase/test-u16-is-uppercase.c: Likewise.
6328         * tests/unicase/test-u16-tolower.c: Likewise.
6329         * tests/unicase/test-u16-totitle.c: Likewise.
6330         * tests/unicase/test-u16-toupper.c: Likewise.
6331         * tests/unicase/test-u32-casecmp.c: Likewise.
6332         * tests/unicase/test-u32-casecoll.c: Likewise.
6333         * tests/unicase/test-u32-casefold.c: Likewise.
6334         * tests/unicase/test-u32-is-cased.c: Likewise.
6335         * tests/unicase/test-u32-is-casefolded.c: Likewise.
6336         * tests/unicase/test-u32-is-lowercase.c: Likewise.
6337         * tests/unicase/test-u32-is-titlecase.c: Likewise.
6338         * tests/unicase/test-u32-is-uppercase.c: Likewise.
6339         * tests/unicase/test-u32-tolower.c: Likewise.
6340         * tests/unicase/test-u32-totitle.c: Likewise.
6341         * tests/unicase/test-u32-toupper.c: Likewise.
6342         * tests/unicase/test-ulc-casecmp.c: Likewise.
6343         * tests/unicase/test-ulc-casecoll.c: Likewise.
6344         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
6345         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
6346         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
6347         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
6348         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
6349         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
6350         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
6351         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
6352         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
6353         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
6354         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
6355         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
6356         * tests/unictype/test-bidi_byname.c: Likewise.
6357         * tests/unictype/test-bidi_name.c: Likewise.
6358         * tests/unictype/test-bidi_of.c: Likewise.
6359         * tests/unictype/test-bidi_test.c: Likewise.
6360         * tests/unictype/test-block_list.c: Likewise.
6361         * tests/unictype/test-block_of.c: Likewise.
6362         * tests/unictype/test-block_test.c: Likewise.
6363         * tests/unictype/test-categ_and.c: Likewise.
6364         * tests/unictype/test-categ_and_not.c: Likewise.
6365         * tests/unictype/test-categ_byname.c: Likewise.
6366         * tests/unictype/test-categ_name.c: Likewise.
6367         * tests/unictype/test-categ_none.c: Likewise.
6368         * tests/unictype/test-categ_of.c: Likewise.
6369         * tests/unictype/test-categ_or.c: Likewise.
6370         * tests/unictype/test-categ_test_withtable.c: Likewise.
6371         * tests/unictype/test-combining.c: Likewise.
6372         * tests/unictype/test-decdigit.c: Likewise.
6373         * tests/unictype/test-digit.c: Likewise.
6374         * tests/unictype/test-mirror.c: Likewise.
6375         * tests/unictype/test-numeric.c: Likewise.
6376         * tests/unictype/test-pr_byname.c: Likewise.
6377         * tests/unictype/test-pr_test.c: Likewise.
6378         * tests/unictype/test-predicate-part1.h: Likewise.
6379         * tests/unictype/test-scripts.c: Likewise.
6380         * tests/unictype/test-sy_c_ident.c: Likewise.
6381         * tests/unictype/test-sy_java_ident.c: Likewise.
6382         * tests/unilbrk/test-u8-possible-linebreaks.c: Likewise.
6383         * tests/unilbrk/test-u8-width-linebreaks.c: Likewise.
6384         * tests/unilbrk/test-u16-possible-linebreaks.c: Likewise.
6385         * tests/unilbrk/test-u16-width-linebreaks.c: Likewise.
6386         * tests/unilbrk/test-u32-possible-linebreaks.c: Likewise.
6387         * tests/unilbrk/test-u32-width-linebreaks.c: Likewise.
6388         * tests/unilbrk/test-ulc-possible-linebreaks.c: Likewise.
6389         * tests/unilbrk/test-ulc-width-linebreaks.c: Likewise.
6390         * tests/uninorm/test-canonical-decomposition.c: Likewise.
6391         * tests/uninorm/test-compat-decomposition.c: Likewise.
6392         * tests/uninorm/test-composition.c: Likewise.
6393         * tests/uninorm/test-decomposing-form.c: Likewise.
6394         * tests/uninorm/test-decomposition.c: Likewise.
6395         * tests/uninorm/test-u8-nfc.c: Likewise.
6396         * tests/uninorm/test-u8-nfd.c: Likewise.
6397         * tests/uninorm/test-u8-nfkc.c: Likewise.
6398         * tests/uninorm/test-u8-nfkd.c: Likewise.
6399         * tests/uninorm/test-u8-normcmp.c: Likewise.
6400         * tests/uninorm/test-u8-normcoll.c: Likewise.
6401         * tests/uninorm/test-u16-nfc.c: Likewise.
6402         * tests/uninorm/test-u16-nfd.c: Likewise.
6403         * tests/uninorm/test-u16-nfkc.c: Likewise.
6404         * tests/uninorm/test-u16-nfkd.c: Likewise.
6405         * tests/uninorm/test-u16-normcmp.c: Likewise.
6406         * tests/uninorm/test-u16-normcoll.c: Likewise.
6407         * tests/uninorm/test-u32-nfc.c: Likewise.
6408         * tests/uninorm/test-u32-nfd.c: Likewise.
6409         * tests/uninorm/test-u32-nfkc.c: Likewise.
6410         * tests/uninorm/test-u32-nfkd.c: Likewise.
6411         * tests/uninorm/test-u32-normalize-big.c: Likewise.
6412         * tests/uninorm/test-u32-normcmp.c: Likewise.
6413         * tests/uninorm/test-u32-normcoll.c: Likewise.
6414         * tests/uninorm/test-uninorm-filter-nfc.c: Likewise.
6415         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
6416         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
6417         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
6418         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
6419         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
6420         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
6421         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
6422         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
6423         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
6424         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
6425         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
6426         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
6427         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
6428         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
6429         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
6430         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
6431         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
6432         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
6433         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
6434         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
6435         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
6436         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
6437         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
6438         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
6439         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
6440         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
6441         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
6442         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
6443         * tests/uniwbrk/test-u8-wordbreaks.c: Likewise.
6444         * tests/uniwbrk/test-u16-wordbreaks.c: Likewise.
6445         * tests/uniwbrk/test-u32-wordbreaks.c: Likewise.
6446         * tests/uniwbrk/test-ulc-wordbreaks.c: Likewise.
6447         * tests/uniwidth/test-u8-strwidth.c: Likewise.
6448         * tests/uniwidth/test-u8-width.c: Likewise.
6449         * tests/uniwidth/test-u16-strwidth.c: Likewise.
6450         * tests/uniwidth/test-u16-width.c: Likewise.
6451         * tests/uniwidth/test-u32-strwidth.c: Likewise.
6452         * tests/uniwidth/test-u32-width.c: Likewise.
6453         * tests/uniwidth/test-uc_width.c: Likewise.
6454         * tests/uniwidth/test-uc_width2.c: Likewise.
6455         * modules/acl-tests (Files): Add tests/macros.h.
6456         * modules/areadlink-tests (Files): Likewise.
6457         * modules/areadlink-with-size-tests (Files): Likewise.
6458         * modules/areadlinkat-tests (Files): Likewise.
6459         * modules/areadlinkat-with-size-tests (Files): Likewise.
6460         * modules/argmatch-tests (Files): Likewise.
6461         * modules/argv-iter-tests (Files): Likewise.
6462         * modules/array-list-tests (Files): Likewise.
6463         * modules/array-mergesort-tests (Files): Likewise.
6464         * modules/array-oset-tests (Files): Likewise.
6465         * modules/avltree-list-tests (Files): Likewise.
6466         * modules/avltree-oset-tests (Files): Likewise.
6467         * modules/avltreehash-list-tests (Files): Likewise.
6468         * modules/base64-tests (Files): Likewise.
6469         * modules/binary-io-tests (Files): Likewise.
6470         * modules/bitrotate-tests (Files): Likewise.
6471         * modules/btowc-tests (Files): Likewise.
6472         * modules/byteswap-tests (Files): Likewise.
6473         * modules/c-ctype-tests (Files): Likewise.
6474         * modules/c-stack-tests (Files): Likewise.
6475         * modules/c-strcase-tests (Files): Likewise.
6476         * modules/c-strcasestr-tests (Files): Likewise.
6477         * modules/c-strstr-tests (Files): Likewise.
6478         * modules/canonicalize-lgpl-tests (Files): Likewise.
6479         * modules/canonicalize-tests (Files): Likewise.
6480         * modules/carray-list-tests (Files): Likewise.
6481         * modules/ceilf-tests (Files): Likewise.
6482         * modules/ceill-tests (Files): Likewise.
6483         * modules/chown-tests (Files): Likewise.
6484         * modules/cloexec-tests (Files): Likewise.
6485         * modules/copy-file-tests (Files): Likewise.
6486         * modules/count-one-bits-tests (Files): Likewise.
6487         * modules/dprintf-posix-tests (Files): Likewise.
6488         * modules/dup2-tests (Files): Likewise.
6489         * modules/dup3-tests (Files): Likewise.
6490         * modules/duplocale-tests (Files): Likewise.
6491         * modules/fbufmode-tests (Files): Likewise.
6492         * modules/fchdir-tests (Files): Likewise.
6493         * modules/fcntl-safer-tests (Files): Likewise.
6494         * modules/fcntl-tests (Files): Likewise.
6495         * modules/fdopendir-tests (Files): Likewise.
6496         * modules/fdutimensat-tests (Files): Likewise.
6497         * modules/fflush-tests (Files): Likewise.
6498         * modules/filevercmp-tests (Files): Likewise.
6499         * modules/flock-tests (Files): Likewise.
6500         * modules/floorf-tests (Files): Likewise.
6501         * modules/floorl-tests (Files): Likewise.
6502         * modules/fnmatch-tests (Files): Likewise.
6503         * modules/fopen-safer-tests (Files): Likewise.
6504         * modules/fopen-tests (Files): Likewise.
6505         * modules/fpending-tests (Files): Likewise.
6506         * modules/fprintf-posix-tests (Files): Likewise.
6507         * modules/fpurge-tests (Files): Likewise.
6508         * modules/freadable-tests (Files): Likewise.
6509         * modules/freadahead-tests (Files): Likewise.
6510         * modules/freading-tests (Files): Likewise.
6511         * modules/freadptr-tests (Files): Likewise.
6512         * modules/freadseek-tests (Files): Likewise.
6513         * modules/freopen-tests (Files): Likewise.
6514         * modules/frexp-nolibm-tests (Files): Likewise.
6515         * modules/frexp-tests (Files): Likewise.
6516         * modules/frexpl-nolibm-tests (Files): Likewise.
6517         * modules/frexpl-tests (Files): Likewise.
6518         * modules/fseek-tests (Files): Likewise.
6519         * modules/fseeko-tests (Files): Likewise.
6520         * modules/fstrcmp-tests (Files): Likewise.
6521         * modules/fsync-tests (Files): Likewise.
6522         * modules/ftell-tests (Files): Likewise.
6523         * modules/ftello-tests (Files): Likewise.
6524         * modules/func-tests (Files): Likewise.
6525         * modules/futimens-tests (Files): Likewise.
6526         * modules/fwritable-tests (Files): Likewise.
6527         * modules/fwriting-tests (Files): Likewise.
6528         * modules/getcwd-tests (Files): Likewise.
6529         * modules/getdate-tests (Files): Likewise.
6530         * modules/getdelim-tests (Files): Likewise.
6531         * modules/getdtablesize-tests (Files): Likewise.
6532         * modules/getgroups-tests (Files): Likewise.
6533         * modules/getline-tests (Files): Likewise.
6534         * modules/getndelim2-tests (Files): Likewise.
6535         * modules/glob-tests (Files): Likewise.
6536         * modules/hash-tests (Files): Likewise.
6537         * modules/i-ring-tests (Files): Likewise.
6538         * modules/iconv-tests (Files): Likewise.
6539         * modules/iconv_open-utf-tests (Files): Likewise.
6540         * modules/idpriv-drop-tests (Files): Likewise.
6541         * modules/idpriv-droptemp-tests (Files): Likewise.
6542         * modules/inet_ntop-tests (Files): Likewise.
6543         * modules/inet_pton-tests (Files): Likewise.
6544         * modules/isblank-tests (Files): Likewise.
6545         * modules/isfinite-tests (Files): Likewise.
6546         * modules/isinf-tests (Files): Likewise.
6547         * modules/isnan-tests (Files): Likewise.
6548         * modules/isnand-nolibm-tests (Files): Likewise.
6549         * modules/isnand-tests (Files): Likewise.
6550         * modules/isnanf-nolibm-tests (Files): Likewise.
6551         * modules/isnanf-tests (Files): Likewise.
6552         * modules/isnanl-nolibm-tests (Files): Likewise.
6553         * modules/isnanl-tests (Files): Likewise.
6554         * modules/lchown-tests (Files): Likewise.
6555         * modules/ldexpl-tests (Files): Likewise.
6556         * modules/link-tests (Files): Likewise.
6557         * modules/linkat-tests (Files): Likewise.
6558         * modules/linked-list-tests (Files): Likewise.
6559         * modules/linkedhash-list-tests (Files): Likewise.
6560         * modules/localename-tests (Files): Likewise.
6561         * modules/lseek-tests (Files): Likewise.
6562         * modules/lstat-tests (Files): Likewise.
6563         * modules/mbmemcasecmp-tests (Files): Likewise.
6564         * modules/mbmemcasecoll-tests (Files): Likewise.
6565         * modules/mbrtowc-tests (Files): Likewise.
6566         * modules/mbscasecmp-tests (Files): Likewise.
6567         * modules/mbscasestr-tests (Files): Likewise.
6568         * modules/mbschr-tests (Files): Likewise.
6569         * modules/mbscspn-tests (Files): Likewise.
6570         * modules/mbsinit-tests (Files): Likewise.
6571         * modules/mbsncasecmp-tests (Files): Likewise.
6572         * modules/mbsnrtowcs-tests (Files): Likewise.
6573         * modules/mbspbrk-tests (Files): Likewise.
6574         * modules/mbspcasecmp-tests (Files): Likewise.
6575         * modules/mbsrchr-tests (Files): Likewise.
6576         * modules/mbsrtowcs-tests (Files): Likewise.
6577         * modules/mbsspn-tests (Files): Likewise.
6578         * modules/mbsstr-tests (Files): Likewise.
6579         * modules/memchr-tests (Files): Likewise.
6580         * modules/memchr2-tests (Files): Likewise.
6581         * modules/memcmp-tests (Files): Likewise.
6582         * modules/memmem-tests (Files): Likewise.
6583         * modules/memrchr-tests (Files): Likewise.
6584         * modules/mkdir-tests (Files): Likewise.
6585         * modules/mkfifo-tests (Files): Likewise.
6586         * modules/mkfifoat-tests (Files): Likewise.
6587         * modules/mknod-tests (Files): Likewise.
6588         * modules/nanosleep-tests (Files): Likewise.
6589         * modules/nl_langinfo-tests (Files): Likewise.
6590         * modules/obstack-printf-tests (Files): Likewise.
6591         * modules/open-tests (Files): Likewise.
6592         * modules/openat-tests (Files): Likewise.
6593         * modules/pipe-filter-gi-tests (Files): Likewise.
6594         * modules/pipe-filter-ii-tests (Files): Likewise.
6595         * modules/pipe2-tests (Files): Likewise.
6596         * modules/popen-safer-tests (Files): Likewise.
6597         * modules/popen-tests (Files): Likewise.
6598         * modules/posixtm-tests (Files): Likewise.
6599         * modules/pread-tests (Files): Likewise.
6600         * modules/printf-frexp-tests (Files): Likewise.
6601         * modules/printf-frexpl-tests (Files): Likewise.
6602         * modules/printf-posix-tests (Files): Likewise.
6603         * modules/priv-set-tests (Files): Likewise.
6604         * modules/quotearg-tests (Files): Likewise.
6605         * modules/random_r-tests (Files): Likewise.
6606         * modules/rawmemchr-tests (Files): Likewise.
6607         * modules/rbtree-list-tests (Files): Likewise.
6608         * modules/rbtree-oset-tests (Files): Likewise.
6609         * modules/rbtreehash-list-tests (Files): Likewise.
6610         * modules/readlink-tests (Files): Likewise.
6611         * modules/remove-tests (Files): Likewise.
6612         * modules/rename-tests (Files): Likewise.
6613         * modules/renameat-tests (Files): Likewise.
6614         * modules/rmdir-tests (Files): Likewise.
6615         * modules/round-tests (Files): Likewise.
6616         * modules/roundf-tests (Files): Likewise.
6617         * modules/roundl-tests (Files): Likewise.
6618         * modules/safe-alloc-tests (Files): Likewise.
6619         * modules/setenv-tests (Files): Likewise.
6620         * modules/sigaction-tests (Files): Likewise.
6621         * modules/signbit-tests (Files): Likewise.
6622         * modules/sleep-tests (Files): Likewise.
6623         * modules/snprintf-posix-tests (Files): Likewise.
6624         * modules/snprintf-tests (Files): Likewise.
6625         * modules/sprintf-posix-tests (Files): Likewise.
6626         * modules/stat-tests (Files): Likewise.
6627         * modules/stat-time-tests (Files): Likewise.
6628         * modules/strcasestr-tests (Files): Likewise.
6629         * modules/strchrnul-tests (Files): Likewise.
6630         * modules/strerror-tests (Files): Likewise.
6631         * modules/striconv-tests (Files): Likewise.
6632         * modules/striconveh-tests (Files): Likewise.
6633         * modules/striconveha-tests (Files): Likewise.
6634         * modules/strsignal-tests (Files): Likewise.
6635         * modules/strstr-tests (Files): Likewise.
6636         * modules/strtod-tests (Files): Likewise.
6637         * modules/strverscmp-tests (Files): Likewise.
6638         * modules/symlink-tests (Files): Likewise.
6639         * modules/symlinkat-tests (Files): Likewise.
6640         * modules/trunc-tests (Files): Likewise.
6641         * modules/truncf-tests (Files): Likewise.
6642         * modules/truncl-tests (Files): Likewise.
6643         * modules/uname-tests (Files): Likewise.
6644         * modules/unicase/cased-tests (Files): Likewise.
6645         * modules/unicase/ignorable-tests (Files): Likewise.
6646         * modules/unicase/locale-language-tests (Files): Likewise.
6647         * modules/unicase/tolower-tests (Files): Likewise.
6648         * modules/unicase/totitle-tests (Files): Likewise.
6649         * modules/unicase/toupper-tests (Files): Likewise.
6650         * modules/unicase/u8-casecmp-tests (Files): Likewise.
6651         * modules/unicase/u8-casecoll-tests (Files): Likewise.
6652         * modules/unicase/u8-casefold-tests (Files): Likewise.
6653         * modules/unicase/u8-is-cased-tests (Files): Likewise.
6654         * modules/unicase/u8-is-casefolded-tests (Files): Likewise.
6655         * modules/unicase/u8-is-lowercase-tests (Files): Likewise.
6656         * modules/unicase/u8-is-titlecase-tests (Files): Likewise.
6657         * modules/unicase/u8-is-uppercase-tests (Files): Likewise.
6658         * modules/unicase/u8-tolower-tests (Files): Likewise.
6659         * modules/unicase/u8-totitle-tests (Files): Likewise.
6660         * modules/unicase/u8-toupper-tests (Files): Likewise.
6661         * modules/unicase/u16-casecmp-tests (Files): Likewise.
6662         * modules/unicase/u16-casecoll-tests (Files): Likewise.
6663         * modules/unicase/u16-casefold-tests (Files): Likewise.
6664         * modules/unicase/u16-is-cased-tests (Files): Likewise.
6665         * modules/unicase/u16-is-casefolded-tests (Files): Likewise.
6666         * modules/unicase/u16-is-lowercase-tests (Files): Likewise.
6667         * modules/unicase/u16-is-titlecase-tests (Files): Likewise.
6668         * modules/unicase/u16-is-uppercase-tests (Files): Likewise.
6669         * modules/unicase/u16-tolower-tests (Files): Likewise.
6670         * modules/unicase/u16-totitle-tests (Files): Likewise.
6671         * modules/unicase/u16-toupper-tests (Files): Likewise.
6672         * modules/unicase/u32-casecmp-tests (Files): Likewise.
6673         * modules/unicase/u32-casecoll-tests (Files): Likewise.
6674         * modules/unicase/u32-casefold-tests (Files): Likewise.
6675         * modules/unicase/u32-is-cased-tests (Files): Likewise.
6676         * modules/unicase/u32-is-casefolded-tests (Files): Likewise.
6677         * modules/unicase/u32-is-lowercase-tests (Files): Likewise.
6678         * modules/unicase/u32-is-titlecase-tests (Files): Likewise.
6679         * modules/unicase/u32-is-uppercase-tests (Files): Likewise.
6680         * modules/unicase/u32-tolower-tests (Files): Likewise.
6681         * modules/unicase/u32-totitle-tests (Files): Likewise.
6682         * modules/unicase/u32-toupper-tests (Files): Likewise.
6683         * modules/unicase/ulc-casecmp-tests (Files): Likewise.
6684         * modules/unicase/ulc-casecoll-tests (Files): Likewise.
6685         * modules/uniconv/u8-conv-from-enc-tests (Files): Likewise.
6686         * modules/uniconv/u8-conv-to-enc-tests (Files): Likewise.
6687         * modules/uniconv/u8-strconv-from-enc-tests (Files): Likewise.
6688         * modules/uniconv/u8-strconv-to-enc-tests (Files): Likewise.
6689         * modules/uniconv/u16-conv-from-enc-tests (Files): Likewise.
6690         * modules/uniconv/u16-conv-to-enc-tests (Files): Likewise.
6691         * modules/uniconv/u16-strconv-from-enc-tests (Files): Likewise.
6692         * modules/uniconv/u16-strconv-to-enc-tests (Files): Likewise.
6693         * modules/uniconv/u32-conv-from-enc-tests (Files): Likewise.
6694         * modules/uniconv/u32-conv-to-enc-tests (Files): Likewise.
6695         * modules/uniconv/u32-strconv-from-enc-tests (Files): Likewise.
6696         * modules/uniconv/u32-strconv-to-enc-tests (Files): Likewise.
6697         * modules/unictype/bidicategory-byname-tests (Files): Likewise.
6698         * modules/unictype/bidicategory-name-tests (Files): Likewise.
6699         * modules/unictype/bidicategory-of-tests (Files): Likewise.
6700         * modules/unictype/bidicategory-test-tests (Files): Likewise.
6701         * modules/unictype/block-list-tests (Files): Likewise.
6702         * modules/unictype/block-of-tests (Files): Likewise.
6703         * modules/unictype/block-test-tests (Files): Likewise.
6704         * modules/unictype/category-C-tests (Files): Likewise.
6705         * modules/unictype/category-Cc-tests (Files): Likewise.
6706         * modules/unictype/category-Cf-tests (Files): Likewise.
6707         * modules/unictype/category-Cn-tests (Files): Likewise.
6708         * modules/unictype/category-Co-tests (Files): Likewise.
6709         * modules/unictype/category-Cs-tests (Files): Likewise.
6710         * modules/unictype/category-L-tests (Files): Likewise.
6711         * modules/unictype/category-Ll-tests (Files): Likewise.
6712         * modules/unictype/category-Lm-tests (Files): Likewise.
6713         * modules/unictype/category-Lo-tests (Files): Likewise.
6714         * modules/unictype/category-Lt-tests (Files): Likewise.
6715         * modules/unictype/category-Lu-tests (Files): Likewise.
6716         * modules/unictype/category-M-tests (Files): Likewise.
6717         * modules/unictype/category-Mc-tests (Files): Likewise.
6718         * modules/unictype/category-Me-tests (Files): Likewise.
6719         * modules/unictype/category-Mn-tests (Files): Likewise.
6720         * modules/unictype/category-N-tests (Files): Likewise.
6721         * modules/unictype/category-Nd-tests (Files): Likewise.
6722         * modules/unictype/category-Nl-tests (Files): Likewise.
6723         * modules/unictype/category-No-tests (Files): Likewise.
6724         * modules/unictype/category-P-tests (Files): Likewise.
6725         * modules/unictype/category-Pc-tests (Files): Likewise.
6726         * modules/unictype/category-Pd-tests (Files): Likewise.
6727         * modules/unictype/category-Pe-tests (Files): Likewise.
6728         * modules/unictype/category-Pf-tests (Files): Likewise.
6729         * modules/unictype/category-Pi-tests (Files): Likewise.
6730         * modules/unictype/category-Po-tests (Files): Likewise.
6731         * modules/unictype/category-Ps-tests (Files): Likewise.
6732         * modules/unictype/category-S-tests (Files): Likewise.
6733         * modules/unictype/category-Sc-tests (Files): Likewise.
6734         * modules/unictype/category-Sk-tests (Files): Likewise.
6735         * modules/unictype/category-Sm-tests (Files): Likewise.
6736         * modules/unictype/category-So-tests (Files): Likewise.
6737         * modules/unictype/category-Z-tests (Files): Likewise.
6738         * modules/unictype/category-Zl-tests (Files): Likewise.
6739         * modules/unictype/category-Zp-tests (Files): Likewise.
6740         * modules/unictype/category-Zs-tests (Files): Likewise.
6741         * modules/unictype/category-and-not-tests (Files): Likewise.
6742         * modules/unictype/category-and-tests (Files): Likewise.
6743         * modules/unictype/category-byname-tests (Files): Likewise.
6744         * modules/unictype/category-name-tests (Files): Likewise.
6745         * modules/unictype/category-none-tests (Files): Likewise.
6746         * modules/unictype/category-of-tests (Files): Likewise.
6747         * modules/unictype/category-or-tests (Files): Likewise.
6748         * modules/unictype/category-test-withtable-tests (Files): Likewise.
6749         * modules/unictype/combining-class-tests (Files): Likewise.
6750         * modules/unictype/ctype-alnum-tests (Files): Likewise.
6751         * modules/unictype/ctype-alpha-tests (Files): Likewise.
6752         * modules/unictype/ctype-blank-tests (Files): Likewise.
6753         * modules/unictype/ctype-cntrl-tests (Files): Likewise.
6754         * modules/unictype/ctype-digit-tests (Files): Likewise.
6755         * modules/unictype/ctype-graph-tests (Files): Likewise.
6756         * modules/unictype/ctype-lower-tests (Files): Likewise.
6757         * modules/unictype/ctype-print-tests (Files): Likewise.
6758         * modules/unictype/ctype-punct-tests (Files): Likewise.
6759         * modules/unictype/ctype-space-tests (Files): Likewise.
6760         * modules/unictype/ctype-upper-tests (Files): Likewise.
6761         * modules/unictype/ctype-xdigit-tests (Files): Likewise.
6762         * modules/unictype/decimal-digit-tests (Files): Likewise.
6763         * modules/unictype/digit-tests (Files): Likewise.
6764         * modules/unictype/mirror-tests (Files): Likewise.
6765         * modules/unictype/numeric-tests (Files): Likewise.
6766         * modules/unictype/property-alphabetic-tests (Files): Likewise.
6767         * modules/unictype/property-ascii-hex-digit-tests (Files): Likewise.
6768         * modules/unictype/property-bidi-arabic-digit-tests (Files): Likewise.
6769         * modules/unictype/property-bidi-arabic-right-to-left-tests (Files):
6770         Likewise.
6771         * modules/unictype/property-bidi-block-separator-tests (Files):
6772         Likewise.
6773         * modules/unictype/property-bidi-boundary-neutral-tests (Files):
6774         Likewise.
6775         * modules/unictype/property-bidi-common-separator-tests (Files):
6776         Likewise.
6777         * modules/unictype/property-bidi-control-tests (Files): Likewise.
6778         * modules/unictype/property-bidi-embedding-or-override-tests (Files):
6779         Likewise.
6780         * modules/unictype/property-bidi-eur-num-separator-tests (Files):
6781         Likewise.
6782         * modules/unictype/property-bidi-eur-num-terminator-tests (Files):
6783         Likewise.
6784         * modules/unictype/property-bidi-european-digit-tests (Files): Likewise.
6785         * modules/unictype/property-bidi-hebrew-right-to-left-tests (Files):
6786         Likewise.
6787         * modules/unictype/property-bidi-left-to-right-tests (Files): Likewise.
6788         * modules/unictype/property-bidi-non-spacing-mark-tests (Files):
6789         Likewise.
6790         * modules/unictype/property-bidi-other-neutral-tests (Files): Likewise.
6791         * modules/unictype/property-bidi-pdf-tests (Files): Likewise.
6792         * modules/unictype/property-bidi-segment-separator-tests (Files):
6793         Likewise.
6794         * modules/unictype/property-bidi-whitespace-tests (Files): Likewise.
6795         * modules/unictype/property-byname-tests (Files): Likewise.
6796         * modules/unictype/property-combining-tests (Files): Likewise.
6797         * modules/unictype/property-composite-tests (Files): Likewise.
6798         * modules/unictype/property-currency-symbol-tests (Files): Likewise.
6799         * modules/unictype/property-dash-tests (Files): Likewise.
6800         * modules/unictype/property-decimal-digit-tests (Files): Likewise.
6801         * modules/unictype/property-default-ignorable-code-point-tests (Files):
6802         Likewise.
6803         * modules/unictype/property-deprecated-tests (Files): Likewise.
6804         * modules/unictype/property-diacritic-tests (Files): Likewise.
6805         * modules/unictype/property-extender-tests (Files): Likewise.
6806         * modules/unictype/property-format-control-tests (Files): Likewise.
6807         * modules/unictype/property-grapheme-base-tests (Files): Likewise.
6808         * modules/unictype/property-grapheme-extend-tests (Files): Likewise.
6809         * modules/unictype/property-grapheme-link-tests (Files): Likewise.
6810         * modules/unictype/property-hex-digit-tests (Files): Likewise.
6811         * modules/unictype/property-hyphen-tests (Files): Likewise.
6812         * modules/unictype/property-id-continue-tests (Files): Likewise.
6813         * modules/unictype/property-id-start-tests (Files): Likewise.
6814         * modules/unictype/property-ideographic-tests (Files): Likewise.
6815         * modules/unictype/property-ids-binary-operator-tests (Files): Likewise.
6816         * modules/unictype/property-ids-trinary-operator-tests (Files):
6817         Likewise.
6818         * modules/unictype/property-ignorable-control-tests (Files): Likewise.
6819         * modules/unictype/property-iso-control-tests (Files): Likewise.
6820         * modules/unictype/property-join-control-tests (Files): Likewise.
6821         * modules/unictype/property-left-of-pair-tests (Files): Likewise.
6822         * modules/unictype/property-line-separator-tests (Files): Likewise.
6823         * modules/unictype/property-logical-order-exception-tests (Files):
6824         Likewise.
6825         * modules/unictype/property-lowercase-tests (Files): Likewise.
6826         * modules/unictype/property-math-tests (Files): Likewise.
6827         * modules/unictype/property-non-break-tests (Files): Likewise.
6828         * modules/unictype/property-not-a-character-tests (Files): Likewise.
6829         * modules/unictype/property-numeric-tests (Files): Likewise.
6830         * modules/unictype/property-other-alphabetic-tests (Files): Likewise.
6831         * modules/unictype/property-other-default-ignorable-code-point-tests
6832         (Files): Likewise.
6833         * modules/unictype/property-other-grapheme-extend-tests (Files):
6834         Likewise.
6835         * modules/unictype/property-other-id-continue-tests (Files): Likewise.
6836         * modules/unictype/property-other-id-start-tests (Files): Likewise.
6837         * modules/unictype/property-other-lowercase-tests (Files): Likewise.
6838         * modules/unictype/property-other-math-tests (Files): Likewise.
6839         * modules/unictype/property-other-uppercase-tests (Files): Likewise.
6840         * modules/unictype/property-paired-punctuation-tests (Files): Likewise.
6841         * modules/unictype/property-paragraph-separator-tests (Files): Likewise.
6842         * modules/unictype/property-pattern-syntax-tests (Files): Likewise.
6843         * modules/unictype/property-pattern-white-space-tests (Files): Likewise.
6844         * modules/unictype/property-private-use-tests (Files): Likewise.
6845         * modules/unictype/property-punctuation-tests (Files): Likewise.
6846         * modules/unictype/property-quotation-mark-tests (Files): Likewise.
6847         * modules/unictype/property-radical-tests (Files): Likewise.
6848         * modules/unictype/property-sentence-terminal-tests (Files): Likewise.
6849         * modules/unictype/property-soft-dotted-tests (Files): Likewise.
6850         * modules/unictype/property-space-tests (Files): Likewise.
6851         * modules/unictype/property-terminal-punctuation-tests (Files):
6852         Likewise.
6853         * modules/unictype/property-test-tests (Files): Likewise.
6854         * modules/unictype/property-titlecase-tests (Files): Likewise.
6855         * modules/unictype/property-unassigned-code-value-tests (Files):
6856         Likewise.
6857         * modules/unictype/property-unified-ideograph-tests (Files): Likewise.
6858         * modules/unictype/property-uppercase-tests (Files): Likewise.
6859         * modules/unictype/property-variation-selector-tests (Files): Likewise.
6860         * modules/unictype/property-white-space-tests (Files): Likewise.
6861         * modules/unictype/property-xid-continue-tests (Files): Likewise.
6862         * modules/unictype/property-xid-start-tests (Files): Likewise.
6863         * modules/unictype/property-zero-width-tests (Files): Likewise.
6864         * modules/unictype/scripts-tests (Files): Likewise.
6865         * modules/unictype/syntax-c-ident-tests (Files): Likewise.
6866         * modules/unictype/syntax-c-whitespace-tests (Files): Likewise.
6867         * modules/unictype/syntax-java-ident-tests (Files): Likewise.
6868         * modules/unictype/syntax-java-whitespace-tests (Files): Likewise.
6869         * modules/unilbrk/u8-possible-linebreaks-tests (Files): Likewise.
6870         * modules/unilbrk/u8-width-linebreaks-tests (Files): Likewise.
6871         * modules/unilbrk/u16-possible-linebreaks-tests (Files): Likewise.
6872         * modules/unilbrk/u16-width-linebreaks-tests (Files): Likewise.
6873         * modules/unilbrk/u32-possible-linebreaks-tests (Files): Likewise.
6874         * modules/unilbrk/u32-width-linebreaks-tests (Files): Likewise.
6875         * modules/unilbrk/ulc-possible-linebreaks-tests (Files): Likewise.
6876         * modules/unilbrk/ulc-width-linebreaks-tests (Files): Likewise.
6877         * modules/uninorm/canonical-decomposition-tests (Files): Likewise.
6878         * modules/uninorm/compat-decomposition-tests (Files): Likewise.
6879         * modules/uninorm/composition-tests (Files): Likewise.
6880         * modules/uninorm/decomposing-form-tests (Files): Likewise.
6881         * modules/uninorm/decomposition-tests (Files): Likewise.
6882         * modules/uninorm/filter-tests (Files): Likewise.
6883         * modules/uninorm/nfc-tests (Files): Likewise.
6884         * modules/uninorm/nfd-tests (Files): Likewise.
6885         * modules/uninorm/nfkc-tests (Files): Likewise.
6886         * modules/uninorm/nfkd-tests (Files): Likewise.
6887         * modules/uninorm/u8-normcmp-tests (Files): Likewise.
6888         * modules/uninorm/u8-normcoll-tests (Files): Likewise.
6889         * modules/uninorm/u16-normcmp-tests (Files): Likewise.
6890         * modules/uninorm/u16-normcoll-tests (Files): Likewise.
6891         * modules/uninorm/u32-normcmp-tests (Files): Likewise.
6892         * modules/uninorm/u32-normcoll-tests (Files): Likewise.
6893         * modules/unistdio/u8-asnprintf-tests (Files): Likewise.
6894         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
6895         * modules/unistdio/u8-vasprintf-tests (Files): Likewise.
6896         * modules/unistdio/u8-vsnprintf-tests (Files): Likewise.
6897         * modules/unistdio/u8-vsprintf-tests (Files): Likewise.
6898         * modules/unistdio/u16-asnprintf-tests (Files): Likewise.
6899         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
6900         * modules/unistdio/u16-vasprintf-tests (Files): Likewise.
6901         * modules/unistdio/u16-vsnprintf-tests (Files): Likewise.
6902         * modules/unistdio/u16-vsprintf-tests (Files): Likewise.
6903         * modules/unistdio/u32-asnprintf-tests (Files): Likewise.
6904         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
6905         * modules/unistdio/u32-vasprintf-tests (Files): Likewise.
6906         * modules/unistdio/u32-vsnprintf-tests (Files): Likewise.
6907         * modules/unistdio/u32-vsprintf-tests (Files): Likewise.
6908         * modules/unistdio/ulc-asnprintf-tests (Files): Likewise.
6909         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
6910         * modules/unistdio/ulc-vasprintf-tests (Files): Likewise.
6911         * modules/unistdio/ulc-vsnprintf-tests (Files): Likewise.
6912         * modules/unistdio/ulc-vsprintf-tests (Files): Likewise.
6913         * modules/uniwbrk/u8-wordbreaks-tests (Files): Likewise.
6914         * modules/uniwbrk/u16-wordbreaks-tests (Files): Likewise.
6915         * modules/uniwbrk/u32-wordbreaks-tests (Files): Likewise.
6916         * modules/uniwbrk/ulc-wordbreaks-tests (Files): Likewise.
6917         * modules/uniwidth/u8-strwidth-tests (Files): Likewise.
6918         * modules/uniwidth/u8-width-tests (Files): Likewise.
6919         * modules/uniwidth/u16-strwidth-tests (Files): Likewise.
6920         * modules/uniwidth/u16-width-tests (Files): Likewise.
6921         * modules/uniwidth/u32-strwidth-tests (Files): Likewise.
6922         * modules/uniwidth/u32-width-tests (Files): Likewise.
6923         * modules/uniwidth/width-tests (Files): Likewise.
6924         * modules/unlink-tests (Files): Likewise.
6925         * modules/unsetenv-tests (Files): Likewise.
6926         * modules/usleep-tests (Files): Likewise.
6927         * modules/utimens-tests (Files): Likewise.
6928         * modules/utimensat-tests (Files): Likewise.
6929         * modules/vasnprintf-posix-tests (Files): Likewise.
6930         * modules/vasnprintf-tests (Files): Likewise.
6931         * modules/vasprintf-posix-tests (Files): Likewise.
6932         * modules/vasprintf-tests (Files): Likewise.
6933         * modules/vdprintf-posix-tests (Files): Likewise.
6934         * modules/vfprintf-posix-tests (Files): Likewise.
6935         * modules/vprintf-posix-tests (Files): Likewise.
6936         * modules/vsnprintf-posix-tests (Files): Likewise.
6937         * modules/vsnprintf-tests (Files): Likewise.
6938         * modules/vsprintf-posix-tests (Files): Likewise.
6939         * modules/wcrtomb-tests (Files): Likewise.
6940         * modules/wcsnrtombs-tests (Files): Likewise.
6941         * modules/wcsrtombs-tests (Files): Likewise.
6942         * modules/wctype-tests (Files): Likewise.
6943         * modules/wcwidth-tests (Files): Likewise.
6944         * modules/xmemdup0-tests (Files): Likewise.
6945         * modules/xprintf-posix-tests (Files): Likewise.
6946         * modules/xvasprintf-tests (Files): Likewise.
6947
6948 2009-12-24  Eric Blake  <ebb9@byu.net>
6949
6950         test-nanosleep: fix typo
6951         * tests/test-nanosleep.c (SIGNATURE_CHECK): Fix typo in previous
6952         patch.
6953         Reported by Bruno Haible.
6954
6955 2009-12-24  Bruno Haible  <bruno@clisp.org>
6956
6957         Reduce namespace pollution on glibc systems.
6958         * lib/inttypes.in.h: Don't include <stdint.h> on glibc systems.
6959         * lib/stdlib.in.h: Don't include <stdint.h>, <unistd.h> on glibc
6960         systems.
6961         * lib/unistd.in.h: Don't include <stdio.h>, <fcntl.h>, <stdlib.h>,
6962         <getopt.h> on glibc systems.
6963         * lib/fcntl.in.h: Don't include <sys/stat.h>, <unistd.h> on glibc
6964         systems.
6965         * lib/fcntl.c: Include <unistd.h> here instead.
6966
6967 2009-12-24  Bruno Haible  <bruno@clisp.org>
6968
6969         * lib/stdlib.in.h (includes): Fix typo in today's commit.
6970
6971 2009-12-24  Eric Blake  <ebb9@byu.net>
6972
6973         tests: add signature checks
6974         * tests/signature.h (SIGNATURE_CHECK): New file.
6975         * modules/atexit-tests (Files): Use it.
6976         * modules/btowc-tests (Files): Likewise.
6977         * modules/canonicalize-lgpl-tests (Files): Likewise.
6978         * modules/ceilf-tests (Files): Likewise.
6979         * modules/ceill-tests (Files): Likewise.
6980         * modules/chown-tests (Files): Likewise.
6981         * modules/dprintf-posix-tests (Files): Likewise.
6982         * modules/dup2-tests (Files): Likewise.
6983         * modules/dup3-tests (Files): Likewise.
6984         * modules/duplocale-tests (Files): Likewise.
6985         * modules/fchdir-tests (Files): Likewise.
6986         * modules/fcntl-tests (Files): Likewise.
6987         * modules/fdopendir-tests (Files): Likewise.
6988         * modules/fflush-tests (Files): Likewise.
6989         * modules/flock-tests (Files): Likewise.
6990         * modules/floorf-tests (Files): Likewise.
6991         * modules/floorl-tests (Files): Likewise.
6992         * modules/fnmatch-tests (Files): Likewise.
6993         * modules/fopen-tests (Files): Likewise.
6994         * modules/fprintf-posix-tests (Files): Likewise.
6995         * modules/freopen-tests (Files): Likewise.
6996         * modules/frexp-nolibm-tests (Files): Likewise.
6997         * modules/frexp-tests (Files): Likewise.
6998         * modules/frexpl-nolibm-tests (Files): Likewise.
6999         * modules/frexpl-tests (Files): Likewise.
7000         * modules/fseek-tests (Files): Likewise.
7001         * modules/fseeko-tests (Files): Likewise.
7002         * modules/fsync-tests (Files): Likewise.
7003         * modules/ftell-tests (Files): Likewise.
7004         * modules/ftello-tests (Files): Likewise.
7005         * modules/futimens-tests (Files): Likewise.
7006         * modules/getaddrinfo-tests (Files): Likewise.
7007         * modules/getcwd-tests (Files): Likewise.
7008         * modules/getdelim-tests (Files): Likewise.
7009         * modules/getdtablesize-tests (Files): Likewise.
7010         * modules/getgroups-tests (Files): Likewise.
7011         * modules/gethostname-tests (Files): Likewise.
7012         * modules/getline-tests (Files): Likewise.
7013         * modules/getopt-posix-tests (Files): Likewise.
7014         * modules/gettimeofday-tests (Files): Likewise.
7015         * modules/glob-tests (Files): Likewise.
7016         * modules/iconv-tests (Files): Likewise.
7017         * modules/inet_ntop-tests (Files): Likewise.
7018         * modules/inet_pton-tests (Files): Likewise.
7019         * modules/isblank-tests (Files): Likewise.
7020         * modules/lchown-tests (Files): Likewise.
7021         * modules/ldexpl-tests (Files): Likewise.
7022         * modules/link-tests (Files): Likewise.
7023         * modules/linkat-tests (Files): Likewise.
7024         * modules/lseek-tests (Files): Likewise.
7025         * modules/lstat-tests (Files): Likewise.
7026         * modules/mbrtowc-tests (Files): Likewise.
7027         * modules/mbsinit-tests (Files): Likewise.
7028         * modules/mbsnrtowcs-tests (Files): Likewise.
7029         * modules/mbsrtowcs-tests (Files): Likewise.
7030         * modules/memchr-tests (Files): Likewise.
7031         * modules/memcmp-tests (Files): Likewise.
7032         * modules/memmem-tests (Files): Likewise.
7033         * modules/memrchr-tests (Files): Likewise.
7034         * modules/mkdir-tests (Files): Likewise.
7035         * modules/mkfifo-tests (Files): Likewise.
7036         * modules/mkfifoat-tests (Files): Likewise.
7037         * modules/mknod-tests (Files): Likewise.
7038         * modules/nanosleep-tests (Files): Likewise.
7039         * modules/nl_langinfo-tests (Files): Likewise.
7040         * modules/obstack-printf-tests (Files): Likewise.
7041         * modules/open-tests (Files): Likewise.
7042         * modules/openat-tests (Files): Likewise.
7043         * modules/perror-tests (Files): Likewise.
7044         * modules/pipe2-tests (Files): Likewise.
7045         * modules/poll-tests (Files): Likewise.
7046         * modules/popen-tests (Files): Likewise.
7047         * modules/posix_spawn-tests (Files): Likewise.
7048         * modules/posix_spawnp-tests (Files): Likewise.
7049         * modules/pread-tests (Files): Likewise.
7050         * modules/printf-posix-tests (Files): Likewise.
7051         * modules/pty-tests (Files): Likewise.
7052         * modules/random_r-tests (Files): Likewise.
7053         * modules/rawmemchr-tests (Files): Likewise.
7054         * modules/readlink-tests (Files): Likewise.
7055         * modules/remove-tests (Files): Likewise.
7056         * modules/rename-tests (Files): Likewise.
7057         * modules/renameat-tests (Files): Likewise.
7058         * modules/rmdir-tests (Files): Likewise.
7059         * modules/round-tests (Files): Likewise.
7060         * modules/roundf-tests (Files): Likewise.
7061         * modules/roundl-tests (Files): Likewise.
7062         * modules/select-tests (Files): Likewise.
7063         * modules/setenv-tests (Files): Likewise.
7064         * modules/sigaction-tests (Files): Likewise.
7065         * modules/sleep-tests (Files): Likewise.
7066         * modules/snprintf-posix-tests (Files): Likewise.
7067         * modules/snprintf-tests (Files): Likewise.
7068         * modules/sprintf-posix-tests (Files): Likewise.
7069         * modules/stat-tests (Files): Likewise.
7070         * modules/strcasestr-tests (Files): Likewise.
7071         * modules/strchrnul-tests (Files): Likewise.
7072         * modules/strerror-tests (Files): Likewise.
7073         * modules/strsignal-tests (Files): Likewise.
7074         * modules/strstr-tests (Files): Likewise.
7075         * modules/strtod-tests (Files): Likewise.
7076         * modules/strverscmp-tests (Files): Likewise.
7077         * modules/symlink-tests (Files): Likewise.
7078         * modules/symlinkat-tests (Files): Likewise.
7079         * modules/times-tests (Files): Likewise.
7080         * modules/trunc-tests (Files): Likewise.
7081         * modules/truncf-tests (Files): Likewise.
7082         * modules/truncl-tests (Files): Likewise.
7083         * modules/tsearch-tests (Files): Likewise.
7084         * modules/uname-tests (Files): Likewise.
7085         * modules/unlink-tests (Files): Likewise.
7086         * modules/unsetenv-tests (Files): Likewise.
7087         * modules/usleep-tests (Files): Likewise.
7088         * modules/utimensat-tests (Files): Likewise.
7089         * modules/vasprintf-tests (Files): Likewise.
7090         * modules/vdprintf-posix-tests (Files): Likewise.
7091         * modules/vfprintf-posix-tests (Files): Likewise.
7092         * modules/vprintf-posix-tests (Files): Likewise.
7093         * modules/vsnprintf-posix-tests (Files): Likewise.
7094         * modules/vsnprintf-tests (Files): Likewise.
7095         * modules/vsprintf-posix-tests (Files): Likewise.
7096         * modules/wcrtomb-tests (Files): Likewise.
7097         * modules/wcsnrtombs-tests (Files): Likewise.
7098         * modules/wcsrtombs-tests (Files): Likewise.
7099         * modules/wcwidth-tests (Files): Likewise.
7100         * tests/test-isfinite.c (isfinite): Ensure macro declaration.
7101         * tests/test-isinf.c (isinf): Likewise.
7102         * tests/test-isnan.c (isnan): Likewise.
7103         * tests/test-signbit.c (signbit): Likewise.
7104         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Ensure
7105         declaration, either as macro or with correct signature.
7106         (select): Ensure function under test is declared with correct
7107         signature in correct header.
7108         * tests/test-atexit.c (atexit): Likewise.
7109         * tests/test-btowc.c (btowc): Likewise.
7110         * tests/test-canonicalize-lgpl.c (realpath)
7111         (canonicalize_file_name): Likewise.
7112         * tests/test-ceilf1.c (ceilf): Likewise.
7113         * tests/test-ceill.c (ceill): Likewise.
7114         * tests/test-chown.c (chown): Likewise.
7115         * tests/test-dprintf-posix.c (dprintf): Likewise.
7116         * tests/test-dup2.c (dup2): Likewise.
7117         * tests/test-dup3.c (dup3): Likewise.
7118         * tests/test-duplocale.c (duplocale): Likewise.
7119         * tests/test-fchdir.c (fchdir): Likewise.
7120         * tests/test-fchownat.c (fchownat): Likewise.
7121         * tests/test-fcntl.c (fcntl): Likewise.
7122         * tests/test-fdopendir.c (fdopendir): Likewise.
7123         * tests/test-fflush.c (fflush): Likewise.
7124         * tests/test-flock.c (flock): Likewise.
7125         * tests/test-floorf1.c (floorf): Likewise.
7126         * tests/test-floorl.c (floorl): Likewise.
7127         * tests/test-fnmatch.c (fnmatch): Likewise.
7128         * tests/test-fopen.c (fopen): Likewise.
7129         * tests/test-fprintf-posix.c (fprintf): Likewise.
7130         * tests/test-freopen.c (freopen): Likewise.
7131         * tests/test-frexp.c (frexp): Likewise.
7132         * tests/test-frexpl.c (frexpl): Likewise.
7133         * tests/test-fseek.c (fseek): Likewise.
7134         * tests/test-fseeko.c (fseeko): Likewise.
7135         * tests/test-fstatat.c (fstatat): Likewise.
7136         * tests/test-fsync.c (fsync): Likewise.
7137         * tests/test-ftell.c (ftell): Likewise.
7138         * tests/test-ftello.c (ftello): Likewise.
7139         * tests/test-futimens.c (futimens): Likewise.
7140         * tests/test-getaddrinfo.c (getaddrinfo, freeaddrinfo)
7141         (gai_strerror): Likewise.
7142         * tests/test-getcwd.c (getcwd): Likewise.
7143         * tests/test-getdelim.c (getdelim): Likewise.
7144         * tests/test-getdtablesize.c (getdtablesize): Likewise.
7145         * tests/test-getgroups.c (getgroups): Likewise.
7146         * tests/test-gethostname.c (gethostname): Likewise.
7147         * tests/test-getline.c (getline): Likewise.
7148         * tests/test-getopt.c (getopt, getopt_long, getopt_long_only):
7149         Likewise.
7150         * tests/test-gettimeofday.c (gettimeofday): Likewise.
7151         * tests/test-glob.c (glob, globfree): Likewise.
7152         * tests/test-iconv.c (iconv, iconv_open, iconv_close): Likewise.
7153         * tests/test-inet_ntop.c (inet_ntop): Likewise.
7154         * tests/test-inet_pton.c (inet_pton): Likewise.
7155         * tests/test-isblank.c (isblank): Likewise.
7156         * tests/test-lchown.c (lchown): Likewise.
7157         * tests/test-ldexpl.c (ldexpl): Likewise.
7158         * tests/test-link.c (link): Likewise.
7159         * tests/test-linkat.c (linkat): Likewise.
7160         * tests/test-lseek.c (lseek): Likewise.
7161         * tests/test-lstat.c (lstat): Likewise.
7162         * tests/test-mbrtowc.c (mbrtowc): Likewise.
7163         * tests/test-mbsinit.c (mbsinit): Likewise.
7164         * tests/test-mbsnrtowcs.c (mbsnrtowcs): Likewise.
7165         * tests/test-mbsrtowcs.c (mbsrtowcs): Likewise.
7166         * tests/test-memchr.c (memchr): Likewise.
7167         * tests/test-memcmp.c (memcmp): Likewise.
7168         * tests/test-memmem.c (memmem): Likewise.
7169         * tests/test-memrchr.c (memrchr): Likewise.
7170         * tests/test-mkdir.c (mkdir): Likewise.
7171         * tests/test-mkdirat.c (mkdirat): Likewise.
7172         * tests/test-mkfifo.c (mkfifo): Likewise.
7173         * tests/test-mkfifoat.c (mkfifoat, mknodat): Likewise.
7174         * tests/test-mknod.c (mknod): Likewise.
7175         * tests/test-nanosleep.c (nanosleep): Likewise.
7176         * tests/test-nl_langinfo.c (nl_langinfo): Likewise.
7177         * tests/test-obstack-printf.c (obstack_printf, obstack_vprintf):
7178         Likewise.
7179         * tests/test-open.c (open): Likewise.
7180         * tests/test-openat.c (openat): Likewise.
7181         * tests/test-perror.c (perror): Likewise.
7182         * tests/test-pipe2.c (pipe2): Likewise.
7183         * tests/test-poll.c (poll): Likewise.
7184         * tests/test-popen.c (popen, pclose): Likewise.
7185         * tests/test-posix_spawn1.c (posix_spawnp, posix_spawnattr_init)
7186         (posix_spawnattr_destroy, posix_spawnattr_setsigmask)
7187         (posix_spawnattr_setflags, posix_spawn_file_actions_init)
7188         (posix_spawn_file_actions_destroy)
7189         (posix_spawn_file_actions_addclose)
7190         (posix_spawn_file_actions_addopen)
7191         (posix_spawn_file_actions_adddup2): Likewise.
7192         * tests/test-posix_spawn3.c (posix_spawn): Likewise.
7193         * tests/test-pread.c (pread): Likewise.
7194         * tests/test-printf-posix.c (printf): Likewise.
7195         * tests/test-pty.c (openpty, forkpty): Likewise.
7196         * tests/test-random_r.c (srandom_r, initstate_r, setstate_r)
7197         (random_r): Likewise.
7198         * tests/test-rawmemchr.c (rawmemchr): Likewise.
7199         * tests/test-readlink.c (readlink): Likewise.
7200         * tests/test-remove.c (remove): Likewise.
7201         * tests/test-rename.c (rename): Likewise.
7202         * tests/test-renameat.c (renameat): Likewise.
7203         * tests/test-rmdir.c (rmdir): Likewise.
7204         * tests/test-round1.c (round): Likewise.
7205         * tests/test-roundf1.c (roundf): Likewise.
7206         * tests/test-roundl.c (roundl): Likewise.
7207         * tests/test-setenv.c (setenv): Likewise.
7208         * tests/test-sigaction.c (sigaction): Likewise.
7209         * tests/test-sleep.c (sleep): Likewise.
7210         * tests/test-snprintf.c (snprintf): Likewise.
7211         * tests/test-sprintf-posix.c (sprintf): Likewise.
7212         * tests/test-stat.c (stat): Likewise.
7213         * tests/test-stpncpy.c (stpncpy): Likewise.
7214         * tests/test-strcasestr.c (strcasestr): Likewise.
7215         * tests/test-strchrnul.c (strchrnul): Likewise.
7216         * tests/test-strerror.c (strerror): Likewise.
7217         * tests/test-strsignal.c (strsignal): Likewise.
7218         * tests/test-strstr.c (strstr): Likewise.
7219         * tests/test-strtod.c (strtod): Likewise.
7220         * tests/test-strverscmp.c (strverscmp): Likewise.
7221         * tests/test-symlink.c (symlink): Likewise.
7222         * tests/test-symlinkat.c (symlinkat, readlinkat): Likewise.
7223         * tests/test-times.c (times): Likewise.
7224         * tests/test-trunc1.c (trunc): Likewise.
7225         * tests/test-truncf1.c (truncf): Likewise.
7226         * tests/test-truncl.c (truncl): Likewise.
7227         * tests/test-tsearch.c (tdelete, tfind, tsearch, twalk):
7228         Likewise.
7229         * tests/test-uname.c (uname): Likewise.
7230         * tests/test-unlink.c (unlink): Likewise.
7231         * tests/test-unlinkat.c (unlinkat): Likewise.
7232         * tests/test-unsetenv.c (unsetenv): Likewise.
7233         * tests/test-usleep.c (usleep): Likewise.
7234         * tests/test-utimensat.c (utimensat): Likewise.
7235         * tests/test-vasprintf.c (asprintf, vasprintf): Likewise.
7236         * tests/test-vdprintf-posix.c (vdprintf): Likewise.
7237         * tests/test-vfprintf-posix.c (vfprintf): Likewise.
7238         * tests/test-vprintf-posix.c (vprintf): Likewise.
7239         * tests/test-vsnprintf.c (vsnprintf): Likewise.
7240         * tests/test-vsprintf-posix.c (vsprintf): Likewise.
7241         * tests/test-wcrtomb.c (wcrtomb): Likewise.
7242         * tests/test-wcsnrtombs.c (wcsnrtombs): Likewise.
7243         * tests/test-wcsrtombs.c (wcsrtombs): Likewise.
7244         * tests/test-wcwidth.c (wcwidth): Likewise.
7245
7246         build: pull in conditional headers during GNULIB_POSIXCHECK
7247         * lib/stdio.in.h (includes): Using GNULIB_POSIXCHECK also requires
7248         definitions from any conditionally-included headers.
7249         * lib/stdlib.in.h (includes): Likewise.
7250         * lib/unistd.in.h (includes): Likewise.
7251
7252 2009-12-24  Bruno Haible  <bruno@clisp.org>
7253
7254         * tests/test-argv-iter.c: Include header file being tested immediately
7255         after config.h.
7256         * tests/test-base64.c: Likewise.
7257         * tests/test-flock.c: Likewise.
7258         * tests/test-fsync.c: Likewise.
7259         * tests/test-getdate.c: Likewise.
7260         * tests/test-getndelim2.c: Likewise.
7261         * tests/test-isfinite.c: Likewise.
7262         * tests/test-isinf.c: Likewise.
7263         * tests/test-strerror.c: Likewise.
7264         * tests/test-strsignal.c: Likewise.
7265
7266 2009-12-23  Eric Blake  <ebb9@byu.net>
7267
7268         unistd: work around cygwin bug
7269         * lib/unistd.in.h (includes): Pick up headers needed for cygwin.
7270         * doc/posix-functions/unlinkat.texi (unlinkat): Document the bug.
7271         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
7272
7273 2009-12-23  Bruno Haible  <bruno@clisp.org>
7274
7275         localename: More tests.
7276         * tests/test-localename.c (SIZEOF): New macro.
7277         (categories): New variable.
7278         (test_locale_name, test_locale_name_posix, test_locale_name_environ,
7279         test_locale_name_default): Add test w.r.t. thread locale.
7280         (test_locale_name_thread): New function.
7281         (main): Invoke it.
7282
7283         localename: Make aware of thread locale.
7284         * lib/localename.h (gl_locale_name_thread): New declaration.
7285         (gl_locale_name, gl_locale_name_posix, gl_locale_name_default): Clarify
7286         behaviour with respect to thread locale.
7287         * lib/localename.c: Include <limits.h>, <stddef.h>, <xlocale.h>,
7288         <langinfo.h>, glthread/lock.h.
7289         (SIZE_BITS): New macro.
7290         (string_hash): New function.
7291         (struct hash_node): New type.
7292         (HASH_TABLE_SIZE): New macro.
7293         (struniq_hash_table, struniq_lock): New variables.
7294         (struniq): New function.
7295         (gl_locale_name_thread): New function.
7296         (gl_locale_name): Invoke it.
7297         * m4/localename.m4 (gl_LOCALENAME): Test for uselocale function.
7298         * modules/localename (Depends-on): Add lock.
7299         Reported by Mike Gran <spk121@yahoo.com>.
7300
7301 2009-12-23  Eric Blake  <ebb9@byu.net>
7302
7303         va-args: new module
7304         * modules/va-args: New file.
7305         * m4/va-args.m4 (gl_VA_ARGS): Likewise.
7306         * MODULES.html.sh (Core language properties): Mention it.
7307
7308         gnulib-common: prefer _GL_UNUSED over _UNUSED_PARAMETER_
7309         * m4/gnulib-common.m4 (gl_COMMON): Create a more-appropriately
7310         named alias for __attribute__((__unused__)).
7311         * lib/chown.c: Update client.
7312         * lib/fchmodat.c: Likewise.
7313         * lib/fts.c: Likewise.
7314         * lib/getdate.y: Likewise.
7315         * lib/getgroups.c: Likewise.
7316         * lib/getopt.c: Likewise.
7317         * lib/getugroups.c: Likewise.
7318         * lib/mkdir.c: Likewise.
7319         * lib/mkfifo.c: Likewise.
7320         * lib/mkfifoat.c: Likewise.
7321         * lib/mknod.c: Likewise.
7322         * lib/mknodat.c: Likewise.
7323         * lib/readlink.c: Likewise.
7324         * lib/se-context.in.h: Likewise.
7325         * lib/se-selinux.in.h: Likewise.
7326         * lib/sockets.c: Likewise.
7327         * lib/symlink.c: Likewise.
7328         * lib/symlinkat.c: Likewise.
7329         * lib/unicodeio.c: Likewise.
7330         * lib/unistr.h: Likewise.
7331         * tests/test-areadlink.c: Likewise.
7332         * tests/test-areadlinkat.c: Likewise.
7333         * tests/test-filenamecat.c: Likewise.
7334         * tests/test-fseeko.c: Likewise.
7335         * tests/test-ftello.c: Likewise.
7336         * tests/test-getdate.c: Likewise.
7337         * tests/test-getgroups.c: Likewise.
7338         * tests/test-gethostname.c: Likewise.
7339         * tests/test-quotearg.c: Likewise.
7340         * tests/test-version-etc.c: Likewise.
7341         * tests/test-xalloc-die.c: Likewise.
7342         * tests/test-xfprintf-posix.c: Likewise.
7343         * tests/test-xprintf-posix.c: Likewise.
7344         * tests/test-xvasprintf.c: Likewise.
7345
7346         tests: avoid compiler warnings
7347         * tests/test-fcntl.c (main): Delete unused parameters.
7348         * tests/test-freopen-safer.c (main): Likewise.
7349         * tests/test-xalloc-die.c (main): Mark unused parameters.
7350         * tests/test-fseeko.c (main): Likewise.
7351         * tests/test-ftello.c (main): Likewise.
7352         * tests/test-nanosleep.c (main): Avoid declaration warning.
7353         * tests/test-sleep.c (main): Likewise.
7354         * tests/test-unsetenv.c (main): Silence warning about string
7355         literal.
7356         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
7357
7358 2009-12-23  Bruno Haible  <bruno@clisp.org>
7359
7360         * tests/test-localename.c (test_locale_name): New function, extracted
7361         from main. Also test mixed situations.
7362         (test_locale_name_posix, test_locale_name_environ,
7363         test_locale_name_default): New functions.
7364         (main): Invoke them all.
7365         * modules/localename-tests (configure.ac): Test for newlocale.
7366
7367 2009-12-23  Bruno Haible  <bruno@clisp.org>
7368
7369         unistd: Ensure getcwd gets declared before being overridden.
7370         * lib/unistd.in.h: Conditionally include <io.h>.
7371
7372 2009-12-22  Bruno Haible  <bruno@clisp.org>
7373
7374         wchar: Diagnose broken combination of glibc and gcc versions and flags.
7375         * m4/wchar.m4 (gl_WCHAR_H_INLINE_OK): New macro.
7376         (gl_WCHAR_H): Invoke it.
7377         * m4/btowc.m4 (gl_FUNC_BTOWC): Require it.
7378         * doc/posix-headers/wchar.texi: Mention the interoperability problem.
7379         Reported by Karl Berry <karl@freefriends.org>.
7380
7381 2009-12-22  Eric Blake  <ebb9@byu.net>
7382
7383         math, unistd: avoid redundant includes
7384         * lib/math.in.h (isnan): No need to re-include <math.h>.
7385         * lib/unistd.in.h (getcwd): Likewise, for <stdlib.h>.
7386
7387         getsubopt: work around cygwin bug
7388         * lib/stdlib.in.h (includes): Move unistd inclusion sooner, to
7389         avoid conflicting with system getsubopt.
7390         * doc/posix-functions/getsubopt.texi (getsubopt): Document the
7391         bug.
7392
7393         getopt: synchronize from glibc
7394         * lib/getopt.c (_getopt_initialize, _getopt_internal_r): Swap
7395         parameter order.  Adjust all callers.
7396         (_getopt_internal_r, main): Adjust quoting in error messages.
7397         Drop considerations for outdated POSIX 1003.2 error message.
7398         * lib/getopt1.c (_getopt_long_r, _getopt_long_only_r): Adjust
7399         callers.
7400         * lib/getopt_int.h (_getopt_internal_r): Adjust prototype.
7401
7402         test-getopt: test stderr behavior
7403         * modules/getopt-posix-tests (Depends-on): Add dup2.
7404         * tests/test-getopt.c (ASSERT): Avoid stderr.
7405         (main): Move stderr to a temporary file.
7406         * tests/test-getopt.h (getopt_loop): No longer manipulate opterr.
7407         Instead, add parameter to inform caller if output occurred.
7408         (test_getopt): Adjust all existing tests to expect silence, and
7409         add new tests of leading ":".
7410         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
7411         glibc shortcomings with leading "-:" or "+:" in optstring.
7412         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
7413         Likewise.
7414         * doc/posix-functions/getopt.texi (getopt): Likewise.
7415
7416         test-getopt: enhance test
7417         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require that getopt_long
7418         supports optind=0.
7419         * tests/test-getopt.c (OPTIND_MIN): Move...
7420         * tests/test-getopt.h (OPTIND_MIN): ...here.
7421         * tests/test-getopt_long.h (test_getopt_long): Add more coverage.
7422         Require that optind=0 works, since modern BSD supports it in
7423         addition to optreset, and since coreutils expects it.
7424         (test_getopt_long_only): New test.
7425         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
7426         glibc shortcomings with 'W;', and enforcement of optind=0.
7427         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
7428         Likewise.
7429
7430 2009-12-21  Bruno Haible  <bruno@clisp.org>
7431
7432         localename: Improvements for MacOS X and Cygwin.
7433         * lib/localename.h (gl_locale_name_environ): New declaration.
7434         * lib/localename.c (gl_locale_name_environ): New function, extracted from
7435         gl_locale_name_posix. Ignore dummy LANG values on MacOS X and Cygwin.
7436         (gl_locale_name_posix): Invoke it.
7437         (gl_locale_name_default): Add comments. Use Windows native API also on
7438         Cygwin.
7439
7440 2009-12-21  Bruno Haible  <bruno@clisp.org>
7441
7442         Update list of Win32 locale ids.
7443         * lib/localename.c (LANG_ROMANSH): Renamed from LANG_RHAETO_ROMANCE.
7444         (LANG_SAMI): Renamed from LANG_SAAMI.
7445         (LANG_BASHKIR, LANG_LUXEMBOURGISH, LANG_GREENLANDIC,
7446         LANG_MAPUDUNGUN, LANG_MOHAWK, LANG_BRETON, LANG_OCCITAN, LANG_CORSICAN,
7447         LANG_ALSATIAN, LANG_YAKUT, LANG_KICHE, LANG_KINYARWANDA, LANG_WOLOF,
7448         LANG_DARI, LANG_SCOTTISH_GAELIC): New macros.
7449         (SUBLANG_AFRIKAANS_SOUTH_AFRICA, SUBLANG_ALBANIAN_ALBANIA,
7450         SUBLANG_ALSATIAN_FRANCE, SUBLANG_AMHARIC_ETHIOPIA,
7451         SUBLANG_ARMENIAN_ARMENIA, SUBLANG_ASSAMESE_INDIA,
7452         SUBLANG_BASHKIR_RUSSIA, SUBLANG_BASQUE_BASQUE,
7453         SUBLANG_BELARUSIAN_BELARUS, SUBLANG_BRETON_FRANCE,
7454         SUBLANG_BULGARIAN_BULGARIA, SUBLANG_CAMBODIAN_CAMBODIA,
7455         SUBLANG_CATALAN_SPAIN, SUBLANG_CORSICAN_FRANCE,
7456         SUBLANG_CZECH_CZECH_REPUBLIC, SUBLANG_DANISH_DENMARK,
7457         SUBLANG_DARI_AFGHANISTAN, SUBLANG_DIVEHI_MALDIVES,
7458         SUBLANG_DUTCH_SURINAM, SUBLANG_ESTONIAN_ESTONIA,
7459         SUBLANG_FAEROESE_FAROE_ISLANDS, SUBLANG_FARSI_IRAN,
7460         SUBLANG_FINNISH_FINLAND, SUBLANG_FRISIAN_NETHERLANDS,
7461         SUBLANG_GALICIAN_SPAIN, SUBLANG_GEORGIAN_GEORGIA,
7462         SUBLANG_GREEK_GREECE, SUBLANG_GREENLANDIC_GREENLAND,
7463         SUBLANG_GUJARATI_INDIA, SUBLANG_HAUSA_NIGERIA_LATIN,
7464         SUBLANG_HEBREW_ISRAEL, SUBLANG_HINDI_INDIA, SUBLANG_HUNGARIAN_HUNGARY,
7465         SUBLANG_ICELANDIC_ICELAND, SUBLANG_IGBO_NIGERIA,
7466         SUBLANG_INDONESIAN_INDONESIA, SUBLANG_INUKTITUT_CANADA,
7467         SUBLANG_INUKTITUT_CANADA_LATIN, SUBLANG_IRISH_IRELAND,
7468         SUBLANG_JAPANESE_JAPAN, SUBLANG_KANNADA_INDIA,
7469         SUBLANG_KAZAK_KAZAKHSTAN, SUBLANG_KICHE_GUATEMALA,
7470         SUBLANG_KINYARWANDA_RWANDA, SUBLANG_KONKANI_INDIA,
7471         SUBLANG_KYRGYZ_KYRGYZSTAN, SUBLANG_LAO_LAOS, SUBLANG_LATVIAN_LATVIA,
7472         SUBLANG_LITHUANIAN_LITHUANIA, SUBLANG_LOWER_SORBIAN_GERMANY,
7473         SUBLANG_LUXEMBOURGISH_LUXEMBOURG, SUBLANG_MACEDONIAN_MACEDONIA,
7474         SUBLANG_MALAYALAM_INDIA, SUBLANG_MALTESE_MALTA,
7475         SUBLANG_MAORI_NEW_ZEALAND, SUBLANG_MAPUDUNGUN_CHILE,
7476         SUBLANG_MARATHI_INDIA, SUBLANG_MOHAWK_CANADA, SUBLANG_NEPALI_NEPAL,
7477         SUBLANG_OCCITAN_FRANCE, SUBLANG_ORIYA_INDIA,
7478         SUBLANG_PASHTO_AFGHANISTAN, SUBLANG_POLISH_POLAND,
7479         SUBLANG_ROMANSH_SWITZERLAND, SUBLANG_SAMI_NORTHERN_NORWAY,
7480         SUBLANG_SAMI_NORTHERN_SWEDEN, SUBLANG_SAMI_NORTHERN_FINLAND,
7481         SUBLANG_SAMI_LULE_NORWAY, SUBLANG_SAMI_LULE_SWEDEN,
7482         SUBLANG_SAMI_SOUTHERN_NORWAY, SUBLANG_SAMI_SOUTHERN_SWEDEN,
7483         SUBLANG_SAMI_SKOLT_FINLAND, SUBLANG_SAMI_INARI_FINLAND,
7484         SUBLANG_SANSKRIT_INDIA, SUBLANG_SINHALESE_SRI_LANKA,
7485         SUBLANG_SLOVAK_SLOVAKIA, SUBLANG_SLOVENIAN_SLOVENIA,
7486         SUBLANG_SOTHO_SOUTH_AFRICA, SUBLANG_SWAHILI_KENYA,
7487         SUBLANG_SWEDISH_SWEDEN, SUBLANG_SYRIAC_SYRIA,
7488         SUBLANG_TAGALOG_PHILIPPINES, SUBLANG_TAJIK_TAJIKISTAN,
7489         SUBLANG_TAMIL_INDIA, SUBLANG_TATAR_RUSSIA, SUBLANG_TELUGU_INDIA,
7490         SUBLANG_THAI_THAILAND, SUBLANG_TSWANA_SOUTH_AFRICA,
7491         SUBLANG_TURKISH_TURKEY, SUBLANG_TURKMEN_TURKMENISTAN,
7492         SUBLANG_UKRAINIAN_UKRAINE, SUBLANG_UPPER_SORBIAN_GERMANY,
7493         SUBLANG_VIETNAMESE_VIETNAM, SUBLANG_WELSH_UNITED_KINGDOM,
7494         SUBLANG_WOLOF_SENEGAL, SUBLANG_XHOSA_SOUTH_AFRICA,
7495         SUBLANG_YAKUT_RUSSIA, SUBLANG_YI_PRC, SUBLANG_YORUBA_NIGERIA,
7496         SUBLANG_ZULU_SOUTH_AFRICA): New macros.
7497         (gl_locale_name_from_win32_LANGID): Handle also the territory neutral
7498         locale ids. Add support for Alsatian, Bashkir, Breton, Corsican, Dari,
7499         Greenlandic, K'iche', Kinyarwanda, Luxembourgish, Mapudungun, Mohawk,
7500         Occitan, Scottish Gaelic, Wolof, Yakut. Change language code for Yi.
7501         Add more languages and countries for Sami, Sorbian. Add more countries
7502         for Serbian, Dutch. Add more scripts for Inuktitut. Be more precise
7503         for Pashto. Change country for Syriac, Tswana.
7504
7505 2009-12-21  Eric Blake  <ebb9@byu.net>
7506
7507         test-utimens: avoid spurious failure
7508         * tests/test-chown.h (nap): Factor...
7509         * tests/nap.h: ...into new file.
7510         * tests/test-lchown.h (nap): Avoid duplication.
7511         * tests/test-utimens-common.h (nap): Use shared implementation,
7512         necessary on file systems with 1-second resolution.
7513         * modules/chown-tests (Files): Include new file.
7514         * modules/fdutimensat-tests (Files): Likewise.
7515         * modules/futimens-tests (Files): Likewise.
7516         * modules/lchown-tests (Files): Likewise.
7517         * modules/openat-tests (Files): Likewise.
7518         * modules/utimens-tests (Files): Likewise.
7519         * modules/utimensat-tests (Files): Likewise.
7520
7521 2009-12-19  Eric Blake  <ebb9@byu.net>
7522
7523         futimens, utimensat: work around Linux bug
7524         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect ctime bug.
7525         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
7526         * lib/utimensat.c (rpl_utimensat): Work around it.
7527         * lib/futimens.c (rpl_futimens): Adjust comment.
7528
7529         utimens: work around Linux ctime bug
7530         * lib/utimens.c (detect_ctime_bug): New helper function.
7531         (update_timespec): Differentiate between workaround needed for
7532         this bug vs. what is needed for systems that lack utimensat.
7533         (fdutimens, lutimens): Work around bug.
7534
7535         utimens: check for ctime update
7536         * tests/test-utimens-common.h (check_ctime): Define.
7537         * tests/test-utimens.h (test_utimens): Expose the Linux bug.
7538         * tests/test-futimens.h (test_futimens): Likewise.
7539         * tests/test-lutimens.h (test_lutimens): Likewise.
7540         * doc/posix-functions/futimens.texi (futimens): Document the bug.
7541         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
7542
7543 2009-12-19  Bruno Haible  <bruno@clisp.org>
7544
7545         dprintf-posix: Check against memory leak fixed on 2009-12-15.
7546         * tests/test-dprintf-posix2.sh: New file.
7547         * tests/test-dprintf-posix2.c: New file.
7548         * modules/dprintf-posix-tests (Files): Add them.
7549         (configure.ac): Check for getrlimit and setrlimit.
7550         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
7551
7552 2009-12-19  Bruno Haible  <bruno@clisp.org>
7553
7554         fprintf-posix: Check against memory leak fixed on 2009-12-15.
7555         * tests/test-fprintf-posix3.sh: New file.
7556         * tests/test-fprintf-posix3.c: New file.
7557         * modules/fprintf-posix-tests (Files): Add them.
7558         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
7559
7560 2009-12-19  Eric Blake  <ebb9@byu.net>
7561
7562         dirfd: fix prototype
7563         * lib/dirent.in.h (dirfd): Argument is not const, per POSIX.
7564         * lib/dirfd.c (dirfd): Likewise.
7565
7566         canonicalize: reduce memory usage
7567         * lib/canonicalize.c (canonicalize_filename_mode): Trim the
7568         allocation to size.
7569         Reported by Solar Designer <solar@openwall.com>.
7570
7571 2009-12-19  Bruno Haible  <bruno@clisp.org>
7572
7573         New module attribute 'Applicability'.
7574         * modules/TEMPLATE-EXTENDED: New field 'Applicability'.
7575         * gnulib-tool: New option --extract-applicability.
7576         (func_usage): Document it.
7577         (sed_extract_prog): Recognize it.
7578         (func_get_applicability): New function.
7579         (func_import): Generalize handling of 'link-warning' module.
7580         * modules/link-warning (Applicability): New section.
7581         * modules/arg-nonnull (Applicability): New section.
7582         Repoted by Simon Josefsson <simon@josefsson.org>.
7583
7584 2009-12-19  Bruno Haible  <bruno@clisp.org>
7585
7586         fflush: tweak
7587         * lib/fflush.c (update_fpos_cache): Don't use fpos_t on Cygwin.
7588         * lib/fseeko.c (rpl_fseeko): Likewise.
7589
7590 2009-12-16  José E. Marchesi  <jemarch@gnu.org>  (tiny change)
7591
7592         * lib/gl_list.h: Fix typo in comment.
7593
7594 2009-12-16  Eric Blake  <ebb9@byu.net>
7595
7596         fcntl: use to simplify other modules
7597         * modules/cloexec (Depends-on): Add fcntl.
7598         * modules/fchdir (Depends-on): Likewise.
7599         * modules/fd-safer-flag (Depends-on): Likewise.
7600         * modules/unistd-safer (Depends-on): Likewise.
7601         * modules/dup3 (configure.ac): Set module indicator.
7602         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Replace fcntl if fchdir is
7603         missing.
7604         * lib/fchdir.c (_gl_register_dup): Fix comment.
7605         * lib/cloexec.c (dup_cloexec): Simplify, by relying on fcntl.
7606         * lib/dup-safer.c (dup_safer): Likewise.
7607         * lib/dup-safer-flag.c (dup_safer_flag): Likewise.
7608         * lib/dup3.c (dup3): Likewise.
7609         * tests/test-fchdir.c (main): Enhance test.
7610         Fixes a dup_cloexec bug reported by OndÅ™ej Vašík.
7611
7612         fcntl: port portions of fcntl to mingw
7613         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also build fcntl.c on mingw.
7614         * lib/fcntl.c (fcntl) <F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD>: Provide
7615         replacement for mingw.
7616         * modules/fcntl (Description): Update.
7617         (Depends-on): Add dup2.
7618         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness.
7619         * modules/fcntl-h (Makefile.am): Substitute it.
7620         * lib/fcntl.in.h (fcntl): Update declaration.
7621         (F_DUPFD, F_GETFD): New macros, when needed.
7622         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
7623         * doc/posix-functions/fcntl.texi (fcntl): Likewise.
7624         * tests/test-fcntl.c (check_flags, main): Enhance test for items
7625         we now guarantee.
7626
7627         fcntl: work around cygwin bug in F_DUPFD
7628         * m4/fcntl.m4 (gl_REPLACE_FCNTL): New macro.
7629         (gl_FUNC_FCNTL): Use it.  Test for F_DUPFD bug.
7630         * lib/fcntl.c (rpl_fcntl) <F_DUPFD>: Work around it.
7631         <F_DUPFD_CLOEXEC>: Reduce calls to _gl_register_dup.
7632         * doc/posix-functions/fcntl.texi (fcntl): Document it.
7633
7634         fcntl: support F_DUPFD_CLOEXEC on systems with fcntl
7635         * modules/fcntl (Files): List new files.
7636         (configure.ac): Run a test.
7637         * m4/fcntl.m4 (gl_FUNC_FCNTL): New file.
7638         * lib/fcntl.c (rpl_fcntl): Likewise.
7639         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness defaults.
7640         (gl_FCNTL_H): Always replace fcntl.h.
7641         * modules/fcntl-h (Makefile.am): Substitute witnesses.
7642         * lib/fcntl.in.h (fcntl): Declare replacement.
7643         (F_DUPFD_CLOEXEC, GNULIB_defined_F_DUPFD_CLOEXEC): New macro when
7644         needed, plus a witness.
7645         * doc/posix-functions/fcntl.texi (fcntl): Document this.
7646         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
7647         * tests/test-fcntl.c: New file.
7648         * modules/fcntl-tests: Likewise.
7649
7650         binary-io: avoid potential compilation warning
7651         * lib/binary-io.h [__DJGPP__]: Avoid null preprocessor
7652         directives.
7653
7654         fflush: avoid compilation error on NetBSD
7655         * lib/fflush.c (update_fpos_cache): Use a union to safely convert
7656         between off_t and fpos_t, since the latter is sometimes a struct.
7657         * lib/fseeko.c (rpl_fseeko): Likewise.
7658         Reported by Alexander Nasonov <alnsn@yandex.ru>.
7659
7660 2009-12-15  Eric Blake  <ebb9@byu.net>
7661
7662         fcntl-h, stdio, sys_ioctl: fix declarations
7663         * lib/stdio.in.h (dprintf): Use of link warning on a variadic
7664         function must not take arguments.
7665         * lib/sys_ioctl.in.h (ioctl): Likewise.
7666         * lib/fcntl.in.h (openat): Likewise.  Declare extern.
7667         (open): Add a link warning.
7668
7669 2009-12-15  Jim Meyering  <meyering@redhat.com>
7670
7671         areadlink, areadlink-with-size: relax license to LGPLv2+
7672         * modules/areadlink (License): Relax to LGPLv2+.
7673         * modules/areadlink-with-size (License): Likewise.
7674
7675 2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
7676             Bruno Haible  <bruno@clisp.org>
7677
7678         *printf: Fix memory leak.
7679         * lib/fprintf.c (fprintf): Free memory allocated by vasnprintf.
7680         * lib/vfprintf.c (vfprintf): Likewise.
7681         * lib/dprintf.c (dprintf): Likewise.
7682         * lib/vdprintf.c (vdprintf): Likewise.
7683
7684 2009-12-14  Eric Blake  <ebb9@byu.net>
7685
7686         accept4: adjust module dependencies
7687         * modules/accept4 (Depends-on): Use fcntl-h, not fcntl.
7688
7689         utimens: one more try at avoiding compiler warning
7690         * lib/utimens.c (lutimens): Lower scope of result.
7691
7692 2009-12-13  Bruno Haible  <bruno@clisp.org>
7693
7694         Move the malloc checking from module 'list' to new module 'xlist'.
7695         * modules/xlist: New file.
7696         * lib/gl_xlist.h: New file.
7697         * lib/gl_xlist.c: New file.
7698         * lib/gl_list.h (gl_list_create_empty, gl_list_create,
7699         gl_list_node_set_value, gl_list_set_at, gl_list_add_first,
7700         gl_list_add_last, gl_list_add_before, gl_list_add_after,
7701         gl_list_nx_add_at, gl_sortedlist_add): Disable declarations.
7702         (gl_list_nx_create_empty, gl_list_nx_create, gl_list_node_nx_set_value,
7703         gl_list_nx_set_at, gl_list_nx_add_first, gl_list_nx_add_last,
7704         gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at,
7705         gl_sortedlist_nx_add): New declarations.
7706         (struct gl_list_implementation): Rename and change methods accordingly.
7707         (gl_list_nx_create_empty): Renamed from gl_list_create_empty.
7708         (gl_list_nx_create): Renamed from gl_list_create.
7709         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
7710         (gl_list_nx_set_at): Renamed from gl_list_set_at.
7711         (gl_list_nx_add_first): Renamed from gl_list_add_first.
7712         (gl_list_nx_add_last): Renamed from gl_list_add_last.
7713         (gl_list_nx_add_before): Renamed from gl_list_add_before.
7714         (gl_list_nx_add_after): Renamed from gl_list_add_after.
7715         (gl_list_nx_add_at): Renamed from gl_list_add_at.
7716         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
7717         * lib/gl_list.c (gl_list_nx_create_empty): Renamed from
7718         gl_list_create_empty.
7719         (gl_list_nx_create): Renamed from gl_list_create.
7720         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
7721         (gl_list_nx_set_at): Renamed from gl_list_set_at.
7722         (gl_list_nx_add_first): Renamed from gl_list_add_first.
7723         (gl_list_nx_add_last): Renamed from gl_list_add_last.
7724         (gl_list_nx_add_before): Renamed from gl_list_add_before.
7725         (gl_list_nx_add_after): Renamed from gl_list_add_after.
7726         (gl_list_nx_add_at): Renamed from gl_list_add_at.
7727         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
7728         * lib/gl_array_list.c: Don't include xalloc.h.
7729         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Return
7730         NULL upon out-of-memory.
7731         (gl_array_nx_create): Renamed from gl_array_create. Return NULL upon
7732         out-of-memory.
7733         (gl_array_node_nx_set_value): Renamed from gl_array_node_set_value.
7734         Change return type to 'int'.
7735         (gl_array_nx_set_at): Renamed from gl_array_set_at.
7736         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
7737         (gl_array_nx_add_first): Renamed from gl_array_add_first. Return NULL
7738         upon out-of-memory.
7739         (gl_array_nx_add_last): Renamed from gl_array_add_last. Return NULL
7740         upon out-of-memory.
7741         (gl_array_nx_add_before): Renamed from gl_array_add_before. Return NULL
7742         upon out-of-memory.
7743         (gl_array_nx_add_after): Renamed from gl_array_add_after. Return NULL
7744         upon out-of-memory.
7745         (gl_array_nx_add_at): Renamed from gl_array_add_at. Return NULL upon
7746         out-of-memory.
7747         (gl_array_sortedlist_nx_add): Renamed from gl_array_sortedlist_add.
7748         Update.
7749         (gl_array_list_implementation): Update.
7750         * lib/gl_carray_list.c: Don't include xalloc.h.
7751         (gl_carray_nx_create_empty): Renamed from gl_carray_create_empty.
7752         Return NULL upon out-of-memory.
7753         (gl_carray_nx_create): Renamed from gl_carray_create. Return NULL upon
7754         out-of-memory.
7755         (gl_carray_node_nx_set_value): Renamed from gl_carray_node_set_value.
7756         Change return type to 'int'.
7757         (gl_carray_nx_set_at): Renamed from gl_carray_set_at.
7758         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
7759         (gl_carray_nx_add_first): Renamed from gl_carray_add_first. Return NULL
7760         upon out-of-memory.
7761         (gl_carray_nx_add_last): Renamed from gl_carray_add_last. Return NULL
7762         upon out-of-memory.
7763         (gl_carray_nx_add_at): Renamed from gl_carray_add_at. Return NULL upon
7764         out-of-memory.
7765         (gl_carray_nx_add_before): Renamed from gl_carray_add_before. Update.
7766         (gl_carray_nx_add_after): Renamed from gl_carray_add_after. Update.
7767         (gl_carray_sortedlist_nx_add): Renamed from gl_carray_sortedlist_add.
7768         Update.
7769         (gl_carray_list_implementation): Update.
7770         * lib/gl_anyhash_list2.h (hash_resize): Do nothing upon out-of-memory.
7771         * lib/gl_anylinked_list2.h (gl_linked_nx_create_empty): Renamed from
7772         gl_linked_create_empty. Return NULL upon out-of-memory.
7773         (gl_linked_nx_create): Renamed from gl_linked_create. Return NULL upon
7774         out-of-memory.
7775         (gl_linked_node_nx_set_value): Renamed from gl_linked_node_set_value.
7776         Change return type to 'int'. Return -1 upon out-of-memory.
7777         (gl_linked_nx_set_at): Renamed from gl_linked_set_at. Return NULL upon
7778         out-of-memory.
7779         (gl_linked_nx_add_first): Renamed from gl_linked_add_first. Return NULL
7780         upon out-of-memory.
7781         (gl_linked_nx_add_last): Renamed from gl_linked_add_last. Return NULL
7782         upon out-of-memory.
7783         (gl_linked_nx_add_before): Renamed from gl_linked_add_before. Return
7784         NULL upon out-of-memory.
7785         (gl_linked_nx_add_after): Renamed from gl_linked_add_after. Return NULL
7786         upon out-of-memory.
7787         (gl_linked_nx_add_at): Renamed from gl_linked_add_at. Return NULL upon
7788         out-of-memory.
7789         (gl_linked_sortedlist_nx_add): Renamed from gl_linked_sortedlist_add.
7790         Update.
7791         * lib/gl_linked_list.c: Don't include xalloc.h.
7792         (gl_linked_list_implementation): Update.
7793         * lib/gl_linkedhash_list.c: Don't include xalloc.h.
7794         (add_to_bucket): Change return type to 'int'.
7795         (gl_linkedhash_list_implementation): Update.
7796         * lib/gl_anytree_list1.h (free_subtree): New function.
7797         * lib/gl_anytree_list2.h (gl_tree_nx_create_empty): Renamed from
7798         gl_tree_create_empty. Return NULL upon out-of-memory.
7799         (gl_tree_node_nx_set_value): Renamed from gl_tree_node_set_value.
7800         Change return type to 'int'. Return -1 upon out-of-memory.
7801         (gl_tree_nx_set_at): Renamed from gl_tree_set_at. Return NULL upon
7802         out-of-memory.
7803         (gl_tree_nx_add_at): Renamed from gl_tree_add_at. Update.
7804         (gl_tree_remove_node): New function, moved here from
7805         lib/gl_anyavltree_list2.h and lib/gl_anyrbtree_list2.h.
7806         (gl_tree_sortedlist_nx_add): Renamed from gl_tree_sortedlist_add.
7807         Update.
7808         * lib/gl_anyavltree_list2.h (create_subtree_with_contents): Use
7809         malloc, not xmalloc. Return NULL upon out-of-memory.
7810         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
7811         out-of-memory.
7812         (gl_tree_remove_node_from_tree): New function, extracted from
7813         gl_tree_remove_node.
7814         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
7815         upon out-of-memory.
7816         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
7817         out-of-memory.
7818         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
7819         upon out-of-memory.
7820         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
7821         upon out-of-memory.
7822         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
7823         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents): Use malloc,
7824         not xmalloc. Return NULL upon out-of-memory.
7825         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
7826         out-of-memory.
7827         (gl_tree_remove_node_from_tree): New function, extracted from
7828         gl_tree_remove_node.
7829         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
7830         upon out-of-memory.
7831         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
7832         out-of-memory.
7833         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
7834         upon out-of-memory.
7835         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
7836         upon out-of-memory.
7837         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
7838         * lib/gl_avltree_list.c: Don't include xalloc.h. Include
7839         gl_anytree_list1.h before gl_anyavltree_list2.h.
7840         (gl_avltree_list_implementation): Update.
7841         * lib/gl_rbtree_list.c: Don't include xalloc.h. Include
7842         gl_anytree_list1.h before gl_anyavltree_list2.h.
7843         (gl_rbtree_list_implementation): Update.
7844         * lib/gl_anytreehash_list1.h (add_to_bucket, add_nodes_to_buckets):
7845         Change return type to 'int'. Return -1 upon out-of-memory. Use
7846         __builtin_expect.
7847         * lib/gl_avltreehash_list.c: Don't include xalloc.h.
7848         (gl_avltreehash_list_implementation): Update.
7849         * lib/gl_rbtreehash_list.c: Don't include xalloc.h.
7850         (gl_rbtreehash_list_implementation): Update.
7851         * modules/array-list (Depends-on): Remove xalloc.
7852         * modules/carray-list (Depends-on): Likewise.
7853         * modules/linked-list (Depends-on): Likewise.
7854         * modules/linkedhash-list (Depends-on): Likewise.
7855         * modules/avltree-list (Depends-on): Likewise.
7856         * modules/rbtree-list (Depends-on): Likewise.
7857         * modules/avltreehash-list (Depends-on): Likewise.
7858         * modules/rbtreehash-list (Depends-on): Likewise.
7859
7860         * modules/xsublist: New file.
7861         * lib/gl_xsublist.h: New file.
7862         * lib/gl_xsublist.c: New file.
7863         * lib/gl_sublist.h (gl_sublist_create): Disable declaration.
7864         (gl_sublist_nx_create): New declaration.
7865         * lib/gl_sublist.c: Don't include xalloc.h.
7866         (gl_sublist_nx_create_empty): Renamed from gl_sublist_create_empty.
7867         (gl_sublist_nx_create_fill): Renamed from gl_sublist_create_fill.
7868         (gl_sublist_node_nx_set_value): Renamed from gl_sublist_node_set_value.
7869         Change return type to 'int'. Return -1 upon out-of-memory.
7870         (gl_sublist_nx_set_at): Renamed from gl_sublist_set_at. Return NULL
7871         upon out-of-memory.
7872         (gl_sublist_nx_add_first): Renamed from gl_sublist_add_first. Return
7873         NULL upon out-of-memory.
7874         (gl_sublist_nx_add_last): Renamed from gl_sublist_add_last. Return NULL
7875         upon out-of-memory.
7876         (gl_sublist_nx_add_before): Renamed from gl_sublist_add_before. Return
7877         NULL upon out-of-memory.
7878         (gl_sublist_nx_add_after): Renamed from gl_sublist_add_after. Return
7879         NULL upon out-of-memory.
7880         (gl_sublist_nx_add_at): Renamed from gl_sublist_add_at. Return NULL
7881         upon out-of-memory.
7882         (gl_sublist_sortedlist_nx_add): Renamed from gl_sublist_sortedlist_add.
7883         (gl_sublist_list_implementation): Update.
7884         (gl_sublist_nx_create): Renamed from gl_sublist_create. Return NULL
7885         upon out-of-memory.
7886         * modules/sublist (Depends-on): Remove xalloc.
7887
7888         * tests/test-array_list.c: Use gl_list_nx_* functions where possible.
7889         * tests/test-carray_list.c: Likewise.
7890         * tests/test-linked_list.c: Likewise.
7891         * tests/test-linkedhash_list.c: Likewise.
7892         * tests/test-avltree_list.c: Likewise.
7893         * tests/test-rbtree_list.c: Likewise.
7894         * tests/test-avltreehash_list.c: Likewise.
7895         * tests/test-rbtreehash_list.c: Likewise.
7896         * modules/array-list-tests (Makefile.am): Don't link with @LIBINTL@.
7897         * modules/carray-list-tests (Makefile.am): Likewise.
7898         * modules/linked-list-tests (Makefile.am): Likewise.
7899         * modules/linkedhash-list-tests (Makefile.am): Likewise.
7900         * modules/avltree-list-tests (Makefile.am): Likewise.
7901         * modules/rbtree-list-tests (Makefile.am): Likewise.
7902         * modules/avltreehash-list-tests (Makefile.am): Likewise.
7903         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
7904
7905         * NEWS: Mention the changes.
7906
7907         * lib/clean-temp.c: Include gl_xlist.h.
7908         * modules/clean-temp (Depends-on): Add xlist.
7909
7910         * lib/git-merge-changelog.c: Include gl_xlist.h instead of gl_list.h.
7911         * modules/git-merge-changelog (Depends-on): Add xlist. Remove list.
7912
7913         * tests/test-array_oset.c: Include gl_xlist.h.
7914         * modules/array-oset-tests (Depends-on): Add xlist.
7915
7916         Reported by José E. Marchesi <jemarch@gnu.org>.
7917
7918 2009-12-13  Bruno Haible  <bruno@clisp.org>
7919
7920         Move the malloc checking from module 'oset' to new module 'xoset'.
7921         * modules/xoset: New file.
7922         * lib/gl_xoset.h: New file.
7923         * lib/gl_xoset.c: New file.
7924         * lib/gl_oset.h (gl_oset_create_empty, gl_oset_add): Disable
7925         declarations.
7926         (gl_oset_nx_create_empty, gl_oset_nx_add): New declarations.
7927         (struct gl_oset_implementation): Rename and change methods accordingly.
7928         (gl_oset_nx_create_empty): Renamed from gl_oset_create_empty.
7929         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
7930         'int'. Mark as __warn_unused_result__.
7931         * lib/gl_oset.c (gl_oset_nx_create_empty): Renamed from
7932         gl_oset_create_empty.
7933         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
7934         'int'.
7935         * lib/gl_array_oset.c: Don't include xalloc.h.
7936         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Use
7937         malloc, not xmalloc.
7938         (grow): Change return type to 'int'. Don't call xalloc_die.
7939         (gl_array_nx_add_at): Renamed from gl_array_add_at. Change return type
7940         to 'int'.
7941         (gl_array_nx_add): Renamed from gl_array_add. Change return type to
7942         'int'.
7943         (gl_array_oset_implementation): Update.
7944         * lib/gl_anytree_oset.h (gl_tree_nx_create_empty): Renamed from
7945         gl_tree_create_empty.
7946         (gl_tree_nx_add): Renamed from gl_tree_add. Change return type to
7947         'int'.
7948         * lib/gl_avltree_oset.c: Don't include xalloc.h.
7949         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
7950         xmalloc.
7951         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
7952         not xmalloc.
7953         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
7954         xmalloc.
7955         (gl_avltree_oset_implementation): Update.
7956         * lib/gl_rbtree_oset.c: Don't include xalloc.h.
7957         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
7958         xmalloc.
7959         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
7960         not xmalloc.
7961         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
7962         xmalloc.
7963         (gl_rbtree_oset_implementation): Update.
7964         * modules/array-oset (Depends-on): Remove xalloc.
7965         * modules/avltree-oset (Depends-on): Likewise.
7966         * modules/rbtree-oset (Depends-on): Likewise.
7967         * tests/test-array_oset.c: Use gl_oset_nx_* functions where possible.
7968         * tests/test-avltree_oset.c: Likewise.
7969         * tests/test-rbtree_oset.c: Likewise.
7970         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
7971         * modules/avltree-oset-tests (Makefile.am): Don't link with @LIBINTL@.
7972         * modules/rbtree-oset-tests (Makefile.am): Likewise.
7973         * NEWS: Mention the change.
7974
7975 2009-12-05  Alfred M. Szmidt  <ams@gnu.org>
7976
7977         maint.mk: allow a project to override release-prep commands
7978         * top/maint.mk (alpha, beta, stable): Move release-preparatory
7979         commands into a new rule.
7980         (release-prep): New rule.
7981         (release-prep-hook): New overridable variable.
7982
7983 2009-12-13  Bruno Haible  <bruno@clisp.org>
7984
7985         * lib/localcharset.c (locale_charset): Fix comment about use of GetACP.
7986
7987 2009-12-13  Jim Meyering  <meyering@redhat.com>
7988
7989         maint.mk (null_AM_MAKEFLAGS, built_programs): remove unused definitions
7990         * top/maint.mk (null_AM_MAKEFLAGS, built_programs): Remove definitions.
7991
7992 2009-12-12  Bruno Haible  <bruno@clisp.org>
7993
7994         duplocale: Tweak.
7995         * lib/duplocale.c (rpl_duplocale): Mark categories array as 'const'.
7996
7997 2009-12-12  Karl Berry  <karl@gnu.org>
7998
7999         * config/srclist.txt (strtoll.c): tab changes, no more sync.
8000
8001 2009-12-12  Bruno Haible  <bruno@clisp.org>
8002
8003         * m4/po.m4: Undo incorrect untabification.
8004
8005 2009-12-12  Bruno Haible  <bruno@clisp.org>
8006
8007         c-strtod, c-strtold: Use multithread-safe implementation on MacOS X.
8008         * modules/c-strtod (Depends-on): Add locale.
8009         * modules/c-strtold (Depends-on): Likewise.
8010
8011 2009-12-12  Bruno Haible  <bruno@clisp.org>
8012
8013         * lib/localcharset.c (locale_charset): Add comment about use of GetACP.
8014
8015 2009-12-11  Eric Blake  <ebb9@byu.net>
8016
8017         setenv: relax requirement in light of POSIX ruling
8018         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test handling of "" but
8019         not NULL.
8020         * tests/test-setenv.c (main): Relax test.
8021         * tests/test-unsetenv.c (main): Likewise.
8022         * doc/posix-functions/setenv.texi (setenv): Document this.
8023         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
8024
8025 2009-12-11  Bruno Haible  <bruno@clisp.org>
8026
8027         New module 'fd-safer-flag'.
8028         * lib/dup-safer-flag.c: New file, extracted from lib/dup-safer.c.
8029         * lib/dup-safer.c (dup_safer_flag): Remove function.
8030         * lib/fd-safer-flag.c: New file, extracted from lib/fd-safer.c.
8031         * lib/fd-safer.c (fd_safer_flag): Remove function.
8032         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): Update condition.
8033         * modules/cloexec (configure.ac): Drop indicator macro.
8034         * modules/fd-safer-flag: New file.
8035         * modules/pipe2-safer (Depends-on): Add fd-safer-flag. Remove cloexec.
8036         * modules/stdlib-safer (Depends-on): Add fd-safer-flag.
8037         * modules/unistd-safer-tests (Depends-on): Add fd-safer-flag.
8038
8039 2009-12-11  Bruno Haible  <bruno@clisp.org>
8040
8041         Tests for module 'nl_langinfo'.
8042         * modules/nl_langinfo-tests: New file.
8043         * tests/test-nl_langinfo.sh: New file.
8044         * tests/test-nl_langinfo.c: New file.
8045
8046         New module 'nl_langinfo'.
8047         * lib/nl_langinfo.c: New file.
8048         * m4/nl_langinfo.m4: New file.
8049         * modules/nl_langinfo: New file.
8050         * doc/posix-functions/nl_langinfo.texi: Mention the new module.
8051
8052 2009-12-11  Bruno Haible  <bruno@clisp.org>
8053
8054         Tests for module 'langinfo'.
8055         * modules/langinfo-tests: New file.
8056         * tests/test-langinfo.c: New file.
8057
8058         New module 'langinfo'.
8059         * lib/langinfo.in.h: New file.
8060         * m4/langinfo_h.m4: New file.
8061         * modules/langinfo: New file.
8062         * doc/posix-headers/langinfo.texi: Mention the new module.
8063
8064 2009-12-11  Bruno Haible  <bruno@clisp.org>
8065
8066         * lib/config.charset: Untabify.
8067
8068 2009-12-11  Bruno Haible  <bruno@clisp.org>
8069
8070         * modules/unistd-safer (configure.ac): Drop indicator macro.
8071
8072 2009-12-11  Bruno Haible  <bruno@clisp.org>
8073
8074         Move pipe2-safer code to its own file.
8075         * lib/pipe2-safer.c: New file, extracted from lib/pipe-safer.c.
8076         * lib/pipe-safer.c (pipe2_safer): Remove function.
8077         * modules/pipe2-safer (Files): Add lib/pipe2-safer.c.
8078         (Makefile.am): Add it to lib_SOURCES.
8079
8080 2009-12-10  Bruno Haible  <bruno@clisp.org>
8081
8082         * lib/recvfrom.c (rpl_recvfrom): Allow the from argument to be NULL.
8083
8084 2009-12-10  Bruno Haible  <bruno@clisp.org>
8085
8086         Declare which arguments expect non-NULL values, for GCC and clang.
8087         * build-aux/arg-nonnull.h: New file.
8088         * modules/arg-nonnull: New file.
8089         * lib/arpa_inet.in.h (_GL_ARG_NONNULL): New placeholder.
8090         (inet_ntop, inet_pton): Use it.
8091         * lib/dirent.in.h (_GL_ARG_NONNULL): New placeholder.
8092         (closedir, dirfd, opendir, scandir, alphasort): Use it.
8093         * lib/fcntl.in.h (_GL_ARG_NONNULL): New placeholder.
8094         (open, openat): Use it.
8095         * lib/fnmatch.in.h (_GL_ARG_NONNULL): New placeholder.
8096         (fnmatch): Use it.
8097         * lib/getopt.in.h (_GL_ARG_NONNULL): New placeholder.
8098         (getopt, getopt_long, getopt_long_only): Use it.
8099         * lib/glob.in.h (_GL_ARG_NONNULL): New placeholder.
8100         * lib/glob-libc.h (glob, globfree, glob64, globfree64, glob_pattern_p):
8101         Use it.
8102         * lib/iconv.in.h (_GL_ARG_NONNULL): New placeholder.
8103         (iconv_open): Use it.
8104         * lib/inttypes.in.h (_GL_ARG_NONNULL): New placeholder.
8105         (strtoimax, strtoumax): Use it.
8106         * lib/locale.in.h (_GL_ARG_NONNULL): New placeholder.
8107         (duplocale): Use it.
8108         * lib/math.in.h (_GL_ARG_NONNULL): New placeholder.
8109         (frexp, frexpl): Use it.
8110         * lib/netdb.in.h (_GL_ARG_NONNULL): New placeholder.
8111         (getaddrinfo, freeaddrinfo, getnameinfo): Use it.
8112         * lib/search.in.h (_GL_ARG_NONNULL): New placeholder.
8113         (tsearch, tfind, tdelete, twalk): Use it.
8114         * lib/signal.in.h (_GL_ARG_NONNULL): New placeholder.
8115         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
8116         sigpending): Use it.
8117         * lib/spawn.in.h (_GL_ARG_NONNULL): New placeholder.
8118         (posix_spawn, posix_spawnp, posix_spawnattr_init,
8119         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
8120         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
8121         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
8122         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
8123         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
8124         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
8125         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
8126         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
8127         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
8128         Use it.
8129         * lib/stdio.in.h (_GL_ARG_NONNULL): New placeholder.
8130         (dprintf, fclose, fopen, fprintf, fpurge, fputc, fputs, freopen,
8131         rpl_fseek, fseeko, rpl_ftell, ftello, fwrite, getdelim, getline,
8132         obstack_printf, obstack_vprintf, popen, printf, putc, puts, remove,
8133         rename, renameat, snprintf, sprintf, asprintf, vasprintf, vdprintf,
8134         vfprintf, vprintf, vsnprintf, vsprintf): Use it.
8135         * lib/stdlib.in.h (_GL_ARG_NONNULL): New placeholder.
8136         (atoll, canonicalize_file_name, getloadavg, getsubopt, mkdtemp,
8137         mkostemp, mkostemps, mkstemp, mkstemps, putenv, srandom_r, initstate_r,
8138         setstate_r, random_r, realpath, rpmatch, setenv, strtod, strtoll,
8139         strtoull, unsetenv): Use it.
8140         * lib/string.in.h (_GL_ARG_NONNULL): New placeholder.
8141         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
8142         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
8143         strcasestr, strtok_r, mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
8144         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
8145         mbsspn, mbssep, mbstok_r, strverscmp): Use it.
8146         * lib/strings.in.h (_GL_ARG_NONNULL): New placeholder.
8147         (strcasecmp, strncasecmp): Use it.
8148         * lib/sys_socket.in.h (_GL_ARG_NONNULL): New placeholder.
8149         (rpl_connect, rpl_bind, rpl_getpeername, rpl_getsockname,
8150         rpl_getsockopt, rpl_recv, rpl_send, rpl_recvfrom, rpl_sendto,
8151         rpl_setsockopt): Use it.
8152         * lib/sys_stat.in.h (_GL_ARG_NONNULL): New placeholder.
8153         (fchmodat, fstat, fstatat, lchmod, rpl_lstat, mkdir, mkdirat, mkfifo,
8154         mkfifoat, mknod, mknodat, stat, utimensat): Use it.
8155         * lib/sys_time.in.h (_GL_ARG_NONNULL): New placeholder.
8156         (gettimeofday): Use it.
8157         * lib/sys_times.in.h (_GL_ARG_NONNULL): New placeholder.
8158         (times): Use it.
8159         * lib/sys_utsname.in.h (_GL_ARG_NONNULL): New placeholder.
8160         (uname): Use it.
8161         * lib/time.in.h (_GL_ARG_NONNULL): New placeholder.
8162         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): Use it.
8163         * lib/unistd.in.h (_GL_ARG_NONNULL): New placeholder.
8164         (chown, euidaccess, faccessat, _gl_register_fd, fchownat,
8165         getdomainname, gethostname, getlogin_r, lchown, link, linkat, pipe2,
8166         pread, readlink, readlinkat, rmdir, symlink, symlinkat, unlink,
8167         unlinkat, write): Use it.
8168         * lib/wchar.in.h (_GL_ARG_NONNULL): New placeholder.
8169         (mbsrtowcs, mbsnrtowcs, wcsrtombs, wcsnrtombs): Use it.
8170         * lib/argv-iter.h: Include arg-nonnull.h.
8171         (_ATTRIBUTE_NONNULL_): Remove macro.
8172         (argv_iter_init_argv, argv_iter_init_stream, argv_iter,
8173         argv_iter_n_args, argv_iter_free): Use _GL_ARG_NONNULL.
8174         * lib/canonicalize-lgpl.c (_GL_ARG_NONNULL): Define, to defeat gcc
8175         optimization.
8176         * lib/getaddrinfo.c (_GL_ARG_NONNULL): Likewise.
8177         * lib/getdelim.c (_GL_ARG_NONNULL): Likewise.
8178         * lib/glob.c (_GL_ARG_NONNULL): Likewise.
8179         * lib/random_r.c (_GL_ARG_NONNULL): Likewise.
8180         * lib/setenv.c (_GL_ARG_NONNULL): Likewise.
8181         * lib/strtod.c (_GL_ARG_NONNULL): Likewise.
8182         * lib/tsearch.c (_GL_ARG_NONNULL): Likewise.
8183         * lib/unsetenv.c (_GL_ARG_NONNULL): Likewise.
8184         * modules/arpa_inet (Depends-on): Add arg-nonnull.
8185         (Makefile.am): Insert arg-nonnull.h into arpa/inet.h.
8186         * modules/dirent (Depends-on): Add arg-nonnull.
8187         (Makefile.am): Insert arg-nonnull.h into dirent.h.
8188         * modules/fcntl-h (Depends-on): Add arg-nonnull.
8189         (Makefile.am): Insert arg-nonnull.h into fcntl.h.
8190         * modules/fnmatch (Depends-on): Add arg-nonnull.
8191         (Makefile.am): Insert arg-nonnull.h into fnmatch.h.
8192         * modules/getopt-posix (Depends-on): Add arg-nonnull.
8193         (Makefile.am): Insert arg-nonnull.h into getopt.h.
8194         * modules/glob (Depends-on): Add arg-nonnull.
8195         (Makefile.am): Insert arg-nonnull.h into glob.h.
8196         * modules/iconv_open (Depends-on): Add arg-nonnull.
8197         (Makefile.am): Insert arg-nonnull.h into iconv.h.
8198         * modules/inttypes (Depends-on): Add arg-nonnull.
8199         (Makefile.am): Insert arg-nonnull.h into inttypes.h.
8200         * modules/locale (Depends-on): Add arg-nonnull.
8201         (Makefile.am): Insert arg-nonnull.h into locale.h.
8202         * modules/math (Depends-on): Add arg-nonnull.
8203         (Makefile.am): Insert arg-nonnull.h into math.h.
8204         * modules/netdb (Depends-on): Add arg-nonnull.
8205         (Makefile.am): Insert arg-nonnull.h into netdb.h.
8206         * modules/search (Depends-on): Add arg-nonnull.
8207         (Makefile.am): Insert arg-nonnull.h into search.h.
8208         * modules/signal (Depends-on): Add arg-nonnull.
8209         (Makefile.am): Insert arg-nonnull.h into signal.h.
8210         * modules/spawn (Depends-on): Add arg-nonnull.
8211         (Makefile.am): Insert arg-nonnull.h into spawn.h.
8212         * modules/stdio (Depends-on): Add arg-nonnull.
8213         (Makefile.am): Insert arg-nonnull.h into stdio.h.
8214         * modules/stdlib (Depends-on): Add arg-nonnull.
8215         (Makefile.am): Insert arg-nonnull.h into stdlib.h.
8216         * modules/string (Depends-on): Add arg-nonnull.
8217         (Makefile.am): Insert arg-nonnull.h into string.h.
8218         * modules/strings (Depends-on): Add arg-nonnull.
8219         (Makefile.am): Insert arg-nonnull.h into strings.h.
8220         * modules/sys_socket (Depends-on): Add arg-nonnull.
8221         (Makefile.am): Insert arg-nonnull.h into sys/socket.h.
8222         * modules/sys_stat (Depends-on): Add arg-nonnull.
8223         (Makefile.am): Insert arg-nonnull.h into sys/stat.h.
8224         * modules/sys_time (Depends-on): Add arg-nonnull.
8225         (Makefile.am): Insert arg-nonnull.h into sys/time.h.
8226         * modules/sys_times (Depends-on): Add arg-nonnull.
8227         (Makefile.am): Insert arg-nonnull.h into sys/times.h.
8228         * modules/sys_utsname (Depends-on): Add arg-nonnull.
8229         (Makefile.am): Insert arg-nonnull.h into sys/utsname.h.
8230         * modules/time (Depends-on): Add arg-nonnull.
8231         (Makefile.am): Insert arg-nonnull.h into time.h.
8232         * modules/unistd (Depends-on): Add arg-nonnull.
8233         (Makefile.am): Insert arg-nonnull.h into unistd.h.
8234         * modules/wchar (Depends-on): Add arg-nonnull.
8235         (Makefile.am): Insert arg-nonnull.h into wchar.h.
8236         * modules/argv-iter (Depends-on): Add arg-nonnull.
8237         * tests/test-canonicalize.c (null_ptr): New function.
8238         (main): Use it.
8239         * tests/test-canonicalize-lgpl.c (null_ptr): New function.
8240         (main): Use it.
8241         * tests/test-memmem.c (null_ptr): New function.
8242         (main): Use it.
8243         Reported by Jim Meyering.
8244
8245 2009-12-10  Bruno Haible  <bruno@clisp.org>
8246
8247         Use spaces for indentation, not tabs.
8248         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
8249         * m4/*.m4: Untabify.
8250         * build-aux/*.h: Untabify.
8251         * tests/**/*.[hc]: Untabify.
8252         * README: New section "Indent with spaces, not TABs", based on
8253         coreutils/HACKING and comments by Pádraig Brady and Paolo Bonzini.
8254         * NEWS: Mention the change.
8255
8256 2009-12-10  Bruno Haible  <bruno@clisp.org>
8257
8258         pty test: Fix link error.
8259         * modules/pty-tests (Makefile.am): Add the default LDADD value to
8260         test_pty_LDADD.
8261
8262 2009-12-07  Simon Josefsson  <simon@josefsson.org>
8263
8264         * modules/pty: New file.
8265         * modules/pty-tests: New file.
8266         * m4/pty.m4: New file.
8267         * tests/test-pty.c: New file.
8268         * doc/glibc-headers/pty.texi: Modified.
8269         * doc/glibc-functions/forkpty.texi: Modified.
8270         * doc/glibc-functions/openpty.texi: Modified.
8271
8272 2009-12-10  Bruno Haible  <bruno@clisp.org>
8273
8274         Avoid syntax error in C++ mode.
8275         * lib/stdio.in.h (rename): Don't use parameter name 'new'.
8276
8277 2009-12-10  Bruno Haible  <bruno@clisp.org>
8278
8279         Use sed with option -e.
8280         * gnulib-tool (func_version, func_emit_copyright_notice,
8281         func_emit_initmacro_end, func_import, func_create_testdir): Pass
8282         option -e to sed.
8283         * modules/link-warning (Makefile.am): Likewise.
8284
8285 2009-12-10  Jim Meyering  <meyering@redhat.com>
8286
8287         mgetgroups: do not write bytes beyond end of malloc'd buffer
8288         * lib/mgetgroups.c: Fix an off-by-one error.  When we have no
8289         username, we call getgroups with a one-element-shorter buffer,
8290         but still told it the length was original, max_n_groups.
8291
8292 2009-12-09  Eric Blake  <ebb9@byu.net>
8293
8294         cloexec: relax license
8295         * modules/cloexec (Maintainer): Add myself.
8296         (License): Use LGPL, not GPL.
8297
8298         link-warning: optimize generation
8299         * modules/link-warning (Makefile.am): Reduce process usage.
8300
8301 2009-12-09  Bruno Haible  <bruno@clisp.org>
8302
8303         * doc/posix-functions/unsetenv.texi: Mention Solaris 10 bug for which a
8304         workaround was added on 2009-11-17.
8305
8306 2009-12-09  Jim Meyering  <meyering@redhat.com>
8307             Bruno Haible  <bruno@clisp.org>
8308
8309         link-warning: Allow extra lines at the top of build-aux/link-warning.h.
8310         * modules/link-warning (Makefile.am): Make the comment-removing sed
8311         command more robust in the face of bootstrap-prepended comment lines.
8312
8313 2009-12-09  Bruno Haible  <bruno@clisp.org>
8314
8315         * lib/mgetgroups.c (mgetgroups): Don't remove duplicates if there is at
8316         most one group.
8317
8318 2009-12-09  Simon Josefsson <simon@josefsson.org>
8319             Bruno Haible  <bruno@clisp.org>
8320
8321         * build-aux/link-warning.h: Add copyright notice.
8322         * modules/link-warning (Makefile.am): Generate link-warning.h from
8323         build-aux/link-warning.h. Update LINK_WARNING_H accordingly.
8324         * NEWS: Mention change in link-warning module.
8325         * modules/arpa_inet (Makefile.am): Add dependency to arpa/inet.h.
8326         * modules/dirent (Makefile.am): Add dependency to dirent.h.
8327         * modules/fcntl-h (Makefile.am): Add dependency to fcntl.h.
8328         * modules/getopt-posix (Makefile.am): Add dependency to getopt.h.
8329         * modules/inttypes (Makefile.am): Add dependency to inttypes.h.
8330         * modules/math (Makefile.am): Add dependency to math.h.
8331         * modules/search (Makefile.am): Add dependency to search.h.
8332         * modules/signal (Makefile.am): Add dependency to signal.h.
8333         * modules/spawn (Makefile.am): Add dependency to spawn.h.
8334         * modules/stdio (Makefile.am): Add dependency to stdio.h.
8335         * modules/stdlib (Makefile.am): Add dependency to stdlib.h.
8336         * modules/string (Makefile.am): Add dependency to string.h.
8337         * modules/strings (Makefile.am): Add dependency to strings.h.
8338         * modules/sys_ioctl (Makefile.am): Add dependency to sys/ioctl.h.
8339         * modules/sys_select (Makefile.am): Add dependency to sys/select.h.
8340         * modules/sys_socket (Makefile.am): Add dependency to sys/socket.h.
8341         * modules/sys_stat (Makefile.am): Add dependency to sys/stat.h.
8342         * modules/sys_times (Makefile.am): Add dependency to sys/times.h.
8343         * modules/sys_utsname (Makefile.am): Add dependency to sys/utsname.h.
8344         * modules/sys_wait (Makefile.am): Add dependency to sys/wait.h.
8345         * modules/unistd (Makefile.am): Add dependency to unistd.h.
8346         * modules/wchar (Makefile.am): Add dependency to wchar.h.
8347
8348 2009-12-09  Bruno Haible  <bruno@clisp.org>
8349
8350         fchdir: Optimize away rpl_fstat when possible.
8351         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set REPLACE_FSTAT only together with
8352         REPLACE_OPEN_DIRECTORY.
8353         * lib/fchdir.c (rpl_fstat): Define only when REPLACE_OPEN_DIRECTORY.
8354
8355 2009-12-09  Bruno Haible  <bruno@clisp.org>
8356
8357         * lib/fchdir.c: Update comment.
8358
8359 2009-12-09  Bruno Haible  <bruno@clisp.org>
8360
8361         * lib/cloexec.c (set_cloexec_flag): Clarify intent of dup2 call.
8362
8363 2009-12-08  Eric Blake  <ebb9@byu.net>
8364
8365         fchdir: avoid memory leak on re-registration.
8366         * lib/fchdir.c (ensure_dirs_slot): Avoid memory leak.
8367
8368 2009-12-08  Jim Meyering  <meyering@redhat.com>
8369
8370         init.sh: avoid Solaris 10 /bin/sh portability problem
8371         Solaris 10's /bin/sh does not pass '.' arguments 2.. to the
8372         sourced script:
8373           $ printf 'echo "$@"\n' > f; /bin/sh -c '. ./f bar'
8374           $ printf 'echo "$@"\n' > f; /bin/bash -c '. ./f bar'
8375           bar
8376         tests/init.sh relied on that, accepting a --set-path=DIR argument,
8377         and two tests used that idiom.
8378         * tests/init.sh: Update suggested usage comments.
8379         (path_prepend_): New function, to be used in place
8380         of the --src-path=DIR option.
8381         (setup_): Move PATH-prepending code into path_prepend_.
8382         * tests/test-pread.sh: Adapt to new usage.
8383         * tests/test-xalloc-die.sh: Likewise.
8384
8385 2009-12-08  Simon Josefsson  <simon@josefsson.org>
8386
8387         * doc/gnulib.texi (Glibc pty.h): Add.
8388         * doc/glibc-functions/forkpty.texi: Add.
8389         * doc/glibc-functions/openpty.texi: Add.
8390         Suggested by Bruno Haible.
8391
8392 2009-12-08  Eric Blake  <ebb9@byu.net>
8393
8394         fchdir: fix logic bugs
8395         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Fix logic bug.
8396         * tests/test-fchdir.c (main): Enhance test.
8397         * lib/fchdir.c (rpl_fstat): Always provide if fchdir replacement
8398         is in use.
8399
8400         dup2: fix logic bugs
8401         * lib/dup2.c (dup2): Fix logic bugs.  Use HAVE_DUP2 rather than
8402         REPLACE_DUP2 to decide when rpl_dup2 is needed.
8403         * m4/dup2.m4 (gl_REPLACE_DUP2): Only define REPLACE_DUP2 when dup2
8404         exists.
8405         (gl_FUNC_DUP2): Drop unneeded AC_DEFINE.
8406
8407 2009-12-07  Eric Blake  <ebb9@byu.net>
8408
8409         unlink: fix m4 detection
8410         * m4/unlink.m4 (gl_FUNC_UNLINK): Include correct header.
8411
8412         unistd-safer: add unit test
8413         * modules/unistd-safer-tests: New file.
8414         * tests/test-dup-safer.c: Likewise.
8415         * tests/test-cloexec.c (setmode): Avoid compiler warning.
8416         * tests/test-dup2.c (setmode): Likewise.
8417         * lib/cloexec.c (dup_cloexec): Fix mingw compile error.
8418
8419         cloexec: preserve text vs. binary across dup_cloexec
8420         * lib/cloexec.c (dup_cloexec) [W32]: Query and use translation
8421         mode.
8422         * modules/dup2-tests (Depends-on): Add binary-io.
8423         * modules/cloexec-tests (Depends-on): Likewise.
8424         * tests/test-dup2.c (setmode, is_mode): New helpers.
8425         (main): Add tests that translation mode is preserved.
8426         * tests/test-cloexec.c (setmode, is_mode, main): Likewise.
8427         Reported by Bruno Haible.
8428
8429         mgetgroups: reduce duplicate listings
8430         * lib/mgetgroups.c (mgetgroups): Reduce duplicates from the
8431         resulting array.
8432         * tests/test-chown.h (test_chown): Simplify client.
8433         * tests/test-lchown.h (test_lchown): Likewise.
8434
8435 2009-12-06  Bruno Haible  <bruno@clisp.org>
8436
8437         * lib/cloexec.c (dup_cloexec): Fix handling of _gl_register_dup return
8438         value.
8439
8440 2009-12-06  Bruno Haible  <bruno@clisp.org>
8441
8442         * lib/progname.c: Include stdio.h, stdlib.h.
8443         (set_program_name): Reject a NULL argument.
8444
8445 2009-12-05  Eric Blake  <ebb9@byu.net>
8446
8447         pipe2-safer: new module
8448         * modules/pipe2-safer: New file.
8449         * lib/unistd-safer.h (pipe2_safer): New prototype.
8450         * lib/unistd--.h (pipe2): New wrapper.
8451         * lib/pipe-safer.c (pipe2_safer): New function.
8452         * modules/pipe (Depends-on): Add pipe2-safer.
8453         * lib/pipe.c (create_pipe) [WIN32]: Let pipe2_safer do the work.
8454
8455         stdlib-safer: preserve cloexec flag for mkostemp[s]
8456         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer): Use new
8457         fd_safer_flag.
8458
8459         unistd-safer: allow preservation of cloexec status via flag
8460         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): New
8461         prototypes.
8462         * lib/dup-safer.c (dup_safer_flag): New function.
8463         * lib/fd-safer.c (fd_safer_flag): Likewise.
8464         * modules/cloexec (configure.ac): Set witness.
8465
8466         test-dup2: enhance test
8467         * modules/dup2-tests (Depends-on): Add cloexec.
8468         * tests/test-dup2.c (main): Enhance test.
8469
8470         cloexec: add dup_cloexec
8471         * lib/cloexec.h (dup_cloexec): New prototype.  Add copyright
8472         header and comments.
8473         * lib/cloexec.c (set_cloexec_flag): Add comments.
8474         (dup_cloexec): New function, with mingw implementation borrowed
8475         from...
8476         * lib/w32spawn.h (dup_noinherit): ...here.
8477         * modules/execute (Depends-on): Add cloexec.
8478         * modules/pipe (Depends-on): Likewise.
8479         * modules/cloexec (Depends-on): Add dup2.
8480         * modules/cloexec-tests (Files): New file.
8481         * tests/test-cloexec.c: Likewise.
8482
8483         test-xalloc-die: fix test for mingw
8484         * modules/xalloc-die-tests (Files): Add tests/init.sh.
8485         * tests/test-xalloc-die.sh: Rewrite to use init.sh.  Strip
8486         directory and .exe suffix off argv[0] output.
8487
8488         test-fseeko: fix test for mingw
8489         * tests/test-fseeko.c (fseek): Redefine GL_LINK_WARNING, rather
8490         than undefining fseek, so test will pass on mingw.
8491
8492 2009-12-05  Bruno Haible  <bruno@clisp.org>
8493
8494         * lib/progname.h (set_program_name): Clarify specification.
8495         * lib/progname.c (set_program_name): Likewise.
8496         Reported by Jim Meyering.
8497
8498 2009-12-05  Jim Meyering  <meyering@redhat.com>
8499
8500         maint.mk: backslash-escape parens in default regexp
8501         * top/maint.mk (news-check-regexp): Now that we're using grep -E,
8502         backslash-escape the literal parentheses.
8503
8504         maint.mk: news-date-check: use grep -E
8505         * top/maint.mk (today): Define a Make variable, not a...
8506         (news-date-check): ...shell variable.
8507         (news-date-regexp): Use the Make variable.
8508         Use grep's -E option.  Change the failing diagnostic to mention
8509         the variable, $(news-date-regexp).
8510
8511 2009-12-04  Alfred M. Szmidt  <ams@gnu.org>
8512
8513         maintainer-makefile: allow customization of NEWS entry format
8514         * top/maint.mk (news-date-regexp): New overridable variable.
8515         (news-date-check): Use it.
8516
8517 2009-12-04  Eric Blake  <ebb9@byu.net>
8518
8519         mgetgroups: add xgetgroups, and avoid ENOSYS failures
8520         * lib/mgetgroups.h (xgetgroups): New prototype.
8521         * lib/mgetgroups.c (xgetgroups): New wrapper.
8522         (mgetgroups): Handle ENOSYS.
8523         * modules/mgetgroups (Depends-on): Add realloc.
8524         Reported by Scott Harrison <scott.gnu.2009@scottrix.co.uk>.
8525
8526         mgetgroups: avoid argument promotion issues with -1
8527         * lib/mgetgroups.c (mgetgroups): A cast is required when checking
8528         for invalid gid_t.
8529         * tests/test-chown.h (getegid, test_chown): Likewise.
8530         * tests/test-lchown.h (getegid, test_lchown): Likewise.
8531
8532 2009-12-03  Paolo Bonzini  <bonzini@gnu.org>
8533
8534         exclude: Fix header file problems.
8535         * lib/exclude.h: Add multiple inclusion guards and include stdbool.h.
8536
8537 2009-12-01  Jim Meyering  <meyering@redhat.com>
8538
8539         fts: fts_open: do not let an empty string cause immediate failure
8540         This is required in support of GNU rm, for which the command
8541         "rm A '' B" must process and remove both A and B, in spite of
8542         the empty string argument.
8543         * lib/fts.c (fts_open): Do not let the presence of an empty string
8544         cause fts_open to fail immediately.  Most fts-using tools must be
8545         able to process all arguments, in order, and can be expected to
8546         diagnose such arguments themselves.
8547
8548 2009-11-30  Eric Blake  <ebb9@byu.net>
8549
8550         utimens: fix compilation error
8551         * lib/utimens.c (lutimens) [!HAVE_UTIMENSAT && HAVE_LUTIMES]:
8552         Declare variable at right scope.
8553
8554 2009-11-29  Jim Meyering  <meyering@redhat.com>
8555
8556         bootstrap: handle perl-5.11's changed --version output
8557         * build-aux/bootstrap (get_version): Handle perl separately,
8558         since perl-5.11's --version output is different.
8559
8560 2009-11-28  Jim Meyering  <meyering@redhat.com>
8561
8562         userspec: depend on the inttostr module, too
8563         * modules/userspec (Depends-on): Add inttostr.
8564
8565         userspec: disallow an ID that maps to (uid_t)-1 or (gid_t)-1
8566         * lib/userspec.c (parse_with_separator): Do not accept a user ID
8567         number of MAXUID when it evaluates to (uid_t) -1.
8568         Likewise for group ID.  Reported by Matt McCutchen in
8569         <http://savannah.gnu.org/bugs/?28113>
8570
8571         userspec: reformat to use spaces, not TABs
8572         * lib/userspec.c: Expand TABs to spaces.
8573         Add Emacs' "indent-tabs-mode: nil" hint.
8574
8575 2009-11-27  Eric Blake  <ebb9@byu.net>
8576
8577         getopt-gnu: flush out another BSD bug
8578         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Test for the bug.
8579         * tests/test-getopt.c (main): Check POSIXLY_CORRECT first, to
8580         flush out BSD bug.
8581         * tests/test-getopt.h (test_getopt): End lists with NULL.
8582         * tests/test-getopt_long.h (test_getopt_long): Likewise.
8583         (test_getopt_long_posix): Enhance test.
8584         * modules/getopt-posix-tests (Depends-on): Add stdbool.
8585         * doc/glibc-functions/getopt_long.texi (getopt_long): Mention
8586         getopt-gnu.
8587         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
8588         Likewise.
8589
8590 2009-11-27  Simon Josefsson  <simon@josefsson.org>
8591
8592         * modules/idpriv-droptemp-tests (Notice): Fix text.
8593
8594 2009-11-27  Jim Meyering  <meyering@redhat.com>
8595
8596         test-xalloc-die: avoid spurious failure due to libtool argv difference
8597         In a libtool-enabled project, this test would fail due to a difference
8598         in the emitted program name, e.g.,
8599         -test-xalloc-die: memory exhausted
8600         +/tmp/.../tests/.libs/lt-test-xalloc-die: memory exhausted
8601         Use program to avoid that.
8602         * modules/xalloc-die-tests (Depends-on): Add progname.
8603         * tests/test-xalloc-die.c: Include progname.h".
8604         (program_name): Remove decl.
8605         (main): Call set_program_name.
8606         * tests/test-xalloc-die.sh (compare): Remove unnecessary ${EXE}.
8607
8608 2009-11-26  Richard Jones  <rjones@redhat.com>
8609
8610         w32sock: leave win32 error in place.
8611         * lib/w32sock.h (set_winsock_errno): Do not call WSASetLastError.
8612
8613 2009-11-26  Eric Blake  <ebb9@byu.net>
8614
8615         init.sh: suggest to use skip_ and fail_ functions in comments
8616         * tests/init.sh: Add a sentence.
8617
8618 2009-11-25  Bruno Haible  <bruno@clisp.org>
8619
8620         init.sh: add documentation in comments
8621         * tests/init.sh: Add some developer and user documentation.
8622
8623 2009-11-26  Jim Meyering  <meyering@redhat.com>
8624
8625         init.sh: accommodate even those who specify bogus srcdir manually
8626         * tests/init.sh: Normally, srcdir is guaranteed by automake and
8627         configure-time tests to be sanitized, so that there is no need to
8628         use "$srcdir" in Makefile rules and shell scripts.  Using $srcdir
8629         (with no double quotes) suffices.  However, since tests may be
8630         invoked manually, and since you may explicitly set srcdir to the
8631         name of a directory containing spaces, do quote its uses here.
8632         * tests/test-pread.sh: Likewise.
8633         Suggested by Bruno Haible.
8634
8635         test-pread.sh: avoid diagnostics for those who ignore SIGPIPE
8636         * tests/test-pread.sh: Write no data into the pipe, because
8637         test-pread actually reads none.  This avoids a diagnostic,
8638         "bash: echo: write error: Broken pipe", that arises in the unusual
8639         event something is ignoring SIGPIPE, and might be interpreted
8640         as some sort of failure.  Reported by Bruno Haible.
8641
8642 2009-11-25  Jim Meyering  <meyering@redhat.com>
8643
8644         test-pread: cover failure with ESPIPE and EINVAL
8645         * tests/test-pread.c (main): Test for failure, too.
8646         * tests/test-pread.sh: Invoke with stdin on a pipe.
8647         Suggested by Eric Blake.
8648
8649         pread: improvement and fix
8650         * modules/pread (Depends-on): Depend on lseek, for portability to
8651         e.g., mingw.  Suggested by Eric Blake.
8652         * lib/pread.c (__libc_read): Define.  Reported by Richard W.M. Jones.
8653
8654         unistd.in.h: correct declaration of pread
8655         * lib/unistd.in.h: Correct type of "buf" parameter: void*, not char*
8656         Reported by Richard W.M. Jones.
8657
8658         test-pread.sh: distribute the test script
8659         * modules/pread-tests (Files): Include test-pread.sh.
8660
8661         test-pread.sh: clean up
8662         * tests/test-pread.sh: Don't refer to $builddir. Just use equivalent ".".
8663         * modules/pread-tests (TESTS_ENVIRONMENT): Don't export builddir.
8664         That is unnecessary, since it's always ".".
8665         Suggestion from Eric Blake.
8666
8667         test-pread.sh: make executable
8668         * tests/test-pread.sh: Set executable bit.
8669         Reported by Eric Blake.
8670
8671         correct typo in test-pread.sh
8672         * tests/test-pread.sh: Add #! line.
8673
8674         test pread
8675         * tests/test-pread.c: New file.
8676         * tests/test-pread.sh: Likewise.
8677         * modules/pread-tests: Likewise.
8678
8679         pread: new module
8680         * modules/pread: New file.
8681         * lib/unistd.in.h (pread): Define/declare.
8682         * lib/pread.c (pread): New file.
8683         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define defaults.
8684         * modules/unistd (Makefile.am): Substitute witnesses.
8685         * doc/posix-functions/pread.texi (pread): Update.
8686         * MODULES.html.sh: Add pread.
8687
8688 2009-11-25  Jim Meyering  <meyering@redhat.com>
8689
8690         tests/init.sh: new file to be used via most *.sh tests
8691         * tests/init.sh: New file.
8692
8693 2009-11-25  Eric Blake  <ebb9@byu.net>
8694
8695         utimens: work around older Linux failure with symlinks
8696         * lib/utimens.c (lutimensat_works_really): New variable.
8697         (fdutimens, lutimens): Use it to manage kernels that support
8698         nanosecond times on files, but not on symlinks.
8699         Reported by OndÅ™ej Vašík.
8700
8701         utimes: fix configure grammar
8702         * m4/utimes.m4 (gl_FUNC_UTIMES): Delete spurious word.
8703
8704 2009-11-25  Paolo Bonzini  <bonzini@gnu.org>
8705
8706         regex: Fix fastmap for multibyte character ranges.
8707         * lib/regcomp.c (re_compute_fastmap_iter): Add all multibyte lead
8708         characters when a multibyte character range is included.
8709
8710 2009-11-22  Andy Wingo  <wingo@pobox.com>
8711
8712         version-etc: work also with AM_INIT_AUTOMAKE's no-define option
8713         * lib/version-etc.c [!defined PACKAGE]: Define to PACKAGE_TARNAME.
8714
8715 2009-11-24  Bruno Haible  <bruno@clisp.org>
8716
8717         doc: Most *_l functions exist in MacOS X 10.5.
8718         * doc/posix-functions/duplocale.texi: Update platforms list.
8719         * doc/posix-functions/freelocale.texi: Likewise.
8720         * doc/posix-functions/newlocale.texi: Likewise.
8721         * doc/posix-functions/uselocale.texi: Likewise.
8722         * doc/posix-functions/isalnum_l.texi: Likewise.
8723         * doc/posix-functions/isalpha_l.texi: Likewise.
8724         * doc/posix-functions/isblank_l.texi: Likewise.
8725         * doc/posix-functions/iscntrl_l.texi: Likewise.
8726         * doc/posix-functions/isdigit_l.texi: Likewise.
8727         * doc/posix-functions/isgraph_l.texi: Likewise.
8728         * doc/posix-functions/islower_l.texi: Likewise.
8729         * doc/posix-functions/isprint_l.texi: Likewise.
8730         * doc/posix-functions/ispunct_l.texi: Likewise.
8731         * doc/posix-functions/isspace_l.texi: Likewise.
8732         * doc/posix-functions/isupper_l.texi: Likewise.
8733         * doc/posix-functions/iswalnum_l.texi: Likewise.
8734         * doc/posix-functions/iswalpha_l.texi: Likewise.
8735         * doc/posix-functions/iswblank_l.texi: Likewise.
8736         * doc/posix-functions/iswcntrl_l.texi: Likewise.
8737         * doc/posix-functions/iswctype_l.texi: Likewise.
8738         * doc/posix-functions/iswdigit_l.texi: Likewise.
8739         * doc/posix-functions/iswgraph_l.texi: Likewise.
8740         * doc/posix-functions/iswlower_l.texi: Likewise.
8741         * doc/posix-functions/iswprint_l.texi: Likewise.
8742         * doc/posix-functions/iswpunct_l.texi: Likewise.
8743         * doc/posix-functions/iswspace_l.texi: Likewise.
8744         * doc/posix-functions/iswupper_l.texi: Likewise.
8745         * doc/posix-functions/iswxdigit_l.texi: Likewise.
8746         * doc/posix-functions/isxdigit_l.texi: Likewise.
8747         * doc/posix-functions/nl_langinfo_l.texi: Likewise.
8748         * doc/posix-functions/strcasecmp_l.texi: Likewise.
8749         * doc/posix-functions/strcoll_l.texi: Likewise.
8750         * doc/posix-functions/strfmon_l.texi: Likewise.
8751         * doc/posix-functions/strftime_l.texi: Likewise.
8752         * doc/posix-functions/strncasecmp_l.texi: Likewise.
8753         * doc/posix-functions/strxfrm_l.texi: Likewise.
8754         * doc/posix-functions/tolower_l.texi: Likewise.
8755         * doc/posix-functions/toupper_l.texi: Likewise.
8756         * doc/posix-functions/towctrans_l.texi: Likewise.
8757         * doc/posix-functions/towlower_l.texi: Likewise.
8758         * doc/posix-functions/towupper_l.texi: Likewise.
8759         * doc/posix-functions/wcscoll_l.texi: Likewise.
8760         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
8761         * doc/posix-functions/wctrans_l.texi: Likewise.
8762         * doc/posix-functions/wctype_l.texi: Likewise.
8763         * doc/glibc-functions/strptime_l.texi: Likewise.
8764         * doc/glibc-functions/strtod_l.texi: Likewise.
8765         * doc/glibc-functions/strtof_l.texi: Likewise.
8766         * doc/glibc-functions/strtol_l.texi: Likewise.
8767         * doc/glibc-functions/strtold_l.texi: Likewise.
8768         * doc/glibc-functions/strtoll_l.texi: Likewise.
8769         * doc/glibc-functions/strtoul_l.texi: Likewise.
8770         * doc/glibc-functions/strtoull_l.texi: Likewise.
8771         * doc/glibc-functions/wcsftime_l.texi: Likewise.
8772         * doc/glibc-functions/wcstod_l.texi: Likewise.
8773         * doc/glibc-functions/wcstof_l.texi: Likewise.
8774         * doc/glibc-functions/wcstol_l.texi: Likewise.
8775         * doc/glibc-functions/wcstold_l.texi: Likewise.
8776         * doc/glibc-functions/wcstoll_l.texi: Likewise.
8777         * doc/glibc-functions/wcstoul_l.texi: Likewise.
8778         * doc/glibc-functions/wcstoull_l.texi: Likewise.
8779
8780 2009-11-24  Bruno Haible  <bruno@clisp.org>
8781
8782         duplocale: Fix logic bug.
8783         * lib/duplocale.c: Don't include <langinfo.h>.
8784         (_NL_LOCALE_NAME): Remove macro.
8785         (rpl_duplocale): Use setlocale instead of nl_langinfo.
8786         * tests/test-duplocale.c (main): Also test duplocale after uselocale.
8787
8788 2009-11-23  Jim Meyering  <meyering@redhat.com>
8789
8790         test-update-copyright: don't hard-code /usr/bin/perl
8791         * tests/test-update-copyright.sh (YEAR): Use date +%Y, rather than
8792         perl to print the current year.  Gilles Espinasse reported that
8793         the replaced use of perl was hard-coded as /usr/bin/perl.
8794
8795 2009-11-23  Bruno Haible  <bruno@clisp.org>
8796
8797         duplocale: Add support for glibc 2.3.x.
8798         * lib/duplocale.c (rpl_duplocale): Add fallback code for glibc 2.3.x.
8799
8800 2009-11-22  Bruno Haible  <bruno@clisp.org>
8801
8802         vasnprintf: Tiny optimization.
8803         * lib/vasnprintf.c (decimal_point_char): Choose the fast path also on
8804         MacOS X.
8805
8806 2009-11-22  Bruno Haible  <bruno@clisp.org>
8807
8808         Tests for module 'duplocale'.
8809         * modules/duplocale-tests: New file.
8810         * tests/test-duplocale.c: New file.
8811
8812         New module 'duplocale'.
8813         * m4/duplocale.m4: New file.
8814         * lib/locale.in.h (duplocale): New declaration.
8815         * lib/duplocale.c: New file.
8816         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_MODULE_INDICATOR,
8817         gl_LOCALE_H_DEFAULTS): New macros.
8818         (gl_LOCALE_H): Require gl_LOCALE_H_DEFAULTS. Invoke
8819         gl_CHECK_NEXT_HEADERS unconditionally. Invoke gl_REPLACE_LOCALE_H.
8820         * modules/locale (Makefile.am): Substitute also GNULIB_DUPLOCALE,
8821         REPLACE_DUPLOCALE.
8822         * modules/duplocale: New file.
8823         * doc/posix-functions/duplocale.texi: Mention the glibc bug.
8824
8825 2009-11-22  Bruno Haible  <bruno@clisp.org>
8826
8827         * modules/locale-tests (configure.ac): Test for newlocale function.
8828         * tests/test-locale.c: When the system has extended locale functions,
8829         verify that <locale.h> defines locale_t and LC_GLOBAL_LOCALE.
8830
8831         locale: Make locale_t available when possible.
8832         * lib/locale.in.h: Include <xlocale.h> when it exists.
8833         * m4/locale_h.m4 (gl_LOCALE_H): Check for <xlocale.h> and arrange to
8834         replace <locale.h> if it does not define locale_t but <xlocale.h> does.
8835         * modules/locale (Depends-on): Add extensions.
8836         (Makefile.am): Also substitute HAVE_XLOCALE_H.
8837         * doc/posix-headers/locale.texi: Document the problem with locale_t.
8838
8839 2009-11-22  Bruno Haible  <bruno@clisp.org>
8840
8841         Add comments.
8842         * m4/dirent_h.m4 (gl_DIRENT_H): Add comment about gl_CHECK_NEXT_HEADERS
8843         invocation.
8844         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
8845         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
8846         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
8847
8848 2009-11-22  Bruno Haible  <bruno@clisp.org>
8849
8850         error: account for the possibility of freopen (stdout).
8851         * lib/error.c: Include <unistd.h>.
8852         (flush_stdout): New function, extracted from error and error_at_line.
8853         Determine stdout's fd dynamically.
8854         (error, error_at_line): Invoke flush_stdout.
8855         * m4/error.m4 (gl_PREREQ_ERROR): Require AC_C_INLINE.
8856         * modules/error (Depends-on): Add unistd.
8857
8858 2009-11-22  Bruno Haible  <bruno@clisp.org>
8859
8860         diffseq: Add comment.
8861         * lib/diffseq.h (IF_LINT): Add comment about pitfall.
8862
8863 2009-11-22  Jim Meyering  <meyering@redhat.com>
8864
8865         c-stack: avoid defining an unused static function
8866         * lib/c-stack.c (find_stack_direction): Do not define this function
8867         when it will not be used.
8868
8869         diffseq: avoid spurious gcc warnings
8870         * lib/diffseq.h (IF_LINT2): Define.
8871         (compareseq): Use it to initialize two members of "part".
8872         This avoids two used-uninitialized warnings.
8873
8874 2009-11-21  Jim Meyering  <meyering@redhat.com>
8875
8876         c-stack: avoid "ignoring return value of `write'" warning
8877         * lib/c-stack.c: Include "ignore-value.h".
8878         (die): Explicitly ignore each write return value.
8879         * modules/c-stack (Depends-on): Add ignore-value.
8880
8881 2009-11-21  Bruno Haible  <bruno@clisp.org>
8882
8883         diffseq: reduce scope of variable 'best'.
8884         * lib/diffseq.h (diag) [USE_HEURISTIC]: Reduce scope of 'best'
8885         variable, earlier used for two different purposes.
8886
8887 2009-11-21  Jim Meyering  <meyering@redhat.com>
8888
8889         diffseq: remove useless assignment to "best"
8890         * lib/diffseq.h (diag) [USE_HEURISTIC]: Remove useless "best = 0"
8891         assignment.  At that point "best" is already guaranteed to be zero.
8892
8893 2009-11-20  Eric Blake  <ebb9@byu.net>
8894
8895         build: mention ftp redirector in release announcements
8896         * top/maint.mk (gnu_rel_host, url_dir_list): Provide defaults for
8897         values that used to come from cfg.mk; mention FTP redirect URL.
8898         * build-aux/announce-gen: Mention the mirror list.
8899         Suggested by Karl Berry.
8900
8901         nanosleep: improve port to mingw
8902         * lib/nanosleep.c (rpl_nanosleep): Reject invalid arguments.
8903         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Incorporate LIBSOCKET into
8904         LIB_NANOSLEEP, but only when needed.
8905         * modules/select (Link): Document LIBSOCKET.
8906         * m4/select.m4 (gl_FUNC_SELECT): Ensure LIBSOCKET is defined early
8907         enough.
8908
8909         nanosleep: work around cygwin bug
8910         * lib/nanosleep.c (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]:
8911         Fix logic bug when nanosleep fails.  Work around cygwin 1.5.x
8912         bug.
8913         (getnow): Delete, not needed.
8914         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): No longer require
8915         LIB_CLOCK_GETTIME.
8916         * modules/nanosleep (Depends-on): Add intprops and verify.  Drop
8917         clock-time, gettime.
8918         * doc/posix-functions/nanosleep.texi (nanosleep): Document the
8919         bug.
8920         * modules/nanosleep-tests: New test.
8921         * tests/test-nanosleep.c: New file.
8922
8923         sleep: work around cygwin bug
8924         * lib/sleep.c (rpl_sleep): Work around the bug.
8925         * m4/sleep.m4 (gl_FUNC_SLEEP): Detect the bug.
8926         (gl_PREREQ_SLEEP): Delete unused macro.
8927         * modules/sleep (Depends-on): Add verify.
8928         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
8929         * modules/unistd (Makefile.am): Substitute witness.
8930         * lib/unistd.in.h (sleep): Update prototype.
8931         * doc/posix-functions/sleep.texi (sleep): Document the bug.
8932         * tests/test-sleep.c (main) [HAVE_DECL_ALARM]: Test it.
8933         * modules/sleep-tests (Depends-on): Check for alarm.
8934
8935 2009-11-20  Jim Meyering  <meyering@redhat.com>
8936
8937         maint.mk: improve sc_prohibit_magic_number_exit
8938         * top/maint.mk (sc_prohibit_magic_number_exit): Tighten regexp
8939         so it does not match uses like System.exit(1).
8940         Add comments showing how to correct all offenders.
8941
8942 2009-11-19  Eric Blake  <ebb9@byu.net>
8943
8944         xalloc-die-tests: add missing library
8945         * modules/xalloc-die-tests (Makefile.am): Add LDADD line.
8946
8947         test-xvasprintf: silence compiler warnings
8948         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Mask
8949         empty string from gcc.
8950
8951 2009-11-19  Jim Meyering  <meyering@redhat.com>
8952
8953         xfreopen: new module, from coreutils
8954         * modules/xfreopen: New module.
8955         * lib/xfreopen.c: New file.
8956         * lib/xfreopen.h: New file.
8957         * MODULES.html.sh (File stream based Input/Output"): Add it.
8958
8959 2009-11-19  Eric Blake  <ebb9@byu.net>
8960
8961         manywarnings: depend on warnings
8962         * modules/manywarnings (Depends-on): Add warnings.
8963
8964         build: avoid compiler warnings
8965         * lib/select.c (rpl_select): Delete unused variable.
8966         * lib/setsockopt.c (rpl_setsockopt): Avoid incompatible pointer.
8967
8968 2009-11-18  Eric Blake  <ebb9@byu.net>
8969
8970         tests: avoid false negative with --with-packager
8971         * tests/test-version-etc.sh: Discard packager information.
8972         * tests/test-argp-version-etc-1.sh: Likewise.
8973         Reported by Mike Frysinger.
8974
8975         utimens: fix regression on Solaris
8976         * m4/utimens.m4 (gl_UTIMENS): Check for BSD bug.
8977         * lib/utimens.c (fdutimens): Revert 2009-11-08 change; Solaris 10
8978         can only change fd timestamps via futimesat.  Instead, use an
8979         additional witness macro to avoid BSD bug.
8980         Reported by Jim Meyering.
8981
8982 2009-11-17  Eric Blake  <ebb9@byu.net>
8983
8984         usleep: use it to simplify tests
8985         * modules/stat-time-tests (Depends-on): Add usleep.
8986         (configure.ac): Drop usleep check.
8987         * modules/chown-tests (Depends-on, configure.ac): Likewise.
8988         * modules/lchown-tests (Depends-on, configure.ac): Likewise.
8989         * modules/fdutimensat-tests (Depends-on, configure.ac): Likewise.
8990         * modules/futimens-tests (Depends-on, configure.ac): Likewise.
8991         * modules/openat-tests (Depends-on, configure.ac): Likewise.
8992         * modules/utimens-tests (Depends-on, configure.ac): Likewise.
8993         * modules/utimensat-tests (Depends-on, configure.ac): Likewise.
8994         * modules/pipe-filter-gi-tests (Depends-on, configure.ac):
8995         Likewise.
8996         * tests/test-chown.h (nap): Rely on nicer usleep semantics.
8997         * tests/test-lchown.h (nap): Likewise.
8998         * tests/test-pipe-filter-gi2-main.c (small_nap): Likewise.
8999         * tests/test-stat-time.c (nap): Likewise.
9000         * tests/test-utimens-common.h (nap): Update comments.
9001
9002         usleep: new module
9003         * modules/usleep: New file.
9004         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
9005         * lib/usleep.c (usleep): Likewise.
9006         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
9007         * modules/unistd (Makefile.am): Substitute witnesses.
9008         * lib/unistd.in.h (usleep): Add declaration.
9009         * doc/pastposix-functions/usleep.texi (usleep): Document this.
9010         * MODULES.html.sh (Date and time): Likewise.
9011         * modules/usleep-tests (Depends-on): New test.
9012         * tests/test-usleep.c: New file.
9013
9014         chown: work around OpenBSD bug
9015         * lib/chown.c (rpl_chown): Work around the bug.
9016         * lib/lchown.c (rpl_lchown): Attempt to do likewise.
9017         * m4/chown.m4 (gl_FUNC_CHOWN): Test for ctime bug.
9018         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for lchmod.
9019         * modules/chown (Depends-on): Add stdbool.
9020         * modules/lchown (Depends-on): Likewise.
9021         * doc/posix-functions/chown.texi (chown): Document the bug.
9022         * doc/posix-functions/lchown.texi (lchown): Likewise.
9023         * tests/test-lchown.h (test_chown): Relax test.
9024
9025         mkstemp: avoid conflict with C++ keyword template
9026         * lib/mkdtemp.c (mkdtemp): Change spelling of template.
9027         * lib/mkostemp.c (mkostemp): Likewise.
9028         * lib/mkostemps.c (mkostemps): Likewise.
9029         * lib/mkstemp.c (mkstemp): Likewise.
9030         * lib/mkstemps.c (mkstemps): Likewise.
9031
9032         xalloc-die-tests: optimize
9033         * tests/test-xalloc-die.sh: Reduce number of processes.
9034
9035 2009-11-17  Simon Josefsson  <simon@josefsson.org>
9036
9037         * gnulib-tool: Support LGPLv3+ licenses in module files.  Tiny
9038         patch from ludo@gnu.org (Ludovic Courtès).
9039
9040 2009-11-17  Jim Meyering  <meyering@redhat.com>
9041
9042         version-etc: use proper license string
9043         * modules/version-etc (License): Use LGPL, not LGPLv3+.
9044         * modules/version-etc-fsf: Likewise.
9045
9046 2009-11-17  Simon Josefsson  <simon@josefsson.org>
9047
9048         * tests/test-xalloc-die.sh: Add license.  Check that nothing is
9049         printed to stdout.  Deal with EOL differences.
9050
9051 2009-11-17  Eric Blake  <ebb9@byu.net>
9052
9053         unsetenv: work around Solaris bug
9054         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for bug.
9055         * lib/unsetenv.c (rpl_unsetenv): Work around it.
9056         Reported by Jim Meyering.
9057
9058         vasnprintf: avoid compiler warnings
9059         * lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local
9060         variables.
9061         * lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch.
9062
9063 2009-11-17  Simon Josefsson  <simon@josefsson.org>
9064
9065         * modules/xalloc-die-tests (Makefile.am): Drop XFAIL_TESTS
9066         settings since xalloc-die is no longer the self test,
9067         xalloc-die.sh is.
9068
9069 2009-11-17  Jim Meyering  <meyering@redhat.com>
9070
9071         test-xalloc-die.sh: make the code agree with the commit log
9072         * tests/test-xalloc-die.sh: Put "." at the front of $PATH, not
9073         at the end, just in case you happen to have a test-xalloc-die
9074         program in some other PATH directory.
9075
9076         test-xalloc-die.sh: fix a portability bug
9077         * tests/test-xalloc-die.sh: Do not invoke via ./test-xalloc-die.
9078         Instead, set PATH to start with "." and invoke via "test-xalloc-die".
9079         Otherwise, argv[0] (as often seen in diagnostics) would be too
9080         system-dependent, sometimes with, and sometimes without the leading "./".
9081
9082         version-etc-fsf: relax license to LGPLv3+
9083         * modules/version-etc-fsf (License): Relax license.
9084
9085 2009-11-16  Eric Blake  <ebb9@byu.net>
9086
9087         xalloc-die-tests: avoid printing null pointer
9088         * modules/xalloc-die-tests (Files, Makefile.am): Wrap execution in
9089         shell script.
9090         * tests/test-xalloc-die.c (program_name): Declare.
9091         * tests/test-xalloc-die.sh (tmpfiles): New file.
9092
9093         setenv, unsetenv: work around various bugs
9094         * lib/setenv.c (setenv) [!HAVE_SETENV]: Resync from glibc.
9095         (setenv) [HAVE_SETENV]: Work around bugs.
9096         * lib/unsetenv.c (unsetenv) [HAVE_UNSETENV]: Work around bugs.
9097         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE, gl_FUNC_UNSETENV): Check
9098         for bugs.
9099         (gl_FUNC_SETENV): Write in terms of gl_FUNC_SETENV_SEPARATE.
9100         * m4/environ.m4 (gl_ENVIRON): Avoid expand-before-require.
9101         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Update defaults.
9102         * modules/stdlib (Makefile.am): Update substitutions.
9103         * lib/stdlib.in.h (setenv, unsetenv): Update prototypes.
9104         * doc/posix-functions/setenv.texi (setenv): Document the bugs.
9105         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
9106         * modules/setenv-tests: New test.
9107         * modules/unsetenv-tests: Likewise.
9108         * tests/test-setenv.c: New file.
9109         * tests/test-unsetenv.c: Likewise.
9110
9111 2009-11-16  Jim Meyering  <meyering@redhat.com>
9112
9113         version-etc: relax license to LGPLv3+
9114         * modules/version-etc (License): Relax license.
9115
9116         better AC_REQUIRE expanded-before-required-warning avoidance
9117         * m4/chown.m4 (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Define
9118         with AC_DEFUN_ONCE, rather than AC_DEFUN, to avoid AC_REQUIRE warnings.
9119         Suggested by Eric Blake.  This change also reverts commit 1b712ba8,
9120         which is no longer needed.
9121
9122 2009-11-16  Eric Blake  <ebb9@byu.net>
9123
9124         test-freading: clean up temporary file
9125         * tests/test-freading.c (main): Remove file on success, and use
9126         ASSERT more liberally.
9127         Reported by Jim Meyering.
9128
9129 2009-11-16  Jim Meyering  <meyering@redhat.com>
9130
9131         avoid new AC_REQUIRE expanded-before-required warnings
9132         * modules/chown (configure.ac): Require gl_FUNC_CHOWN, rather than
9133         merely using it.
9134         * modules/euidaccess (configure.ac): Likewise for gl_FUNC_EUIDACCESS.
9135         * modules/faccessat (configure.ac): Likewise for gl_FUNC_FACCESSAT.
9136
9137 2009-11-15  Simon Josefsson  <simon@josefsson.org>
9138
9139         * tests/test-xalloc-die.c: New file.
9140         * modules/xalloc-die-tests: New file.
9141         * gnulib-tool (func_emit_tests_Makefile_am): Also initialize
9142         XFAIL_TESTS so it can be appended by modules.
9143
9144 2009-11-15  Simon Josefsson  <simon@josefsson.org>
9145
9146         * lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898.  Reported
9147         by Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>.
9148
9149 2009-11-14  Eric Blake  <ebb9@byu.net>
9150
9151         fnmatch: avoid compiler warning
9152         * lib/fnmatch_loop.c (NEW_PATTERN): Coerce addition to unsigned,
9153         to silence compiler warning about mismatch signedness in ?:.
9154         Reported by Robert Millan.
9155
9156         intprops: add double-inclusion guard
9157         * lib/intprops.h: Allow idempotent includes.
9158         Suggested by Bruce Korb.
9159
9160         openat: detect Solaris fchownat bug
9161         * lib/fchownat.c (rpl_fchownat): Work around Solaris bug.  Avoid
9162         penalizing glibc chownat when only lchownat is broken.
9163         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Replace fchownat if there are
9164         trailing slash bugs.
9165         * doc/posix-functions/fchownat.texi (fchownat): Document the bug.
9166         * modules/openat-tests (Files): Include more files.
9167         (Depends-on): Add mgetgroups, sleep, stat-time.
9168         (configure.ac): Add additional checks.
9169         (Makefile.am): Build new test.
9170         * tests/test-fchownat.c: New file.
9171
9172         lchown: detect Solaris and FreeBSD bug
9173         * lib/lchown.c (rpl_lchown): Work around bug.
9174         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for trailing slash bugs.
9175         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
9176         * modules/unistd (Makefile.am): Populate it.
9177         * lib/unistd.in.h (lchown): Update declaration.
9178         * doc/posix-functions/lchown.texi (lchown): Document the bug.
9179         * modules/lchown-tests: New file.
9180         * tests/test-lchown.h (test_lchown): Likewise.
9181         * tests/test-lchown.c (main): Likewise.
9182
9183         chown: detect Solaris and FreeBSD bug
9184         * lib/chown.c (rpl_chown): Work around bug.
9185         * m4/chown.m4 (gl_FUNC_CHOWN): Check for trailing slash bugs.
9186         (gl_PREREQ_CHOWN): Delete.
9187         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
9188         * modules/unistd (Makefile.am): Populate it.
9189         * lib/unistd.in.h (chown): Update declaration.
9190         * lib/lchown.c (chown): Update client.
9191         * modules/lchown (Depends-on): Add lstat.
9192         * doc/posix-functions/chown.texi (chown): Document the bug.
9193         * doc/posix-functions/getgroups.texi (getgroups): Document
9194         getgroups pitfall.
9195         * modules/chown-tests: New file.
9196         * tests/test-chown.h (test_chown): Likewise.
9197         * tests/test-chown.c (main): Likewise.
9198
9199 2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>  (tiny change)
9200
9201         gnulib-tool: correctly detect absence of m4 directories
9202         * gnulib-tool: Avoid extra newline on data passed to wc -l.
9203
9204 2009-11-14  Jim Meyering  <meyering@redhat.com>
9205
9206         maint.mk: Prohibit inclusion of "xalloc.h" without use.
9207         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
9208
9209 2009-11-14  John W. Eaton  <jwe@gnu.org>
9210
9211         strftime.h: wrap funtion declaration in extern "C" block
9212         * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration.
9213
9214 2009-11-13  Eric Blake  <ebb9@byu.net>
9215
9216         getgroups: avoid compiler warning
9217         * lib/getgroups.c (rpl_getgroups): Delete shadowed variable.
9218
9219         getgroups: work around FreeBSD bug
9220         * lib/getgroups.c (rpl_getgroups): Work around the bug.
9221         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Detect the bug.
9222         * doc/posix-functions/getgroups.texi (getgroups): Document it.
9223         * tests/test-getgroups.c (main): Fix buffer overrun.
9224
9225         getgroups: avoid compilation failure
9226         * lib/getgroups.c (includes): Include <stdint.h> for SIZE_MAX.
9227         * modules/getgroups (Depends-on): Add stdint.
9228
9229 2009-11-13  Jim Meyering  <meyering@redhat.com>
9230
9231         test-getgroups: avoid compilation failure
9232         * tests/test-getgroups.c: Include <stdint.h> for use of SIZE_MAX.
9233
9234 2009-11-13  Eric Blake  <ebb9@byu.net>
9235
9236         mgetgroups: new module, taken from coreutils
9237         * modules/mgetgroups: New file.
9238         * lib/mgetgroups.h: Likewise.
9239         * lib/mgetgroups.c (mgetgroups): Likewise.
9240         * m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise.
9241         * MODULES.html.sh (Users and groups): Mention it.
9242
9243         getgroups: don't expose GETGROUPS_T to user
9244         * lib/getgroups.c (rpl_getgroups): Change signature.  Copy array
9245         an element at a time if GETGROUPS_T is wrong size.
9246         * lib/getugroups.h (getugroups): Change signature.
9247         * lib/unistd.in.h (getgroups): Likewise.
9248         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if
9249         signature needs fixing.
9250         * m4/getugroups.m4 (gl_GETUGROUPS): No longer need
9251         AC_TYPE_GETGROUPS.
9252         * modules/group-member (Depends-on): Add getgroups.
9253         * lib/group-member.c (group_info, get_group_info): Use gid_t.
9254         (group_member): Rely on getgroups replacement.
9255         * lib/getugroups.c (getugroups): Use gid_t.
9256         * tests/test-getgroups.c (main): Likewise.
9257         * NEWS: Mention the signature change.
9258         * doc/posix-functions/getgroups.texi (getgroups): Mention the
9259         problem with signature.
9260         * doc/glibc-functions/setgroups.texi (setgroups): Mention that
9261         GETGROUPS_T is still useful for setgroups.
9262
9263         getgroups, getugroups: provide stubs for mingw
9264         * lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw.
9265         * lib/getugroups.c (getugroups): Likewise.
9266         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing
9267         function.  Modernize replacement scheme.
9268         (gl_PREREQ_GETGROUPS): Delete.
9269         * m4/getugroups.m4 (gl_GETUGROUPS): Check for <grp.h>.
9270         * modules/getgroups (configure.ac): Declare witness.
9271         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
9272         * modules/unistd (Depends-on): Substitute witness.
9273         * lib/unistd.in.h (getgroups): Declare replacement.
9274
9275         getgroups: avoid calling exit
9276         * modules/getgroups (Depends-on): Add malloc-posix and unistd,
9277         drop xalloc.
9278         * modules/getgroups-tests (Depends-on, Makefile.am): Drop unneeded
9279         dependencies.
9280         * lib/getgroups.c (rpl_getgroups): Fail with ENOMEM rather than
9281         exiting, in the rare case of malloc failure.
9282
9283         getgroups: fix logic error
9284         * lib/getgroups.c (rpl_getgroups): Don't fail if current process
9285         has more than 20 groups.
9286         * modules/getgroups-tests: New test.
9287         * tests/test-getgroups.c: New file.
9288
9289 2009-11-13  Simon Josefsson  <simon@josefsson.org>
9290
9291         * tests/test-base64.c: Improve.
9292
9293 2009-11-13  Simon Josefsson  <simon@josefsson.org>
9294
9295         * tests/test-xvasprintf.c: Fix memory leak, suggested by Eric
9296         Blake <ebb9@byu.net>.
9297
9298 2009-11-13  Simon Josefsson  <simon@josefsson.org>
9299
9300         * tests/test-xvasprintf.c: Add %s%s related checks.
9301
9302 2009-11-12  Eric Blake  <ebb9@byu.net>
9303
9304         version-etc: match standards.texi style
9305         * lib/version-etc.c (emit_bug_reporting_address): Drop periods,
9306         and use <> only for URLs.
9307
9308 2009-11-10  Kamil Dudka  <kdudka@redhat.com>
9309
9310         fts: do not fail on a submount during traversal
9311         * lib/fts.c (fts_build): Read the stat info again after opening
9312         a directory if the FTS_TIGHT_CYCLE_CHECK flag is set.
9313         Original report at http://bugzilla.redhat.com/501848.
9314
9315 2009-11-12  Jim Meyering  <meyering@redhat.com>
9316
9317         bootstrap: sync from coreutils
9318         * build-aux/bootstrap (bootstrap_epilogue): New function.
9319         Use git_modules_config in one more place.  This make bootstrap's
9320         --gnulib-srcdir option more useful for testing.
9321
9322         bootstrap: generalize autoheader check
9323         * build-aux/bootstrap: Look for AC_CONFIG_HEADER as well as
9324         AC_CONFIG_HEADERS.
9325
9326 2009-11-11  Eric Blake  <ebb9@byu.net>
9327
9328         mkfifoat: use new modules for Solaris and BSD bugs
9329         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Simplify.
9330         * lib/mkfifoat.c (mknodat): Split...
9331         * lib/mknodat.c (mknodat): ...into new file.
9332         * modules/mkfifoat (Files): Ship new file.
9333         (Depends-on): Add mkfifo, mknod.
9334         * modules/mkfifoat-tests (Files): Reuse mkfifo tests.
9335         (Depends-on): Add symlink.
9336         * tests/test-mkfifoat.c (main): Enhance test.  Drop portions now
9337         redundant with test_mkfifo.h.
9338         (do_mkfifoat, do_mknodat): New helpers.
9339
9340         mknod: new module
9341         * modules/mknod: New file.
9342         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
9343         * lib/mknod.c (mknod): Likewise.
9344         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
9345         defaults.
9346         * modules/sys_stat (Makefile.am): Substitute them.
9347         * lib/sys_stat.in.h (mknod): Declare replacement.
9348         * MODULES.html.sh (Support for systems lacking POSIX:2008):
9349         Document it.
9350         * doc/posix-functions/mknod.texi (mknod): Likewise.
9351         * modules/mknod-tests: New test.
9352         * tests/test-mknod.c: Likewise.
9353
9354         mkfifo: new module
9355         * modules/mkfifo: New file.
9356         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
9357         * lib/mkfifo.c (mkfifo): Likewise.
9358         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
9359         defaults.
9360         * modules/sys_stat (Makefile.am): Substitute them.
9361         * lib/sys_stat.in.h (mkfifo): Declare replacement.
9362         * MODULES.html.sh (Support for systems lacking POSIX:2008):
9363         Document it.
9364         * doc/posix-functions/mkfifo.texi (mkfifo): Likewise.
9365         * modules/mkfifo-tests: New test.
9366         * tests/test-mkfifo.h (test_mkfifo): New file, borrowed in part
9367         from test-mkfifoat.c.
9368         * tests/test-mkfifo.c: New file.
9369
9370         readlink: detect FreeBSD bug
9371         * m4/readlink.m4 (gl_FUNC_READLINK): Also detect FreeBSD bug with
9372         slash on symlink.
9373         * doc/posix-functions/readlink.texi (readlink): Document the bug.
9374         * tests/test-readlink.h (test_readlink): Enhance test.
9375
9376         symlink: detect FreeBSD bug
9377         * m4/symlink.m4 (gl_FUNC_SYMLINK): Also detect FreeBSD bug with
9378         slash on symlink.
9379         * doc/posix-functions/symlink.texi (symlink): Document the bug.
9380         * tests/test-symlink.h (test_symlink): Enhance test.
9381
9382 2009-11-10  Eric Blake  <ebb9@byu.net>
9383
9384         link: detect FreeBSD bug
9385         * m4/link.m4 (gl_FUNC_LINK): Also detect FreeBSD bug with slash on
9386         symlink.
9387         * doc/posix-functions/link.texi (link): Document the bug.
9388         * tests/test-link.h (test_link): Enhance test.
9389         * tests/test-linkat.c (main): Update caller.
9390
9391         unlink, remove: detect FreeBSD bug
9392         * m4/unlink.m4 (gl_FUNC_UNLINK): Also detect FreeBSD bug with
9393         slash on symlink.
9394         * doc/posix-functions/unlink.texi (unlink): Document the bug.
9395         * doc/posix-functions/remove.texi (remove): Likewise.
9396         * tests/test-unlink.h (test_unlink): Enhance test.
9397         * tests/test-remove.c (main): Likewise.
9398
9399 2009-11-09  Eric Blake  <ebb9@byu.net>
9400
9401         rename: detect FreeBSD bug
9402         * m4/rename.m4 (gl_FUNC_RENAME): Also detect FreeBSD bug with
9403         slash on symlink.
9404         * modules/renameat-tests (Depends-on): Add filenamecat.
9405         * tests/test-rename.h (test_rename): Allow one more errno.
9406         * tests/test-renameat.c (main): Likewise.
9407         * doc/posix-functions/rename.texi (rename): Document the bug.
9408
9409         open: detect FreeBSD bug
9410         * m4/open.m4 (gl_FUNC_OPEN): Also detect FreeBSD bug with slash on
9411         symlink.
9412         * doc/posix-functions/open.texi (open): Document the bug.
9413         * doc/posix-functions/utimes.texi (utimes): Likewise.
9414         * tests/test-open.h (test_open): Add parameters, and test symlink
9415         handling.
9416         * tests/test-open.c (main): Adjust caller.
9417         * tests/test-fcntl-safer.c (main): Likewise.
9418         * modules/open-tests (Depends-on): Add stdbool, symlink.
9419         * modules/fcntl-safer-tests (Depends-on): Likewise.
9420         * tests/test-openat.c (main): Add test-open tests.
9421
9422         stat: detect FreeBSD bug
9423         * m4/stat.m4 (gl_FUNC_STAT): Also detect FreeBSD bug with slash on
9424         symlink.
9425         * doc/posix-functions/stat.texi (stat): Document the bug.
9426         * tests/test-stat.h (test_stat_func): Add argument.
9427         * tests/test-stat.c (main): Adjust caller.
9428         * tests/test-fstatat.c (main): Likewise.
9429         * modules/stat-tests (Depends-on): Add stdbool, symlink.
9430         Reported by Jim Meyering.
9431
9432 2009-11-09  James Youngman  <jay@gnu.org>
9433
9434         strftime.c: include ignore-value.h only when FPRINTFTIME is defined
9435         * lib/strftime.c: Correct placement of #include "ignore-value.h".
9436
9437 2009-11-08  Jim Meyering  <meyering@redhat.com>
9438
9439         utimens: remove invalid futimesat call
9440         * lib/utimens.c (fdutimens): Remove invalid futimesat call.
9441         It used the file descriptor of the target file as the DIR_FD
9442         parameter and NULL as the file name.  That caused failure with
9443         errno == EFAULT on FreeBSD-8.0-rc2
9444
9445 2009-11-07  Eric Blake  <ebb9@byu.net>
9446
9447         fflush, freadseek: use fseeko, not fseek
9448         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
9449         (clear_ungetc_buffer): Avoid potential problems on large files.
9450         * lib/freadseek.c (freadseek): Likewise.
9451         * modules/freadseek (Depends-on): Add fseeko.
9452         * modules/fseek (configure.ac): Set a witness.
9453         * tests/test-fflush.c (main): Use fseeko.
9454         * tests/test-fpurge.c (fseek): Disable link warning.
9455         * tests/test-freadable.c (fseek): Likewise.
9456         * tests/test-freading.c (fseek): Likewise.
9457         * tests/test-fseeko.c (fseek): Likewise.
9458         * tests/test-ftell.c (fseek): Likewise.
9459         * tests/test-ftello.c (fseek): Likewise.
9460         * tests/test-fwritable.c (fseek): Likewise.
9461         * tests/test-fwriting.c (fseek): Likewise.
9462
9463 2009-11-06  Simon Josefsson  <simon@josefsson.org>
9464
9465         * modules/memchr (Depends-on): Drop getpagesize dependency.
9466
9467 2009-11-06  Simon Josefsson  <simon@josefsson.org>
9468
9469         * build-aux/pmccabe2html: Disable execute bit.  Suggested by
9470         Reported by Ludovic Courtès.
9471         * build-aux/pmccabe2html: Improve example usage.
9472         * build-aux/pmccabe2html: Drop #! header.  Doc fix.
9473
9474 2009-11-06  Jim Meyering  <meyering@redhat.com>
9475
9476         do-release-commit-and-tag: New module.
9477         Automate the release-commit and tag process.
9478         * build-aux/do-release-commit-and-tag: New script, from coreutils.
9479         * modules/do-release-commit-and-tag: New file.
9480         * MODULES.html.sh (Support for maintaining and releasing): Add it.
9481
9482 2009-11-06  Simon Josefsson  <simon@josefsson.org>
9483
9484         * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB)
9485         because test-select.c uses inet_pton.
9486
9487 2009-11-06  Simon Josefsson  <simon@josefsson.org>
9488
9489         * m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to
9490         GETADDRINFO_LIB.  Bump serial number.
9491         * modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again.
9492         Suggested by Eric Blake <ebb9@byu.net>.
9493
9494 2009-11-05  Eric Blake  <ebb9@byu.net>
9495
9496         strtod: detect darwin bug
9497         * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(".
9498         Reported by Leo Davis.
9499
9500         freopen-safer: new module
9501         * modules/freopen-safer: New module.
9502         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro.
9503         * lib/freopen-safer.c (freopen_safer): New file.
9504         * lib/stdio-safer.h (freopen_safer): New declaration.
9505         * lib/stdio--.h (freopen): New override.
9506         * MODULES.html.sh (File stream based Input/Output): Mention it.
9507         * doc/posix-functions/freopen.texi (freopen): Mention pitfalls and
9508         freopen-safer module.
9509         * doc/posix-functions/stderr.texi (stderr): Likewise.
9510         * doc/posix-functions/stdin.texi (stdin): Likewise.
9511         * doc/posix-functions/stdout.texi (stdout): Likewise.
9512         * modules/freopen-safer-tests: New test.
9513         * tests/test-reopen-safer.c: New file.
9514
9515 2009-11-05  Jim Meyering  <meyering@redhat.com>
9516
9517         maint.mk: Prohibit inclusion of "close-stream.h" without use.
9518         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
9519
9520 2009-11-05  Simon Josefsson  <simon@josefsson.org>
9521
9522         * modules/pmccabe2html (configure.ac): Check for pmccabe tool.
9523
9524 2009-11-05  Simon Josefsson  <simon@josefsson.org>
9525
9526         * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB).
9527
9528 2009-11-05  Simon Josefsson  <simon@josefsson.org>
9529
9530         Fix link error.
9531         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
9532         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
9533
9534 2009-11-05  Simon Josefsson  <simon@josefsson.org>
9535
9536         * tests/test-func.c: Also test value of __func__.
9537
9538 2009-11-05  Simon Josefsson  <simon@josefsson.org>
9539
9540         * tests/test-sys_socket.c: Use smaller constant value, sa_family_t
9541         may be an 8-bit type.  Reported by Bruno Haible <bruno@clisp.org>.
9542
9543 2009-11-05  Bruno Haible  <bruno@clisp.org>
9544
9545         Fix link error.
9546         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
9547         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
9548         Reported by Brad Hards <bradh@frogmouth.net> via Simon Josefsson.
9549
9550 2009-11-05  Bruno Haible  <bruno@clisp.org>
9551
9552         Tests for module 'inet_pton'.
9553         * modules/inet_pton-tests: New file.
9554         * tests/test-inet_pton.c: New file.
9555
9556 2009-11-05  Bruno Haible  <bruno@clisp.org>
9557
9558         Tests for module 'inet_ntop'.
9559         * modules/inet_ntop-tests: New file.
9560         * tests/test-inet_ntop.c: New file.
9561
9562 2009-11-04  Eric Blake  <ebb9@byu.net>
9563
9564         stdlib-safer: wrap all mkstemp variants
9565         * modules/mkostemp (configure.ac): Set witness.
9566         * modules/mkostemps (configure.ac): Likewise.
9567         * modules/mkstemps (configure.ac): Likewise.
9568         * lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer)
9569         (mkstemps_safer): Wrap more functions.
9570         * lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the
9571         wrapping.
9572         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer)
9573         (mkstemps_safer): Implement the wrappers.
9574
9575         mkstemps, mkostemps: new modules
9576         * modules/mkostemps: New module.
9577         * modules/mkstemps: Likewise.
9578         * lib/mkostemps.c (mkostemps): New file.
9579         * lib/mkstemps.c (mkstemps): Likewise.
9580         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise.
9581         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise.
9582         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses.
9583         * modules/stdlib (Makefile.am): Substitute them.
9584         * lib/stdlib.in.h (mkostemps, mkstemps): Declare them.
9585         * doc/glibc-functions/mkstemps.texi (mkstemps): New file.
9586         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
9587         * doc/gnulib.texi (Glibc stdlib.h): Include them.
9588         * MODULES.html.sh (File system functions): Mention them.
9589
9590         tempname: resync from glibc
9591         * lib/tempname.c (__gen_tempname): Add suffixlen argument.  Use
9592         same values for __GT_FILE as glibc.  Abort even when assertions
9593         are disabled.
9594         * lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and
9595         match its value otherwise.  Allow idempotent inclusion.
9596         * lib/mkdtemp.c (mkdtemp): Adjust caller.
9597         * lib/mkostemp.c (mkostemp): Likewise.
9598         * lib/mkstemp.c (mkstemp): Likewise.
9599         * lib/tmpfile.c (tmpfile): Likewise.
9600         * NEWS: Document this.
9601
9602         utimens: fix use of futimens on older Linux
9603         * lib/utimens.c (fdutimens): Use updated, rather than original,
9604         timespec to avoid bug in older Linux kernel.
9605         Reported by Simon Josefsson.
9606
9607 2009-11-04  Bruno Haible  <bruno@clisp.org>
9608
9609         Make num_processors more flexible and consistent.
9610         * lib/nproc.h (enum nproc_query): New type.
9611         (num_processors): Add a 'query' argument.
9612         * lib/nproc.c: Include <stdlib.h>, <sched.h>, c-ctype.h.
9613         (num_processors): Add a 'query' argument. Test the value of the
9614         OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD,
9615         mingw, count the number of CPUs available for the current process.
9616         * m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS.
9617         Check for sched_getaffinity and sched_getaffinity_np.
9618         * modules/nproc (Depends-on): Add c-ctype, extensions.
9619         * NEWS: Mention the change.
9620
9621 2009-11-03  Bruno Haible  <bruno@clisp.org>
9622
9623         * NEWS: Document the new library dependencies of inet_ntop, inet_pton.
9624
9625 2009-11-03  Jim Meyering  <meyering@redhat.com>
9626
9627         test-getaddrinfo: avoid compilation failure on FreeBSD 7.2
9628         * tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only
9629         if it is defined.
9630
9631 2009-11-02  Eric Blake  <ebb9@byu.net>
9632
9633         mktime, timegm: share common declaration
9634         * lib/mktime-internal.h: New file.
9635         * lib/mktime.c: Use it rather than open-coding a declaration.
9636         * lib/timegm.c: Likewise.
9637         * modules/mktime (Files): Ship it.
9638         * modules/timegm (Files): Likewise.
9639         Suggested by Bruno Haible.
9640
9641         test-update-copyright: update test to match script changes
9642         * tests/test-update-copyright.sh: Avoid hard-coding perl
9643         location.  Don't update *.bak created by earlier runs.
9644
9645 2009-11-02  Paul Eggert  <eggert@cs.ucla.edu>
9646             Simon Josefsson  <simon@josefsson.org>
9647             Bruno Haible  <bruno@clisp.org>
9648
9649         Fix link error on Solaris 8.
9650         * m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton
9651         also in libnsl. Define also INET_PTON_LIB.
9652         * modules/inet_pton (Link): New section.
9653
9654 2009-11-02  Simon Josefsson  <simon@josefsson.org>
9655             Bruno Haible  <bruno@clisp.org>
9656
9657         * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB.
9658         * modules/inet_ntop (Link): New section.
9659         Reported by Boyan Kasarov <bkasarov@gmail.com>.
9660
9661 2009-11-02  Eric Blake  <ebb9@byu.net>
9662
9663         maint: avoid compiler warnings in m4 macros
9664         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable.
9665         * m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header.
9666
9667 2009-11-02  Simon Josefsson  <simon@josefsson.org>
9668
9669         * m4/pmccabe2html.m4: Remove file.
9670         * modules/pmccabe2html: Drop pmccabe2html.m4.  Don't call m4
9671         function.  Change maintainer.
9672         * build-aux/pmccabe2html: Use /bin/sh with magic instead of
9673         hard-coding path to awk.  Tiny patch from ludo@gnu.org (Ludovic
9674         Courtès).
9675
9676 2009-10-31  Eric Blake  <ebb9@byu.net>
9677
9678         fseeko: fix m4 regression
9679         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro.  Fixes
9680         regression from 2009-10-27.
9681         Reported by Ralf Wildenhues.
9682
9683 2009-10-31  Jim Meyering  <meyering@redhat.com>
9684
9685         inttostr: aesthetics and improved (compile-time) safety
9686         Define inttype_is_signed rather than inttype_is_unsigned,
9687         since the sole use is via "#if inttype_is_signed".
9688         * lib/imaxtostr.c (inttype_is_signed): Define this, rather than
9689         inttype_is_unsigned.
9690         * lib/offtostr.c (inttype_is_signed): Likewise.
9691         * lib/uinttostr.c (inttype_is_signed): Likewise.
9692         * lib/umaxtostr.c (inttype_is_signed): Likewise.
9693         * lib/inttostr.c (inttostr): Use verify to cross-check the
9694         inttype_is_signed value and the signedness of the actual type.
9695         * modules/inttostr (Depends-on): Add verify.
9696
9697 2009-10-30  Eric Blake  <ebb9@byu.net>
9698
9699         build: avoid compiler warnings
9700         * lib/fchmodat.c (lchmod): Mark unused variables.
9701         * lib/getopt.c (_getopt_initialize): Likewise.
9702         * lib/mktime.c (__mktime_internal): Provide prototype.
9703         * lib/inttostr.c (inttostr): Avoid compiler warning even with
9704         older gcc that do not understand #pragma GCC diagnostic.
9705         * lib/uinttostr.c (inttype_is_unsigned): Define.
9706         * lib/umaxtostr.c (inttype_is_unsigned): Likewise.
9707
9708 2009-10-30  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
9709
9710         stat: fix compilation on AIX
9711         * lib/sys_stat.in.h (stat): Work with fact that large files on AIX
9712         only see struct stat64.
9713
9714 2009-10-30  Eric Blake  <ebb9@byu.net>
9715
9716         exclude: make more robust
9717         * lib/exclude.c (excluded_file_name): Abort on unexpected value,
9718         rather than masking a coding bug.
9719         Suggested by Bruno Haible.
9720
9721 2009-10-30  Jim Meyering  <meyering@redhat.com>
9722
9723         perl scripts: remove #!/usr/bin/perl in favor of more portable...
9724         Rather than putting #!/usr/bin/perl on the first line,
9725         start with a variant of what's recommended by "man perlrun" that
9726         invokes the first "perl" program from your shell's search path.
9727         * build-aux/gitlog-to-changelog: Replace #!... as above.
9728         Add a "Local Variables" perl mode setting.
9729         Prompted by a patch from Ludovic Courtès.
9730         Improved by Eric Blake.
9731         * build-aux/useless-if-before-free: Likewise.
9732         * build-aux/announce-gen: Likewise.
9733         * build-aux/update-copyright: Likewise.
9734
9735 2009-10-29  Eric Blake  <ebb9@byu.net>
9736
9737         filenamecat-lgpl: adjust clients
9738         * modules/linkat (Depends-on): Use filenamecat-lgpl, not
9739         filenamecat.
9740         * modules/renameat (Depends-on): Likewise.
9741
9742         filenamecat: split into filenamecat-lgpl
9743         * modules/filenamecat-lgpl: New module.
9744         * modules/filenamecat (Files): Move library-safe files into
9745         filenamecat-lgpl.
9746         (Depends-on): Add filenamecat-lgpl.
9747         (configure.ac): Declare witness.
9748         * lib/filenamecat.h (file_name_concat): Only declare when using
9749         GPL module.
9750         * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat):
9751         Move...
9752         * lib/filenamecat-lgpl.c: ...into new file.
9753         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro.
9754         (gl_FILE_NAME_CONCAT): Use it.
9755         * MODULES.html.sh (File system functions): Mention new module.
9756
9757         argp: avoid memory leak
9758         * modules/argp (Depends-on): Use dirname-lgpl, not dirname.
9759         * lib/argp-namefrob.h (__argp_base_name): Use last_component, not
9760         base_name, since the latter malloc()s and can call exit().
9761         Leak introduced 2006-07-03.
9762
9763         dirname-lgpl: adjust clients that don't need full dirname
9764         * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname.
9765         * modules/filenamecat (Depends-on): Likewise.
9766         * modules/linkat (Depends-on): Likewise.
9767         * modules/mkancesdirs (Depends-on): Likewise.
9768         * modules/mkdir (Depends-on): Likewise.
9769         * modules/openat (Depends-on): Likewise.
9770         * modules/savewd (Depends-on): Likewise.
9771         * modules/rename (Depends-on): Likewise.
9772         (License): Relax license.
9773         * modules/mkdir-tests (Depends-on): Drop progname.
9774         (Makefile.am): Delete unneeded LDADD.
9775         * modules/rename-tests (Depends-on, Makefile.am): Likewise.
9776
9777         dirname: split into dirname-lgpl
9778         * modules/dirname-lgpl: New module.
9779         * modules/dirname (Files): Move library-safe files into
9780         dirname-lgpl.
9781         (Depends-on): Add dirname-lgpl.
9782         (configure.ac): Declare witness.
9783         * modules/double-slash-root (License): Relax license.
9784         * lib/dirname.h (base_name, dir_name): Only declare when using GPL
9785         module.
9786         * lib/dirname.c (dir_len, mdir_name): Move...
9787         * lib/dirname-lgpl.c: ...into new file.
9788         * lib/basename.c (last_component, base_len): Move...
9789         * lib/basename-lgpl.c: ...into new file.
9790         * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro.
9791         (gl_DIRNAME): Use it.
9792         * MODULES.html.sh (Enhancements for POSIX:2008 functions):
9793         Mention new module.
9794         * modules/dirname-tests (Depends-on): Add progname.
9795         * tests/test-dirname.c (program_name): Delete.
9796
9797         mkdir: make safe for libraries
9798         * modules/mkdir (Depends-on): Drop xalloc.
9799         * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
9800         exit.
9801
9802         tests: avoid some compiler warnings
9803         * tests/test-getaddrinfo.c (simple): Mark static, and allow string
9804         literals.
9805         * tests/test-memchr.c (main): Avoid type mismatch.
9806         * tests/test-arpa_inet.c (main): Avoid unused parameters.
9807         * tests/test-base64.c (main): Likewise.
9808         * tests/test-getdelim.c (main): Likewise.
9809         * tests/test-gethostname.c (main): Likewise.
9810         * tests/test-getline.c (main): Likewise.
9811         * tests/test-netinet_in.c (main): Likewise.
9812         * tests/test-select.c (open_server_socket, main): Likewise.
9813         * tests/test-select-stdin.c (main): Likewise.
9814         * tests/test-sockets.c (main): Likewise.
9815         * tests/test-strsignal.c (main): Likewise.
9816         * tests/test-sys_select.c (main): Likewise.
9817         * tests/test-sys_socket.c (main): Likewise.
9818         * tests/test-u64.c (main): Likewise.
9819         * tests/test-xfprintf-posix.c (main): Likewise.
9820         * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise.
9821
9822         sockets: avoid compiler warning
9823         * lib/sockets.c (gl_sockets_startup): Mark unused parameter.
9824
9825         maint: detect usage(1) and other suspicious exits
9826         * top/maint.mk (sc_prohibit_magic_number_exit): New rule.
9827
9828 2009-10-29  Jim Meyering  <meyering@redhat.com>
9829
9830         timespec: long-to-int truncation could make timespec_cmp malfunction
9831         * lib/timespec.h (timespec_cmp): Do not interpret a difference of
9832         a multiple of 2^32 nanoseconds as no difference.
9833
9834 2009-10-28  Jim Meyering  <meyering@redhat.com>
9835
9836         fprintftime: wrap macro code argument in "do {...} while(0)"
9837         * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the
9838         cpy macro must be a statement that can be followed by a semicolon.
9839         Now that the else clause contains a comment and is hence longer
9840         than one line, I require curly braces.  That in turn requires
9841         that we wrap this code block in the standard do...while(0).
9842
9843         fprintftime: remove stray semicolon from previous change
9844         * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon.
9845
9846         fprintftime: avoid a warning about ignored fwrite return value
9847         * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
9848         (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
9849         that is unsafe.
9850         * modules/fprintftime (Depends-on): Add ignore-value.
9851
9852         exclude: avoid an unwarranted warning
9853         * lib/exclude.c (excluded_file_name): Initialize "rc" before switch.
9854
9855 2009-10-27  Eric Blake  <ebb9@byu.net>
9856
9857         fseek: avoid compilation failure when fflush is replaced
9858         * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
9859         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
9860         module is in use.
9861         * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
9862         module is not in use; since REPLACE_FSEEK worked otherwise.
9863         (GNULIB_FTELLO): Likewise for ftell.
9864         Reported by Ian Beckwith and others.
9865
9866 2009-10-27  Bruno Haible  <bruno@clisp.org>
9867
9868         * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration.
9869         Reported by Jim Meyering.
9870
9871 2009-10-27  Jim Meyering  <jim@meyering.net>
9872             Bruno Haible  <bruno@clisp.org>
9873
9874         Avoid warning despite dropping the return value of fwrite.
9875         * lib/unicodeio.c: Include ignore-value.h.
9876         (fwrite_success_callback): Explicitly ignore fwrite's return value.
9877         * modules/unicodeio (Depends-on): Add ignore-value.
9878
9879 2009-10-26  Eric Blake  <ebb9@byu.net>
9880
9881         areadlinkat: fix fallback path
9882         * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between
9883         pointer and zero.
9884
9885 2009-10-22  Pádraig Brady  <P@draigBrady.com>
9886
9887         Use a better IO block size for modern systems
9888         * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer.
9889         * lib/md2.c: Likewise.
9890         * lib/md4.c: Likewise.
9891         * lib/md5.c: Likewise.
9892         * lib/sha1.c: Likewise.
9893         * lib/sha256.c: Likewise.
9894         * lib/sha512.c: Likewise.
9895
9896 2009-10-22  Eric Blake  <ebb9@byu.net>
9897
9898         tests: avoid several compiler warnings
9899         * tests/test-getcwd.c (main): Avoid buffer underflow.
9900         * tests/test-getdate.c (main): String literals are not safe with
9901         putenv, so use setenv.  Declare unused argument.
9902         * modules/getdate-tests (Depends-on): Add setenv.
9903         * tests/test-argv-iter.c (main): Declare unused argument.  Avoid
9904         problems with string literals in char *.
9905         * tests/test-hash.c (main): Avoid shadowing declaration.
9906         (insert_new): Treat string literals as char const *.
9907         * tests/test-getopt.h (test_getopt): Likewise.
9908         (getopt_loop): Alter types to minimize casting elsewhere.
9909         * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop)
9910         (test_getopt_long_posix): Likewise.
9911         (do_getopt_long): Add wrapper to minimize casting.
9912         * tests/test-atexit.c (clear_temp_file): Use void.
9913         * tests/test-areadlink-with-size.c (main): Declare unused
9914         arguments.
9915         * tests/test-areadlink.c (main): Likewise.
9916         * tests/test-areadlinkat-with-size.c (main): Likewise.
9917         * tests/test-areadlinkat.c (main): Likewise.
9918         * tests/test-canonicalize-lgpl.c (main): Likewise.
9919         * tests/test-canonicalize.c (main): Likewise.
9920         * tests/test-dirent-safer.c (main): Likewise.
9921         * tests/test-dirname.c (main): Likewise.
9922         * tests/test-dup2.c (main): Likewise.
9923         * tests/test-fchdir.c (main): Likewise.
9924         * tests/test-fcntl-h.c (main): Likewise.
9925         * tests/test-fcntl-safer.c (main): Likewise.
9926         * tests/test-fdopendir.c (main): Likewise.
9927         * tests/test-fdutimensat.c (main): Likewise.
9928         * tests/test-fflush.c (main): Likewise.
9929         * tests/test-filenamecat.c (main): Likewise.
9930         * tests/test-filevercmp.c (main): Likewise.
9931         * tests/test-fopen-safer.c (main): Likewise.
9932         * tests/test-fopen.c (main): Likewise.
9933         * tests/test-fpending.c (main): Likewise.
9934         * tests/test-fpurge.c (main): Likewise.
9935         * tests/test-freading.c (main): Likewise.
9936         * tests/test-fstatat.c (main): Likewise.
9937         * tests/test-fsync.c (main): Likewise.
9938         * tests/test-futimens.c (main): Likewise.
9939         * tests/test-getndelim2.c (main): Likewise.
9940         * tests/test-gettimeofday.c (main): Likewise.
9941         * tests/test-getopt.c (main): Likewise.
9942         * tests/test-i-ring.c (main): Likewise.
9943         * tests/test-inttypes.c (main): Likewise.
9944         * tests/test-link.c (main): Likewise.
9945         * tests/test-lstat.c (main): Likewise.
9946         * tests/test-math.c (main): Likewise.
9947         * tests/test-md5.c (main): Likewise.
9948         * tests/test-memchr2.c (main): Likewise.
9949         * tests/test-memrchr.c (main): Likewise.
9950         * tests/test-mkdir.c (main): Likewise.
9951         * tests/test-mkdirat.c (main): Likewise.
9952         * tests/test-mkfifoat.c (main): Likewise.
9953         * tests/test-open.c (main): Likewise.
9954         * tests/test-openat-safer.c (main): Likewise.
9955         * tests/test-openat.c (main): Likewise.
9956         * tests/test-quotearg.c (main): Likewise.
9957         * tests/test-rawmemchr.c (main): Likewise.
9958         * tests/test-readlink.c (main): Likewise.
9959         * tests/test-remove.c (main): Likewise.
9960         * tests/test-rename.c (main): Likewise.
9961         * tests/test-renameat.c (main): Likewise.
9962         * tests/test-rmdir.c (main): Likewise.
9963         * tests/test-sha1.c (main): Likewise.
9964         * tests/test-signal.c (main): Likewise.
9965         * tests/test-sigaction.c (main): Likewise.
9966         * tests/test-stat.c (main): Likewise.
9967         * tests/test-stat-time.c (main): Likewise.
9968         * tests/test-stddef.c (main): Likewise.
9969         * tests/test-stdint.c (main): Likewise.
9970         * tests/test-stdio.c (main): Likewise.
9971         * tests/test-stdlib.c (main): Likewise.
9972         * tests/test-strchrnul.c (main): Likewise.
9973         * tests/test-strerror.c (main): Likewise.
9974         * tests/test-string.c (main): Likewise.
9975         * tests/test-strtod.c (main): Likewise.
9976         * tests/test-strverscmp.c (main): Likewise.
9977         * tests/test-symlink.c (main): Likewise.
9978         * tests/test-symlinkat.c (main): Likewise.
9979         * tests/test-sys_stat.c (main): Likewise.
9980         * tests/test-sys_time.c (main): Likewise.
9981         * tests/test-time.c (main): Likewise.
9982         * tests/test-unistd.c (main): Likewise.
9983         * tests/test-unlink.c (main): Likewise.
9984         * tests/test-unlinkat.c (main): Likewise.
9985         * tests/test-utimens.c (main): Likewise.
9986         * tests/test-utimensat.c (main): Likewise.
9987         * tests/test-version-etc.c (main): Likewise.
9988         * tests/test-wchar.c (main): Likewise.
9989         * tests/test-wctype.c (main): Likewise.
9990         * tests/test-xprintf-posix.c (main): Likewise.
9991         * tests/test-posixtm.c (main): Likewise.
9992         (STREQ): Delete unused macro.
9993         * tests/test-linkat.c (main): Declare unused arguments.  Avoid
9994         shadowed variables.
9995         * tests/test-memchr.c (main): Likewise.
9996
9997 2009-10-21  Eric Blake  <ebb9@byu.net>
9998
9999         areadlinkat: avoid failure on older glibc
10000         * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL,
10001         rather than mis-comparing 0 against FUNC_RESULT of char*.
10002
10003 2009-10-21  Bruno Haible  <bruno@clisp.org>
10004
10005         * modules/stpncpy (License): Relicense under LGPLv2+.
10006         Reported by David Lutterkort <lutter@redhat.com>.
10007
10008 2009-10-20  Eric Blake  <ebb9@byu.net>
10009
10010         utimensat: work around Solaris 9 bug
10011         * lib/utimens.c (fdutimens, lutimens): Force a stat if platform
10012         has trailing slash bugs.
10013         * tests/test-lutimens.h (test_lutimens): Enhance test.
10014         * tests/test-utimens.h (test_utimens): Likewise.
10015         * doc/posix-functions/utime.texi (utime): Enhance documentation.
10016         * doc/posix-functions/utimes.texi (utimes): Likewise.
10017         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
10018         * doc/glibc-functions/futimesat.texi (futimesat): Likewise.
10019         * doc/glibc-functions/lutimes.texi (lutimes): Likewise.
10020         * doc/posix-functions/futimens.texi (futimens): Likewise.
10021
10022         fdutimensat: new module
10023         * modules/fdutimensat: New file.
10024         * lib/fdutimensat.c (fdutimensat): Likewise.
10025         * lib/utimens.h (fdutimensat, lutimensat): Declare new functions.
10026         * MODULES.html.sh (File system functions): Mention module.
10027         * modules/fdutimensat-tests: New test.
10028         * tests/test-fdutimensat.c: Likewise.
10029
10030         doc: regenerate INSTALL
10031         * doc/INSTALL: Reflect recent autoconf update.
10032         * doc/INSTALL.ISO: Likewise.
10033         * doc/INSTALL.UTF-8: Likewise.
10034
10035 2009-10-20  Pádraig Brady  <P@draigBrady.com>
10036
10037         acl: warn if ACL support is not detected
10038         * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found.
10039
10040 2009-10-19  Giuseppe Scrivano  <gscrivano@gnu.org>
10041
10042         * lib/nproc.h: Add extern "C" block for C++.
10043
10044 2009-10-18  Reuben Thomas  <rrt@sc3d.org>
10045             Bruno Haible  <bruno@clisp.org>
10046
10047         * doc/posix-functions/isascii.texi: Document the 2 alternative APIs.
10048         * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs.
10049         * doc/posix-functions/isalpha.texi: Likewise.
10050         * doc/posix-functions/isblank.texi: Likewise.
10051         * doc/posix-functions/iscntrl.texi: Likewise.
10052         * doc/posix-functions/isdigit.texi: Likewise.
10053         * doc/posix-functions/isgraph.texi: Likewise.
10054         * doc/posix-functions/islower.texi: Likewise.
10055         * doc/posix-functions/isprint.texi: Likewise.
10056         * doc/posix-functions/ispunct.texi: Likewise.
10057         * doc/posix-functions/isspace.texi: Likewise.
10058         * doc/posix-functions/isupper.texi: Likewise.
10059         * doc/posix-functions/isxdigit.texi: Likewise.
10060
10061 2009-10-18  Bruno Haible  <bruno@clisp.org>
10062
10063         Tests for module 'isblank'.
10064         * modules/isblank-tests: New file.
10065         * tests/test-isblank.c: New file.
10066
10067         New module 'isblank'.
10068         * lib/isblank.c: New file.
10069         * m4/isblank.m4: New file.
10070         * modules/isblank: New file.
10071         * doc/posix-functions/isblank.texi: Mention the new module.
10072
10073 2009-10-18  Bruno Haible  <bruno@clisp.org>
10074
10075         New module 'ctype'.
10076         * lib/ctype.in.h: New file.
10077         * m4/ctype.m4: New file.
10078         * modules/ctype: New file.
10079         * doc/posix-headers/ctype.texi: Mention the new module.
10080
10081 2009-10-18  Jim Meyering  <meyering@redhat.com>
10082
10083         m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization
10084         Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted
10085         right after its initialization, rather than farther down.
10086         Keeping these in close proximity makes it easier to ensure
10087         that each such variable is initialized.  E.g.,
10088
10089             LIB_CLOCK_GETTIME=
10090             AC_SUBST([LIB_CLOCK_GETTIME])
10091
10092         This change also increments these serial numbers.
10093         * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use.
10094         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
10095         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
10096
10097 2009-10-18  Bruno Haible  <bruno@clisp.org>
10098
10099         Don't let environment variables perturb build.
10100         * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here...
10101         (gl_PREREQ_GETHRXTIME): ... not here.
10102
10103 2009-10-18  Bruno Haible  <bruno@clisp.org>
10104
10105         Avoid symlink attack in localcharset module.
10106         * lib/localcharset.c: Include <fcntl.h>, <unistd.h>.
10107         (O_NOFOLLOW): Define fallback.
10108         (get_charset_aliases): Don't open the file if it is a symbolic link.
10109         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from
10110         gl_FCNTL_H.
10111         (gl_FCNTL_H): Require it.
10112         * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise.
10113         * modules/localcharset (Files): Add m4/fcntl_h.m4.
10114         Reported by Fergal Glynn <fglynn@veracode.com>.
10115
10116 2009-10-18  Bruno Haible  <bruno@clisp.org>
10117
10118         Implement nproc for mingw.
10119         * lib/nproc.c: Include <windows.h>
10120         (num_processors): On native Windows platforms, try GetSystemInfo.
10121
10122 2009-10-18  Bruno Haible  <bruno@clisp.org>
10123
10124         Implement nproc for IRIX.
10125         * lib/nproc.c: Include <sys/sysmp.h>.
10126         (num_processors): On IRIX systems, try sysmp.
10127         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp.
10128
10129 2009-10-18  Bruno Haible  <bruno@clisp.org>
10130
10131         Implement nproc for HP-UX.
10132         * lib/nproc.c: Include <sys/pstat.h>
10133         (num_processors): On HP-UX systems, try pstat_getdynamic.
10134         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and
10135         pstat_getdynamic.
10136
10137 2009-10-18  Giuseppe Scrivano  <gscrivano@gnu.org>
10138             Bruno Haible  <bruno@clisp.org>
10139
10140         Implement nproc for NetBSD, OpenBSD.
10141         * lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>.
10142         (ARRAY_SIZE): New macro.
10143         (num_processors): On BSD systems, try sysctl of HW_NCPU.
10144         * m4/nproc.m4: New file.
10145         * modules/nproc (Files): Add m4/nproc.m4.
10146         (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation.
10147         (Makefile.am): Instead, augment lib_SOURCES.
10148
10149 2009-10-18  Bruno Haible  <bruno@clisp.org>
10150
10151         Fix recognition of sys/sysctl.h on OpenBSD 4.0.
10152         * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include
10153         sys/param.h.
10154
10155 2009-10-16  Eric Blake  <ebb9@byu.net>
10156
10157         utimensat: new module
10158         * modules/utimensat: New file.
10159         * lib/utimensat.c (utimensat): Likewise.
10160         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
10161         * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat,
10162         so we can work around Linux bugs.
10163         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
10164         * modules/sys_stat (Makefile.am): Substitute them.
10165         * lib/sys_stat.in.h (utimensat): Declare it.
10166         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
10167         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
10168         * modules/utimensat-tests: New test.
10169         * tests/test-utimensat.c: Likewise.
10170
10171         utimens: let lutimens work on non-symlinks
10172         * lib/utimens.c (lutimens): Fall back to utimens rather than
10173         failing with ENOSYS, when file is not a symlink.
10174         (utimens): Reduce redirection.
10175         * tests/test-lutimens.h (test_lutimens): Update test to cover
10176         non-symlinks.
10177         * tests/test-utimens.h (test_utimens): Update test to cover
10178         symlinks.
10179         * tests/test-utimens.c (main): Update caller.
10180
10181         utimens: cache whether utimensat syscall works
10182         * lib/utimens.c (utimensat_works_really): New cache variable.
10183         (fdutimens, lutimens): Use it to avoid failing syscall.
10184
10185         test-stat-time, test-utimens: improve portability
10186         * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for
10187         ext4 on alpha, and for cygwin.
10188         * tests/test-utimens-common.h: New file.
10189         (nap): Factor delays into single function.
10190         * tests/test-lutimens.h (test_lutimens): Use new header.
10191         * tests/test-futimens.h (test_futimens): Likewise.
10192         * tests/test-utimens.h (test_utimens): Likewise.  Also, force NFS
10193         timestamps to occur from same machine, as was done previously for
10194         test_utimens.
10195         * modules/utimens-tests (Files): Ship new file.
10196         * modules/futimens-tests (Files): Likewise.
10197         Reported in part by Jim Meyering.
10198
10199         sys_stat: sort replacement declarations
10200         * lib/sys_stat.in.h: Sort declarations.
10201         * lib/futimens.c (futimens): Fix typo.
10202
10203 2009-10-15  Jim Meyering  <meyering@redhat.com>
10204
10205         don't let environment settings perturb build
10206         Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
10207         could cause a configure-time and/or build-time malfunction.
10208         Typically, a configure-time function-in-library test is performed
10209         via code like this:
10210
10211           LIB_VAR=
10212           AC_SUBST([LIB_VAR])
10213           prefix_saved_LIBS=$LIBS
10214             AC_SEARCH_LIBS([FUNC], [LIB_NAME],
10215                        [test "$ac_cv_search_FUNC" = "none required" ||
10216                         LIB_VAR=$ac_cv_search_FUNC])
10217           LIBS=$prefix_saved_LIBS
10218
10219         However, in each of the files affected by this change, the LIB_VAR=
10220         initialization was omitted.  Thus, when set in the environment, its
10221         value would propagate into generated Makefiles when FUNC is not found
10222         in LIB_NAME.
10223         * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
10224         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
10225         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
10226
10227 2009-10-14  Eric Blake  <ebb9@byu.net>
10228
10229         fchdir: avoid infinite recursion in mingw
10230         * lib/fchdir.c (rpl_fstat): Call system fstat, rather than
10231         recursing.
10232
10233         test-stat-time: port to mingw
10234         * tests/test-stat-time.c (force_unlink): Return a value.
10235         (test_ctime) [W32]: Fix compilation error.
10236         (nap): Don't call usleep with too large an argument.  Use
10237         force_unlink.
10238         * doc/pastposix-functions/usleep.texi (usleep): Document the
10239         portability issue.
10240
10241 2009-10-13  Jim Meyering  <meyering@redhat.com>
10242
10243         use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/*
10244         * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS.
10245         * modules/pipe-filter-ii: Likewise.
10246         * modules/sys_socket-tests: Likewise.
10247         * modules/tsearch-tests: Likewise.
10248         * Makefile (sc_prefer_ac_check_funcs_once): New rule.
10249         (check): Depend on it.
10250
10251 2009-10-12  Eric Blake  <ebb9@byu.net>
10252
10253         utimens-tests: port to NFS file systems
10254         * tests/test-utimens.h (test_utimens): Refactor utimecmp
10255         comparisons to avoid spurious failures from timestamp drift
10256         between NFS machines.
10257
10258 2009-10-12  Eric Blake  <ebb9@byu.net>
10259
10260         stat-time-tests: minor cleanups
10261         * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE.
10262         * tests/test-stat-time.c (nap): Separate assignment from call.
10263         Suggested by Paolo Bonzini and Bruno Haible.
10264
10265         sys_stat: guarantee struct timespec
10266         * lib/sys_stat.in.h (includes): Always include <time.h>
10267         * modules/sys_stat (Depends-on): Add time.
10268         * tests/test-sys_stat.c: Guarantee struct timespec, as well as
10269         mode_t permission values.
10270         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to
10271         get at subsecond timestamps.
10272
10273 2009-10-10  Eric Blake  <ebb9@byu.net>
10274
10275         futimens: new module
10276         * modules/futimens: New file.
10277         * lib/futimens.c (futimens): Likewise.
10278         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
10279         * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so
10280         we can work around Linux bugs.
10281         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
10282         * modules/sys_stat (Makefile.am): Substitute them.
10283         * lib/sys_stat.in.h (futimens): Declare it.
10284         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
10285         * doc/posix-functions/futimens.texi (futimens): Likewise.
10286         * modules/futimens-tests: New test.
10287         * tests/test-futimens.c: Likewise.
10288
10289         utimens: introduce fdutimens
10290         * lib/utimens.h (fdutimens): New prototype.
10291         * lib/utimens.c (gl_futimens): Move guts...
10292         (fdutimens): ...to new interface.
10293         * tests/test-utimens.c (do_fdutimens): Use it.
10294
10295         utimens: add UTIME_NOW and UTIME_OMIT support
10296         * lib/utimens.c (validate_timespec, update_timespec): New helper
10297         functions.
10298         (gl_futimens, lutimens): Use them.
10299         * modules/utimens (Depends-on): Add gettime, lstat, stat-time,
10300         stdbool, sys_stat.
10301         (Link): Mention resulting library dependency.
10302         * modules/utimecmp (Link): Likewise.
10303         * modules/utimens-tests (Depends-on): Drop stat-time, stdbool.
10304         (Makefile.am): Pick up library dependency.
10305         * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a
10306         definition.
10307         * tests/test-sys_stat.c: Test the definitions.
10308         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this.
10309         * NEWS: Document library dependency.
10310
10311         utimecmp: support symlink timestamps
10312         * lib/utimecmp.c (utimecmp): Use new interface.  Skip effort of
10313         hashing when possible.  Use pathconf when available.
10314         (SYSCALL_RESOLUTION): Recognize tighter resolution.
10315         * modules/utimecmp (Depends-on): Add lstat.
10316
10317         utimens: add lutimens interface
10318         * lib/utimens.c (lutimens): New function.
10319         * m4/utimens.m4 (gl_UTIMENS): Check for lutimes.
10320         * lib/utimens.h (lutimens): Declare new interface.
10321         * tests/test-utimens.c (main): Enhance test.
10322         * tests/test-lutimens.h (test_lutimens): New file.
10323         * modules/utimens-tests (Files): Distribute it.
10324         (Depends-on): Add symlink.
10325         (configure.ac): Check for usleep.
10326
10327         utimens: validate futimens usage
10328         * lib/utimens.c (gl_futimens): Require valid fd up front, using
10329         fewer syscalls on failure later on.  Avoid compiler warning on
10330         mingw.
10331         * modules/utimens (Depends-on): Add dup2.
10332
10333         utimens: add test
10334         * modules/utimens-tests: New test.
10335         * tests/test-utimens.h: New file.
10336         * tests/test-futimens.h: Likewise.
10337         * tests/test-utimens.c: Likewise.
10338
10339         doc: mention timestamp portability issues
10340         * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
10341         instead.
10342         * doc/posix-functions/utime.texi (utime): Likewise.
10343         * doc/posix-functions/utimes.texi (utimes): Likewise.
10344         * doc/glibc-functions/futimes.texi (futimes): Refer to futimens
10345         instead.
10346         * doc/posix-functions/futimens.texi (futimens): Mention utimens
10347         module.
10348         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
10349         Mention weakness with symlink timestamps.
10350         * doc/glibc-functions/futimesat.texi (futimesat): New file; refer
10351         to utimensat/futimens instead.
10352         * doc/gnulib.texi (Glibc sys/time.h): Include new file.
10353
10354         test-dup2: enhance test
10355         * tests/test-dup2.c (main): Also check AT_FDCWD.
10356
10357         test-stat-time: avoid more spurious failures
10358         * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
10359         xfs; and avoid race if the two timestamps cross quantization edge.
10360
10361         relocatable: prefer 'file system' over 'filesystem'
10362         * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
10363         (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
10364         * doc/relocatable-maint.texi (Supporting Relocation): Likewise.
10365         * doc/relocatable.texi (Enabling Relocatability): Likewise.
10366         * lib/relocatable.c (compute_curr_prefix): Likewise.
10367
10368 2009-10-10  Jim Meyering  <meyering@redhat.com>
10369
10370         stat-time-tests: check for the usleep function
10371         * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP.
10372
10373 2009-10-10  Bruno Haible  <bruno@clisp.org>
10374
10375         * modules/xnanosleep: Put the Link section after the Include section.
10376
10377 2009-10-09  Eric Blake  <ebb9@byu.net>
10378
10379         dup2: work around FreeBSD 6.1 bug
10380         * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug.
10381         * doc/posix-functions/dup2.texi (dup2): Document it.
10382         Reported by Nelson H. F. Beebe and Jim Meyering.
10383
10384         test-stat-time: port to buggy NFS clients
10385         * tests/test-stat-time.c (main) [W32]: Reduce ifdefs.
10386         (test_ctime): Also skip test if mtime and ctime are skewed.
10387
10388         maint: prefer 'file system' over 'filesystem'
10389         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
10390         * doc/posix-functions/lstat.texi (lstat): Likewise.
10391         * lib/file-has-acl.c (file_has_acl): Likewise.
10392         * lib/fwriteerror.c [TEST]: Likewise.
10393         * tests/test-areadlink.h (test_areadlink): Likewise.
10394         * tests/test-areadlinkat-with-size.c (main): Likewise.
10395         * tests/test-areadlinkat.c (main): Likewise.
10396         * tests/test-canonicalize-lgpl.c (main): Likewise.
10397         * tests/test-canonicalize.c (main): Likewise.
10398         * tests/test-fstatat.c (main): Likewise.
10399         * tests/test-linkat.c (main): Likewise.
10400         * tests/test-lstat.h (test_lstat_func): Likewise.
10401         * tests/test-mkdir.h (test_mkdir): Likewise.
10402         * tests/test-readlink.h (test_readlink): Likewise.
10403         * tests/test-remove.c (main): Likewise.
10404         * tests/test-rename.h (test_rename): Likewise.
10405         * tests/test-renameat.c (main): Likewise.
10406         * tests/test-rmdir.h (test_rmdir_func): Likewise.
10407         * tests/test-symlink.h (test_symlink): Likewise.
10408         * tests/test-symlinkat.c (main): Likewise.
10409         * tests/test-unlink.h (test_unlink_func): Likewise.
10410         * tests/test-unlinkat.c (main): Likewise.
10411
10412         maint: make realtime library usage explicit
10413         * modules/gethrxtime (Link): Mention LIB_GETHRXTIME.
10414         * modules/gettime (Link): Mention LIB_CLOCK_GETTIME.
10415         * modules/settime (Link): Likewise.
10416         * modules/xnanosleep (Link): Mention LIB_NANOSLEEP.
10417
10418         test-stat-time: speed up execution
10419         * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
10420         warning on mingw.
10421         (nap): New helper function.
10422         (prepare_test): Use it to reduce sleep time.
10423         (test_mtime, test_ctime, test_birthtime): Allow for subsecond
10424         execution.
10425         * modules/stat-time-tests (configure.ac): Check for usleep.
10426
10427 2009-10-09  Jim Meyering  <meyering@redhat.com>
10428
10429         selinux-h: always use getfilecon wrappers
10430         * lib/getfilecon.c: New file.
10431         * lib/se-selinux.in.h: Use a better inclusion guard symbol name.
10432         [HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
10433         [!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
10434         (fgetfilecon): Provide a stub.
10435         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
10436         AC_SUBST SELINUX_SELINUX_H, since now we're generating that
10437         file unconditionally.
10438         When <selinux/selinux.h> is found, arrange to use wrappers.
10439         * modules/selinux-h (Files): Add getfilecon.c.
10440         (Makefile.am): Substitute include-next-related bits
10441         into the now-always-generated selinux/selinux.h file.
10442         * doc/glibc-functions/lgetfilecon.texi: New file.
10443         * doc/glibc-functions/fgetfilecon.texi: New file.
10444         * doc/glibc-functions/getfilecon.texi: New file.
10445         * doc/glibc-functions/getfilecon-desc.texi: New file.
10446         * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
10447         which to pull in the new files.
10448         * MODULES.html.sh (Misc): Add selinux-h.
10449
10450 2009-10-08  Jim Meyering  <meyering@redhat.com>
10451
10452         unistd: fix comment typo
10453         * lib/unistd.in.h (euidaccess): Fix a comment typo.
10454
10455 2009-10-08  Eric Blake  <ebb9@byu.net>
10456
10457         areadlink: use SIZE_MAX consistently
10458         * modules/areadlink (Depends-on): Add stdint.
10459         * modules/areadlink-with-size (Depends-on): Likewise.
10460         * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
10461         gives NULL; drop sys/types, since unistd gives size_t; and add
10462         stdint for SIZE_MAX.
10463         (SIZE_MAX): Rely on headers.
10464         * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
10465         and add stdint.
10466         * lib/areadlink.c (includes): Drop sys/types, and add stdint.
10467         (SIZE_MAX): Likewise.
10468         (INITIAL_BUF_SIZE): Turn into enum.
10469         * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.
10470
10471 2009-10-08  Jim Meyering  <meyering@redhat.com>
10472
10473         areadlinkat: avoid compilation failure
10474         * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
10475         Fix typo in comment.
10476
10477 2009-10-07  Eric Blake  <ebb9@byu.net>
10478
10479         areadlinkat-with-size: new module
10480         * modules/areadlinkat-with-size: New module.
10481         * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
10482         * lib/areadlink.h (areadlinkat): Declare it.
10483         * MODULES.html.sh (File system functions): Mention it.
10484         * modules/areadlinkat-with-size-tests: New test.
10485         * tests/test-areadlinkat-with-size.c: New file.
10486
10487         xreadlinkat: new module
10488         * modules/xreadlinkat: New module.
10489         * lib/xreadlinkat.c (xreadlinkat): New file.
10490         * lib/xreadlink.h (xreadlinkat): Declare it.
10491         * MODULES.html.sh (File system functions): Mention it.
10492
10493         areadlinkat: new module
10494         * lib/at-func.c (FUNC_FAIL): New define.
10495         (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
10496         * modules/areadlinkat: New module.
10497         * lib/linkat.c (areadlinkat): Move...
10498         * lib/areadlinkat.c (areadlinkat): ...to new file.
10499         * lib/areadlink.h (areadlinkat): Declare it.
10500         * modules/linkat (Depends-on): Add areadlinkat.
10501         * MODULES.html.sh (File system functions): Mention it.
10502         * modules/areadlinkat-tests: New test.
10503         * tests/test-areadlinkat.c: New file.
10504
10505         areadlink, areadlink-with-size: add tests
10506         * modules/areadlink-tests: New test.
10507         * modules/areadlink-with-size-tests: Likewise.
10508         * tests/test-areadlink.h: New file.
10509         * tests/test-areadlink.c: Likewise.
10510         * tests/test-areadlink-with-size.c: Likewise.
10511
10512         maint: minor cleanups
10513         * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
10514         _UNUSED_PARAMETER_ instead.
10515         * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
10516         * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
10517         * modules/linkat-tests (Files): Distribute test-link.h.
10518
10519         openat, utimens: whitespace cleanup
10520         * lib/openat.c: Prefer space throughout, rather than mix of 8
10521         spaces vs. tabs.
10522         * lib/at-func.c: Likewise.
10523         * lib/utimens.c: Likewise.
10524
10525         openat: avoid using wrong fd
10526         * lib/openat.c (openat_permissive): Reject user's fd if saving the
10527         working directory chooses same fd.
10528         * lib/at-func.c (AT_FUNC_NAME): Likewise.
10529
10530         mkdir, mkdirat: fix cygwin 1.5.x bug
10531         * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
10532         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
10533         * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
10534         bug.
10535         (gl_PREREQ_MKDIR): Delete unused macro.
10536         * modules/mkdir (Files): Track file rename.
10537         (configure.ac): Update macro name.
10538         * modules/openat (Depends-on): Add mkdir.
10539         * doc/posix-functions/mkdir.texi (mkdir): Document the bug.
10540
10541         mkdir, mkdirat: add tests
10542         * modules/mkdir-tests: New test.
10543         * tests/test-mkdir.h: New file.
10544         * tests/test-mkdir.c: Likewise.
10545         * tests/test-mkdirat.c: Likewise.
10546         * modules/openat-tests (Files): Add new files.
10547         (Makefile.am): Run new test.
10548
10549 2009-10-06  Eric Blake  <ebb9@byu.net>
10550
10551         doc: tweak *at function documentation
10552         * doc/posix-functions/faccessat.texi (faccessat): Mention
10553         known issue with replacement.
10554         * doc/posix-functions/fchdir.texi (fchdir): Likewise.
10555         * doc/posix-functions/linkat.texi (linkat): Likewise.
10556         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
10557         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
10558         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
10559         * doc/posix-functions/renameat.texi (renameat): Likewise.
10560         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
10561
10562         openat: fix GNU/Hurd bug in unlinkat
10563         * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
10564         broken.
10565         * doc/posix-functions/unlink.texi (unlink): Document this.
10566         * doc/posix-functions/unlinkat.texi (unlinkat): Likewise.
10567
10568         fdopendir: fix GNU/Hurd bug
10569         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
10570         allowing non-directory fds.
10571         * lib/fdopendir.c (rpl_fdopendir): Work around it.
10572         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
10573         * modules/dirent (Makefile.am): Substitute it.
10574         * lib/dirent.in.h (fdopendir): Declare replacement.
10575         * doc/posix-functions/fdopendir.texi (fdopendir): Document this.
10576         * tests/test-fdopendir.c (main): Test something other than
10577         /dev/null, since on Hurd that behaves like a directory.
10578
10579         test-symlink: port to GNU/Hurd
10580         * tests/test-symlink.h (test_symlink): Relax expected errno.
10581
10582         doc: tweak more cygwin information
10583         * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
10584         now compatible with glibc.
10585         * doc/posix-functions/getopt.texi (getopt): Likewise.
10586
10587         getopt-gnu: add another test
10588         * tests/test-getopt_long.h (test_getopt_long_posix): New test, to
10589         guarantee behavior relied on by m4.
10590         * tests/test-getopt.c (main): Use it.
10591         * modules/getopt-posix-tests (Depends-on): Add setenv.
10592         See http://lists.gnu.org/archive/html/bug-m4/2006-09/msg00028.html.
10593
10594         getopt: fix compilation on darwin
10595         * lib/getopt.in.h (includes): Leave breadcrumbs during system
10596         include.
10597         * lib/unistd.in.h (getopt): Use them to avoid recursive include.
10598         Reported by Ludovic Courtès.
10599
10600 2009-10-06  Bruno Haible  <bruno@clisp.org>
10601
10602         * modules/size_max (Description): Discourage its use.
10603         Reported by Simon Josefsson.
10604
10605 2009-10-06  Jim Meyering  <meyering@redhat.com>
10606
10607         linkat: avoid compilation failure
10608         * lib/linkat.c: Include <stdint.h> for use of SIZE_MAX.
10609
10610 2009-10-05  Eric Blake  <ebb9@byu.net>
10611
10612         linkat: support Linux 2.6.17
10613         * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
10614         linkat on Linux, but allow cache variable override.
10615         * lib/linkat.c (rpl_linkat): Define override.
10616         * modules/linkat (Depends-on): Add symlinkat.
10617         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
10618         * modules/unistd (Makefile.am): Substitute it.
10619         * lib/unistd.in.h (linkat): Declare replacement.
10620         Reported by Pádraig Brady.
10621
10622         quotearg: port test to systems with C.UTF-8 locale
10623         * tests/test-quotearg.c (struct result_strings): Add another
10624         member, differentiating between C.ASCII and C.UTF-8 handling.
10625         (compare_strings): Add parameter.
10626         (main): Adjust all callers.
10627
10628         getopt: avoid clash with FreeBSD _getopt_internal
10629         * lib/getopt.in.h (_getopt_internal): Override the name.
10630         * lib/getopt_int.h (includes): Pick up any overrides.
10631         Reported by Reuben Thomas.
10632
10633         hash: allow C89 compilation
10634         * lib/hash.c (check_tuning): Move declaration before statement.
10635         Reported by Reuben Thomas.
10636
10637 2009-10-05  Karl Berry  <karl@gnu.org>
10638
10639         * doc/gnulib.texi: @include execvpe.texi, missing for several days.
10640
10641 2009-10-04  Paolo Bonzini  <bonzini@gnu.org>
10642             Bruno Haible  <bruno@clisp.org>
10643
10644         * lib/uname.c (uname): Use a table-driven algorithm to compute
10645         Windows NT versions.
10646
10647 2009-10-04  Bruno Haible  <bruno@clisp.org>
10648
10649         * lib/progname.c (set_program_name): Also remove the "lt-" prefix from
10650         program_invocation_short_name.
10651         * modules/progname (configure.ac): Test for presence of
10652         program_invocation_short_name.
10653         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
10654
10655 2009-10-04  Bruno Haible  <bruno@clisp.org>
10656
10657         * lib/progname.c (set_program_name): Fix comment.
10658         Reported by Jim Meyering.
10659
10660 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
10661             Bruno Haible  <bruno@clisp.org>
10662
10663         * lib/uname.c: Include <string.h>.
10664         (uname): Do only one call to GetVersionEx in the common case.
10665
10666 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
10667             Bruno Haible  <bruno@clisp.org>
10668
10669         * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64,
10670         PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks.
10671         (uname): Add support for Windows CE and various non-x86 CPU types.
10672
10673 2009-10-03  Bruno Haible  <bruno@clisp.org>
10674
10675         * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O
10676         invocation to tests/configure.ac.
10677         Reported by Ian Beckwith <ianb@erislabs.net>.
10678
10679 2009-10-02  Eric Blake  <ebb9@byu.net>
10680
10681         fchdir: avoid compiler warning
10682         * lib/fchdir.c (canonicalize_file_name)
10683         [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw.
10684
10685         test-open: support mingw errno values
10686         * tests/test-open.h (test_open): Relax test.
10687         * tests/test-fopen.h (test_fopen): Likewise.
10688         * tests/test-openat-safer.c (main): Likewise.
10689
10690         open: fix opening directory on mingw
10691         * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo.
10692
10693         test-open: on GNU/Hurd, /dev/null is a directory
10694         * tests/test-fopen.h (main): Rename...
10695         (test_fopen): ...to this.  Use a guaranteed non-directory when
10696         confirming open behavior on trailing slash.
10697         * tests/test-openat-safer.c (main): Likewise.
10698         * tests/test-open.h (main): Likewise....
10699         (test_open): ...to this.
10700         * tests/test-fopen.c (main): Adjust caller.
10701         * tests/test-fopen-safer.c (main): Likewise.
10702         * tests/test-open.c (main): Likewise.
10703         * tests/test-fcntl-safer.c (main): Likewise.
10704         Reported by Samuel Thibault.
10705
10706         rename, fchdir: don't ignore chdir failure
10707         * lib/fchdir.c (get_name): Abort on unexpected chdir failure.
10708         * lib/rename.c (rpl_rename) [W32]: Likewise.
10709         (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing
10710         an empty destination directory if source cannot be renamed,
10711         although there is still possibility for failure.
10712         * doc/posix-functions/rename.texi (rename): Document the race.
10713         Reported by Jim Meyering.
10714
10715         maint: cleanup whitespace in recent commits
10716         * lib/rename.c (rpl_rename): Remove tabs.
10717         * tests/test-link.h (test_link): Likewise.
10718         * lib/fchdir.c (get_name): Likewise.
10719         Reported by Jim Meyering.
10720
10721 2009-10-02  Ben Pfaff  <blp@gnu.org>
10722
10723         relocatable-prog-wrapper: Add missing dependency on
10724         double-slash-root.
10725         * modules/relocatable-prog-wrapper: Add dependency.
10726         Reported by Ian Beckwith <ianb@erislabs.net>.
10727
10728 2009-10-02  Eric Blake  <ebb9@byu.net>
10729
10730         renameat: fix Solaris bugs
10731         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename
10732         needed fixing.
10733         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness.
10734         * modules/stdio (Makefile.am): Substitute it.
10735         * lib/stdio.in.h (renameat): Declare replacement.
10736         * lib/renameat.c (rpl_renameat): Implement fix.
10737
10738         renameat: new module
10739         * modules/renameat: New file.
10740         * lib/renameat.c (renameat): Likewise.
10741         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise.
10742         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
10743         * modules/stdio (Makefile.am): Substitute them.
10744         * lib/stdio.in.h (renameat): Declare it.
10745         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
10746         * doc/posix-functions/renameat.texi (renameat): Likewise.
10747         * modules/renameat-tests: New test.
10748         * tests/test-renameat.c: Likewise.
10749
10750         rename: fix mingw bugs
10751         * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and
10752         directory overwrite bugs.
10753
10754         rename: fix another cygwin 1.5 bug
10755         * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two
10756         checks.
10757         * lib/rename.c (rpl_rename): Don't penalize NetBSD with
10758         unnecessary cygwin workarounds.  Also work around bug with moving
10759         full directory onto an empty one.
10760         * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir.
10761
10762         rename-dest-slash: merge into rename module
10763         * modules/rename-dest-slash (Status): Mark obsolete.
10764         (Depends-on): Add rename.
10765         (Files): Let rename do it all.
10766         * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs,
10767         subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH...
10768         * m4/rename-dest-slash.m4: ...so this file can be deleted.
10769         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete.
10770         * lib/rename.c (rpl_rename): Update comments.
10771
10772         rename: fix cygwin 1.5.x bugs
10773         * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs.
10774         * lib/rename.c (rpl_rename): Work around them.
10775         * modules/rename (Depends-on): Add same-inode.
10776
10777         rename: fix Solaris 10 bug
10778         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
10779         * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this
10780         was the only bug.
10781
10782         rename: fix Solaris 9 bug
10783         * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash
10784         on non-directory.  Avoid calling exit.
10785         * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool,
10786         strdup.
10787         * modules/rename-tests (Depends-on): Drop lstat.
10788         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
10789         (gl_PREREQ_RENAME): Delete unused macro.
10790
10791         rename-dest-slash: fix NetBSD bug
10792         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard
10793         links.
10794         * modules/rename-dest-slash (Depends-on): Add same-inode.
10795
10796         rename-tests: new test, exposes several platform bugs
10797         * modules/rename-tests: New file.
10798         * tests/test-rename.h: Likewise.
10799         * tests/test-rename.c: Likewise.
10800         * doc/posix-functions/rename.texi (rename): Improve documentation,
10801         including bugs that will eventually be fixed in gnulib.
10802
10803 2009-10-02  Paolo Bonzini  <bonzini@gnu.org>
10804
10805         * lib/uname.c: Include <stdlib.h>
10806         (uname): Assume version info is available.
10807
10808 2009-10-02  Jim Meyering  <meyering@redhat.com>
10809
10810         gnu-web-doc-update: correct --help output
10811         * build-aux/gnu-web-doc-update: Make --help output relevant.
10812
10813         gnu-web-doc-update: add standard options
10814         * build-aux/gnu-web-doc-update: Add --help, --version, etc.
10815
10816         gnu-web-doc-update: New module.
10817         Use this script to automatically update the on-line web documentation
10818         for your GNU project at http://www.gnu.org/software/$pkg/manual/
10819         * modules/gnu-web-doc-update: New file, from coreutils.
10820         * build-aux/gnu-web-doc-update: New script.
10821
10822 2009-10-01  Paolo Bonzini  <bonzini@gnu.org>
10823
10824         link: LoadLibrary is not needed.
10825         * lib/link.c: Use GetModuleHandle.
10826
10827 2009-10-01  Eric Blake  <ebb9@byu.net>
10828
10829         getopt: bump serial number
10830         * m4/getopt.m4: Increment serial number, to account for 2009-09-24
10831         change.
10832
10833         tests: tighten link, rmdir, and remove tests
10834         * tests/test-link.h (includes): No need to use <config.h> here.
10835         Clean up if directory hard link was created, otherwise test for
10836         trailing '.'.
10837         * tests/test-linkat.c (main): Simplify.
10838         * tests/test-remove.c (main): Enhance test for trailing '.'.
10839         * tests/test-rmdir.h (test_rmdir_func): Likewise.
10840
10841 2009-10-01  Jim Meyering  <meyering@redhat.com>
10842
10843         maint.mk: requiring "make major" was annoying, for a "minor" release.
10844         What is intended is "stable", to contrast with alpha and beta,
10845         so require "make stable", not "make major".
10846         * build-aux/announce-gen (%valid_release_types): s/major/stable/.
10847         (get_tool_versions): Likewise.
10848         * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/
10849
10850 2009-09-30  Ben Pfaff  <blp@gnu.org>
10851
10852         Fix broken build of replacement for Windows tmpfile().
10853         * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide
10854         flags argument added along with the 'mkostemp' module.
10855
10856 2009-09-28  Bruno Haible  <bruno@clisp.org>
10857
10858         Avoid identifier clash with POSIX function 'remove' defined as a macro.
10859         * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
10860         to 'remove_elt'.
10861         (gl_list_remove): Update.
10862         * lib/gl_list.c (gl_list_remove): Update.
10863         * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
10864         to 'remove_elt'.
10865         (gl_oset_remove): Update.
10866         * lib/gl_list.c (gl_oset_remove): Update.
10867         Reported by Eric Blake.
10868
10869 2009-09-28  Eric Blake  <ebb9@byu.net>
10870
10871         doc: mention yet more cygwin 1.7 status
10872         * doc/posix-functions/fexecve.texi (fexecve): Now implemented in
10873         cygwin.
10874         * doc/glibc-functions/execvpe.texi (execvpe): New file.
10875         * doc/gnulib.texi (Glibc unistd.h): Mention it.
10876
10877         argp: fix test failure
10878         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
10879         that are not upper-case.  Pass correct range to tolower.
10880
10881 2009-09-27  Jim Meyering  <meyering@redhat.com>
10882
10883         test-yesno: work around sparc-dash here-document infelicity
10884         Without this change, the literal \177 byte in a here document
10885         would make dash 0.5.5.1-3 access uninitialized memory.
10886         * tests/test-yesno.sh: Don't put the \177 byte in the here document.
10887         Instead, use a marker, "@", and filter through tr to create the desired
10888         contents.  Reported as <http://bugs.debian.org/548493> by Kurt Roeckx.
10889
10890 2009-09-27  Bruno Haible  <bruno@clisp.org>
10891
10892         Disable untested support for new flavours of ACLs on AIX.
10893         * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in
10894         progress.
10895         * lib/set-mode-acl.c (qset_acl): Likewise.
10896
10897 2008-12-07  Bruno Haible  <bruno@clisp.org>
10898
10899         Add support for new flavours of ACLs on AIX. (Untested.)
10900         * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function.
10901         (file_has_acl): Add support for newer AIX.
10902         * lib/set-mode-acl.c (qset_acl): Likewise.
10903         * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by
10904         Rainer Tammer <tammer@tammer.net>.
10905
10906 2009-09-26  Eric Blake  <ebb9@byu.net>
10907
10908         argp: fix compilation of getopt
10909         * lib/getopt.in.h (includes): Use different guard than glibc.
10910         Reported by Sergey Poznyakoff.
10911
10912         doc: mention more cygwin 1.7 status
10913         * doc/posix-functions/access.texi (access): Mention cygwin 1.5
10914         bug.
10915         * doc/posix-functions/execl.texi (execl): Likewise.
10916         * doc/posix-functions/execle.texi (execle): Likewise.
10917         * doc/posix-functions/execlp.texi (execlp): Likewise.
10918         * doc/posix-functions/execv.texi (execv): Likewise.
10919         * doc/posix-functions/execve.texi (execve): Likewise.
10920         * doc/posix-functions/execvp.texi (execvp): Likewise.
10921         * doc/glibc-functions/canonicalize_file_name.texi
10922         (canonicalize_file_name): Cygwin 1.7 now provides this.
10923         * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
10924         * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
10925         on AT_SYMLINK_NOFOLLOW.
10926
10927 2009-09-24  Eric Blake  <ebb9@byu.net>
10928
10929         test-linkat: make test more robust
10930         * tests/test-linkat.c (main): Avoid collision with EEXIST.
10931
10932         getopt: fix inclusion guards for cygwin
10933         * modules/getopt-posix (Depends-on): Add include-next.
10934         (Makefile.am): Substitute more items in replacement header.
10935         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native
10936         <getopt.h>.
10937         * lib/getopt.in.h (includes): Use split inclusion guard, and
10938         prefer <getopt.h> over include <unistd.h> when one is present.
10939         (option): Also override name of 'struct option'.
10940
10941         same-inode: revert prior change; it is not yet ready
10942         * NEWS: Undo mention of this change.
10943         * lib/same-inode.h (same-inode.h): Undo tri-state change.
10944         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
10945         * lib/cycle-check.c (cycle_check): Likewise.
10946         * lib/same.c (same_name): Likewise.
10947         * lib/at-func2.c (at_func2): Likewise.
10948
10949 2009-09-23  Eric Blake  <ebb9@byu.net>
10950
10951         linkat: new module
10952         * modules/linkat: New file.
10953         * lib/at-func2.c (at_func2): Likewise.
10954         * lib/linkat.c (linkat): Likewise.
10955         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
10956         * lib/openat-priv.h (at_func2): Add declaration.
10957         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
10958         * modules/unistd (Makefile.am): Substitute them.
10959         * lib/unistd.in.h (linkat): Declare it.
10960         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
10961         * doc/posix-functions/linkat.texi (linkat): Likewise.
10962         * doc/posix-functions/link.texi (link): Tweak wording.
10963         * tests/test-link.c (main): Move guts...
10964         * tests/test-link.h (test_link): ...into new file.
10965         * modules/linkat-tests: New test.
10966         * tests/test-linkat.c: Likewise.
10967         * modules/link-tests (Files): Ship new file.
10968         (Depends-on): Add stdbool.
10969
10970         dirname: add library-safe mdir_name
10971         * lib/dirname.h (mdir_name): New prototype.
10972         * lib/dirname.c (dir_name): Move guts...
10973         (mdir_name): ...to new function that avoids xalloc_die.
10974
10975         fchdir: another mingw fix
10976         * modules/fchdir (Depends-on): Drop canonicalize-lgpl.
10977         * lib/fchdir.c (get_name): New helper method; skips canonicalize
10978         on mingw (where it has not yet been ported), and make it optional
10979         elsewhere.
10980         (_gl_register_fd): Use it.
10981
10982         same-inode: make SAME_INODE tri-state, to port to mingw
10983         * NEWS: Mention this change.
10984         * lib/same-inode.h (same-inode.h): Recognize mingw limitation of
10985         st_ino always being 0.
10986         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
10987         * lib/cycle-check.c (cycle_check): Likewise.
10988         * lib/same.c (same_name): Likewise.
10989
10990         lstat: avoid mingw compilation error
10991         * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to
10992         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing
10993         lstat ourselves.
10994         * lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override
10995         was adequate.
10996         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle
10997         the checks for lstat.
10998         (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT.
10999
11000         link: fix test failure on Solaris 9
11001         * lib/link.c (rpl_link): Don't assume link will catch bogus
11002         trailing slash on source.
11003
11004         test-symlinkat: enhance test
11005         * tests/test-readlink.c (main): Move guts...
11006         * tests/test-readlink.h (test_readlink): ...into new file.
11007         * tests/test-symlink.c (main): Move guts...
11008         * tests/test-symlink.h (test_symlink): ...into new file.
11009         * tests/test-symlinkat.c (main): Use new files for further
11010         coverage.
11011         (do_symlink, do_readlink): New helper functions.
11012         * modules/symlink-tests (Files): Ship new file.
11013         (Depends-on): Add stdbool.
11014         * modules/readlink-tests (Files): Ship new file.
11015         (Depends-on): Add stdbool.
11016         * modules/symlinkat-tests (Files): Use new files.
11017
11018 2009-09-23  Eric Blake  <ebb9@byu.net>
11019
11020         readlink: document portability issue with symlink length
11021         * doc/posix-functions/lstat.texi (lstat): Mention that some file
11022         systems have bogus st_size on symlinks, and mention the
11023         areadlink-with-size module.
11024         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
11025         * doc/posix-functions/readlink.texi (readlink): Mention the
11026         areadlink module, and ERANGE failure.
11027         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
11028         * tests/test-readlink.c (main): Relax test for AIX, HP-UX.
11029
11030         readlink: fix Solaris 9 bug with trailing slash
11031         * lib/readlink.c (rpl_readlink): Work around trailing slash bug.
11032         * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug.
11033         * doc/posix-functions/readlink.texi (readlink): Document this.
11034         * modules/readlink-tests: New test.
11035         * tests/test-readlink.c: Likewise.
11036
11037         readlink: fix cygwin 1.5.x bug with return type
11038         * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
11039         * lib/unistd.in.h (readlink): Use ssize_t.
11040         * lib/readlink.c (readlink): Likewise.
11041         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
11042         * modules/unistd (Makefile.am): Substitute it.
11043         * lib/unistd.in.h (readlink): Declare replacement.
11044         * doc/posix-functions/readlink.texi (readlink): Document this.
11045
11046         symlink: use throughout gnulib
11047         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
11048         * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
11049         symlink is not used.
11050         * modules/symlinkat (Depends-on): Add symlink.
11051         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
11052         * modules/canonicalize-tests (Depends-on): Likewise.
11053         * modules/lstat-tests (Depends-on): Likewise.
11054         * modules/openat-tests (Depends-on): Likewise.
11055         * modules/remove-tests (Depends-on): Likewise.
11056         * modules/rmdir-tests (Depends-on): Likewise.
11057         * modules/unlink-tests (Depends-on): Likewise.
11058         * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
11059         * tests/test-canonicalize.c (symlink): Likewise.
11060         * tests/test-fstatat.c (symlink): Likewise.
11061         * tests/test-lstat.c (symlink): Likewise.
11062         * tests/test-remove.c (symlink): Likewise.
11063         * tests/test-rmdir.c (symlink): Likewise.
11064         * tests/test-unlink.c (symlink): Likewise.
11065         * tests/test-unlinkat.c (symlink): Likewise.
11066
11067         symlink: new module, for Solaris 9 bug
11068         * modules/symlink: New file.
11069         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
11070         * lib/symlink.c: Likewise.
11071         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
11072         * modules/unistd (Makefile.am): Substitute them.
11073         * lib/unistd.in.h (symlink): Declare replacement.
11074         * MODULES.html.sh (File system functions): Mention it.
11075         * doc/posix-functions/symlink.texi (symlink): Likewise.
11076         * modules/symlink-tests: New test.
11077         * tests/test-symlink.c: Likewise.
11078
11079 2009-09-23  Bruno Haible  <bruno@clisp.org>
11080
11081         * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
11082         when needed.
11083         Test case: gnulib-tool --import --with-tests atexit inttypes.
11084         Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.
11085
11086 2009-09-23  Bruno Haible  <bruno@clisp.org>
11087
11088         * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
11089         subcommand, not in a subshell.
11090
11091 2009-09-22  Eric Blake  <ebb9@byu.net>
11092
11093         unistd: sort replacement declarations
11094         * lib/unistd.in.h: Sort declarations.
11095
11096         open, openat: minor optimization
11097         * lib/open.c (open): If open succeeded, len is non-zero.
11098         * lib/openat.c (rpl_openat): Likewise.
11099
11100         link-follow: ensure correct result
11101         * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
11102         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
11103         distinguish between possible failures.
11104
11105 2009-09-21  Eric Blake  <ebb9@byu.net>
11106
11107         fts: avoid compiler warning
11108         * lib/fts.c (dirent_inode_sort_may_be_useful)
11109         (leaf_optimization_applies) [!__linux__]: Mark unused parameters.
11110
11111 2009-09-19  Bruno Haible  <bruno@clisp.org>
11112
11113         * lib/progreloc.c (canonicalize_file_name): New declaration.
11114
11115 2009-09-19  Eric Blake  <ebb9@byu.net>
11116
11117         link: fix quoting
11118         * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.
11119
11120         openat: fix openat bugs on Solaris 9
11121         * lib/openat.c (rpl_openat): Work around Solaris 9 bug.
11122         * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
11123         * modules/openat (Depends-on): Add open.
11124         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
11125         * modules/fcntl-h (Makefile.am): Substitute it.
11126         * lib/fcntl.in.h (openat): Declare replacement.
11127         * doc/posix-functions/openat.texi (openat): Document this.
11128
11129         openat: move fstatat and unlinkat into correct files
11130         * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
11131         compiled.
11132         * lib/openat.c (fstatat, unlinkat): Move...
11133         * lib/fstatat.c (fstatat): ...into correct files.
11134         * lib/unlinkat.c (unlinkat): Likewise.
11135
11136         openat: fix unlinkat bugs on Solaris 9
11137         * lib/unlinkat.c (unlinkat): New file.
11138         * modules/openat (Depends-on): Add unlink.
11139         (Files): Distribute it.
11140         * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
11141         trailing slash behavior is broken.
11142         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
11143         * modules/unistd (Makefile.am): Substitute it.
11144         * lib/unistd.in.h (unlinkat): Declare replacement.
11145         * doc/posix-functions/unlinkat.texi (unlinkat): Document this.
11146
11147         openat: fix fstatat bugs on Solaris 9
11148         * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
11149         stat.
11150         * doc/posix-functions/fstatat.texi (fstatat): Document this.
11151
11152         test-unlinkat: enhance test, to expose Solaris 9 bug
11153         * tests/test-unlink.c (main): Factor guts...
11154         * tests/test-unlink.h (test_rmdir_func): ...into new file.
11155         * tests/test-rmdir.h (test_rmdir_func): Add parameter.
11156         * tests/test-rmdir.c (main): Adjust caller.
11157         * tests/test-unlinkat.c (main): Likewise.  Add unlink tests.
11158         (unlinker): New helper function.
11159         (rmdirat): Enhance check.
11160         * modules/rmdir-tests (Depends-on): Add stdbool.
11161         * modules/unlink-tests (Depends-on): Likewise.
11162         (Files): Add test-unlink.h.
11163         * modules/openat-tests (Files): Likewise.
11164         (Depends-on): Add unlinkdir.
11165
11166         test-fstatat: new test, to expose Solaris 9 bugs
11167         * tests/test-stat.c (main): Factor guts...
11168         * tests/test-stat.h (test_stat_func): ...into new file.
11169         * tests/test-lstat.c (main): Factor guts...
11170         * tests/test-lstat.h (test_lstat_func): ...into new file.
11171         * tests/test-fstatat.c: New file.
11172         * modules/stat-tests (Files): Add test-stat.h.
11173         * modules/lstat-tests (Files): Add test-lstat.h.
11174         (Depends-on): Add stdbool.
11175         * modules/openat-tests (Depends-on): Add pathmax.
11176         (Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
11177         (Makefile.am): Run new test.
11178
11179         remove: new module, for mingw and Solaris 9 bugs
11180         * modules/remove: New file.
11181         * lib/remove.c: Likewise.
11182         * m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
11183         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
11184         * modules/stdio (Makefile.am): Use them.
11185         * lib/stdio.in.h (remove): Declare replacement.
11186         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
11187         * doc/posix-functions/remove.texi (remove): Likewise.
11188         * modules/remove-tests: New test.
11189         * tests/test-remove.c: Likewise.
11190
11191         unlink: new module, for Solaris 9 bug
11192         * modules/unlink: New file.
11193         * lib/unlink.c: Likewise.
11194         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
11195         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
11196         * modules/unistd (Makefile.am): Use them.
11197         * lib/unistd.in.h (stat): Declare replacement.
11198         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
11199         * doc/posix-functions/unlink.texi (unlink): Likewise.
11200         * modules/unlink-tests: New test.
11201         * tests/test-unlink.c: Likewise.
11202
11203         lstat: fix Solaris 9 bug
11204         * lib/lstat.c (lstat): Also check for trailing slash on
11205         non-symlink, non-directories.  Use stat module to simplify logic.
11206         * doc/posix-functions/lstat.texi (lstat): Document it.
11207         * modules/lstat-tests (Depends-on): Add errno, same-inode.
11208         (configure.ac): Check for symlink.
11209         * tests/test-lstat.c (main): Add more tests.
11210
11211         stat: add as dependency to other modules
11212         * modules/chown (Depends-on): Add stat.
11213         * modules/euidaccess (Depends-on): Likewise.
11214         * modules/fchdir (Depends-on): Likewise.
11215         * modules/isdir (Depends-on): Likewise.
11216         * modules/link (Depends-on): Likewise.
11217         * modules/lstat (Depends-on): Likewise.
11218         * modules/mkdir-p (Depends-on): Likewise.
11219         * modules/modechange (Depends-on): Likewise.
11220         * modules/open (Depends-on): Likewise.
11221         * modules/readlink (Depends-on): Likewise.
11222         * modules/same (Depends-on): Likewise.
11223
11224         stat: fix Solaris 9 bug
11225         * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
11226         slash.
11227         * lib/stat.c (rpl_stat): Work around it.
11228         * doc/posix-functions/stat.texi (stat): Update documentation.
11229
11230         stat: new module, for mingw bug
11231         * modules/stat: New file.
11232         * lib/stat.c: Likewise.
11233         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
11234         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
11235         * modules/sys_stat (Makefile.am): Use them.
11236         * lib/sys_stat.in.h (stat): Declare replacement.
11237         * lib/openat.c (fstatat): Deal with lstat and stat being function
11238         macros.
11239         * modules/openat (Depends-on): Add inline.
11240         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
11241         * doc/posix-functions/stat.texi (stat): Likewise.
11242         * modules/stat-tests: New test.
11243         * tests/test-stat.c: Likewise.
11244
11245 2009-09-19  Jim Meyering  <meyering@redhat.com>
11246
11247         syntax-check: detect unnecessary inclusion of canonicalize.h
11248         * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.
11249
11250 2009-09-19  Eric Blake  <ebb9@byu.net>
11251
11252         canonicalize-lgpl: adjust clients to use correct header
11253         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
11254         (gl_CANONICALIZE_LGPL): Use correct shell quoting.
11255         * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h.
11256         * lib/fchdir.c (includes): Use <stdlib.h>, not "canonicalize.h".
11257         * lib/progreloc.c (includes): Likewise.
11258
11259 2009-09-19  Jim Meyering  <meyering@redhat.com>
11260
11261         test-posixtm.c: correct a comment
11262         * tests/test-posixtm.c: Correct first-line comment.
11263         Spotted by Eric Blake.
11264
11265 2009-09-16  Jim Meyering  <meyering@redhat.com>
11266
11267         posixtm-tests: make T const-correct; add a test case
11268         * tests/test-posixtm.c (T): Declare const.
11269         Add a test for -(2^31+1).
11270         Remove useless can-succeed-only-in-2002 test.
11271
11272         posixtm-tests: adjust the sole failing test
11273         * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that
11274         expected output matches what mktime now produces.  Cross-checked via
11275         erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}})
11276
11277         posixtm: move #ifdef'd tests into a new module
11278         * lib/posixtm.c (posixtime): Remove #ifdef'd tests.  Move to...
11279         * tests/test-posixtm.c: ... this new file.
11280         * modules/posixtm-tests: New module.
11281
11282 2009-09-19  Eric Blake  <ebb9@byu.net>
11283
11284         openat: simplify use of at-func.c
11285         * lib/at-func.c (includes): Include prerequisites here, to
11286         simplify requirements on client files.
11287         * lib/openat-priv.h: Add double-inclusion guard.
11288         * lib/faccessat.c (includes): Simplify.
11289         * lib/fchmodat.c (includes): Likewise.
11290         * lib/fchownat.c (includes): Likewise.
11291         * lib/mkdirat.c (includes): Likewise.
11292         * lib/mkfifoat.c (includes): Likewise.
11293         * lib/symlinkat.c (includes): Likewise.
11294
11295         openat: allow return of fd 0
11296         * modules/chdir-long (Depends-on): Relax openat-safer to openat.
11297         * modules/save-cwd (Depends-on): Replace fcntl-safer with
11298         unistd-safer.
11299         * lib/chdir-long.c (includes): Replace "fcntl--.h" with
11300         <fcntl.h>; this module does not leak fds.
11301         * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat
11302         must be allowed to return 0, leaving openat_safer to add the
11303         safety.
11304         (openat_permissive): Avoid writing to just-opened fd 2 if
11305         restoring the current directory fails.
11306         * lib/openat-die.c (openat_restore_fail): Add comment.
11307         * lib/save-cwd.c (includes): Make "fcntl--.h" conditional.
11308         (save_cwd): Guarantee safe fd, but without use of open_safer.
11309         * tests/test-openat.c: New test.
11310         * modules/openat-tests (Files, Makefile.am): Distribute and build
11311         new file.
11312
11313         relocatable-prog-wrapper: fix build
11314         * modules/relocatable-prog-wrapper (Files): Update name of
11315         canonicalize m4 file, broken on 2009-09-17.
11316         Reported by emad hajjar <aleppos@hotmail.com>.
11317
11318 2009-09-19  Bruno Haible  <bruno@clisp.org>
11319
11320         * lib/safe-alloc.h: Use the standard header with GPL copyright.
11321         * lib/safe-alloc.c: Likewise.
11322         Reported by Ian Beckwith <ianb@erislabs.net>.
11323
11324 2009-09-18  Bruno Haible  <bruno@clisp.org>
11325
11326         * gnulib-tool: Add advice to "cannot find configure.ac" error message.
11327         Reported by <erobles@sensacd.com.mx>.
11328
11329 2009-09-17  Eric Blake  <ebb9@byu.net>
11330
11331         canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash
11332         * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing
11333         slashes when checking if last component is missing.
11334         * tests/test-canonicalize.c (main): Test this.
11335
11336         canonicalize, canonicalize-lgpl: honor // if distinct from /
11337         * modules/canonicalize (Files): Add double-slash-root.m4.
11338         * modules/canonicalize-lgpl (Files): Likewise.
11339         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
11340         (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency.
11341         * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide
11342         fallback definition.
11343         (canonicalize_filename_mode): Use it to protect //.
11344         * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT)
11345         (__realpath): Likewise.
11346         * tests/test-canonicalize.c (main): Test this.
11347         * tests/test-canonicalize-lgpl.c (main): Likewise.
11348         * modules/canonicalize-tests (Depends-on): Add same-inode.
11349         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
11350
11351         canonicalize-lgpl: fix glibc bug with trailing slash
11352         * m4/canonicalize-lgpl.m4: Move contents...
11353         * m4/canonicalize.m4: ...here.
11354         (gl_CANONICALIZE_LGPL): Factor realpath check...
11355         (gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
11356         glibc 2.3.5 bug, fixed 2005-04-27.
11357         (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
11358         (gl_PREREQ_CANONICALIZE_LGPL): Inline...
11359         (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
11360         * modules/canonicalize-lgpl (Files): Manage file rename.
11361         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
11362         * modules/stdlib (Makefile.am): Substitute witness.
11363         * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
11364         is needed.
11365         * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
11366         replacement is required.
11367         * lib/canonicalize.c (canonicalize_file_name): Likewise.
11368         * doc/glibc-functions/canonicalize_file_name.texi
11369         (canonicalize_file_name): Document this.
11370         * doc/posix-functions/realpath.texi (realpath): Likewise.
11371
11372         canonicalize-lgpl: reject non-directory with trailing slash
11373         * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc.
11374         * tests/test-canonicalize-lgpl.c (main): Enhance test.  This
11375         catches failures in glibc 2.3.5.
11376         * tests/test-canonicalize.c (main): Likewise.
11377
11378         canonicalize-lgpl: use native realpath if it works
11379         * lib/canonicalize-lgpl.c (realpath): Guard with
11380         FUNC_REALPATH_WORKS.
11381         * lib/stdlib.in.h (realpath): Make declaration optional based on
11382         HAVE_REALPATH.
11383         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
11384         native realpath works.
11385         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
11386         * modules/stdlib (Makefile.am): Substitute witness.
11387
11388         canonicalize, canonicalize-lgpl: use <stdlib.h>
11389         * modules/canonicalize-lgpl (Files): Drop canonicalize.h.
11390         (Include): Mention <stdlib.h>.
11391         (configure.ac): Mention functions we provide.
11392         * modules/canonicalize (configure.ac): Likewise.
11393         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
11394         realpath if canonicalize_file_name is missing.
11395         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
11396         * modules/stdlib (Makefile.am): Substitute witnesses.
11397         * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
11398         * lib/canonicalize-lgpl.c (includes): Adjust accordingly.
11399         * lib/canonicalize.h (canonicalize_file_name): Drop declaration.
11400         * NEWS: Document this.
11401         * doc/glibc-functions/canonicalize_file_name.texi
11402         (canonicalize_file_name): Likewise.
11403         * doc/posix-functions/realpath.texi (realpath): Likewise.
11404         * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.
11405
11406         test-canonicalize: consolidate into single C program
11407         * tests/test-canonicalize.sh: Delete; move setup into...
11408         * tests/test-canonicalize.c (main): ...the program, making it
11409         easier to run in debugger.  Add some tests.
11410         * modules/canonicalize-tests (Files): Remove unused file.
11411         (Depends-on): Add progname.
11412         (configure.ac, Makefile.am): Simplify.
11413
11414         test-canonicalize-lgpl: consolidate into single C program
11415         * tests/test-canonicalize-lgpl.sh: Delete; move setup into...
11416         * tests/test-canonicalize-lgpl.c (main): ...the program, making it
11417         easier to run in debugger.  Add some tests.
11418         * modules/canonicalize-lgpl-tests (Files): Remove unused file.
11419         (configure.ac, Makefile.am): Simplify.
11420
11421         canonicalize: avoid resolvepath
11422         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete
11423         unnecessary checks.
11424         * lib/canonicalize.c (includes): Simplify.
11425         (canonicalize_file_name): Drop resolvepath implementation.
11426         * modules/canonicalize (Depends-on): Drop filenamecat.
11427
11428         canonicalize: don't lose errno
11429         * lib/canonicalize.c (canonicalize_filename_mode): Protect errno
11430         over calls to free.
11431
11432         canonicalize: simplify errno handling
11433         * lib/canonicalize.c (__set_errno): Delete macro, and use direct
11434         assignment.
11435
11436         canonicalize, canonicalize-lgpl: update module dependencies
11437         * modules/canonicalize (Depends-on): Add extensions, lstat,
11438         pathmax, stdlib.
11439         (Files): Drop pathmax.h.
11440         (configure.ac): Adjust macro name.
11441         * modules/canonicalize-lgpl (Depends-on): Add errno, extensions,
11442         lstat, stdlib, sys_stat.
11443         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename...
11444         (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require
11445         extensions.
11446         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL)
11447         (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions.
11448         (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h.
11449         * lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h>
11450         declaration, if available.
11451         * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition;
11452         we can rely on the readlink module.
11453         (MAXSYMLINKS): Also consult SYMLOOP_MAX.
11454         (includes): Use <unistd.h> unconditionally.
11455
11456 2009-09-17  Eric Blake  <ebb9@byu.net>
11457
11458         maint: make Include sections of modules consistent
11459         * modules/alloca: Use only header name; no need to list #include.
11460         * modules/alloca-opt: Likewise.
11461         * modules/arpa_inet: Likewise.
11462         * modules/canon-host: Likewise.
11463         * modules/configmake: Likewise.
11464         * modules/dirent: Likewise.
11465         * modules/eealloc: Likewise.
11466         * modules/environ: Likewise.
11467         * modules/fchdir: Likewise.
11468         * modules/fcntl: Likewise.
11469         * modules/fcntl-h: Likewise.
11470         * modules/gethrxtime: Likewise.
11471         * modules/gettime: Likewise.
11472         * modules/ignore-value: Likewise.
11473         * modules/inet_ntop: Likewise.
11474         * modules/inet_pton: Likewise.
11475         * modules/inttypes: Likewise.
11476         * modules/isnand-nolibm: Likewise.
11477         * modules/isnanf-nolibm: Likewise.
11478         * modules/mbchar: Likewise.
11479         * modules/mbfile: Likewise.
11480         * modules/mbiter: Likewise.
11481         * modules/mbuiter: Likewise.
11482         * modules/netdb: Likewise.
11483         * modules/netinet_in: Likewise.
11484         * modules/nproc: Likewise.
11485         * modules/pagealign_alloc: Likewise.
11486         * modules/poll: Likewise.
11487         * modules/printf-frexp: Likewise.
11488         * modules/pthread: Likewise.
11489         * modules/putenv: Likewise.
11490         * modules/random_r: Likewise.
11491         * modules/relocatable-prog: Likewise.
11492         * modules/search: Likewise.
11493         * modules/select: Likewise.
11494         * modules/selinux-h: Likewise.
11495         * modules/settime: Likewise.
11496         * modules/signal: Likewise.
11497         * modules/size_max: Likewise.
11498         * modules/socklen: Likewise.
11499         * modules/ssize_t: Likewise.
11500         * modules/stdarg: Likewise.
11501         * modules/stdbool: Likewise.
11502         * modules/stddef: Likewise.
11503         * modules/stdint: Likewise.
11504         * modules/stdio: Likewise.
11505         * modules/stdlib: Likewise.
11506         * modules/string: Likewise.
11507         * modules/strings: Likewise.
11508         * modules/sys_file: Likewise.
11509         * modules/sys_ioctl: Likewise.
11510         * modules/sys_select: Likewise.
11511         * modules/sys_socket: Likewise.
11512         * modules/sys_stat: Likewise.
11513         * modules/sys_time: Likewise.
11514         * modules/sys_times: Likewise.
11515         * modules/sys_utsname: Likewise.
11516         * modules/sys_wait: Likewise.
11517         * modules/sysexits: Likewise.
11518         * modules/time: Likewise.
11519         * modules/times: Likewise.
11520         * modules/tmpfile: Likewise.
11521         * modules/trim: Likewise.
11522         * modules/unistd: Likewise.
11523         * modules/wchar: Likewise.
11524         * modules/wctype: Likewise.
11525
11526 2009-09-17  Bruno Haible  <bruno@clisp.org>
11527
11528         Make getdate.y compile on QNX and NetBSD 5 / i386.
11529         * m4/getdate.m4 (gl_GETDATE): Conditionally define
11530         TIME_T_FITS_IN_LONG_INT.
11531         * lib/getdate.y (long_time_t): New type.
11532         (relative_time): Change type of 'seconds' field to long_time_t.
11533         (get_date): Update types of local variables. Check against overflow
11534         during conversion from long_time_t to time_t.
11535         Reported by Matt Kraai <kraai@ftbfs.org>
11536         and Hasso Tepper <hasso@netbsd.org>.
11537
11538 2009-09-17  Bruno Haible  <bruno@clisp.org>
11539
11540         * modules/COPYING: Update copyright years.
11541         * modules/README: Likeiwse.
11542         * doc/gnulib-intro.texi (Copyright): Use a wildcard year.
11543         Reported by Ian Beckwith <ianb@erislabs.net>.
11544
11545 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
11546
11547         * users.txt: Update references for gnuit package.
11548
11549 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
11550
11551         * m4/getdelim.m4: Fix typo in copyright line.
11552
11553 2009-09-17  Bruno Haible  <bruno@clisp.org>
11554
11555         * lib/atoll.c: Use the standard header with GPL copyright.
11556         * lib/argz.in.h: Likewise.
11557         * lib/glob.c: Likewise.
11558         * lib/glob-libc.h: Likewise.
11559         * lib/random_r.c: Likewise.
11560         * lib/siglist.h: Likewise.
11561         * lib/strsignal.c: Likewise.
11562         Reported by Ian Beckwith <ianb@erislabs.net>.
11563
11564 2009-09-17  Eric Blake  <ebb9@byu.net>
11565
11566         rmdir: ensure correct dependency order
11567         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults.
11568
11569 2009-09-17  Bruno Haible  <bruno@clisp.org>
11570
11571         Disable assertion that fails on NetBSD 5 / i386.
11572         * lib/mktime.c (ydhms_diff): Disable assertion about time_t size.
11573         Reported by Sam Steingold <sds@gnu.org>
11574         and Hasso Tepper <hasso@netbsd.org>.
11575
11576 2009-09-16  Eric Blake  <ebb9@byu.net>
11577
11578         unlinkdir: port to mingw
11579         * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms
11580         on which no one can unlink a directory.
11581
11582         stdlib: sort witness names
11583         * modules/stdlib (Makefile.am): Sort replacements.
11584         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
11585         * lib/stdlib.in.h: Likewise.
11586
11587         parse-duration-tests: avoid link failure
11588         * modules/parse-duration-tests (test_parse_duration_LDADD): Add
11589         LIBINTL.
11590         Reported by Tom G. Christensen.
11591
11592         openat-tests: ensure unlinkat behaves like rmdir
11593         * tests/test-rmdir.c (main): Factor guts...
11594         * tests/test-rmdir.h (test_rmdir_func): ...into new file.
11595         * modules/rmdir-tests (Files): Ship new file.
11596         * modules/openat-tests: New test.
11597         * tests/test-unlinkat.c: Likewise.
11598
11599         rmdir-errno: mark obsolete, it is unsafe for cross-compilation
11600         * modules/rmdir-errno (Status, Notice): Now obsolete.
11601
11602         rmdir: work around cygwin 1.5.x and mingw bugs
11603         * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
11604         * lib/rmdir.c (rmdir): Work around it.
11605         * modules/rmdir (Status, Notice): No longer obsolete.
11606         (Files): Add dos.m4.
11607         (Depends-on): Add unistd.
11608         (configure.ac): Set witnesses.
11609         (License): Relax to LGPLv2+.
11610         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
11611         * modules/unistd (Makefile.am): Substitute witnesses.
11612         * lib/unistd.in.h (rmdir): Declare replacement.
11613         * doc/posix-functions/rmdir.texi (rmdir): Document this.
11614         * modules/rmdir-tests: New tests.
11615         * tests/test-rmdir.c: Likewise.
11616
11617 2009-09-15  Eric Blake  <ebb9@byu.net>
11618
11619         fchdir: improve use of replacement functions
11620         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
11621         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
11622         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
11623         REPLACE_CLOSEDIR.
11624         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
11625         * modules/sys_stat (Makefile.am): Substitute correct witness.
11626         * modules/dirent (Makefile.am): Likewise.
11627         * modules/unistd (Makefile.am): Likewise.
11628         * lib/dirent.in.h (opendir, closedir): Use better witnesses.
11629         * lib/unistd.in.h (dup): Likewise.
11630         * lib/sys_stat.in.h (fstat): Likewise.
11631
11632         maint: ignore gnulib-tool temp files
11633         * .gitignore: Ignore files created during gnulib-tool --test.
11634
11635 2009-09-13  Jim Meyering  <meyering@redhat.com>
11636
11637         posixtm: don't reject a time that specify "60" as the number of seconds
11638         * lib/posixtm.c (posixtime): The code to reject invalid dates
11639         would also reject a time specified with the .60 suffix.
11640         But POSIX allows that, in order to accommodate leap seconds.
11641         So don't reject it.
11642         (main): Adjust tests accordingly.
11643         * modules/posixtm (Depends-on): Add stpcpy.
11644
11645 2009-09-11  Jim Meyering  <meyering@redhat.com>
11646
11647         announce-gen: include [$release_type] in emitted Subject:
11648         * build-aux/announce-gen (get_tool_versions): Include [$release_type],
11649         e.g., [stable] in the emitted Subject: line.
11650
11651 2009-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11652
11653         Remove obsolete macros from several modules.
11654         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace
11655         obsolete Autoconf macros with their modern counterparts.
11656         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise.
11657         * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise.
11658         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
11659         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
11660         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise.
11661         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
11662         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
11663         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
11664         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
11665         * m4/readline.m4 (gl_FUNC_READLINE): Likewise.
11666         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
11667         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
11668         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
11669         * m4/sockets.m4 (gl_SOCKETS): Likewise.
11670         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise.
11671         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise.
11672         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
11673         * m4/time_r.m4 (gl_TIME_R): Likewise.
11674         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
11675         * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise.
11676         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
11677
11678         Fix copyright header in build-aux scripts.
11679         * build-aux/git-version-gen: Fix copyright header to match GPLv3
11680         recommendation.
11681         * build-aux/ncftpput-ftp: Likewise.
11682         * build-aux/update-copyright: Likewise.
11683
11684 2009-09-09  Eric Blake  <ebb9@byu.net>
11685
11686         test-link: allow Linux choice of errno
11687         * tests/test-link.c (main): Relax test for alternate error.
11688
11689         strndup: fix improper m4 caching
11690         * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects
11691         inside AC_CACHE_CHECK.  Use REPLACE_STRNDUP, not HAVE_STRNDUP.
11692         (gl_PREREQ_STRNDUP): Delete.
11693         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default.
11694         * modules/string (Makefile.am): Substitute it.
11695         * lib/string.in.h (strndup): Modernize prototype.
11696
11697         getcwd: port to mingw
11698         * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very
11699         different from the POSIX assumptions made throughout the getcwd
11700         module; fortunately, the mingw getcwd does not need replacement.
11701         (gl_FUNC_GETCWD_NULL): Skip test on mingw.
11702         * modules/getcwd-tests: New test.
11703         * tests/test-getcwd.c: Likewise.
11704
11705         link: fix platform bugs
11706         * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
11707         * lib/link.c (link): Work around them.  Fix related mingw bug.
11708         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
11709         * modules/unistd (Makefile.am): Substitute it.
11710         * lib/unistd.in.h (link): Declare replacement.
11711         * doc/posix-functions/link.texi (link): Document this.
11712         * modules/link (Depends-on): Add strdup-posix, sys_stat.
11713
11714         test-link: consolidate into single C program, test more cases
11715         * tests/test-link.sh: Delete.
11716         * tests/test-link.c: Test more error conditions.  Exposes bugs on
11717         at least Cygwin and Solaris.
11718         * modules/link-tests (Files): Remove unused file.
11719         (Depends-on): Add errno, sys_stat.
11720         (Makefile.am): Simplify.
11721
11722 2009-09-08  Bruno Haible  <bruno@clisp.org>
11723
11724         Work around towlower, towupper bug on mingw.
11725         * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements.
11726         * m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> also on mingw.
11727         * doc/posix-functions/towlower.texi: Mention the mingw bug.
11728         * doc/posix-functions/towupper.texi: Likewise.
11729         Reported by Eric Blake.
11730
11731 2009-09-08  Jim Meyering  <meyering@redhat.com>
11732
11733         build: don't try to run autoheader if we don't use it
11734         * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS
11735         is not used in configure.ac.
11736
11737 2009-09-08  Eric Blake  <ebb9@byu.net>
11738
11739         euidaccess: fix compilation error
11740         * lib/euidaccess.c (includes): Add <fcntl.h>, for AT_EACCESS.
11741
11742         rawmemchr: relax license
11743         * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is
11744         okay.
11745         Reported by Jim Meyering.
11746
11747         mkfifoat: new module
11748         * modules/mkfifoat: New file.
11749         * lib/mkfifoat.c: Likewise.
11750         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise.
11751         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
11752         * modules/sys_stat (Makefile.am): Use them.
11753         * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them.
11754         * MODULES.html.sh (File system functions): Mention module.
11755         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
11756         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
11757         * modules/mkfifoat-tests: New test.
11758         * tests/test-mkfifoat.c: Likewise.
11759
11760         strchrnul: relax license
11761         * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is
11762         okay.
11763         Reported by Jim Meyering.
11764
11765 2009-09-08  Eric Blake  <ebb9@byu.net>
11766
11767         fstatat: fix compilation on Solaris
11768         * lib/fstatat.c (includes): Add fcntl.h.
11769         Reported by Pádraig Brady.
11770
11771 2009-09-07  Eric Blake  <ebb9@byu.net>
11772
11773         rename: modernize replacement
11774         * modules/rename (Depends-on): Add stdio.
11775         (configure.ac): Declare witness.
11776         * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let
11777         stdio take care of replacement.
11778         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
11779         * modules/stdio (Makefile.am): Substitute them.
11780         * lib/stdio.in.h (rename): Declare replacement.
11781         * lib/rename.c (includes): Allow cross-compilation to non-windows
11782         machines.
11783         * doc/posix-functions/rename.texi (rename): Improve
11784         documentation.
11785
11786         stdio: sort witness names
11787         * modules/stdio (Makefile.am): Sort replacements.
11788         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
11789         * lib/stdio.in.h: Likewise.
11790
11791         getcwd: minor cleanups
11792         * lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
11793         (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.
11794
11795         openat: provide more convenience names
11796         * modules/faccessat (configure.ac): Add C witness.
11797         * lib/unistd.in.h (readlinkat): Fix typo.
11798         * lib/openat.h (statat, lstatat, accessat, euidaccessat): New
11799         convenience wrappers.
11800         * top/maint.mk (sc_prohibit_openat_without_use): Allow these
11801         wrappers in syntax checks.
11802
11803 2009-09-06  Eric Blake  <ebb9@byu.net>
11804
11805         doc: fix comments in recent patches
11806         * lib/faccessat.c: Mention correct function.
11807         * lib/fchmodat.c: Likewise.
11808         * lib/fchownat.c: Likewise.
11809         * lib/symlinkat.c: Likewise.
11810         * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_*
11811         constants.
11812
11813         faccessat, symlinkat: continue cleanup of previous patch
11814         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
11815         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
11816         * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
11817         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
11818         * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
11819         * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
11820         set.
11821
11822 2009-09-06  Bruno Haible  <bruno@clisp.org>
11823
11824         * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set.
11825         (fstatat): Declare if GNULIB_FSTATAT is set.
11826         (mkdirat): Declare if GNULIB_MKDIRAT is set.
11827         * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set.
11828         (unlinkat): Declare if GNULIB_UNLINKAT is set.
11829         * modules/fcntl-h (Files): Remove m4/openat.m4.
11830         * modules/sys_stat (Files): Remove m4/openat.m4.
11831         (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT,
11832         GNULIB_MKDIRAT instead of GNULIB_OPENAT.
11833         * modules/unistd (Files): Remove m4/openat.m4.
11834         (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of
11835         GNULIB_OPENAT.
11836         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT,
11837         HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS.
11838         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
11839         GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT,
11840         HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require
11841         gl_OPENAT_DEFAULTS.
11842         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT,
11843         GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here.
11844         Don't require gl_OPENAT_DEFAULTS.
11845         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS,
11846         gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT,
11847         GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT.
11848         (gl_OPENAT_DEFAULTS): Remove macro.
11849
11850 2009-09-06  Bruno Haible  <bruno@clisp.org>
11851
11852         * modules/openat (configure.ac): Remove unneeded witness.
11853
11854 2009-09-06  Bruno Haible  <bruno@clisp.org>
11855
11856         Set errno to ENOSYS when a function is entirely unsupported.
11857         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of
11858         EOPNOTSUPP.
11859         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
11860         * modules/chown (Depends-on): Remove errno.
11861
11862 2009-09-06  Bruno Haible  <bruno@clisp.org>
11863
11864         * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms.
11865
11866 2009-09-06  Bruno Haible  <bruno@clisp.org>
11867
11868         * lib/sys_stat.in.h: Fix preprocessor command indentation.
11869
11870 2009-09-06  Ben Pfaff  <blp@gnu.org>
11871             Bruno Haible  <bruno@clisp.org>
11872
11873         Work around a glibc bug in strtok_r.
11874         * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set.
11875         Undefine if UNDEFINE_STRTOK_R is set.
11876         * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine.
11877         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
11878         REPLACE_STRTOK_R and UNDEFINE_STRTOK_R.
11879         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug.
11880         * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R,
11881         UNDEFINE_STRTOK_R.
11882         * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug.
11883
11884 2009-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>
11885
11886         exclude: minor fix
11887         * lib/exclude.c: Include wctype.h
11888
11889 2009-09-06  Akim Demaille  <demaille@gostai.com>
11890
11891         bootstrap: improve error message
11892         * build-aux/bootstrap (find_tool): Upon failure, report the list
11893         of candidates.
11894         Honor the initial value of the envvar.
11895
11896 2009-09-05  Eric Blake  <ebb9@byu.net>
11897
11898         symlinkat: new module
11899         * modules/symlinkat: New file.
11900         * lib/symlinkat.c: Likewise.
11901         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
11902         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
11903         * modules/unistd (Makefile.am): Use them.
11904         * lib/unistd.in.h (symlinkat, readlinkat): Declare them.
11905         (faccessat) [GNULIB_POSIXCHECK]: Fix typo.
11906         * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
11907         * MODULES.html.sh (File system functions): Mention module.
11908         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
11909         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
11910         * modules/symlinkat-tests: New test.
11911         * tests/test-symlinkat.c: Likewise.
11912
11913         test-openat-safer: add more checks
11914         * tests/test-openat-safer.c (main): Check more code paths.
11915
11916 2009-09-05  Jim Meyering  <meyering@redhat.com>
11917
11918         syntax-check: detect unnecessary inclusion of openat.h
11919         * top/maint.mk (sc_prohibit_openat_without_use): New rule.
11920
11921 2009-09-05  Bruno Haible  <bruno@clisp.org>
11922
11923         Support towlower, towupper.
11924         * doc/posix-functions/towlower.texi: Mention module wctype.
11925         * doc/posix-functions/towupper.texi: Likewise.
11926         * lib/wctype.in.h (towlower, towupper): New functions.
11927         * tests/test-wctype.c: Include stdio.h, stdlib.h.
11928         (ASSERT): New macro.
11929         (e): New variable.
11930         (main): Test also towlower, towupper. Test WEOF argument.
11931         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
11932
11933 2009-09-05  Bruno Haible  <bruno@clisp.org>
11934
11935         Fix conversion behaviour when the input is invalid.
11936         * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question
11937         mark occurring in first pass of indirect conversion.
11938         * tests/test-striconveh.c (main): Test conversion of invalid ASCII
11939         input.
11940         Found by clang's static analyzer.
11941
11942 2009-09-05  Bruno Haible  <bruno@clisp.org>
11943
11944         * tests/test-striconveh.c (main): Test indirect conversion on platforms
11945         where direct conversion is possible.
11946
11947 2009-09-04  Eric Blake  <ebb9@byu.net>
11948
11949         openat: fail with ENOENT on empty name
11950         * lib/openat-proc.c (openat_proc_name): Special-case the empty
11951         buffer.
11952
11953         link-follow: fix logic bug in prior patch
11954         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that
11955         reversed sense of yes and no in prior patch.  Avoid confusing
11956         compilation failure with desired semantics.
11957
11958         link-follow: accomodate mingw and cross-compilation
11959         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
11960         (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
11961         cross-compilation results to -1, to make linkat easier to
11962         implement when cross-compiling.  Trivially support mingw.
11963         * modules/link-follow (configure.ac): Call new name.
11964         * NEWS: Mention this.
11965
11966 2009-09-03  Eric Blake  <ebb9@byu.net>
11967
11968         faccessat: compile replacement
11969         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when
11970         needed.
11971
11972         fts: fix compilation error
11973         * lib/fts.c (includes): Re-add "openat.h", for
11974         openat_needs_fchdir.
11975
11976         faccessat: new module
11977         * modules/faccessat: New file.
11978         * lib/faccessat.c: Likewise.
11979         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
11980         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
11981         * modules/unistd (Makefile.am): Use it.
11982         * lib/unistd.in.h (faccessat): Declare it.
11983         (F_OK, X_OK, W_OK, R_OK): Provide definitions.
11984         * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
11985         * MODULES.html.sh (File system functions): Mention it.
11986         * doc/posix-functions/faccessat.texi (faccessat): Likewise.
11987         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
11988
11989         euidaccess: prefer POSIX over non-standard implementation
11990         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat.
11991         * lib/euidaccess.c (euidaccess): Use it if available.
11992
11993         openat: make template easier to use
11994         * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and
11995         AT_FUNC_F2 to be undefined.
11996         (VALIDATE_FLAG): New macro; use it to reject bad flags.
11997         (AT_FUNC_USE_F1_COND): Change sense to just flag bit.
11998         * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust.
11999         * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise.
12000         * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]:
12001         Likewise.
12002         * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete.
12003         * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND)
12004         [getfileconat, lgetfileconat, setfileconat, lsetfileconat]:
12005         Likewise.
12006
12007         openat: declare in POSIX headers
12008         * NEWS: Mention this.
12009         * modules/openat (configure.ac): Declare witnesses.
12010         (Depends-on): Add fcntl-h, sys_stat, unistd.
12011         (Include): Mention correct headers.
12012         * modules/fcntl-h (Depends-on): Add link-warning.
12013         (Files): Add openat.m4.
12014         (Makefile.am): Substitute witnesses.
12015         * modules/sys_stat (Files, Makefile.am): Likewise.
12016         * modules/unistd (Files, Makefile.am): Likewise.
12017         * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
12018         (gl_OPENAT_DEFAULTS): New macro.
12019         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
12020         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
12021         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
12022         (SYS_STAT_H): Remove unused variable.
12023         * doc/posix-headers/fcntl.texi (fcntl.h): Update content.
12024         * lib/fcntl--.h (includes): Remove unneeded header.
12025         * lib/openat-safer.c (includes): Likewise.
12026         * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
12027         (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
12028         appropriate headers.
12029         (__OPENAT_PREFIX): Delete.
12030         * lib/fcntl.in.h (openat): Provide declaration.
12031         (AT_FDCWD): Fix Solaris bug.
12032         (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
12033         * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
12034         * lib/fchmodat.c (includes):  Adjust to find declaration.
12035         * lib/fchownat.c (includes): Likewise.
12036         * lib/mkdirat.c (includes): Likewise.
12037         * lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
12038         still visible.
12039
12040 2009-09-02  Eric Blake  <ebb9@byu.net>
12041
12042         errno: use consistently
12043         * lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition.
12044         * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise.
12045         * lib/canonicalize.c (ELOOP): Likewise.
12046         * lib/inet_ntop.c (EAFNOSUPPORT): Likewise.
12047         * lib/inet_pton.c (EAFNOSUPPORT): Likewise.
12048         * lib/lchown.c (EOPNOTSUPP): Likewise.
12049         * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise.
12050         * lib/savewd.c (ESTALE): Likewise.
12051         * lib/settime.c (ENOSYS): Likewise.
12052         * lib/utimens.c (ENOSYS): Likewise.
12053         * lib/xgethostname.c (ENAMETOOLONG): Likewise.
12054         * lib/chdir-safer.c (ELOOP): Likewise.
12055         (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness.
12056         * modules/c-stack (Depends-on): Add errno.
12057         * modules/canonicalize (Depends-on): Likewise.
12058         * modules/chdir-safer (Depends-on): Likewise.
12059         * modules/fdopendir (Depends-on): Likewise.
12060         * modules/inet_ntop (Depends-on): Likewise.
12061         * modules/inet_pton (Depends-on): Likewise.
12062         * modules/lchown (Depends-on): Likewise.
12063         * modules/openat (Depends-on): Likewise.
12064         * modules/savewd (Depends-on): Likewise.
12065         * modules/settime (Depends-on): Likewise.
12066         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink.
12067
12068         fts: avoid leaking fds
12069         * modules/fts (Depends-on): Add cloexec.
12070         * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec
12071         flag.
12072
12073         fts: make directory fds more robust
12074         * lib/fts.c (O_DIRECTORY): Let <fcntl.h> take care of this.
12075         (opendirat): Specify O_DIRECTORY, and add fallbacks for safety.
12076
12077         backupfile, chdir-long, fts, savedir: make safer
12078         * lib/backupfile.c (includes): Use "dirent--.h", since
12079         numbered_backup can write to stderr during readdir.
12080         * lib/savedir.c (includes): Likewise.
12081         * lib/chdir-long.c (includes): Use "fcntl--.h", since openat
12082         emulation can write to stderr on failure.
12083         * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat.
12084         * lib/getcwd.c: Document why opendir_safer is unused.
12085         * lib/glob.c: Likewise.
12086         * lib/scandir.c: Likewise.
12087         * lib/openat-proc.c: Likewise, for open_safer.
12088         * modules/backupfile (Depends-on): Add dirent-safer.
12089         * modules/savedir (Depends-on): Likewise.
12090         * modules/fts (Depends-on): Add dirent-safer and openat-safer.
12091         * modules/chdir-long (Depends-on): Add openat-safer.
12092
12093         openat-safer: new module
12094         * modules/openat-safer: New file.
12095         * lib/openat-safer.c: Likewise.
12096         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro.
12097         * lib/fcntl-safer.h (openat_safer): Declare.
12098         * lib/fcntl--.h (openat): Override.
12099         * MODULES.html.sh (File descriptor based I/O): Mention it.
12100         * lib/openat.h: Add double-inclusion guards.
12101         * lib/openat.c (includes): Only include "fcntl-safer.h", not
12102         "fcntl--.h", so we can implement openat.
12103         * modules/openat-safer-tests: New test.
12104         * tests/test-openat-safer.c: New file.
12105
12106         dirent-safer: new module
12107         * modules/dirent-safer: New file.
12108         * lib/dirent--.h: Likewise.
12109         * lib/dirent-safer.h: Likewise.
12110         * lib/opendir-safer.c: Likewise.
12111         * m4/dirent-safer.m4: Likewise.
12112         * MODULES.html.sh (Enhancements for POSIX:2008): Mention it.
12113         * modules/dirent-safer-tests: New test.
12114         * tests/test-dirent-safer.c: New file.
12115         * lib/fdopendir.c (includes): Ensure fdopendir is also safe.
12116
12117         fdopendir: optimize on mingw
12118         * lib/unistd.in.h (_gl_directory_name): New prototype.
12119         * lib/fchdir.c (_gl_directory_name): Implement it.
12120         (fchdir): Use it to simplify implementation.
12121         * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
12122         fchdir, when available, to avoid calling [f]chdir().
12123
12124         fdopendir: split into its own module
12125         * lib/openat.c (fdopendir): Move...
12126         * lib/fdopendir.c: ...into new file.
12127         * modules/fdopendir: New module.
12128         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file.
12129         * modules/openat (Depends-on): Add fdopendir.
12130         * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for
12131         fdopendir here.
12132         * modules/savedir (Depends-on): Only need fdopendir, not full
12133         openat.
12134         * lib/savedir.c (include): Use <dirent.h>, not "openat.h".
12135         * lib/openat.h (fdopendir): Drop prototype.
12136         * lib/dirent.in.h (fdopendir): Provide prototype.
12137         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements.
12138         * modules/dirent (Makefile.am): Substitute them.
12139         * MODULES.html.sh (File system functions): Mention it.
12140         * doc/posix-functions/fdopendir.texi (fdopendir): Likewise.
12141         * modules/fdopendir-tests: New file.
12142         * tests/test-fdopendir.c: Likewise.
12143
12144         fchdir: use more consistent macro convention
12145         * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
12146         * lib/sys_stat.in.h (rpl_fstat): Declare via make-time
12147         REPLACE_FCHDIR, rather than relying on config.h macros.
12148         * lib/unistd.in.h (fchdir): Move all fchdir internal declarations
12149         inside a single make-time REPLACE_FCHDIR block, rather than using
12150         the config.h FCHDIR_REPLACEMENT.
12151         * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
12152         AC_SUBST'd, also AC_DEFINE it.  Don't define FCHDIR_REPLACEMENT.
12153         Manage fstat replacement.
12154         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
12155         REPLACE_FCHDIR.
12156         * modules/sys_stat (Files): Add m4/unistd_h.m4.
12157         (Makefile.am): Substitute REPLACE_FCHDIR.
12158         * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
12159         FCHDIR_REPLACEMENT.
12160         * lib/dup-safer.c (dup_safer): Likewise.
12161         * lib/dup2.c (rpl_dup2): Likewise.
12162         * lib/dup3.c (rpl_dup3): Likewise.
12163         * lib/open.c (rpl_open): Likewise.
12164
12165         fchdir: simplify error handling, and support dup3
12166         * modules/fchdir (Depends-on): Use strdup-posix, not strdup.  Add
12167         stdbool, malloc-posix, realloc-posix.
12168         * lib/fchdir.c (struct dir_info_t): Delete saved_errno.
12169         (ensure_dirs_slot): Return false on allocation failure.
12170         (rpl_dup2): Delete.
12171         (_gl_register_dup): New function.
12172         (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
12173         (_gl_register_fd): Close fd on allocation failure.
12174         * lib/fcntl.in.h (_gl_register_fd): Update signature.
12175         * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
12176         prototype.
12177         (rpl_dup2_fchdir): Delete prototype.
12178         * lib/open.c (open): Update caller.
12179         * lib/dup2.c (dup2): Track fchdir metadata.
12180         * lib/dup3.c (dup3): Likewise.
12181         * m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
12182         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.
12183
12184 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12185
12186         * gnulib-tool (func_create_testdir, func_create_megatestdir): Use
12187         AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and
12188         don't pass arguments to AC_OUTPUT.
12189
12190 2009-09-02  Bruno Haible  <bruno@clisp.org>
12191
12192         * modules/mkdtemp (License): Relicense under LGPLv2+.
12193         Reported by Paolo Bonzini.
12194
12195 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12196
12197         Replace uses of obsolete autoconf macros in Jim's modules.
12198         The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and
12199         AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use
12200         can evoke a warning from autoconf when run with -Wobsolete
12201         enabled.  They were declared obsolete for good reasons (see
12202         the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual,
12203         recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we
12204         should not continue using the deprecated macros.
12205         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace
12206         obsolete Autoconf macros with modern counterparts.
12207         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
12208         * m4/dos.m4 (gl_AC_DOS): Likewise.
12209         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
12210         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
12211         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
12212         * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise.
12213         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
12214         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
12215         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise.
12216         * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise.
12217         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
12218         Likewise.
12219         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
12220         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
12221         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise.
12222         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise.
12223         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
12224         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
12225
12226 2009-09-01  Eric Blake  <ebb9@byu.net>
12227
12228         fchdir: fix off-by-one bug in previous patch
12229         * lib/fchdir.c (rpl_fstat): Use correct bounds.
12230         (_gl_unregister_fd): Delete useless if.
12231
12232 2009-09-01  Daniel P. Berrange  <berrange@redhat.com>
12233
12234         maint.mk: sort the list of syntax-check rules
12235         * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's
12236         easier to get a sense of progress when the rules are run sequentially
12237         and take a long time.
12238
12239 2009-09-01  Simon Josefsson  <simon@josefsson.org>
12240
12241         * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@.
12242         * modules/netinet_in: Likewise.
12243         * modules/sys_file: Likewise.
12244         * modules/sys_ioctl: Likewise.
12245         * modules/sys_select: Likewise.
12246         * modules/sys_socket: Likewise.
12247         * modules/sys_stat: Likewise.
12248         * modules/sys_time: Likewise.
12249         * modules/sys_times: Likewise.
12250         * modules/sys_utsname: Likewise.
12251         * modules/sys_wait: Likewise.
12252
12253 2009-09-01  Jim Meyering  <meyering@redhat.com>
12254
12255         fts: help ensure that return values are not ignored
12256         * lib/fts_.h (__GNUC_PREREQ): Define.
12257         (__attribute_warn_unused_result__): Define.
12258         (fts_children, fts_close, fts_open, fts_read): Declare with
12259         __attribute_warn_unused_result__.
12260
12261         fts: fts_close now fails also when closing a dir file descriptor fails
12262         * lib/fts.c (fts_close): Detect close failure, not just fchdir failure,
12263         and propagate to caller, along with errno.
12264
12265         announce-gen: correct formatting in --help output
12266         * build-aux/announce-gen (usage): Move the one-line description in
12267         --help output "up", to where it belongs, just after Usage:.
12268
12269 2009-08-31  Eric Blake  <ebb9@byu.net>
12270
12271         fchdir: port to mingw
12272         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug.
12273         * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be
12274         opened, then use a substitute.
12275         * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare
12276         replacement.
12277         * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it.
12278         (_gl_register_fd): No need to check stat if open already filters
12279         all directories.
12280         (fchdir): Fix error condition to match POSIX.
12281         * modules/fchdir (Depends-on): Add sys_stat.
12282         * doc/posix-functions/open.texi (open): Document the limitation.
12283         * modules/fchdir-tests: New file.
12284         * tests/test-fchdir.c: Likewise.
12285
12286         canonicalize: allow cross-testing from cygwin to mingw
12287         * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK.
12288         (Makefile.am): Pass it through TESTS_ENVIRONMENT.
12289         * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am):
12290         Likewise.
12291         * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but
12292         target does not support symlinks.
12293         * tests/test-canonicalize-lgpl.sh: Likewise.
12294
12295         chown: avoid compilation warning on mingw
12296         * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown.
12297         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on
12298         mingw.
12299         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
12300         * modules/chown (Depends-on): Add errno.
12301
12302 2009-08-31  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
12303
12304         * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo'
12305         command.
12306
12307 2009-08-31  Jim Meyering  <meyering@redhat.com>
12308
12309         canonicalize: remove useless initialization
12310         * lib/canonicalize.c (canonicalize_filename_mode): Remove useless
12311         initialization of local, "end".
12312
12313 2009-08-30  Bruno Haible  <bruno@clisp.org>
12314
12315         Fix an unnecessary error on Solaris 10 on NFSv3 file systems.
12316         * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like
12317         ENOSYS.
12318
12319 2009-08-30  Bruno Haible  <bruno@clisp.org>
12320
12321         * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over
12322         /usr/xpg4/bin/tr when it exists.
12323         * tests/test-pipe-filter-gi1.sh: Likewise.
12324
12325 2009-08-30  Bruno Haible  <bruno@clisp.org>
12326
12327         Work around deficient /usr/bin/id program on Solaris.
12328         * tests/test-file-has-acl.sh (ID): New variable.
12329         * tests/test-set-mode-acl.sh (ID): Likewise.
12330         * tests/test-copy-acl.sh (ID): Likewise.
12331         * tests/test-copy-file.sh (ID): Likewise.
12332
12333 2009-08-30  Bruno Haible  <bruno@clisp.org>
12334
12335         New module 'xstriconveh'.
12336         * lib/xstriconveh.h: New file.
12337         * lib/xstriconveh.c: New file.
12338         * modules/xstriconveh: New file.
12339
12340 2009-08-30  Bruno Haible  <bruno@clisp.org>
12341
12342         Make it easier to use mem_cd_iconveh.
12343         * lib/striconveh.h (iconveh_t): New type.
12344         (iconveh_open, iconveh_close): New declarations.
12345         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
12346         with a single 'const iconveh_t *' argument.
12347         * lib/striconveh.c (iconveh_open, iconveh_close): New functions.
12348         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
12349         with a single 'const iconveh_t *' argument.
12350         (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
12351         * tests/test-striconveh.c (main): Update.
12352         * NEWS: Mention the change.
12353
12354 2009-08-30  Bruno Haible  <bruno@clisp.org>
12355
12356         * doc/posix-functions/iconv_open.texi: Mention indirect conversion
12357         problem.
12358
12359 2009-08-30  Bruno Haible  <bruno@clisp.org>
12360
12361         Work around iconv_open problem on Solaris.
12362         * lib/iconv_open-solaris.gperf: New file.
12363         * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro.
12364         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
12365         * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
12366         (Makefile.am): Add rule for iconv_open-solaris.h. Augment
12367         BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
12368         * doc/posix-functions/iconv_open.texi: Mention the Solaris problem.
12369
12370 2009-08-29  Jim Meyering  <meyering@redhat.com>
12371
12372         maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
12373         * top/maint.mk (cvs-check): Remove target; it was just an alias
12374         to the better-named vc-diff-check.
12375         (maintainer-distcheck): Remove rule.  It was used only from
12376         the (alpha/beta/major) target, and all of its commands but one
12377         were coreutils-specific.
12378         (vc-dist): Remove rule.
12379         (alpha beta major): Run "$(MAKE) distcheck" explicitly.
12380         Run vc-diff-check, not vc-dist.
12381         Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".
12382
12383 2009-08-27  Bruno Haible  <bruno@clisp.org>
12384
12385         * tests/test-bitrotate.c (main): Remove test that uses a shift count
12386         of 0.
12387
12388 2009-08-27  Bruno Haible  <bruno@clisp.org>
12389
12390         * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
12391         compilers.
12392         * doc/func.texi: Document the SunPRO C bug.
12393
12394 2009-08-27  Bruno Haible  <bruno@clisp.org>
12395
12396         Fix link error on Solaris.
12397         * tests/test-parse-duration.c (xstrdup): Remove function.
12398
12399 2009-08-26  Pádraig Brady  <P@draigbrady.com>
12400
12401         ignore-value: handle pointer types, too
12402         * lib/ignore-value.h (__attribute__): Remove definition.
12403         (ignore_value): Remove use of "__attribute__ ((unused))" in favor
12404         of a more concise and more-often effective "(void) i" statement.
12405         (ignore_ptr): New function to suppress warnings from functions that
12406         return pointers, and to make it explicit that one function doesn't
12407         handle all cases.
12408
12409 2009-08-25  Bruno Haible  <bruno@clisp.org>
12410
12411         dup2: work around a Linux bug.
12412         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
12413         * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
12414         * doc/posix-functions/dup2.texi: Mention the Linux bug.
12415         Reported by Simon Josefsson.
12416
12417 2009-08-25  Jim Meyering  <meyering@redhat.com>
12418
12419         libguestfs uses gnulib
12420         * users.txt: Add libguestfs.
12421
12422 2009-08-24  Eric Blake  <ebb9@byu.net>
12423
12424         dup2, pipe2: fix some recent test failures on cygwin 1.5.x
12425         * lib/pipe2.c (includes): Add binary-io.h.
12426         * lib/dup2.c (rpl_dup2): Correct buggy errno value.
12427
12428 2009-08-24  Bruno Haible  <bruno@clisp.org>
12429
12430         Tolerate declared but missing accept4 syscall.
12431         * lib/accept4.c (accept4): Invoke original accept4 function first, if
12432         available.
12433         * lib/sys_socket.in.h (accept4): If the function is already present,
12434         override it.
12435         * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
12436         * modules/accept4 (Makefile.am): Compile accept4.c always.
12437         Reported by Paolo Bonzini and Eric Blake.
12438
12439 2009-08-23  Bruno Haible  <bruno@clisp.org>
12440
12441         New module 'accept4'.
12442         * lib/sys_socket.in.h (accept4): New declaration.
12443         * lib/accept4.c: New file.
12444         * m4/accept4.m4: New file.
12445         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
12446         GNULIB_ACCEPT4, HAVE_ACCEPT4.
12447         * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
12448         HAVE_ACCEPT4.
12449         * modules/accept4: New file.
12450         * doc/glibc-functions/accept4.texi: Mention the new module.
12451
12452 2009-08-24  Jim Meyering  <meyering@redhat.com>
12453
12454         progname: also set global program_invocation_name, when possible
12455         Before this change, a libtool-enabled program that calls glibc's
12456         error function would report the program name as
12457         "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
12458         * modules/progname (configure.ac): Check for a declaration of
12459         program_invocation_name.
12460         * lib/progname.c:  Include <errno.h>.
12461         (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
12462         Set program_invocation_name.
12463
12464 2009-08-23  Bruno Haible  <bruno@clisp.org>
12465
12466         * lib/dup3.c: Include <string.h>.
12467
12468 2009-08-23  Bruno Haible  <bruno@clisp.org>
12469
12470         * lib/dup3.c (dup3): Test only once whether the system actually exists.
12471         * lib/pipe2.c (pipe2): Likewise.
12472         Suggested by Eric Blake.
12473
12474 2009-08-23  Bruno Haible  <bruno@clisp.org>
12475
12476         Tolerate declared but missing dup3 syscall.
12477         * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
12478         * lib/unistd.in.h (dup3): If the function is already present,
12479         override it.
12480         * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
12481         * modules/dup3 (Makefile.am): Compile dup3.c always.
12482         Reported by Paolo Bonzini.
12483
12484 2009-08-23  Bruno Haible  <bruno@clisp.org>
12485
12486         Tolerate declared but missing pipe2 syscall.
12487         * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
12488         available.
12489         * lib/unistd.in.h (pipe2): If the function is already present,
12490         override it.
12491         * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
12492         * modules/pipe2 (Makefile.am): Compile pipe2.c always.
12493         Reported by Paolo Bonzini.
12494
12495 2009-08-23  Bruno Haible  <bruno@clisp.org>
12496
12497         * lib/pipe2.c (pipe2): Move #ifs inside function.
12498
12499 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
12500
12501         quotearg: document limitations of quote_these_too
12502         * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
12503         those limitations are created.
12504         * lib/quotearg.h (set_char_quoting): Document that digits and
12505         letters that are special after backslash are not permitted.
12506         (quotearg_char): Cross-reference set_char_quoting documentation.
12507
12508 2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
12509
12510         quotearg: implement custom_quoting_style
12511         * lib/quotearg.c: (struct quoting_options): Add left_quote and
12512         right_quote fields.
12513         (set_custom_quoting): New public function.
12514         (quotearg_buffer_restyled): Add left_quote and right_quote
12515         arguments, handle them very much like locale quoting, and update
12516         all uses.
12517         (quotearg_n_custom): New public function.
12518         (quotearg_n_custom_mem): New public function.
12519         (quotearg_custom): New public function.
12520         (quotearg_custom_mem): New public function.
12521         * lib/quotearg.h: Prototype and document new public functions.
12522         (enum quoting_style): For escape_quoting_style and
12523         clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
12524         ignored even though they're otherwise like c_quoting_style.
12525         Add custom_quoting_style member and document with comparison to
12526         clocale_quoting_style.
12527         * tests/test-quotearg.c (custom_quotes): New array.
12528         (custom_results): New array.
12529         (main): Extend to test custom quoting.
12530
12531 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
12532
12533         quotearg: fix right quote escaping when it's in quote_these_too
12534         * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
12535         quote, be sure to prepend only one backslash.
12536         * tests/test-quotearg.c (use_quote_double_quotes): New function.
12537         (main): Test it.
12538
12539 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
12540
12541         quotearg-tests: test escaping of embedded locale quotes
12542         * tests/test-quotearg.c (struct result_strings): Add member for
12543         new input.
12544         (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
12545         (inputs): Add new input.
12546         (results_g): Add expected results.
12547         (flag_results): Likewise.
12548         (locale_results): Likewise.
12549         (compare_strings): Check those.
12550
12551 2009-08-23  Bruno Haible  <bruno@clisp.org>
12552
12553         Tests for module 'dup3'.
12554         * modules/dup3-tests: New file.
12555         * tests/test-dup3.c: New file.
12556
12557         New module 'dup3'.
12558         * lib/unistd.in.h (dup3): New declaration.
12559         * lib/dup3.c: New file.
12560         * m4/dup3.m4: New file.
12561         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
12562         HAVE_DUP3.
12563         * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
12564         * modules/dup3: New file.
12565         * doc/glibc-functions/dup3.texi: Mention the new module.
12566
12567 2009-08-23  Bruno Haible  <bruno@clisp.org>
12568
12569         Tweak the dup2 test.
12570         * tests/test-dup2.c (main): Create the test file empty. Verify that an
12571         out-of-range fd yields EBADF. Verify that after writing to /dev/null,
12572         the test file is still empty. Fix argument order of lseek.
12573
12574 2009-08-23  Bruno Haible  <bruno@clisp.org>
12575
12576         Avoid test link errors when the modules getopt-gnu, gettext are used.
12577         * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
12578         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
12579
12580 2009-08-23  Bruno Haible  <bruno@clisp.org>
12581
12582         Fix getdtablesize() on mingw.
12583         * lib/getdtablesize.c (getdtablesize): Implement differently.
12584         * lib/unistd.in.h (getdtablesize): Improve comment.
12585
12586 2009-08-23  Bruno Haible  <bruno@clisp.org>
12587
12588         New module 'mkostemp'.
12589         Based on Ulrich Drepper's 2007-08-10 change in glibc.
12590         * lib/stdlib.in.h (mksotemp): New declaration.
12591         * lib/mkostemp.c: New file, from glibc with modifications.
12592         * lib/tempname.h (GT_FILE): Remove outdated comment.
12593         (gen_tempname): Add flags argument.
12594         * lib/tempname.c (__GT_BIGFILE): Remove macro.
12595         (__GT_FILE): Map to 1.
12596         (small_open, large_open): Remove macros.
12597         (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
12598         * lib/mkstemp.c (mkstemp): Update.
12599         * lib/mkdtemp.c (mkdtemp): Likewise.
12600         * m4/mkostemp.m4: New file.
12601         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
12602         HAVE_MKOSTEMP.
12603         * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
12604         HAVE_MKOSTEMP.
12605         * modules/mkostemp: New file, based on modules/mkstemp.
12606         * doc/glibc-functions/mkostemp.texi: Mention the new module.
12607         * NEWS: Mention the change.
12608
12609 2009-08-23  Bruno Haible  <bruno@clisp.org>
12610
12611         * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
12612         Reported by Eric Blake.
12613
12614 2009-08-23  Bruno Haible  <bruno@clisp.org>
12615
12616         * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
12617         Reported by Eric Blake.
12618
12619 2009-08-23  Bruno Haible  <bruno@clisp.org>
12620
12621         * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
12622         * modules/pipe2 (Depends-on): Likewise.
12623
12624 2009-08-23  Eric Blake  <ebb9@byu.net>
12625
12626         fcntl-h: add O_TTY_INIT support
12627         * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
12628         * tests/test-fcntl-h.c (o): Test it.
12629         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
12630
12631         fcntl-h: rename from fcntl, in preparation for fcntl(2)
12632         * modules/fcntl: Move <fcntl.h> header replacement...
12633         * modules/fcntl-h: ...to new name, so as not to collide with
12634         like-named function.
12635         * tests/test-fcntl.c: Rename...
12636         * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
12637         * modules/fcntl-tests: Rename...
12638         * modules/fcntl-h-tests: ...to this.  Update test file name.
12639         * modules/chdir-long (Depends-on): Update clients.
12640         * modules/chdir-safer (Depends-on): Likewise.
12641         * modules/fcntl-safer (Depends-on): Likewise.
12642         * modules/fts (Depends-on): Likewise.
12643         * modules/mkancesdirs (Depends-on): Likewise.
12644         * modules/mkdir-p (Depends-on): Likewise.
12645         * modules/open (Depends-on): Likewise.
12646         * modules/savewd (Depends-on): Likewise.
12647         * MODULES.html.sh (systems lacking POSIX:2008): Update name.
12648         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
12649
12650 2009-08-22  Bruno Haible  <bruno@clisp.org>
12651
12652         * modules/binary-io (License): Relicense under LGPL.
12653         * modules/pipe2 (License): Likewise.
12654
12655 2009-08-22  Bruno Haible  <bruno@clisp.org>
12656
12657         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
12658         return value.
12659         * lib/pipe-filter-gi.c (filter_init): Likewise.
12660         Reported by Eric Blake.
12661
12662 2009-08-22  Bruno Haible  <bruno@clisp.org>
12663
12664         * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
12665         * modules/pipe (Depends-on): Add pipe2.
12666
12667 2009-08-22  Bruno Haible  <bruno@clisp.org>
12668
12669         Tests for module 'pipe2'.
12670         * modules/pipe2-tests: New file.
12671         * tests/test-pipe2.c: New file.
12672
12673         New module 'pipe2'.
12674         * lib/unistd.in.h (pipe2): New declaration.
12675         * lib/pipe2.c: New file.
12676         * m4/pipe2.m4: New file.
12677         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
12678         HAVE_PIPE2.
12679         * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
12680         * modules/pipe2: New file.
12681         * doc/glibc-functions/pipe2.texi: Mention the new module.
12682
12683 2009-08-22  Bruno Haible  <bruno@clisp.org>
12684
12685         Reference some new glibc functions.
12686         * doc/glibc-functions/accept4.texi: New file.
12687         * doc/glibc-functions/dup3.texi: New file.
12688         * doc/glibc-functions/mkostemp.texi: New file.
12689         * doc/glibc-functions/pipe2.texi: New file.
12690         * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
12691         (Glibc sys/socket.h): Refer to accept4.
12692         (Glibc unistd.h): Refer to dup3, pipe2.
12693         Reported by Eric Blake.
12694
12695 2009-08-22  Jim Meyering  <meyering@redhat.com>
12696             Bruno Haible  <bruno@clisp.org>
12697
12698         annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
12699         This makes it so packages using automake-1.11's silent-rules option
12700         can print e.g., a single "GEN    configmake.h" line, rather than
12701         the 30+ statements that perform the job.  If you want to see the
12702         actual commands, you can still run "make V=1".
12703         * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
12704         so that make output is abbreviated when those variables are defined
12705         appropriately.
12706         * modules/argz: Likewise.
12707         * modules/arpa_inet: Likewise.
12708         * modules/byteswap: Likewise.
12709         * modules/configmake: Likewise.
12710         * modules/dirent: Likewise.
12711         * modules/errno: Likewise.
12712         * modules/fcntl: Likewise.
12713         * modules/float: Likewise.
12714         * modules/fnmatch: Likewise.
12715         * modules/getopt-posix: Likewise.
12716         * modules/glob: Likewise.
12717         * modules/iconv_open: Likewise.
12718         * modules/inttypes: Likewise.
12719         * modules/localcharset: Likewise.
12720         * modules/locale: Likewise.
12721         * modules/math: Likewise.
12722         * modules/netdb: Likewise.
12723         * modules/netinet_in: Likewise.
12724         * modules/poll: Likewise.
12725         * modules/posix_spawnp-tests: Likewise.
12726         * modules/sched: Likewise.
12727         * modules/search: Likewise.
12728         * modules/selinux-h: Likewise.
12729         * modules/signal: Likewise.
12730         * modules/spawn: Likewise.
12731         * modules/stdarg: Likewise.
12732         * modules/stdbool: Likewise.
12733         * modules/stddef: Likewise.
12734         * modules/stdint: Likewise.
12735         * modules/stdio: Likewise.
12736         * modules/stdlib: Likewise.
12737         * modules/string: Likewise.
12738         * modules/strings: Likewise.
12739         * modules/sys_file: Likewise.
12740         * modules/sys_ioctl: Likewise.
12741         * modules/sys_select: Likewise.
12742         * modules/sys_socket: Likewise.
12743         * modules/sys_stat: Likewise.
12744         * modules/sys_time: Likewise.
12745         * modules/sys_times: Likewise.
12746         * modules/sys_utsname: Likewise.
12747         * modules/sys_wait: Likewise.
12748         * modules/sysexits: Likewise.
12749         * modules/time: Likewise.
12750         * modules/unistd: Likewise.
12751         * modules/wchar: Likewise.
12752         * modules/wctype: Likewise.
12753
12754 2009-08-22  Jim Meyering  <meyering@redhat.com>
12755
12756         announce-gen: detect write failure
12757         * build-aux/announce-gen: Add Coda at end.
12758         Remove equivalent-but-more-verbose block at top.
12759
12760 2009-08-19  Akim Demaille  <demaille@gostai.com>
12761
12762         bootstrap: --help to stdout.
12763         * bootstrap (usage): Don't send --help to stderr.
12764         Use a here doc instead of a long string.
12765
12766 2009-08-21  Eric Blake  <ebb9@byu.net>
12767
12768         test-popen-safer: split from test-popen
12769         * tests/test-popen.c (main): Move...
12770         * tests/test-popen.h: ...into new file.
12771         * tests/test-popen-safer2.c: New file.
12772         * modules/popen-tests (Files): Add test-popen.h.
12773         * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
12774         Suggested by Bruno Haible.
12775
12776         test-fcntl-safer: split from test-open
12777         * tests/test-open.c (main): Move...
12778         * tests/test-open.h: ...into new file.
12779         * tests/test-fcntl-safer.c: New file.
12780         * modules/open-tests (Files): Add test-open.h.
12781         * modules/fcntl-safer-tests: New file.
12782         Suggested by Bruno Haible.
12783
12784         test-fopen-safer: split from test-fopen
12785         * tests/test-fopen.c (main): Move...
12786         * tests/test-fopen.h: ...into new file.
12787         * tests/test-fopen-safer.c: New file.
12788         * modules/fopen-tests (Files): Add test-fopen.h.
12789         * modules/fopen-safer-tests: New file.
12790         Suggested by Bruno Haible.
12791
12792 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
12793
12794         popen-safer: test O_CLOEXEC at run-time.
12795         * lib/popen-safer.c: Test O_CLOEXEC at run-time.
12796
12797 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
12798
12799         fcntl: move more flags to the header
12800         * lib/cloexec.c: Do not define FD_CLOEXEC here.
12801         * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
12802         * lib/fcntl.in.h: Do both things here.
12803
12804 2009-08-21  Jim Meyering  <meyering@redhat.com>
12805
12806         consistently remove $@-t before redirecting to it
12807         * modules/argz: Remove $@-t and $@ before redirecting to the former.
12808         * modules/alloca-opt: Likewise.
12809         * modules/byteswap: Likewise.
12810         * modules/fnmatch: Likewise.
12811         * modules/getopt-posix: Likewise.
12812         * modules/glob: Likewise.
12813         * modules/poll: Likewise.
12814         * modules/posix_spawnp-tests: Likewise.
12815         * modules/sys_socket: Likewise.
12816         * modules/sysexits: Likewise.
12817
12818 2009-08-21  Eric Blake  <ebb9@byu.net>
12819
12820         popen: simplify access to original popen
12821         * lib/popen.c (rpl_popen): No need to worry about popen being a
12822         macro.
12823         Reported by Bruno Haible.
12824
12825 2009-08-20  Eric Blake  <ebb9@byu.net>
12826
12827         build: avoid some compiler warnings
12828         * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
12829         * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
12830         type.
12831         (new_exclude_segment, excluded_file_pattern_p)
12832         (excluded_file_name_p): Reduce scope.
12833         * lib/vasnprintf.c (decimal_point_char): Avoid warning on
12834         old-style declaration.
12835
12836 2009-08-20  Simon Josefsson  <simon@josefsson.org>
12837
12838         * tests/test-exclude1.sh: Handle Windows EOL.
12839         * tests/test-exclude2.sh: Likewise.
12840         * tests/test-exclude3.sh: Likewise.
12841         * tests/test-exclude4.sh: Likewise.
12842         * tests/test-exclude5.sh: Likewise.
12843         * tests/test-exclude6.sh: Likewise.
12844         * tests/test-exclude7.sh: Likewise.
12845
12846 2009-08-19  Akim Demaille  <demaille@gostai.com>
12847
12848         bootstrap: find sha1sum when named gsha1sum.
12849         * bootstrap (find_tool): New.
12850         ($SHA1SUM): New.
12851         Use it.
12852
12853 2009-08-20  Jim Meyering  <meyering@redhat.com>
12854
12855         maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
12856         * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
12857         expression that converts "." in a file name to "\." in the resulting
12858         regexp.  Start with a dummy statement, so that prior shell variable
12859         definitions are expanded portably.  Reported by Simon Josefsson.
12860
12861 2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
12862
12863         Fix polling for writeability of a screen buffer.
12864         * lib/poll.c: Distinguish input and screen buffers for the
12865         Win32 implementation.
12866         * lib/select.c: Likewise.
12867
12868 2009-08-19  Eric Blake  <ebb9@byu.net>
12869
12870         popen-safer: prevent popen from clobbering std descriptors
12871         * modules/popen-safer: New file.
12872         * lib/popen-safer.c: Likewise.
12873         * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
12874         * lib/stdio--.h (popen): Provide override.
12875         * lib/stdio-safer.h (popen_safer): Provide declaration.
12876         * tests/test-popen.c (includes): Partially test this.
12877         * modules/popen-safer-tests: New file, for more tests.
12878         * tests/test-popen-safer.c: Likewise.
12879         * MODULES.html.sh (file stream based Input/Output): Mention it.
12880
12881         tests: test some of the *-safer modules
12882         * modules/fopen-safer (Depends-on): Add fopen.
12883         * modules/fcntl-safer (Depends-on): Add fcntl.
12884         * modules/stdlib-safer (Depends-on): Add stdlib.
12885         (configure.ac): Set indicator.
12886         * modules/unistd-safer (configure.ac): Likewise.
12887         * modules/tmpfile-safer (configure.ac): Likewise.
12888         (Depends-on): Add tmpfile.
12889         * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
12890         active.
12891         * tests/test-fopen.c (includes): Test safer versions when they are
12892         in use.
12893         * tests/test-open.c (includes): Likewise.
12894
12895         popen: fix cygwin 1.5 bug when stdin closed
12896         * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
12897         * modules/popen: New file.
12898         * modules/popen-tests: Likewise.
12899         * tests/test-popen.c: Likewise.
12900         * m4/popen.m4: Likewise.
12901         * lib/popen.c: Likewise.
12902         * lib/stdio.in.h (popen): New declaration.
12903         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
12904         * modules/stdio (Makefile.am): Likewise.
12905         * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
12906
12907 2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
12908
12909         maint.mk: give full control over update-copyright exclusions
12910         * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
12911         ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
12912         (update-copyright): Don't force inclusion of top-level
12913         ChangeLog.  Don't force exclusion of all COPYING files, but make
12914         them the default exclusion instead.
12915
12916 2009-08-16  Bruno Haible  <bruno@clisp.org>
12917
12918         Fix test failures on Solaris 10.
12919         * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
12920         tests when Solaris iconv() is used.
12921         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
12922         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
12923         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
12924         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
12925         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
12926
12927 2009-08-16  Bruno Haible  <bruno@clisp.org>
12928
12929         Fix test failures on Solaris 10.
12930         * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
12931         'tr' program and pass it as first argument.
12932         * tests/test-pipe-filter-gi1.sh: Likewise.
12933         * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
12934         program as first argument.
12935         * tests/test-pipe-filter-gi1.c (main): Likewise.
12936
12937 2009-08-16  Eric Blake  <ebb9@byu.net>
12938
12939         fpurge: fix previous commits
12940         * modules/fpurge (Makefile.am): Make replacement conditional,
12941         partially reverting 2007-04-29 change; missed in previous
12942         attempt.
12943         * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
12944         is missing.
12945
12946 2009-08-16  Bruno Haible  <bruno@clisp.org>
12947
12948         Clarify fpurge's effect on the file position.
12949         * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
12950         * tests/test-fpurge.c (main): Make a second pass for checking the file
12951         position.
12952
12953 2009-08-16  Bruno Haible  <bruno@clisp.org>
12954
12955         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
12956         declaration of fpurge is missing.
12957         * tests/test-fpurge.c (main): Check that the file has not more contents
12958         than expected. Close the file before removing it.
12959
12960 2009-08-15  Eric Blake  <ebb9@byu.net>
12961
12962         fpurge: don't wrap working cygwin implementation
12963         * lib/fpurge.c (fpurge): Fix comment typo.
12964         * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
12965         1.7 to avoid replacement.
12966         * tests/test-fpurge.c (main): Enhance test.
12967
12968 2009-08-15  Eric Blake  <ebb9@byu.net>
12969         and Jim Meyering  <meyering@redhat.com>
12970
12971         test-update-copyright: skip if perl is insufficient
12972         * tests/test-update-copyright.sh: Failure to run maintainer tool
12973         should not cause testsuite failure on cygwin 1.5.
12974
12975 2009-08-14  Eric Blake  <ebb9@byu.net>
12976
12977         doc: mention more functions added in cygwin 1.7.0
12978         * doc/posix-headers/limits.texi (limits.h): Update for recent
12979         cygwin additions.
12980         * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
12981         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
12982         * doc/posix-functions/wordfree.texi (wordfree): Likewise.
12983         * doc/posix-functions/setlocale.texi (setlocale): Likewise.
12984         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
12985
12986 2009-08-14  Eric Blake  <ebb9@byu.net>
12987
12988         maint.mk: simplify update-copyright rule
12989         * top/maint.mk (update-copyright-local): Delete, and document how
12990         to do it in cfg.mk instead.
12991         (update-copyright-exclude-regexp): Delete, and document how to do
12992         it in .x-update-copyright instead.
12993         (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
12994         exclude ChangeLog.
12995
12996 2009-08-14  Bruno Haible  <bruno@clisp.org>
12997
12998         * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
12999
13000 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
13001
13002         maint.mk: support update-copyright-env
13003         * top/maint.mk (update-copyright-env): Define place-holder.
13004         (update-copyright): Expand $(update-copyright-env) before
13005         invoking update-copyright.
13006
13007 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
13008
13009         update-copyright: implement forced reformatting
13010         * build-aux/update-copyright: Implement and document
13011         UPDATE_COPYRIGHT_FORCE.
13012         * tests/test-update-copyright.sh: Test it.
13013
13014 2009-08-14  Eric Blake  <ebb9@byu.net>
13015         and Bruno Haible  <bruno@clisp.org>
13016
13017         stddef: fix NetBSD 5.0 NULL bug, rather than working around it
13018         * tests/test-locale.c: Revert previous patch related to NULL.
13019         * tests/test-stdio.c: Likewise.
13020         * tests/test-stdlib.c: Likewise.
13021         * tests/test-string.c: Likewise.
13022         * tests/test-unistd.c: Likewise.
13023         * modules/time-tests (Depends-on): Add verify.
13024         * modules/wchar-tests (Depends-on): Likewise.
13025         * tests/test-time.c: Test for NULL compliance.
13026         * tests/test-wchar.c: Likewise.
13027         * modules/locale (Depends-on): Add stddef.
13028         * modules/stdio (Depends-on): Likewise.
13029         * modules/stdlib (Depends-on): Likewise.
13030         * modules/string (Depends-on): Likewise.
13031         * modules/time (Depends-on): Likewise.
13032         * modules/unistd (Depends-on): Likewise.
13033         * modules/wchar (Depends-on): Likewise.
13034         * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
13035         * lib/stdlib.in.h (includes): Likewise.
13036         * lib/string.in.h (includes): Likewise.
13037         * lib/time.in.h (includes): Likewise.
13038         * lib/unistd.in.h (includes): Likewise.
13039         * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
13040         replaced.
13041         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
13042         * m4/stddef_h.m4: New file.
13043         * modules/stddef: Likewise.
13044         * lib/stddef.in.h: Likewise.
13045         * modules/stddef-tests: Likewise.
13046         * tests/test-stddef.c: Likewise.
13047         * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
13048         * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
13049         * doc/posix-headers/locale.texi (locale.h): Likewise.
13050         * doc/posix-headers/stdio.texi (stdio.h): Likewise.
13051         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
13052         * doc/posix-headers/string.texi (string.h): Likewise.
13053         * doc/posix-headers/time.texi (time.h): Likewise.
13054         * doc/posix-headers/unistd.texi (unistd.h): Likewise.
13055         * doc/posix-headers/wchar.texi (wchar.h): Likewise.
13056
13057 2009-08-14  Eric Blake  <ebb9@byu.net>
13058
13059         doc: improve git diff of texinfo files
13060         * .gitattributes: Add rule for *.texi files, with hint on how to
13061         use it.
13062         Copied from m4, and based on a report by Bruno Haible.
13063
13064 2009-08-14  Bruno Haible  <bruno@clisp.org>
13065
13066         Disable multithread support by default on Cygwin 1.5.x for real.
13067         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
13068
13069 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
13070
13071         update-copyright: much ado about intervals
13072         * build-aux/update-copyright: Implement and document
13073         UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
13074         of copyright year intervals.
13075         Also, document UPDATE_COPYRIGHT_YEAR.
13076         * tests/test-update-copyright.sh: Test it.
13077
13078         update-copyright: convert 2-digit to 4-digit years
13079         * build-aux/update-copyright: Implement and document.
13080         * tests/test-update-copyright.sh: Update.
13081
13082 2009-08-14  Jim Meyering  <meyering@redhat.com>
13083
13084         test-exclude: avoid coreutils "make check" failure
13085         * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
13086         just as in test-argmatch.c.
13087
13088 2009-08-13  Eric Blake  <ebb9@byu.net>
13089
13090         test-dup2: fix bad assumption
13091         * tests/test-dup2.c (main): Tolerate leaked fds from environment.
13092         Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
13093
13094         test-version-etc: fix CRLF portability issue
13095         * tests/test-version-etc.sh: Use tr, not sed, as not all sed
13096         recognize \r.
13097         * tests/test-argp-version-etc-1.sh: Likewise.
13098
13099         getopt: update client modules
13100         * modules/argp (Depends-on): Use getopt-gnu.
13101         * modules/git-merge-changelog (Depends-on): Likewise.
13102         * modules/long-options (Depends-on): Likewise.
13103         * modules/xstrtol (Depends-on): Likewise.
13104
13105 2009-08-13  Simon Josefsson  <simon@josefsson.org>
13106
13107         * tests/test-version-etc.sh: Don't fail on different
13108         project/version.  Don't fail on CRLF differences.  Rewrite to use
13109         multiple -e instead of multiple sed forks, suggested by Eric Blake
13110         <ebb9@byu.net>.
13111         * tests/test-argp-version-etc-1.sh: Likewise.
13112
13113 2009-08-13  Simon Josefsson  <simon@josefsson.org>
13114
13115         * tests/test-version-etc.sh: Don't fail on different
13116         project/version.
13117
13118 2009-08-12  Bruno Haible  <bruno@clisp.org>
13119
13120         Tests for modules 'getopt-posix', 'getopt-gnu'.
13121         * modules/getopt-posix-tests: New file.
13122         * tests/test-getopt.c: New file.
13123         * tests/test-getopt.h: New file.
13124         * tests/test-getopt_long.h: New file.
13125
13126         New modules 'getopt-posix', 'getopt-gnu'.
13127         * modules/getopt-gnu: New file, renamed from modules/getopt.
13128         * modules/getopt-posix: New file.
13129         * modules/getopt: Turn into an obsolete alias for getopt-gnu.
13130         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
13131         (gl_GETOPT): Remove macro.
13132         (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
13133         Disable the test against BSD systems that declare optreset. Test
13134         against mingw bug. Test against lack of support of optional arguments
13135         on many platforms.
13136         * doc/glibc-headers/getopt.texi: Update module name and list of
13137         relevant platforms.
13138         * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
13139         'getopt-gnu' and more portability problems.
13140         * NEWS: Mention the changes.
13141
13142 2009-08-12  Bruno Haible  <bruno@clisp.org>
13143
13144         Ensure that optarg etc. get declared by <unistd.h>.
13145         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
13146         AC_USE_SYSTEM_EXTENSIONS.
13147         * modules/getopt (Depends-on): Add 'extensions'.
13148
13149 2009-08-12  Bruno Haible  <bruno@clisp.org>
13150
13151         Avoid test link errors.
13152         * modules/pipe-filter-ii-tests (Makefile.am): Define
13153         test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
13154         * modules/pipe-filter-gi-tests (Makefile.am): Define
13155         test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
13156         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
13157
13158 2009-08-12  Bruno Haible  <bruno@clisp.org>
13159
13160         * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
13161         gl_GETOPT_SUBSTITUTE before.
13162         (gl_GETOPT): Use it.
13163         * m4/argp.m4 (gl_ARGP): Update.
13164         Reported by Sergey Poznyakoff.
13165
13166         * m4/getopt.m4: Reorder macros.
13167         (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
13168         (gl_GETOPT_SUBSTITUTE): Remove macro.
13169
13170 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
13171
13172         Minor improvement in gitlog-to-changelog
13173
13174         * build-aux/gitlog-to-changelog: New option `--format' makes
13175         output format string configurable.
13176
13177 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
13178
13179         Optimize exclude: use hash tables for non-wildcard patterns.
13180
13181         * lib/exclude.c: Include hash.h and mbuiter.h
13182         (struct exclude_pattern, exclude_segment): New data types.
13183         (struct exclude): Rewrite.
13184         (fnmatch_pattern_has_wildcards): New function.
13185         (new_exclude_segment, free_exclude_segment): New functions.
13186         (excluded_file_pattern_p, excluded_file_name_p): New functions.
13187         (excluded_file_name, add_exclude): Rewrite using new struct exclude.
13188         * lib/exclude.h (is_fnmatch_pattern): New prototype.
13189         * modules/exclude: Depend on hash and mbuiter.
13190
13191         * modules/exclude-tests: New file.
13192         * tests/test-exclude.c: New file.
13193         * tests/test-exclude1.sh: New file.
13194         * tests/test-exclude2.sh: New file.
13195         * tests/test-exclude3.sh: New file.
13196         * tests/test-exclude4.sh: New file.
13197         * tests/test-exclude5.sh: New file.
13198         * tests/test-exclude6.sh: New file.
13199         * tests/test-exclude7.sh: New file.
13200
13201 2009-08-12  Bruno Haible  <bruno@clisp.org>
13202
13203         Ensure that getopt() gets declared by <unistd.h>.
13204         * lib/unistd.in.h: Conditionally include getopt.h.
13205         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
13206         Set GNULIB_UNISTD_H_GETOPT.
13207         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
13208         GNULIB_UNISTD_H_GETOPT.
13209         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
13210
13211 2009-08-12  Bruno Haible  <bruno@clisp.org>
13212
13213         Clarify logic.
13214         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
13215         gl_replace_getopt instead of GETOPT_H.
13216
13217 2009-08-12  Bruno Haible  <bruno@clisp.org>
13218
13219         * m4/getopt.m4: Add comments.
13220
13221 2009-08-12  Bruno Haible  <bruno@clisp.org>
13222
13223         Disable multithread support by default on Cygwin 1.5.x.
13224         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
13225         set gl_use_threads=no if not specified otherwise.
13226
13227 2009-08-11  Bruno Haible  <bruno@clisp.org>
13228
13229         Avoid compilation error on NetBSD 5.0.
13230         * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
13231         * tests/test-stdio.c: Likewise.
13232         * tests/test-stdlib.c: Likewise.
13233         * tests/test-string.c: Likewise.
13234         * tests/test-unistd.c: Likewise.
13235         Reported by Greg Troxel <gdt@ir.bbn.com>
13236         at <https://savannah.gnu.org/support/?106973>.
13237
13238 2009-08-11  Bruno Haible  <bruno@clisp.org>
13239
13240         * modules/dup2-tests (Depends-on): Remove close.
13241
13242         Undo 2009-07-19 commit.
13243         * modules/acl-tests (Depends-on): Remove close.
13244         * modules/binary-io-tests (Depends-on): Likewise.
13245         * modules/closein-tests (Depends-on): Likewise.
13246         * modules/flock-tests (Depends-on): Likewise.
13247         * modules/fsync-tests (Depends-on): Likewise.
13248         * modules/lseek-tests (Depends-on): Likewise.
13249         * modules/pipe-tests (Depends-on): Likewise.
13250         * modules/posix_spawn-tests (Depends-on): Likewise.
13251         * modules/posix_spawnp-tests (Depends-on): Likewise.
13252         * modules/stat-time-tests (Depends-on): Likewise.
13253         * modules/yesno-tests (Depends-on): Likewise.
13254
13255 2009-08-10  Bruno Haible  <bruno@clisp.org>
13256
13257         * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
13258
13259 2009-08-10  Bruno Haible  <bruno@clisp.org>
13260
13261         Fix a gcc warning.
13262         * lib/write.c (rpl_write): Cast result of _get_osfhandle.
13263
13264 2009-08-10  Bruno Haible  <bruno@clisp.org>
13265
13266         Don't optimize AC_LIBOBJs, as they may appear in different contexts.
13267         * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
13268         not only the first time.
13269         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
13270         * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
13271         * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
13272         is 1, not only the the first time.
13273
13274 2009-08-10  Bruno Haible  <bruno@clisp.org>
13275
13276         Make it possible to use module 'gethostname' without module 'close'.
13277         * lib/unistd.in.h (close): Evoke a link error only if
13278         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
13279         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
13280         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
13281         * modules/unistd (Makefile.am): Substitute
13282         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
13283         * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
13284         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
13285         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
13286         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
13287         * modules/sys_ioctl (Makefile.am): Substitute
13288         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
13289         * modules/socket (configure.ac): On native Windows, set
13290         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
13291         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
13292         Reported by Sam Steingold <sds@gnu.org>.
13293
13294 2009-08-10  Bruno Haible  <bruno@clisp.org>
13295
13296         * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
13297         * modules/ioctl (configure.ac): Likewise.
13298
13299 2009-08-10  Bruno Haible  <bruno@clisp.org>
13300
13301         Avoid collision between gnulib wrapper and libintl wrapper.
13302         * lib/stdio-write.c (printf): Don't define if a printf wrapper is
13303         already defined in intl/printf.c.
13304         (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
13305         (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
13306
13307 2009-08-09  Bruno Haible  <bruno@clisp.org>
13308
13309         Make <sys/select.h> really self-contained, also on Solaris 10.
13310         * lib/sys_select.in.h: Include <string.h>.
13311         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
13312         Solaris 10 problem.
13313         * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
13314         * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
13315         Reported by Jim Meyering.
13316
13317 2009-08-09  Bruno Haible  <bruno@clisp.org>
13318
13319         Avoid warnings from 'aclocal' that are due to a use of macro name
13320         AM_XGETTEXT_OPTION that is not defined in automake.
13321         * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
13322         automake.
13323         * modules/error (configure.ac): Likewise.
13324         * modules/propername (configure.ac): Likewise.
13325         * modules/vasprintf (configure.ac): Likewise.
13326         * modules/verror (configure.ac): Likewise.
13327         * modules/xprintf (configure.ac): Likewise.
13328         * modules/xvasprintf (configure.ac): Likewise.
13329
13330 2009-08-08  Bruno Haible  <bruno@clisp.org>
13331
13332         Avoid compilation error in C++ mode.
13333         * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
13334         Reported by Sam Steingold <sds@gnu.org>.
13335
13336 2009-08-08  Bruno Haible  <bruno@clisp.org>
13337
13338         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
13339         for the various Unix platforms.
13340         * doc/posix-headers/limits.texi: Update platforms list regarding
13341         HOST_NAME_MAX.
13342         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
13343
13344 2009-08-07  Jim Meyering  <meyering@redhat.com>
13345
13346         selinux-at: fix typo in a comment
13347         * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
13348         Spotted by Paolo Bonzini.
13349
13350         selinux-at: remove redundant m4 code, add documentation
13351         * modules/selinux-at (configure.ac): Remove redundant code.
13352         LIB_SELINUX is already set via the dependent module, selinux-h.
13353         (Include): Add quotes around selinux-at.h.
13354         * lib/selinux-at.h: Add documentation.
13355         Reported by Bruno Haible in
13356         http://marc.info/?l=gnulib-bug&m=124958988300749
13357
13358 2009-08-07  Bruno Haible  <bruno@clisp.org>
13359
13360         Avoid link error on MacOS X 10.3 and 10.4.
13361         * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
13362         on non-ELF systems.
13363         * lib/argp-pv.c (argp_program_version): Likewise.
13364         Reported by Simon Josefsson.
13365
13366 2009-08-07  Simon Josefsson  <simon@josefsson.org>
13367
13368         * tests/test-version-etc.sh: Use $EXEEXT.
13369
13370 2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
13371
13372         update-copyright: update documentation to point to maint.mk
13373         * build-aux/update-copyright: Here.
13374
13375 2009-08-06  Jim Meyering  <meyering@redhat.com>
13376
13377         maint.mk: support update-copyright-local
13378         * top/maint.mk (update-copyright-local): Define place-holder.
13379         (update-copyright): Depend on $(update-copyright-local).
13380
13381 2009-08-06  Jim Meyering  <meyering@redhat.com>
13382
13383         selinux-at: new module
13384         Initially written for coreutils, this module will soon be
13385         used by findutils, too.
13386         * MODULES.html.sh [Misc]: Add selinux-at.
13387         * lib/selinux-at.h: New file, from coreutils.
13388         * lib/selinux-at.c: Likewise.
13389         * modules/selinux-at: Likewise.
13390         (License): Change from LGPL to GPL, since it depends
13391         on the GPL'd openat module.
13392
13393         doc: update README
13394         * README: Remove references to cogito.
13395         Remove cvs-repo-updating instructions from 2007.
13396         Don't imply that CVS is better if you have limited disk space.
13397
13398 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
13399
13400         update-copyright: support C-style comments
13401         * build-aux/update-copyright: Implement and document.
13402         * tests/test-update-copyright.sh: Test.
13403
13404 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
13405
13406         update-copyright: support omitted "(C)"
13407         * build-aux/update-copyright: Implement and document.  Also,
13408         allow variable whitespace before "(C)".
13409         * tests/test-update-copyright.sh: Test.
13410
13411 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
13412
13413         update-copyright: don't trip on non-FSF copyright statements
13414         * build-aux/update-copyright: Fix so that the first correctly
13415         formatted FSF copyright statement is recognized no matter what
13416         appears before it.  Update documentation.
13417         * tests/test-update-copyright.sh: Test that.
13418
13419 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
13420
13421         update-copyright: clean up code a little
13422         * build-aux/update-copyright: Append "_re" to the name of any
13423         variable holding a regular expression.
13424         Replace "old" and "new" with "stmt" in variable names.
13425         Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
13426         handled correctly.
13427         Format code more consistently.
13428
13429 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
13430
13431         update-copyright-tests: improve portability
13432         * tests/test-update-copyright.sh: Use cmp if diff cannot handle
13433         -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
13434
13435 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
13436
13437         update-copyright: support @copyright{} and &copy;
13438         * build-aux/update-copyright: Implement and document.
13439         * tests/test-update-copyright.sh: Test.
13440
13441 2009-08-04  Jim Meyering  <meyering@redhat.com>
13442
13443         update-copyright-tests: correctly test EOL=\r\n handling
13444         * tests/test-update-copyright.sh: Put \r at the end of some lines
13445         for the dos-eol tests.  Based on a patch by Joel E. Denny.
13446
13447         maint.mk: make update-copyright exclusion list more configurable
13448         * top/maint.mk (update-copyright): Default to excluding COPYING,
13449         but allow an override, in case someone does want to update that file.
13450
13451         maint.mk: don't update copyright date in COPYING
13452         * top/maint.mk (update-copyright): Exclude COPYING.
13453
13454         maint.mk: add a copyright-updating rule
13455         * top/maint.mk (update-copyright): New rule.
13456         Derived from coreutils/Makefile.am.
13457
13458         update-copyright: rename some variables
13459         * build-aux/update-copyright: Rename a few variables for clarity.
13460         Tweak syntax.  List Joel E. Denny as coauthor.
13461
13462 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
13463
13464         update-copyright: fix bug for 2-digit last year and add tests
13465         * build-aux/update-copyright: Fix bug.
13466         Use UPDATE_COPYRIGHT_YEAR from environment as current year if
13467         specified.
13468         * modules/update-copyright-tests: New
13469         * tests/test-update-copyright.sh: New.
13470
13471 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
13472
13473         update-copyright: handle leading tabs in line prefix
13474         * build-aux/update-copyright: Count leading tabs as 8 spaces
13475         when computing margin.  This helps with the formatting of
13476         ChangeLogs, for example.
13477         Fix documentation a little.
13478
13479 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
13480
13481         update-copyright: support EOL=\r\n
13482         * build-aux/update-copyright: Implement that.
13483
13484 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
13485
13486         update-copyright: automatically format copyright statements
13487         * build-aux/update-copyright: Implement that.
13488         Also, be a little more predictable and safer by always failing
13489         when the full copyright format is not perfectly recognized as an
13490         unbroken whole.  Discussed at
13491         <http://lists.gnu.org/archive/html/bug-gnulib/2009-07/msg00131.html>.
13492         Rewrite documentation.
13493
13494 2009-08-03  Bruno Haible  <bruno@clisp.org>
13495
13496         * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
13497
13498 2009-08-02  Bruno Haible  <bruno@clisp.org>
13499
13500         Tests for module 'uname'.
13501         * modules/uname-tests: New file.
13502         * tests/test-uname.c: New file.
13503
13504         New module 'uname'.
13505         * lib/uname.c: New file.
13506         * m4/uname.m4: New file.
13507         * modules/uname: New file.
13508         * doc/posix-functions/uname.texi: Mention the new module.
13509
13510 2009-08-02  Bruno Haible  <bruno@clisp.org>
13511
13512         Tests for module 'sys_utsname'.
13513         * modules/sys_utsname-tests: New file.
13514         * tests/test-sys_utsname.c: New file.
13515
13516         New module 'sys_utsname'.
13517         * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
13518         * m4/sys_utsname_h.m4: New file.
13519         * modules/sys_utsname: New file.
13520         * doc/posix-headers/sys_utsname.texi: Mention the new module.
13521
13522 2009-08-02  Bruno Haible  <bruno@clisp.org>
13523
13524         Implicitly initialize the sockets library.
13525         * lib/gethostname.c: Include sockets.h.
13526         (rpl_gethostname): Invoke gl_sockets_startup.
13527         * lib/socket.c: Include sockets.h.
13528         (rpl_socket): Invoke gl_sockets_startup.
13529         * modules/gethostname (Depends-on): Add sockets.
13530         * modules/socket (Depends-on): Likewise.
13531         * tests/test-poll.c: Don't include sockets.h.
13532         (main): Don't invoke gl_sockets_startup.
13533         * tests/test-select.c: Don't include sockets.h.
13534         (main): Don't invoke gl_sockets_startup.
13535
13536 2009-08-02  Bruno Haible  <bruno@clisp.org>
13537
13538         Allow multiple calls to gl_sockets_startup.
13539         * lib/sockets.c (initialized_sockets_version): New variable.
13540         (gl_sockets_startup): Do nothing if already called for this or a higher
13541         version.
13542         (gl_sockets_cleanup): Reset initialized_sockets_version.
13543
13544 2009-08-03  Simon Josefsson  <simon@josefsson.org>
13545
13546         * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
13547         different project/version.
13548
13549 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
13550             Bruno Haible  <bruno@clisp.org>
13551
13552         Tests for module 'pipe-filter-gi'.
13553         * modules/pipe-filter-gi-tests: New file.
13554         * tests/test-pipe-filter-gi1.sh: New file.
13555         * tests/test-pipe-filter-gi1.c: New file.
13556         * tests/test-pipe-filter-gi2.sh: New file.
13557         * tests/test-pipe-filter-gi2-main.c: New file.
13558         * tests/test-pipe-filter-gi2-child.c: New file.
13559
13560         New module 'pipe-filter-gi'.
13561         * lib/pipe-filter-gi.c: New file.
13562         * modules/pipe-filter-gi: New file.
13563
13564 2009-08-02  Bruno Haible  <bruno@clisp.org>
13565             Paolo Bonzini  <bonzini@gnu.org>
13566
13567         Tests for module 'pipe-filter-ii'.
13568         * modules/pipe-filter-ii-tests: New file.
13569         * tests/test-pipe-filter-ii1.sh: New file.
13570         * tests/test-pipe-filter-ii1.c: New file.
13571         * tests/test-pipe-filter-ii2.sh: New file.
13572         * tests/test-pipe-filter-ii2-main.c: New file.
13573         * tests/test-pipe-filter-ii2-child.c: New file.
13574
13575         New module 'pipe-filter-ii'.
13576         * lib/pipe-filter.h: New file.
13577         * lib/pipe-filter-ii.c: New file.
13578         * lib/pipe-filter-aux.h: New file.
13579         * modules/pipe-filter-ii: New file.
13580
13581 2009-08-02  Simon Josefsson  <simon@josefsson.org>
13582
13583         * lib/gc-libgcrypt.c: Change copyright to FSF.
13584         * lib/gc-gnulib.c: Likewise.
13585
13586 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
13587
13588         * lib/gethostname.c: Include limits.h.
13589
13590 2009-08-02  Simon Josefsson  <simon@josefsson.org>
13591             Bruno Haible  <bruno@clisp.org>
13592
13593         Ensure HOST_NAME_MAX as part of the gethostname module.
13594         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
13595         define also HOST_NAME_MAX.
13596         * tests/test-gethostname.c: Include <limits.h>.
13597         (main): Check also HOST_NAME_MAX.
13598         * doc/posix-headers/limits.texi: Document the mingw problem.
13599
13600 2009-08-02  Bruno Haible  <bruno@clisp.org>
13601
13602         * lib/gethostname.c (gethostname): Fix handling of large len argument.
13603         Add comments.
13604
13605 2009-03-31  Simon Josefsson  <simon@josefsson.org>
13606
13607         * lib/gethostname.c: Add Windows wrapper.
13608         * m4/gethostname.m4: Look for gethostname in -lws2_32.
13609         * modules/gethostname: Depend on sys_socket & errno, for also
13610         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
13611         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
13612
13613 2009-07-31  Jim Meyering  <meyering@redhat.com>
13614
13615         getloadavg: fix symbol name in comment
13616         * lib/getloadavg.c: Correct a typo I introduced when adding
13617         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
13618         Matt Kraai spotted the problem.
13619
13620 2009-07-29  Matt Kraai  <mkraai@beckman.com>
13621
13622         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
13623         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
13624         code also if ! defined N_NAME_POINTER.
13625         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
13626         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
13627         but the n_name member is a 12-byte array.
13628
13629 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
13630
13631         update-copyright: generalize comment handling
13632         * build-aux/update-copyright: Handle copyright statements
13633         within more comment styles.
13634         Document usage.
13635         Report any file with an external copyright holder or parse failure.
13636
13637 2009-07-29  Jim Meyering  <meyering@redhat.com>
13638
13639         mktime: correct setting of REPLACE_MKTIME
13640         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
13641
13642         update-copyright: new module
13643         * modules/update-copyright: New file.
13644         * build-aux/update-copyright: New file.
13645         * MODULES.html.sh (maint+release support): Add update-copyright.
13646
13647 2009-07-27  Bruno Haible  <bruno@clisp.org>
13648
13649         Fix compilation error when <ctime> is used and mktime is replaced.
13650         * lib/time.in.h (mktime): New declaration.
13651         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
13652         REPLACE_MKTIME instead of defining mktime in config.h.
13653         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
13654         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
13655         Reported by Ross McFarland <rwmcfa1@neces.com>.
13656
13657 2009-07-27  Bruno Haible  <bruno@clisp.org>
13658
13659         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
13660         Reported by Matt Kraai <mkraai@beckman.com>.
13661
13662 2009-07-25  Jim Meyering  <meyering@redhat.com>
13663
13664         maint.mk: avoid warnings about missing files
13665         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
13666         diagnostic when .prev-version does not exist.
13667         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
13668         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
13669         nonexistent cfg.mk.
13670         Suggestions from Simon Josefsson.
13671
13672 2009-07-25  Bruno Haible  <bruno@clisp.org>
13673
13674         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
13675         defined as macros. Needed on QNX 6.4.1.
13676         Reported by Matt Kraai <mkraai@beckman.com>.
13677
13678 2009-07-23  Jim Meyering  <meyering@redhat.com>
13679
13680         maint.mk: invoke "make dist" with a working value of XZ_OPT
13681         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
13682
13683 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
13684
13685         Make fseeko.c compile on QNX.
13686         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
13687
13688 2009-07-22  Peter Simons  <simons@cryp.to>
13689
13690         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
13691         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
13692         * lib/md4.h: Likewise.
13693         * lib/md5.h: Likewise.
13694         * lib/sha1.h: Likewise.
13695         * lib/sha256.h: Likewise.
13696         * lib/sha512.h: Likewise.
13697
13698         tests-sha1: don't assign literal string to 'char *' variable
13699         * tests/test-sha1.c (main): Declare locals with "const" to match
13700         attributes of the right hand side.
13701
13702 2009-07-21  Eric Blake  <ebb9@byu.net>
13703
13704         dup2: fix more mingw problems
13705         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
13706         fd to itself.
13707         * doc/posix-functions/dup2.texi (dup2): Document the bug.
13708         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
13709         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
13710         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
13711         care of mingw bugs.
13712
13713 2009-07-21  Jim Meyering  <meyering@redhat.com>
13714
13715         vc-list-files: avoid failure when /bin/sh is dash
13716         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
13717         On some Debian based systems, /bin/sh is a symlink to dash, and running
13718         this command would omit the "/" following each 'tests' prefix:
13719           dash -x build-aux/vc-list-files -C . tests
13720         That is because bash and dash work differently:
13721           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
13722           bash ok
13723           dash odd
13724
13725 2009-07-21  Eric Blake  <ebb9@byu.net>
13726
13727         dup2-tests: test previous patch
13728         * modules/dup2-tests: New file.
13729         * tests/test-dup2.c: Likewise.
13730         * tests/test-open.c (main): Avoid unspecified behavior.
13731         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
13732         test.
13733
13734         dup2: work around mingw and cygwin 1.5 bug
13735         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
13736         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
13737         * modules/unistd (Makefile.am): Substitute it.
13738         * lib/unistd.in.h (dup2): Declare the replacement.
13739         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
13740         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
13741         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
13742         * modules/execute (Depends-on): Add dup2.
13743         * modules/fseterr (Depends-on): Likewise.
13744         * modules/pipe (Depends-on): Likewise.
13745         * modules/posix_spawn-internal (Depends-on): Likewise.
13746
13747 2009-07-21  Bruno Haible  <bruno@clisp.org>
13748
13749         * modules/.gitattributes: New file.
13750
13751 2009-07-20  Bruno Haible  <bruno@clisp.org>
13752
13753         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
13754         (main): Use it.
13755
13756 2009-07-20  Eric Blake  <ebb9@byu.net>
13757
13758         test-pipe: make a bit more robust.
13759         * tests/test-pipe.c (myerr): Allow error messages regardless of
13760         what we do to stderr.
13761         (test_pipe): Rearrange to avoid deadlock.
13762         (child_main): Try a larger read, to ensure we avoided deadlock.
13763         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
13764         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
13765         if misused.
13766
13767 2009-07-19  Jim Meyering  <meyering@redhat.com>
13768
13769         fts: avoid false-positive cycle-detection
13770         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
13771         for each new command line argument.
13772
13773 2009-07-19  Bruno Haible  <bruno@clisp.org>
13774
13775         Fix build error on mingw with the modules sys_select and unistd.
13776         * modules/acl-tests (Depends-on): Add close.
13777         * modules/binary-io-tests (Depends-on): Likewise.
13778         * modules/closein-tests (Depends-on): Likewise.
13779         * modules/flock-tests (Depends-on): Likewise.
13780         * modules/fsync-tests (Depends-on): Likewise.
13781         * modules/lseek-tests (Depends-on): Likewise.
13782         * modules/pipe-tests (Depends-on): Likewise.
13783         * modules/posix_spawn-tests (Depends-on): Likewise.
13784         * modules/posix_spawnp-tests (Depends-on): Likewise.
13785         * modules/stat-time-tests (Depends-on): Likewise.
13786         * modules/yesno-tests (Depends-on): Likewise.
13787
13788 2009-07-19  Bruno Haible  <bruno@clisp.org>
13789
13790         Unify conditionals.
13791         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
13792         macros, not at the compiler macros.
13793         * lib/pipe.c: Likewise.
13794         * lib/execute.c: Likewise.
13795         * lib/spawni.c: Likewise.
13796
13797 2009-07-19  Bruno Haible  <bruno@clisp.org>
13798
13799         Fix handling of closed stdin/stdout/stderr on mingw.
13800         * lib/w32spawn.h: Include unistd.h.
13801         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
13802         file descriptor with O_NOINHERIT flag.
13803         (fd_safer_noinherit): New function, based on fd-safer.c.
13804         (dup_safer_noinherit): New function, based on dup-safer.c.
13805         (undup_safer_noinherit): New function.
13806         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
13807         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
13808         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
13809         instead of fd_safer.
13810         * tests/test-pipe.c: Include <windows.h>.
13811         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close() result.
13812
13813         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
13814         from main.
13815         (test_pipe): Pass an extra argument for disambiguation.
13816         (main): Invoke parent_main or child_main.
13817
13818         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
13819         consistently.
13820
13821 2009-07-18  Eric Blake  <ebb9@byu.net>
13822
13823         test-pipe: fix mingw build
13824         * tests/test-pipe.c (main): Avoid fcntl on mingw.
13825
13826 2009-07-18  Bruno Haible  <bruno@clisp.org>
13827
13828         * modules/pipe-tests (Makefile.am): Fix typo.
13829
13830 2009-07-18  Eric Blake  <ebb9@byu.net>
13831
13832         error: fix mingw build
13833         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
13834         Reported by Bruno Haible.
13835
13836         error: avoid undefined use of stdout
13837         * lib/error.c (error, error_at_line): Check that fd 1 is open
13838         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
13839         is handling faults and the close_stdout module wants to report the
13840         detection of closed stdout as an error.
13841
13842 2009-07-17  Eric Blake  <ebb9@byu.net>
13843
13844         pipe: be robust in face of closed fds
13845         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
13846         should cause child to misbehave.
13847         * modules/pipe-tests: New module.
13848         * tests/test-pipe.c: New file.
13849         * tests/test-pipe.sh: New file.
13850         Reported by Akim Demaille.
13851
13852 2009-07-14  Bruno Haible  <bruno@clisp.org>
13853
13854         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
13855         Reported by anonymous kc.
13856
13857 2009-07-07  Jim Meyering  <meyering@redhat.com>
13858
13859         maint.mk: don't look for translatable strings in *.m4 or *.mk
13860         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
13861         when searching for translatable strings.
13862
13863 2009-07-05  Jim Meyering  <meyering@redhat.com>
13864
13865         remove superfluous parentheses in STREQ definition
13866         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
13867         * lib/getugroups.c (STREQ): Likewise.
13868         * lib/fnmatch.c (STREQ): Likewise.
13869         Spotted by Bruno Haible.
13870
13871 2009-07-04  Jim Meyering  <meyering@redhat.com>
13872
13873         argv-iter: new module
13874         * MODULES.html.sh: Add argv-iter.
13875         * lib/argv-iter.c, lib/argv-iter.h: New files.
13876         * modules/argv-iter: New file.
13877         * modules/argv-iter-tests: New file.
13878         * tests/test-argv-iter.c: Test it.
13879
13880 2009-07-04  Bruno Haible  <bruno@clisp.org>
13881
13882         Fix assertion.
13883         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
13884         contains more exact copies of a given entry than file2, leave the extra
13885         copies unpaired rather than aborting.
13886         Reported by Eric Blake.
13887
13888 2009-07-02  Bruno Haible  <bruno@clisp.org>
13889
13890         Speedup git-merge-changelog for git cherry-pick.
13891         * lib/git-merge-changelog.c (struct entries_mapping): New type.
13892         (entries_mapping_get): New function, extracted from compute_mapping.
13893         (entries_mapping_reverse_get): New function.
13894         (compute_mapping): Add a 'full' argument. Return the result in a
13895         'struct entries_mapping'.
13896         (main): Update. Access the mappings through entries_mapping_get.
13897         Reported by Eric Blake.
13898
13899 2009-07-02  Bruno Haible  <bruno@clisp.org>
13900
13901         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
13902         best_i.
13903
13904 2009-07-02  Bruno Haible  <bruno@clisp.org>
13905
13906         Speed up approximate search for matching ChangeLog entries.
13907         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
13908         argument. Call fstrcmp_bounded instead of fstrcmp.
13909         (compute_mapping, try_split_merged_entry, main): Update callers.
13910
13911 2009-07-02  Bruno Haible  <bruno@clisp.org>
13912
13913         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
13914
13915 2009-06-30  Bruno Haible  <bruno@clisp.org>
13916
13917         Reduce the number of uc_is_cased calls.
13918         * lib/unicase.h (casing_suffix_context_t): Add
13919         'first_char_except_ignorable' field.
13920         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
13921         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
13922         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
13923         Update initializer.
13924         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
13925         case-ignorable characters.
13926         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
13927         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
13928         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
13929         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
13930         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
13931
13932 2009-06-30  Bruno Haible  <bruno@clisp.org>
13933
13934         Tests for module 'unicase/ignorable'.
13935         * modules/unicase/ignorable-tests: New file.
13936         * tests/unicase/test-ignorable.c: New file, generated by
13937         gen-uni-tables.
13938
13939         Tests for module 'unicase/cased'.
13940         * modules/unicase/cased-tests: New file.
13941         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
13942         * tests/unicase/test-predicate-part1.h: New file, derived from
13943         tests/unictype/test-predicate-part1.h.
13944         * tests/unicase/test-predicate-part2.h: New file, same as
13945         tests/unictype/test-predicate-part2.h.
13946
13947         Fix evaluation of "Before C" condition of FINAL_SIGMA.
13948         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
13949         (output_casing_properties): New function.
13950         (main): Call it.
13951         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
13952         * lib/unicase/cased.c: Include unictype/bitmap.h.
13953         (uc_is_cased): Define through a bitmap lookup.
13954         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
13955         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
13956         (uc_is_case_ignorable): Define through a bitmap lookup.
13957         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
13958         lib/unictype/bitmap.h.
13959         (Depends-on): Add inline. Clean up.
13960         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
13961         lib/unictype/bitmap.h.
13962         (Depends-on): Add inline. Clean up.
13963         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
13964         recognition.
13965         * tests/unicase/test-u16-tolower.c (main): Likewise.
13966         * tests/unicase/test-u32-tolower.c (main): Likewise.
13967
13968 2009-06-30  Bruno Haible  <bruno@clisp.org>
13969
13970         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
13971         * lib/unicase/u16-casemap.c: Likewise.
13972         * lib/unicase/u32-casemap.c: Likewise.
13973
13974 2009-06-29  Bruno Haible  <bruno@clisp.org>
13975
13976         Define u32_casefold as a wrapper around u32_ct_casefold.
13977         * lib/unicase/u32-casefold.c: Update.
13978         * modules/unicase/u32-casefold (Depends-on): Add
13979         unicase/u32-ct-casefold, unicase/empty-prefix-context,
13980         unicase/empty-suffix-context. Clean up.
13981
13982         Define u16_casefold as a wrapper around u16_ct_casefold.
13983         * lib/unicase/u16-casefold.c: Update.
13984         * modules/unicase/u16-casefold (Depends-on): Add
13985         unicase/u16-ct-casefold, unicase/empty-prefix-context,
13986         unicase/empty-suffix-context. Clean up.
13987
13988         Define u8_casefold as a wrapper around u8_ct_casefold.
13989         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
13990         * lib/unicase/u8-casefold.c: Update.
13991         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
13992         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
13993
13994         Define u32_totitle as a wrapper around u32_ct_totitle.
13995         * lib/unicase/u32-totitle.c: Update.
13996         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
13997         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
13998
13999         Define u16_totitle as a wrapper around u16_ct_totitle.
14000         * lib/unicase/u16-totitle.c: Update.
14001         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
14002         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
14003
14004         Define u8_totitle as a wrapper around u8_ct_totitle.
14005         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
14006         functions.
14007         (FUNC): Delegate to U_CT_TOTITLE.
14008         * lib/unicase/u8-totitle.c: Update.
14009         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
14010         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
14011
14012         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
14013         invocation.
14014         * modules/unicase/u32-tolower (Depends-on): Add
14015         unicase/empty-prefix-context, unicase/empty-suffix-context.
14016
14017         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
14018         invocation.
14019         * modules/unicase/u16-tolower (Depends-on): Add
14020         unicase/empty-prefix-context, unicase/empty-suffix-context.
14021
14022         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
14023         * modules/unicase/u8-tolower (Depends-on): Add
14024         unicase/empty-prefix-context, unicase/empty-suffix-context.
14025
14026         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
14027         invocation.
14028         * modules/unicase/u32-toupper (Depends-on): Add
14029         unicase/empty-prefix-context, unicase/empty-suffix-context.
14030
14031         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
14032         invocation.
14033         * modules/unicase/u16-toupper (Depends-on): Add
14034         unicase/empty-prefix-context, unicase/empty-suffix-context.
14035
14036         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
14037         * modules/unicase/u8-toupper (Depends-on): Add
14038         unicase/empty-prefix-context, unicase/empty-suffix-context.
14039
14040         New module 'unicase/u32-ct-casefold'.
14041         * lib/unicase/u32-ct-casefold.c: New file.
14042         * modules/unicase/u32-ct-casefold: New file.
14043
14044         New module 'unicase/u16-ct-casefold'.
14045         * lib/unicase/u16-ct-casefold.c: New file.
14046         * modules/unicase/u16-ct-casefold: New file.
14047
14048         New module 'unicase/u8-ct-casefold'.
14049         * lib/unicase/u8-ct-casefold.c: New file.
14050         * lib/unicase/u-ct-casefold.h: New file, derived from
14051         lib/unicase/u-casefold.h.
14052         * modules/unicase/u8-ct-casefold: New file.
14053
14054         New module 'unicase/u32-ct-totitle'.
14055         * lib/unicase/u32-ct-totitle.c: New file.
14056         * modules/unicase/u32-ct-totitle: New file.
14057
14058         New module 'unicase/u16-ct-totitle'.
14059         * lib/unicase/u16-ct-totitle.c: New file.
14060         * modules/unicase/u16-ct-totitle: New file.
14061
14062         New module 'unicase/u8-ct-totitle'.
14063         * lib/unicase/u8-ct-totitle.c: New file.
14064         * lib/unicase/u-ct-totitle.h: New file, derived from
14065         lib/unicase/u-totitle.h.
14066         * modules/unicase/u8-ct-totitle: New file.
14067
14068         New module 'unicase/u32-ct-tolower'.
14069         * lib/unicase/u32-ct-tolower.c: New file.
14070         * modules/unicase/u32-ct-tolower: New file.
14071
14072         New module 'unicase/u16-ct-tolower'.
14073         * lib/unicase/u16-ct-tolower.c: New file.
14074         * modules/unicase/u16-ct-tolower: New file.
14075
14076         New module 'unicase/u8-ct-tolower'.
14077         * lib/unicase/u8-ct-tolower.c: New file.
14078         * modules/unicase/u8-ct-tolower: New file.
14079
14080         New module 'unicase/u32-ct-toupper'.
14081         * lib/unicase/u32-ct-toupper.c: New file.
14082         * modules/unicase/u32-ct-toupper: New file.
14083
14084         New module 'unicase/u16-ct-toupper'.
14085         * lib/unicase/u16-ct-toupper.c: New file.
14086         * modules/unicase/u16-ct-toupper: New file.
14087
14088         New module 'unicase/u8-ct-toupper'.
14089         * lib/unicase/u8-ct-toupper.c: New file.
14090         * modules/unicase/u8-ct-toupper: New file.
14091
14092         Add context arguments to u*_casemap functions.
14093         * lib/unicase/unicasemap.h: Include unicase.h.
14094         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
14095         suffix_context arguments.
14096         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
14097         functions.
14098         (FUNC): Add prefix_context and suffix_context arguments. Use
14099         uc_is_cased and uc_is_case_ignorable.
14100         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
14101         * lib/unicase/u16-casemap.c: Likewise.
14102         * lib/unicase/u32-casemap.c: Likewise.
14103         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
14104         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
14105         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
14106         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
14107         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
14108         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
14109
14110         New module 'unicase/u32-suffix-context'.
14111         * lib/unicase/u32-suffix-context.c: New file.
14112         * modules/unicase/u32-suffix-context: New file.
14113
14114         New module 'unicase/u16-suffix-context'.
14115         * lib/unicase/u16-suffix-context.c: New file.
14116         * modules/unicase/u16-suffix-context: New file.
14117
14118         New module 'unicase/u8-suffix-context'.
14119         * lib/unicase/u8-suffix-context.c: New file.
14120         * lib/unicase/u-suffix-context.h: New file.
14121         * modules/unicase/u8-suffix-context: New file.
14122
14123         New module 'unicase/empty-suffix-context'.
14124         * lib/unicase/empty-suffix-context.c: New file.
14125         * modules/unicase/empty-suffix-context: New file.
14126
14127         New module 'unicase/u32-prefix-context'.
14128         * lib/unicase/u32-prefix-context.c: New file.
14129         * modules/unicase/u32-prefix-context: New file.
14130
14131         New module 'unicase/u16-prefix-context'.
14132         * lib/unicase/u16-prefix-context.c: New file.
14133         * modules/unicase/u16-prefix-context: New file.
14134
14135         New module 'unicase/u8-prefix-context'.
14136         * lib/unicase/u8-prefix-context.c: New file.
14137         * lib/unicase/u-prefix-context.h: New file.
14138         * lib/unicase/context.h: New file.
14139         * modules/unicase/u8-prefix-context: New file.
14140
14141         New module 'unicase/empty-prefix-context'.
14142         * lib/unicase/empty-prefix-context.c: New file.
14143         * modules/unicase/empty-prefix-context: New file.
14144
14145         New module 'unicase/ignorable'.
14146         * lib/unicase/ignorable.c: New file.
14147         * modules/unicase/ignorable: New file.
14148
14149         New module 'unicase/cased'.
14150         * lib/unicase/caseprop.h: New file.
14151         * lib/unicase/cased.c: New file.
14152         * modules/unicase/cased: New file.
14153
14154         New functions for case mapping of substrings.
14155         * lib/unicase.h (casing_prefix_context_t): New type.
14156         (unicase_empty_prefix_context): New variable.
14157         (u8_casing_prefix_context, u16_casing_prefix_context,
14158         u32_casing_prefix_context, u8_casing_prefixes_context,
14159         u16_casing_prefixes_context, u32_casing_prefixes_context): New
14160         declarations.
14161         (casing_suffix_context_t): New type.
14162         (unicase_empty_suffix_context): New variable.
14163         (u8_casing_suffix_context, u16_casing_suffix_context,
14164         u32_casing_suffix_context, u8_casing_suffixes_context,
14165         u16_casing_suffixes_context, u32_casing_suffixes_context,
14166         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
14167         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
14168         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
14169         declarations.
14170
14171 2009-06-28  Jim Meyering  <meyering@redhat.com>
14172
14173         boostrap: indent only with spaces
14174         * build-aux/bootstrap: Indent only with spaces, never TABs.
14175
14176         bootstrap: split long lines
14177         * build-aux/bootstrap: Keep line length < 80.
14178
14179         bootstrap: sync from coreutils
14180         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
14181         just as autoreconf does.  Verify a list of prerequisite
14182         package-name,version-number pairs if defined in bootstrap.conf.
14183         Refer to README-prereq, if prerequisites are not satisfied.
14184
14185 2009-06-27  Eric Blake  <ebb9@byu.net>
14186
14187         tests: add test for bogus NULL definition
14188         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
14189         * tests/test-stdlib.c: Likewise.
14190         * tests/test-string.c: Likewise.
14191         * tests/test-locale.c: Likewise.
14192         * tests/test-unistd.c: Likewise.
14193         * modules/stdio-tests (Depends-on): Add verify.
14194         * modules/stdlib-tests (Depends-on): Likewise.
14195         * modules/string-tests (Depends-on): Likewise.
14196         * modules/locale-tests (Depends-on): Likewise.
14197         * modules/unistd-tests (Depends-on): Likewise.
14198
14199 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
14200
14201         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
14202         self-explaining comment.
14203         * m4/selinux-selinux-h: Update serial.
14204         (gl_LIBSELINUX): New macro, adding a warning for missing development
14205         packages to code extracted from...
14206         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
14207         Add warning for missing development packages here, too.
14208
14209 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
14210
14211         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
14212
14213 2009-06-25  Eric Blake  <ebb9@byu.net>
14214
14215         version-etc: fix regression
14216         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
14217         gcc.
14218         (version_etc): Use it, to catch bugs with trailing NULL.
14219         * lib/version-etc.c (version_etc_arn): Delete unused argument.
14220         (version_etc_va): Fix logic bug.
14221         * modules/version-etc-tests: Add test.
14222         * tests/test-version-etc.c: New file.
14223         * tests/test-version-etc.sh: Likewise.
14224
14225 2009-06-25  Sam Steingold  <sds@gnu.org>
14226
14227         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
14228         mbtowc declaration.
14229
14230 2009-06-25  Eric Blake  <ebb9@byu.net>
14231
14232         fpurge: migrate into <stdio.h>
14233         * lib/fpurge.h: Delete...
14234         * lib/stdio.in.h (fpurge): ...and declare here, instead.
14235         * lib/fpurge.c (fpurge): Change declaring header.
14236         * modules/fpurge (Files): Drop deleted file.
14237         (Depends-on): Add stdio.
14238         (configure.ac): Set witness.
14239         * modules/stdio (Makefile.am): Support fpurge macros.
14240         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
14241         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
14242         * lib/fflush.c: Update client.
14243         * tests/test-fpurge.c: Likewise.
14244         * NEWS: Mention the change.
14245
14246 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
14247
14248         * lib/argp-version-etc.c (program_authors): Add const
14249         qualifier.
14250         * lib/version-etc.c: Fix typos in the comments.
14251         * modules/argp-version-etc: Depends on version-etc.
14252
14253 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
14254
14255         argp-version-etc: new module.
14256
14257         * lib/argp-version-etc.c: New file.
14258         * lib/argp-version-etc.h: New file.
14259         * modules/argp-version-etc: New file.
14260         * modules/argp-version-etc-tests: New file.
14261         * tests/test-argp-version-etc.c: New test.
14262         * tests/test-argp-version-etc-1.sh: New test.
14263
14264 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
14265
14266         Provide additional interfaces and documentation for version-etc
14267         module.
14268
14269         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
14270         interfaces.
14271         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
14272         prototypes.
14273
14274 2009-06-24  Bruno Haible  <bruno@clisp.org>
14275
14276         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
14277         HAVE_LIB${NAME} macro.
14278         Reported by Sam Steingold <sds@gnu.org>.
14279
14280 2009-06-23  Simon Josefsson  <simon@josefsson.org>
14281
14282         * modules/hash-tests (test_hash_LDADD): Link to libintl when
14283         needed.
14284
14285 2009-06-21  Bruno Haible  <bruno@clisp.org>
14286
14287         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
14288         work.
14289         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
14290         together with LIB${NAME}, LTLIB${NAME}.
14291         Reported by Sam Steingold <sds@gnu.org>.
14292
14293 2009-06-20  Jim Meyering  <meyering@redhat.com>
14294
14295         tests: make sc_require_test_exit_idiom more generic
14296         * top/maint.mk (Exit_witness_file): New overridable variable.
14297         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
14298         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
14299
14300 2009-06-19  Jim Meyering  <meyering@redhat.com>
14301
14302         hash: reverse order of src/dst parameters in an internal interface
14303         * lib/hash.c (transfer_entries): Reverse order of parameters to
14304         put DST before SRC.  Adjust callers.
14305
14306         tests: test-hash: avoid wholesale duplication
14307         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
14308         Instead, use a loop and add a single conditional.
14309
14310         tests: test-hash: allow seed selection via a command line argument
14311         * tests/test-hash.c (get_seed): New function.
14312         (main): Use it.
14313
14314 2009-06-19  Eric Blake  <ebb9@byu.net>
14315
14316         hash: avoid memory leak on allocation failure
14317         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
14318         failure.  Factor repeated algorithm...
14319         (transfer_entries): ...into new helper routine.
14320         (hash_delete): React to hash_rehash return value.
14321
14322         hash: reduce memory pressure in hash_rehash no-op case
14323         * lib/hash.c (next_prime): Avoid overflow.
14324         (hash_initialize): Factor bucket size computation...
14325         (compute_bucket_size): ...into new helper function.
14326         (hash_rehash): Use new function and open coding to reduce memory
14327         pressure, and avoid a memory leak in USE_OBSTACK code.
14328         Reported by Jim Meyering.
14329
14330 2009-06-18  Eric Blake  <ebb9@byu.net>
14331
14332         hash: make rotation more obvious
14333         * modules/hash (Depends-on): Add bitrotate and stdint.
14334         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
14335         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
14336         (SIZE_MAX): Rely on headers for definition.
14337         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
14338         (raw_hasher): Use rotr_sz.
14339         Suggested by Jim Meyering.
14340
14341         hash: fix memory leak in last patch
14342         * lib/hash.c (hash_rehash): Avoid memory leak.
14343
14344         hash: avoid no-op rehashing
14345         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
14346
14347         hash: provide default callback functions
14348         * lib/hash.c (raw_hasher, raw_comparator): New functions.
14349         (hash_initialize): Use them as defaults.
14350         * tests/test-hash.c (main): Test this.
14351
14352         hash: minor optimization
14353         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
14354         when possible.
14355         (hash_initialize): Document this promise.
14356         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
14357         * tests/test-hash.c (hash_compare_strings): Test this.
14358
14359 2009-06-18  Bruno Haible  <bruno@clisp.org>
14360
14361         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
14362         going to be replaced anyway.
14363
14364 2009-06-18  Bruno Haible  <bruno@clisp.org>
14365
14366         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
14367         in one place.
14368         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
14369         be replaced anyway.
14370
14371 2009-06-18  Eric Blake  <ebb9@byu.net>
14372
14373         hash: check for resize before insertion
14374         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
14375         threshold before insertion, so that a pathological hash_rehash
14376         that fills every bucket can still trigger another rehash.
14377
14378 2009-06-18  Jim Meyering  <meyering@redhat.com>
14379
14380         hash-tests: add a loop around the small tests
14381         * tests/test-hash.c (main): Repeat small tests with selected
14382         small initial table sizes.
14383
14384 2009-06-17  Eric Blake  <ebb9@byu.net>
14385
14386         hash: minor cleanups
14387         * lib/hash.h (hash_entry): Make opaque, by moving...
14388         * lib/hash.c (hash_entry): ...here.
14389         (hash_insert): Clarify restrictions on what can be inserted.
14390         (hash_get_next): Clarify when it is safe to remove an element
14391         during traversal.
14392         (check_tuning): Skip verification when tuning is known safe.
14393         (hash_initialize): Clarify restrictions on tuning.
14394
14395 2009-06-17  Jim Meyering  <jim@meyering.net>
14396         and Eric Blake  <ebb9@byu.net>
14397
14398         hash-tests: new module
14399         * modules/hash-tests: New file.
14400         * tests/test-hash.c: New file.
14401
14402 2009-06-17  Eric Blake  <ebb9@byu.net>
14403
14404         strstr-simple: document new module
14405         * MODULES.html.sh: Document new module.
14406
14407         strstr, strcasestr: replace on platforms with broken memchr
14408         * modules/strstr: Split into...
14409         * modules/strstr-simple: ...new module that does not care about
14410         performance, but does care about glibc bug.
14411         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
14412         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
14413         if platform memchr is broken, per Debian bug 521737.
14414         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
14415         memchr.
14416         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
14417         * doc/posix-functions/strstr.texi (strstr): Document the fix.
14418         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
14419         * modules/mountlist (Depends-on): Add strstr-simple.
14420         * modules/gen-uni-tables (Depends-on): Likewise.
14421         * modules/argz (Depends-on): Add strstr.
14422
14423 2009-06-17  Bruno Haible  <bruno@clisp.org>
14424
14425         * modules/posix_spawn-internal (Depends-on): Add errno.
14426
14427 2009-06-17  Bruno Haible  <bruno@clisp.org>
14428
14429         Define missing ESTALE on Interix 3.5.
14430         * lib/errno.in.h (ESTALE): Assign a value if missing.
14431         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
14432         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
14433         missing.
14434         * doc/posix-headers/errno.texi: Mention the Interix bug.
14435         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
14436
14437 2009-06-15  Eric Blake  <ebb9@byu.net>
14438
14439         memchr, memchr2: add valgrind exception
14440         * lib/memchr.valgrind: New file.
14441         * lib/memchr2.valgrind: New file.
14442         * modules/memchr (Files): Distribute valgrind file.
14443         * modules/memchr2 (Files): Likewise.
14444
14445         docs: memchr is no longer obsolete
14446         * MODULES.html.sh: Move memchr from obsolete to string.h section.
14447         * lib/string.in.h (memchr): Simplify logic.
14448
14449 2009-06-14  Jim Meyering  <meyering@redhat.com>
14450
14451         link-follow: fix the "checking..." message to not mention trailing slash
14452         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
14453         never considered trailing slashes.
14454
14455 2009-06-14  Bruno Haible  <bruno@clisp.org>
14456
14457         * m4/memchr.m4: Mention also the bug on IA-64.
14458         * doc/posix-functions/memchr.texi: Likewise.
14459
14460 2009-06-12  Eric Blake  <ebb9@byu.net>
14461
14462         memchr: detect broken x86_64 and alpha implementations
14463         * modules/memchr-tests (Depends-on): Move mmap detection...
14464         * modules/memchr (Depends-on): ...here.
14465         (configure.ac): Set indicator.
14466         * lib/string.in.h (memchr): Declare replacement.
14467         * modules/string (Makefile.am): Trigger replacement.
14468         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
14469         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
14470         bugs.
14471         * doc/posix-functions/memchr.texi (memchr): Document the bug.
14472         * modules/getpagesize (License): Relax license.
14473
14474 2009-06-11  Bruno Haible  <bruno@clisp.org>
14475
14476         * lib/idpriv.h: Add more references.
14477
14478 2009-06-08  Bruno Haible  <bruno@clisp.org>
14479
14480         Tests for module 'idpriv-droptemp'.
14481         * modules/idpriv-droptemp-tests: New file.
14482         * tests/test-idpriv-droptemp.sh: New file.
14483         * tests/test-idpriv-droptemp.su.sh: New file.
14484         * tests/test-idpriv-droptemp.c: New file.
14485
14486         New module 'idpriv-droptemp'.
14487         * lib/idpriv-droptemp.c: New file.
14488         * modules/idpriv-droptemp: New file.
14489
14490 2009-06-08  Bruno Haible  <bruno@clisp.org>
14491
14492         Tests for module 'idpriv-drop'.
14493         * modules/idpriv-drop-tests: New file.
14494         * tests/test-idpriv-drop.sh: New file.
14495         * tests/test-idpriv-drop.su.sh: New file.
14496         * tests/test-idpriv-drop.c: New file.
14497
14498         New module 'idpriv-drop'.
14499         * lib/idpriv.h: New file.
14500         * lib-idpriv-drop.c: New file.
14501         * m4/idpriv.m4: New file.
14502         * modules/idpriv-drop: New file.
14503
14504 2009-06-08  Bruno Haible  <bruno@clisp.org>
14505
14506         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
14507         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
14508         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
14509         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
14510         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
14511         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
14512         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
14513
14514 2009-06-08  Eric Blake  <ebb9@byu.net>
14515
14516         test-strstr: use memory fence, when possible
14517         * tests/test-strstr.c (main): Use memory fence, in order to be
14518         more likely to trigger Debian bug 521737.
14519         * modules/strstr-tests (Files): Pull in additional files.
14520
14521         memchr: no longer obsolete, for wider field testing
14522         * modules/memchr (Status, Notice): Delete, this module is no
14523         longer obsolete.
14524         * modules/vasnprintf (Depends-on): Add memchr.
14525
14526 2009-06-07  Jim Meyering  <meyering@redhat.com>
14527
14528         hash: declare some functions with the warn_unused_result attribute
14529         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
14530
14531 2009-06-07  Bruno Haible  <bruno@clisp.org>
14532
14533         * tests/test-alignof.c: Don't test int64_t if it does not exist.
14534         Reported by Eric Blake.
14535
14536 2009-06-06  Eric Blake  <ebb9@byu.net>
14537
14538         test-alignof: fix typo with long double
14539         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
14540         compiler error.
14541
14542 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
14543
14544         Escape non-texinfo { and }s.
14545         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
14546         markup error.
14547
14548 2009-06-04  Jim Meyering  <meyering@redhat.com>
14549
14550         gitlog-to-changelog: don't infloop on an empty commit log
14551         * build-aux/gitlog-to-changelog: Warn about an empty log message.
14552         Reported by Boris Petersen <transacid@centerim.org>.
14553
14554 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
14555
14556         version-etc: extend for packagers
14557         Add three new configure options, intended for packagers:
14558           --with-packager="packager name"
14559           --with-packager-version="packager-specific version"
14560           --with-packager-bug-reports="packager bug reporting"
14561         An example with coreutils:
14562           $ ./configure \
14563             --with-packager=Gentoo \
14564             --with-packager-bug-report=http://bugs.gentoo.org/ \
14565             --with-packager-version="patchset 1.6"
14566           $ ./src/ls --version | head -n2
14567           ls (GNU coreutils) 7.1-dirty
14568           Packaged by Gentoo (patchset 1.6)
14569         Note that the bug reporting info via --help doesn't show up because
14570         coreutils uses its own custom emit_bug_reporting_address() implementation
14571         in src/system.h.  If it didn't, it'd look like:
14572           $ ./src/ls --help | tail -n4
14573           Report bugs to <bug-coreutils@gnu.org>.
14574           Report Gentoo bugs to <http://bugs.gentoo.org/>.
14575           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
14576           General help using GNU software: <http://www.gnu.org/gethelp/>.
14577         * lib/version-etc.c: Print new information, if provided.
14578         * m4/version-etc.m4: New file.
14579         * modules/version-etc (Files): Add m4/version-etc.m4.
14580         (configure.ac): Add gl_VERSION_ETC.
14581
14582 2009-05-31  Bruno Haible  <bruno@clisp.org>
14583
14584         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
14585         and 'int64_t'.
14586         * modules/alignof-tests (Dependencies): Add stdint.
14587         Reported by Eric Blake.
14588
14589 2009-05-31  Bruno Haible  <bruno@clisp.org>
14590
14591         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
14592         restriction due to compiler bugs.
14593         Reported by Eric Blake.
14594
14595 2009-05-31  Simon Josefsson  <simon@josefsson.org>
14596             Bruno Haible  <bruno@clisp.org>
14597
14598         Fix test-alignof failure.
14599         * lib/alignof.h (alignof_slot): New macro.
14600         (alignof_type): New macro, with the same semantics as the previous
14601         'alignof'.
14602         (alignof): Alias to alignof_slot.
14603         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
14604         check that the results are usable as constant expressions.
14605
14606 2009-05-31  Bruno Haible  <bruno@clisp.org>
14607
14608         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
14609         * tests/test-memchr.c (main): Check that memchr does not read past the
14610         first occurrence of the byte.
14611         * tests/test-strstr.c (main): Update comment.
14612         Suggested by Eric Blake.
14613
14614 2009-05-30  Bruno Haible  <bruno@clisp.org>
14615
14616         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
14617         detail how to use dumpbin.
14618         Reported by David Byron <dbyron@dbyron.com>.
14619
14620 2009-06-02  Simon Josefsson  <simon@josefsson.org>
14621
14622         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
14623
14624 2009-06-02  Simon Josefsson  <simon@josefsson.org>
14625
14626         * m4/manywarnings.m4: Add GCC 4.4 warnings.
14627
14628 2009-05-28  Bruno Haible  <bruno@clisp.org>
14629
14630         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
14631         build-aux/ files.
14632
14633 2009-05-28  Simon Josefsson  <simon@josefsson.org>
14634
14635         * gnulib-tool (func_import): Transform license on build-aux/ files too.
14636
14637 2009-05-27  Simon Josefsson  <simon@josefsson.org>
14638
14639         * gnulib-tool (sed_transform_main_lib_file)
14640         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
14641         regexps.
14642
14643 2009-05-26  Simon Josefsson  <simon@josefsson.org>
14644
14645         * tests/test-strstr.c: Add another self-test.
14646         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
14647         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
14648
14649 2009-05-23  Bruno Haible  <bruno@clisp.org>
14650
14651         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
14652         change.
14653
14654 2009-05-21  Bruno Haible  <bruno@clisp.org>
14655
14656         Simplify use of mode_t varargs.
14657         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
14658         uses 'mode_t' or 'int'.
14659         * lib/openat.c (openat): Likewise.
14660         * lib/open-safer.c (open_safer): Likewise.
14661         * m4/mode_t.m4: New file.
14662         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
14663         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
14664         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
14665         * modules/open (Files): Add m4/mode_t.m4.
14666         * modules/openat (Files): Likewise.
14667         * modules/fcntl-safer (Files): Likewise.
14668         Suggested by Eric Blake.
14669
14670 2009-05-21  Pádraig Brady  <P@draigbrady.com>
14671
14672         * doc/glibc-functions/fallocate.texi: New file.
14673         * doc/gnulib.texi: Include it.
14674
14675 2009-05-21  Eric Blake  <ebb9@byu.net>
14676             Bruno Haible  <bruno@clisp.org>
14677
14678         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
14679         invocations.
14680         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
14681
14682 2009-05-21  Eric Blake  <ebb9@byu.net>
14683             Bruno Haible  <bruno@clisp.org>
14684
14685         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
14686         include_next. Fix of 2008-11-20 commit.
14687         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
14688         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
14689         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
14690         NEXT_MATH_H.
14691         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
14692         instead of NEXT_MATH_H.
14693
14694 2009-05-21  Bruno Haible  <bruno@clisp.org>
14695
14696         Avoid redefinition warnings for SIZE_MAX.
14697         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
14698         Reported by Simon Josefsson.
14699
14700 2009-05-21  Bruno Haible  <bruno@clisp.org>
14701
14702         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
14703         AC_CACHE_VAL.
14704
14705 2009-05-20  Bruno Haible  <bruno@clisp.org>
14706
14707         Make zeroptr.h work on mingw.
14708         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
14709         mprotect.
14710         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
14711         * modules/memchr2-tests (configure.ac): Likewise.
14712         * modules/memcmp-tests (configure.ac): Likewise.
14713         * modules/memmem-tests (configure.ac): Likewise.
14714         * modules/memrchr-tests (configure.ac): Likewise.
14715         Reported by Simon Josefsson.
14716
14717 2009-05-20  Simon Josefsson  <simon@josefsson.org>
14718
14719         * tests/test-glob.c: Include string.h for strcmp prototype.
14720
14721 2009-05-20  Simon Josefsson  <simon@josefsson.org>
14722
14723         * modules/getdelim (Depends-on): Add explicit stdint, although it
14724         was implicitly already pulled in via realloc-posix.
14725         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
14726
14727 2009-05-20  Simon Josefsson  <simon@josefsson.org>
14728
14729         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
14730         G. Christensen" <tgc@jupiterrise.com>.
14731         * m4/sys_socket_h.m4: Check for sa_family_t.
14732         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
14733         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
14734         * tests/test-sys_socket.c: Check that sa_family_t works.
14735
14736 2009-05-18  Eric Blake  <ebb9@byu.net>
14737
14738         maint.mk: allow gnulib_dir in VPATH build
14739         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
14740
14741 2009-05-15  Jim Meyering  <meyering@redhat.com>
14742
14743         maint.mk: Give gnulib_dir a default definition.
14744         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
14745         Thus, most packages no longer need to specify this variable in cfg.mk
14746
14747 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
14748
14749         rename.m4: fix typos that would make non-mingw cross-configure fail
14750         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
14751
14752 2009-05-13  Eric Blake  <ebb9@byu.net>
14753
14754         mmap-anon: avoid out-of-order autoconf expansion
14755         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
14756         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
14757         * modules/memchr-tests (Depends-on): Add extensions.
14758         * modules/memchr2-tests (Depends-on): Add extensions.
14759         * modules/memcmp-tests (Depends-on): Add extensions.
14760         * modules/memmem-tests (Depends-on): Add extensions.
14761         * modules/memrchr-tests (Depends-on): Add extensions.
14762
14763 2009-05-13  Bruno Haible  <bruno@clisp.org>
14764
14765         Make some tests ISO C 99 compliant.
14766         * tests/zerosize-ptr.h: New file.
14767         * tests/test-memchr.c: Include zerosize-ptr.h.
14768         (main): Use a zero-size object pointer instead of NULL.
14769         * tests/test-memchr2.c: Include zerosize-ptr.h.
14770         (main): Use a zero-size object pointer instead of NULL.
14771         * tests/test-memcmp.c: Include zerosize-ptr.h.
14772         (main): Use a zero-size object pointer instead of NULL.
14773         * tests/test-memmem.c: Include zerosize-ptr.h.
14774         (main): Use a zero-size object pointer instead of NULL.
14775         * tests/test-memrchr.c: Include zerosize-ptr.h.
14776         (main): Use a zero-size object pointer instead of NULL.
14777         * modules/memchr-tests (Files): Add tests/zerosize-ptr.h,
14778         m4/mmap-anon.m4.
14779         (Depends-on): Add getpagesize.
14780         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
14781         * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h,
14782         m4/mmap-anon.m4.
14783         (Depends-on): Add getpagesize.
14784         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
14785         * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h,
14786         m4/mmap-anon.m4.
14787         (Depends-on): Add getpagesize.
14788         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
14789         * modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
14790         m4/mmap-anon.m4.
14791         (Depends-on): Add getpagesize.
14792         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
14793         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
14794         m4/mmap-anon.m4.
14795         (Depends-on): Add getpagesize.
14796         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
14797
14798 2009-05-12  Bruno Haible  <bruno@clisp.org>
14799
14800         Tests for module 'alignof'.
14801         * modules/alignof-tests: New file.
14802         * tests/test-alignof.c: New file.
14803
14804 2009-05-12  Bruno Haible  <bruno@clisp.org>
14805
14806         Fix alignof macro.
14807         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
14808         vendor compilers that are always correct.
14809
14810 2009-05-12  Bruno Haible  <bruno@clisp.org>
14811
14812         Make the MAP_ANONYMOUS detection work on HP-UX 11.
14813         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
14814         not whether its fully works.
14815
14816 2009-05-12  Bruno Haible  <bruno@clisp.org>
14817
14818         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
14819
14820 2009-05-12  Jim Meyering  <meyering@redhat.com>
14821
14822         * top/maint.mk: Adjust backslash alignment.
14823
14824 2009-05-11  Simon Josefsson  <simon@josefsson.org>
14825
14826         * top/maint.mk: Make $(srcdir)/build-aux configurable.
14827
14828 2009-05-11  Eric Blake  <ebb9@byu.net>
14829
14830         argp: avoid undefined behavior
14831         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
14832         macros.
14833
14834 2009-05-08  Simon Josefsson  <simon@josefsson.org>
14835
14836         * tests/test-vc-list-files-git.sh: Do git config of user.email and
14837         user.name to prevent git commit from complaining.
14838
14839 2009-05-10  Bruno Haible  <bruno@clisp.org>
14840
14841         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
14842         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
14843         it rewrites every file name only once.
14844         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
14845
14846 2009-05-08  Bruno Haible  <bruno@clisp.org>
14847
14848         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
14849         instead of 'max'.
14850
14851 2009-05-08  Simon Josefsson  <simon@josefsson.org>
14852
14853         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
14854         sockaddr_storage test.
14855
14856 2009-05-07  Simon Josefsson  <simon@josefsson.org>
14857
14858         * modules/sys_socket (Makefile.am): Substitute
14859         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
14860         * m4/sys_socket_h.m4: Check for sockaddr_storage.
14861         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
14862         * tests/test-sys_socket.c: Check sockaddr_storage.
14863
14864 2009-05-08  Bruno Haible  <bruno@clisp.org>
14865
14866         New module 'alignof'.
14867         * lib/alignof.h: New file.
14868         * modules/alignof: New file.
14869
14870 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
14871             Bruno Haible  <bruno@clisp.org>
14872
14873         Fix test-file-has-acl on FreeBSD.
14874         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
14875         mask is implicitly added.
14876         * tests/test-file-has-acl.c: Include <signal.h>.
14877         (main): Terminate the test after 5 seconds.
14878         * modules/acl-tests (configure.ac): Check for alarm function.
14879
14880 2009-05-04  Bruno Haible  <bruno@clisp.org>
14881
14882         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
14883         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
14884         * modules/errno (configure.ac): Drop AC_REQUIRE.
14885         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
14886         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
14887
14888 2009-05-04  Simon Josefsson  <simon@josefsson.org>
14889
14890         * modules/glob-tests: New module.
14891         * tests/test-glob.c: Add.
14892
14893 2009-05-04  Simon Josefsson  <simon@josefsson.org>
14894
14895         * modules/fnmatch-tests: New module.
14896         * tests/test-fnmatch.c: Add.
14897
14898 2009-05-04  Eric Blake  <ebb9@byu.net>
14899
14900         maint: make the new no-submodule-changes rule VPATH-safe
14901         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
14902
14903 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
14904             Bruno Haible  <bruno@clisp.org>
14905
14906         acl: Fix infinite loop on FreeBSD.
14907         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
14908         of return value from acl_get_entry.
14909         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
14910         Likewise.
14911
14912 2009-05-03  Bruno Haible  <bruno@clisp.org>
14913
14914         * lib/acl-internal.h (acl_entries): Clarify return value.
14915         * lib/acl_entries.c (acl_entries): Likewise.
14916
14917 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
14918
14919         Bug fix in acl module.
14920         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
14921
14922 2009-05-03  Bruno Haible  <bruno@clisp.org>
14923
14924         Create gperf-generated file in the source dir, not in the build dir.
14925         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
14926         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
14927         * modules/unicase/locale-language (unicase/locale-languages.h):
14928         Likewise.
14929         * modules/unicase/special-casing (unicase/special-casing-table.h):
14930         Likewise.
14931         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
14932         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
14933         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
14934         Reported by Ralf Wildenhues.
14935
14936 2009-05-03  Bruno Haible  <bruno@clisp.org>
14937
14938         * modules/fnmatch (Description, configure.ac): Taken from
14939         fnmatch-posix.
14940         * modules/fnmatch-posix: Turn into a symbolic reference to the
14941         'fnmatch' module, and deprecate.
14942         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
14943
14944 2009-05-03  Bruno Haible  <bruno@clisp.org>
14945
14946         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
14947         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
14948         Reported by Ralf Wildenhues.
14949
14950 2009-05-04  Simon Josefsson  <simon@josefsson.org>
14951
14952         * m4/fnmatch.m4: Fix fnmatch re-define.
14953
14954 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
14955
14956         priv-set: new module and tests; adapt write-any-file
14957         * lib/priv-set.c: New file.
14958         * lib/priv-set.h: New file.
14959         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
14960         * lib/write-any-file.c: Simplify by using priv-set module.
14961         * m4/priv-set.m4: New file.
14962         * modules/priv-set: New file.
14963         * modules/unlinkdir: Add dependency on priv-set module.
14964         * modules/write-any-file: Likewise.
14965
14966         Tests for module 'priv-set'.
14967         * modules/priv-set-tests: New file.
14968         * tests/test-priv-set.c: New file.
14969
14970 2009-05-03  Jim Meyering  <meyering@redhat.com>
14971             Bruno Haible  <bruno@clisp.org>
14972
14973         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
14974         use the converted UTF-8 variant of the name instead.
14975
14976 2009-05-03  Jim Meyering  <meyering@redhat.com>
14977
14978         tests: tighten some getdate tests
14979         * tests/test-getdate.c (main): Tighten tests: require equality,
14980         not just greater than.  Set TZ envvar to UTC0.
14981
14982 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
14983
14984         getdate: correctly interpret "next monday" when run on a Monday
14985         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
14986         that e.g., "next tues" (when run on a tuesday) results in a date
14987         that is one week in the future, and not today's date.
14988         I.e., add a week when the wday is the same as the current one.
14989         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
14990         and earlier by Martin Bernreuther and Jan Minář.
14991         * tests/test-getdate.c (main): Check that "next DAY" is always in
14992         the future and that "last DAY" is always in the past.
14993
14994 2009-05-02  Jim Meyering  <meyering@redhat.com>
14995
14996         build: ensure that a release build fails when a submodule is unclean
14997         * top/maint.mk (no-submodule-changes): New rule.
14998         (alpha beta major): Depend on it.
14999
15000 2009-05-02  Bruno Haible  <bruno@clisp.org>
15001
15002         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
15003         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
15004         shell variable gl_fnmatch_required to detect which variant is
15005         requested.
15006         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
15007         gl_FUNC_FNMATCH_POSIX.
15008         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
15009         exclude fnmatch-posix.
15010
15011 2009-05-02  Bruno Haible  <bruno@clisp.org>
15012
15013         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
15014         * modules/mbsrtowcs (License): Change to LGPLv2+.
15015         * modules/strnlen1 (License): Likewise.
15016         Reported by Simon Josefsson.
15017
15018 2009-05-02  Bruno Haible  <bruno@clisp.org>
15019
15020         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
15021         "cross".
15022         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
15023         gnulib-tool was called with option --source-base=lib.
15024
15025 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15026
15027         Use automake *-local hooks without commands, for extensibility.
15028         * modules/localcharset (Makefile.am): Rename install-exec-local
15029         rule to install-exec-localcharset, and make it a prerequisite of
15030         install-exec-local.  Likewise, rename the uninstall-local rule to
15031         uninstall-localcharset, and make it a prerequisite of the former.
15032
15033 2009-05-01  Bruno Haible  <bruno@clisp.org>
15034
15035         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
15036         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
15037         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
15038         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
15039         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
15040         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
15041         m4/locale-zh.m4, m4/codeset.m4.
15042
15043         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
15044         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
15045         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
15046         m4/locale-zh.m4.
15047
15048         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
15049         REPLACE_WCRTOMB if mbstate_t must be replaced.
15050         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
15051         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
15052
15053 2009-05-01  Bruno Haible  <bruno@clisp.org>
15054
15055         Avoid compiler warnings when redefining macros defined by <libintl.h>.
15056         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
15057         dngettext, dcngettext, textdomain, bindtextdomain,
15058         bind_textdomain_codeset): Undefine before redefining.
15059
15060 2009-04-30  Bruno Haible  <bruno@clisp.org>
15061
15062         Fix bug introduced on 2009-04-25.
15063         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
15064         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
15065         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
15066         is defined.
15067         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
15068         is defined.
15069         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
15070         is defined.
15071         Reported by Elbert_Pol <elbert.pol@gmail.com>.
15072
15073 2009-04-28  Bruno Haible  <bruno@clisp.org>
15074
15075         Comment tweaks.
15076         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
15077         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
15078         * lib/unicase.h (u*_casexfrm): Likewise.
15079         Reported by Paolo Bonzini.
15080
15081 2009-04-28  Bruno Haible  <bruno@clisp.org>
15082
15083         Fix a compilation error.
15084         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
15085         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
15086         Reported by Jim Meyering.
15087
15088 2009-04-27  Bruno Haible  <bruno@clisp.org>
15089
15090         New module 'libunistring'.
15091         * modules/libunistring: New file.
15092         * m4/libunistring.m4: New file.
15093         * MODULES.html.sh (Unicode string functions): Add it.
15094
15095 2009-04-27  Eric Blake  <ebb9@byu.net>
15096
15097         maint.mk: allow package-specific header to provide <config.h>
15098         * top/maint.mk (sc_require_config_h): New variable.
15099         (sc_require_config_h, sc_require_config_h_first): Use it.
15100
15101 2009-04-27  Simon Josefsson  <simon@josefsson.org>
15102
15103         * top/maint.mk (sc_avoid_if_before_free): Except
15104         useless-if-before-free script.
15105
15106 2009-04-27  Eric Blake  <ebb9@byu.net>
15107
15108         maintainer-makefile: depend on all required helper scripts
15109         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
15110         useless-if-before-free.
15111         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
15112         version, rather than assuming gnulib checkout is available.
15113         Reported by Simen Josefsson.
15114
15115 2009-04-26  Bruno Haible  <bruno@clisp.org>
15116
15117         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
15118         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
15119         "../" or "..".
15120
15121 2009-04-26  Bruno Haible  <bruno@clisp.org>
15122
15123         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
15124         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
15125         AC_LIB_HAVE_LINKFLAGS.
15126
15127 2009-04-26  Bruno Haible  <bruno@clisp.org>
15128
15129         Simplify calling convention of u*_conv_from_encoding.
15130         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
15131         u32_conv_from_encoding): Expect a resultbuf argument and return the
15132         result directly as a pointer.
15133         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
15134         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
15135         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
15136         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
15137         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
15138         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
15139         Update.
15140         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
15141         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
15142         * lib/vasnprintf.c (VASNPRINTF): Update.
15143         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
15144         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
15145         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
15146         * NEWS: Mention the change.
15147
15148 2009-04-26  Bruno Haible  <bruno@clisp.org>
15149
15150         Simplify calling convention of u*_conv_to_encoding.
15151         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
15152         u32_conv_to_encoding): Expect a resultbuf argument and return the
15153         result directly as a pointer.
15154         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
15155         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
15156         freeing scaled_offsets if mem_iconveha failed.
15157         * lib/unicase/u-casexfrm.h (FUNC): Update.
15158         * lib/uninorm/u-normxfrm.h (FUNC): Update.
15159         * lib/vasnprintf.c (VASNPRINTF): Update.
15160         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
15161         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
15162         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
15163         * NEWS: Mention the change.
15164
15165 2009-04-26  Bruno Haible  <bruno@clisp.org>
15166
15167         Avoid test failures on AIX and OSF/1.
15168         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
15169         malloc(0).
15170         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
15171         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
15172         Likewise.
15173         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
15174         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
15175         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
15176         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
15177         * doc/posix-functions/malloc.texi: Document the portability problem
15178         related to malloc(0).
15179
15180 2009-04-26  Bruno Haible  <bruno@clisp.org>
15181
15182         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
15183         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
15184         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
15185
15186 2009-04-25  Bruno Haible  <bruno@clisp.org>
15187
15188         Avoid link error when creating a namespace clean library.
15189         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
15190         as macro with arguments if already defined as an alias.
15191         * lib/signbitf.c (gl_signbitf): Don't undefine.
15192         * lib/signbitd.c (gl_signbitd): Don't undefine.
15193         * lib/signbitl.c (gl_signbitl): Don't undefine.
15194
15195 2009-04-25  Jim Meyering  <meyering@redhat.com>
15196
15197         vc-list-files: fix another quoting bug
15198         * build-aux/vc-list-files: Avoid sed backslash expansion
15199         of pathological directory names.
15200
15201 2009-04-25  Eric Blake  <ebb9@byu.net>
15202
15203         vc-list-files: fix shell quoting error
15204         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
15205         timestamp.
15206
15207 2009-04-25  Jim Meyering  <meyering@redhat.com>
15208
15209         vc-list-files: restore lost functionality with subdir argument
15210         * build-aux/vc-list-files: When given a non-"." sub-directory
15211         argument, substitute the $dir/ prefix back onto each resulting name.
15212         Otherwise, coreutils' root_tests check would fail.
15213
15214 2009-04-24  Eric Blake  <ebb9@byu.net>
15215
15216         vc-list-files: ignore git symlinks
15217         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
15218         than ls-files, to ignore git symlinks.
15219
15220         maint.mk: import improvements from m4
15221         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
15222         (move_if_change): Delete unused macro.
15223         (news-date-check, vc-diff-check): Support VPATH builds.
15224         (announcement): Likewise.  Split --bootstrap-tools list...
15225         (boostrap-tools): ...into separate list, which can be overridden
15226         in cfg.mk.
15227         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
15228         requiring dependency on useless-if-before-free module.
15229         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
15230         Support VPATH builds.
15231
15232 2009-04-24  Jim Meyering  <meyering@redhat.com>
15233
15234         maint.mk: remove coreutils-specific rules and variables
15235         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
15236         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
15237         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
15238
15239         maint.mk: remove obsolete rule
15240         * top/maint.mk (rel-check): Remove rule.
15241         (WGET, WGETFLAGS): Remove now-unused variables.
15242
15243 2009-04-24  Simon Josefsson  <simon@josefsson.org>
15244
15245         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
15246         consistency.
15247
15248         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
15249         '$(PATH_SEPARATOR)' instead of ':'.
15250
15251 2009-04-24  Simon Josefsson  <simon@josefsson.org>
15252
15253         * lib/getopt1.c (main): Use 'const' for static array.
15254
15255 2009-04-24  Simon Josefsson  <simon@josefsson.org>
15256
15257         * top/maint.mk: Sync with coreutils.
15258         * NEWS: Explain incompatibilities.
15259
15260 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
15261             Bruno Haible  <bruno@clisp.org>
15262
15263         Fix cross-compilation results.
15264         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
15265         statement, as third argument of AC_TRY_RUN.
15266         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
15267         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
15268         Likewise.
15269         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
15270         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
15271         Likewise.
15272         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
15273         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
15274         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
15275
15276 2009-04-20  Bruno Haible  <bruno@clisp.org>
15277
15278         Avoid test failure on mingw.
15279         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
15280
15281 2009-04-20  Bruno Haible  <bruno@clisp.org>
15282
15283         Avoid compilation error on mingw.
15284         * modules/localename-tests (Depends-on): Add locale.
15285
15286 2009-04-19  Bruno Haible  <bruno@clisp.org>
15287
15288         Support for building a shared library on Windows platforms.
15289         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
15290         (main): Test the presence of UNINORM_NFC here.
15291         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
15292         (main): Test the presence of UNINORM_NFD here.
15293         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
15294         (main): Test the presence of UNINORM_NFKC here.
15295         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
15296         (main): Test the presence of UNINORM_NFKD here.
15297
15298 2009-04-19  Bruno Haible  <bruno@clisp.org>
15299
15300         Avoid a compiler warning.
15301         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
15302         Change type of variable 'sequence'.
15303
15304 2009-04-19  Bruno Haible  <bruno@clisp.org>
15305
15306         * modules/configmake (Makefile.am): When the contents of configmake.h
15307         does not change, arrange to preserve its modification time.
15308
15309 2009-04-17  Simon Josefsson  <simon@josefsson.org>
15310
15311         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
15312         gettext domain.
15313
15314 2009-04-16  Jim Meyering  <meyering@redhat.com>
15315
15316         useless-if-before-free: improve conversion code
15317         * build-aux/useless-if-before-free: Adjust code-in-comment to match
15318         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
15319
15320 2009-04-14  Bruno Haible  <bruno@clisp.org>
15321
15322         * modules/fcntl (Depends-on): Add extensions.
15323         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
15324
15325 2009-04-12  Ben Pfaff  <blp@gnu.org>
15326
15327         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
15328         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
15329
15330 2009-03-20  Ben Pfaff  <blp@gnu.org>
15331
15332         Make rename replace existing destinations on Windows.
15333         * m4/rename.m4: Add test for Mingw.
15334         * lib/rename.c: Add rename replacement that uses MoveFileEx with
15335         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
15336         * doc/posix-functions/rename.texi: Document.
15337
15338 2009-04-10  Bruno Haible  <bruno@clisp.org>
15339
15340         New include file "iconveh.h".
15341         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
15342         * lib/striconveh.h: Include it.
15343         (enum iconv_ilseq_handler): Remove definition.
15344         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
15345         striconveh.h.
15346         * lib/striconveha.c: Include striconveh.h.
15347         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
15348         * modules/striconveh (Files): Add lib/iconveh.h.
15349         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
15350         lib/striconveh.h.
15351
15352 2009-04-10  Bruno Haible  <bruno@clisp.org>
15353
15354         * lib/uniconv.h: Update comment.
15355
15356 2009-04-10  Bruno Haible  <bruno@clisp.org>
15357
15358         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
15359         always.
15360         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
15361         * lib/unistr/u16-mbtouc-aux.c: Likewise.
15362         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
15363         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
15364         "unistring-notinline.h", so that the function gets defined always.
15365         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
15366         * lib/unistr/u8-uctomb.c: Likewise.
15367         * lib/unistr/u16-mbtouc.c: Likewise.
15368         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
15369         * lib/unistr/u16-uctomb.c: Likewise.
15370         * lib/unistr/u32-mbtouc.c: Likewise.
15371         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
15372         * lib/unistr/u32-uctomb.c: Likewise.
15373
15374 2009-04-10  Bruno Haible  <bruno@clisp.org>
15375
15376         Mark 'utime' obsolete.
15377         * modules/utime (Status, Notice): New sections.
15378         Suggested by Jim Meyering.
15379
15380         Fix cross-compile guess for utime test.
15381         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
15382         autoconf.
15383         * doc/posix-functions/utime.texi: Give more precisions.
15384         Reported by Jan <ipif@ymail.com>.
15385
15386 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
15387
15388         filevercmp: correct today's change
15389         * lib/filevercmp.c: Also handle coreutils' test inputs.
15390         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
15391
15392         Fix regression in 'filevercmp' module. Thanks Sven Joachim
15393         for reporting it.
15394         * lib/filevercmp.c: Special handle for "", "." and "..".
15395         * tests/test-filevercmp.c: Enlarge the set suite.
15396
15397 2009-04-07  Jim Meyering  <meyering@redhat.com>
15398
15399         useless-if-before-free: show how to remove braced useless free, too
15400         * build-aux/useless-if-before-free: still only in a comment, though.
15401
15402 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
15403
15404         maint.mk: import changes to syntax-check macros from coreutils
15405         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
15406         Use them in the relevant macros.
15407
15408 2009-04-06  Bruno Haible  <bruno@clisp.org>
15409
15410         Fix unportable use of bit-fields.
15411         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
15412         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
15413         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
15414
15415 2009-04-06  Bruno Haible  <bruno@clisp.org>
15416
15417         Avoid test failures on AIX and OSF/1.
15418         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
15419         that malloc(0) = NULL.
15420         * tests/unicase/test-u8-tolower.c (check): Likewise.
15421         * tests/unicase/test-u8-totitle.c (check): Likewise.
15422         * tests/unicase/test-u8-toupper.c (check): Likewise.
15423         * tests/unicase/test-u16-casefold.c (check): Likewise.
15424         * tests/unicase/test-u16-tolower.c (check): Likewise.
15425         * tests/unicase/test-u16-totitle.c (check): Likewise.
15426         * tests/unicase/test-u16-toupper.c (check): Likewise.
15427         * tests/unicase/test-u32-casefold.c (check): Likewise.
15428         * tests/unicase/test-u32-tolower.c (check): Likewise.
15429         * tests/unicase/test-u32-totitle.c (check): Likewise.
15430         * tests/unicase/test-u32-toupper.c (check): Likewise.
15431         * tests/uninorm/test-u8-nfc.c (check): Likewise.
15432         * tests/uninorm/test-u8-nfd.c (check): Likewise.
15433         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
15434         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
15435         * tests/uninorm/test-u16-nfc.c (check): Likewise.
15436         * tests/uninorm/test-u16-nfd.c (check): Likewise.
15437         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
15438         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
15439         * tests/uninorm/test-u32-nfc.c (check): Likewise.
15440         * tests/uninorm/test-u32-nfd.c (check): Likewise.
15441         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
15442         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
15443
15444 2009-04-05  Bruno Haible  <bruno@clisp.org>
15445
15446         Work around an autoconf limitation.
15447         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
15448         comment line if it would be longer than 3 KB.
15449
15450 2009-04-05  Bruno Haible  <bruno@clisp.org>
15451
15452         Avoid test failure with libiconv-1.13.
15453         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
15454         of the expected test results.
15455
15456 2009-04-05  Bruno Haible  <bruno@clisp.org>
15457
15458         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
15459         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
15460         that it should be installed.
15461
15462 2009-04-05  Bruno Haible  <bruno@clisp.org>
15463
15464         * gnulib-tool: New option --copy-file.
15465         (func_usage): Document it.
15466         (func_dest_tmpfilename): Moved out of func_import.
15467         (func_add_file, func_update_file): New functions, extracted from
15468         func_import.
15469         (func_import): Update.
15470
15471 2009-04-05  Karl Berry  <karl@gnu.org>
15472
15473         * README: prominently mention gnulib-tool.
15474         Rearrange sections so getting the code is near the top.
15475
15476 2009-04-05  Bruno Haible  <bruno@clisp.org>
15477
15478         * lib/unicase.h: Mention u*_cmp2.
15479         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
15480         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
15481         * lib/unicase/ulc-casecmp.c: Likewise.
15482         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
15483         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
15484         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
15485         unistr/u8-cmp.
15486         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
15487         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
15488         unistr/u16-cmp.
15489         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
15490         unistr/u32-cmp.
15491
15492         * lib/uninorm.h: Mention u*_cmp2.
15493         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
15494         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
15495         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
15496         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
15497         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
15498         unistr/u8-cmp.
15499         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
15500         unistr/u16-cmp.
15501         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
15502         unistr/u32-cmp.
15503
15504         New module 'unistr/u32-cmp2'.
15505         * lib/unistr/u32-cmp2.c: New file.
15506         * modules/unistr/u32-cmp2: New file.
15507
15508         New module 'unistr/u16-cmp2'.
15509         * lib/unistr/u16-cmp2.c: New file.
15510         * modules/unistr/u16-cmp2: New file.
15511
15512         New module 'unistr/u8-cmp2'.
15513         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
15514         * lib/unistr/u8-cmp2.c: New file.
15515         * lib/unistr/u-cmp2.h: New file.
15516         * modules/unistr/u8-cmp2: New file.
15517
15518 2009-04-05  Bruno Haible  <bruno@clisp.org>
15519
15520         * lib/unictype.h (uc_property_is_valid): New macro.
15521         * tests/unictype/test-pr_byname.c (main): Use it.
15522
15523         * lib/unistr.h: Doc fixes.
15524         * lib/uniconv.h: Doc fixes.
15525         * lib/unictype.h: Doc fixes.
15526
15527 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
15528
15529         Port coreutils 7.2 to Solaris 8.
15530
15531         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
15532         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
15533         for Solaris 8.  This is a bit of a hack, as it means it's the
15534         caller's responsibility to add -lnsl if needed, but most likely it
15535         won't be needed since only getaddrinfo uses this and getaddrinfo
15536         isn't needed on Solaris 8.
15537
15538         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
15539         problem to Solaris 8 encountered with coreutils 7.2, which
15540         resulted in a message "fnmatch.c:292: warning: passing argument 4
15541         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
15542         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
15543
15544 2009-04-03  Simon Josefsson  <simon@josefsson.org>
15545
15546         * m4/ld-version-script.m4: Add FIXME comment.
15547
15548 2009-04-02  Simon Josefsson  <simon@josefsson.org>
15549
15550         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
15551         SOVERSION variable.
15552
15553 2009-04-02  Bruno Haible  <bruno@clisp.org>
15554
15555         * Makefile (info, html, dvi, pdf): Combine the rules.
15556         Suggested by Jim Meyering.
15557
15558 2009-04-01  Bruno Haible  <bruno@clisp.org>
15559
15560         * Makefile (info, html, dvi, pdf): New targets.
15561         Reported by Reuben Thomas <rrt@sc3d.org>.
15562
15563 2009-04-01  Bruno Haible  <bruno@clisp.org>
15564
15565         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
15566         can be put into PATH.
15567         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
15568
15569 2009-04-01  Bruno Haible  <bruno@clisp.org>
15570
15571         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
15572
15573 2009-04-01  Bruno Haible  <bruno@clisp.org>
15574
15575         Rename module 'visibility'.
15576         * modules/lib-symbol-visibility: Renamed from modules/visibility.
15577         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
15578         * doc/gnulib.texi: Update.
15579         * MODULES.html.sh (Misc): Update.
15580         * NEWS: Mention the change.
15581
15582 2009-04-01  Simon Josefsson  <simon@josefsson.org>
15583
15584         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
15585         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
15586         Eric Blake <ebb9@byu.net> for review.
15587         * MODULES.html.sh: Add lib-msvc-compat.
15588         * doc/gnulib.texi: Link to new section.
15589         * m4/ld-output-def.m4: New file.
15590         * doc/ld-output-def.texi: New file.
15591
15592 2009-04-01  Simon Josefsson  <simon@josefsson.org>
15593
15594         Rename ld-version-script to lib-symbol-versions.  Suggested by
15595         Bruno Haible <bruno@clisp.org>.
15596         * modules/ld-version-script: Renamed to lib-symbol-versions.
15597         * doc/ld-version-script.texi: Fix module name.
15598         * MODULES.html.sh: Add lib-symbol-versions.
15599
15600 2009-03-31  Simon Josefsson  <simon@josefsson.org>
15601
15602         * modules/u64-tests: New file.
15603         * tests/test-u64.c: New file.
15604
15605 2009-03-04  Simon Josefsson  <simon@josefsson.org>
15606
15607         * MODULES.html.sh: Mention u64.
15608         * modules/u64: New module.
15609         * modules/crypto/sha512: Depend on u64 module instead of providing
15610         u64.h.
15611
15612 2009-03-27  Eric Blake  <ebb9@byu.net>
15613
15614         test-strerror: make debugging EAI_SYSTEM easier
15615         * modules/getaddrinfo-tests (Depends-on): Add strerror.
15616         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
15617         failure was EAI_SYSTEM.
15618
15619 2009-03-25  Bruno Haible  <bruno@clisp.org>
15620
15621         Fix a problem with --enable-relocatable on Solaris 7.
15622         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
15623         since 2008-02-24.
15624
15625 2009-03-25  Eric Blake  <ebb9@byu.net>
15626
15627         test-sockets: avoid gcc warning
15628         * tests/test-sockets.c (main): Silence compiler warning.
15629
15630 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
15631
15632         New modules nproc, pthread, contributed by Glen Lenker.
15633
15634         * MODULES.html.sh: Add pthread, nproc.
15635         * lib/nproc.c: New file.
15636         * lib/nproc.h: New file.
15637         * lib/pthread.in.h: New file.
15638         * m4/pthread.m4: New file.
15639         * modules/nproc: New file.
15640         * modules/pthread: New file.
15641
15642 2009-03-24  Simon Josefsson  <simon@josefsson.org>
15643
15644         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
15645         New variable.
15646
15647 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
15648
15649         filevercmp: handle simple~ and numbered.~3~ backup suffixes
15650         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
15651         * tests/test-filevercmp.c: Add tests for backup suffixes.
15652
15653 2009-03-24  Simon Josefsson  <simon@josefsson.org>
15654
15655         * modules/stdlib (Depends-on): Add stdint, needed when defining
15656         struct random_data on, for example, HP-UX 10.20.  Reported by
15657         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
15658
15659 2009-03-24  Simon Josefsson  <simon@josefsson.org>
15660
15661         * lib/readline.c (readline): Call fflush on stdout after printing
15662         prompt.
15663
15664 2009-03-20  Bruno Haible  <bruno@clisp.org>
15665
15666         Remove dependency from 'close' module to -lws2_32 on native Windows.
15667         * lib/close-hook.h: New file.
15668         * lib/close-hook.c: New file.
15669         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
15670         w32sock.h.
15671         (_gl_close_fd_maybe_socket): Remove function.
15672         (rpl_close): Invoke execute_all_close_hooks instead of
15673         _gl_close_fd_maybe_socket.
15674         * lib/sockets.c: Include close-hook.h, w32sock.h.
15675         (close_fd_maybe_socket): New function, essentially from lib/close.c.
15676         (close_sockets_hook): New variable.
15677         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
15678         (gl_sockets_cleanup): Unregister it.
15679         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
15680         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
15681         * modules/close-hook: New file.
15682         * modules/close (Files): Remove lib/w32sock.h.
15683         (Depends-on): Add close-hook.
15684         (Link): Remove section.
15685         * modules/sockets (Files): Add lib/w32sock.h.
15686         (Depends-on): Add close-hook.
15687         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
15688         invocation.
15689         * NEWS: Mention that LIB_CLOSE is gone.
15690
15691 2009-03-23  Eric Blake  <ebb9@byu.net>
15692
15693         signal-tests: test previous patch
15694         * tests/test-signal.c: New file.
15695         * modules/signal-tests: Likewise.
15696
15697         signal.h: always support 'volatile sig_atomic_t'
15698         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
15699         (gl_SIGNAL_H_DEFAULTS): Add a default.
15700         * modules/signal (Makefile.am): Substitute if needed.
15701         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
15702         users can blindly add volatile.
15703         * doc/posix-headers/signal.texi (signal.h): Document it.
15704         Reported by Matthew Woehlke.
15705
15706 2009-03-23  Jim Meyering  <meyering@redhat.com>
15707
15708         pathmax: PATH_MAX: use pathconf only when available
15709         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
15710         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
15711         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
15712         This avoids a link failure in a PSP cross-compilation environment
15713         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
15714
15715         * lib/vasnprintf.c (divide): Fix typo in comment.
15716
15717 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15718
15719         * gnulib-tool (func_filter_filelist): Fix comment.
15720
15721 2009-03-20  Bruno Haible  <bruno@clisp.org>
15722
15723         Make sockets.h self-contained.
15724         * lib/sockets.c: Include sockets.h first.
15725         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
15726
15727 2009-03-19  Eric Blake  <ebb9@byu.net>
15728
15729         doc: mention more functions added in cygwin 1.7.0
15730         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
15731         addition.
15732         * doc/posix-functions/log2f.texi: Likewise.
15733
15734 2009-03-19  Jim Meyering  <meyering@redhat.com>
15735
15736         fsusage: avoid syntax error due to statement-before-declaration
15737         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
15738         after all declarations.  Reported by Matthew Woehlke in
15739         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
15740
15741 2009-03-18  Eric Blake  <ebb9@byu.net>
15742
15743         build-aux/compile: sync from automake
15744         * build-aux/compile: New file, from automake.
15745         * config/srclist.txt: Mention build-aux/compile.
15746
15747 2009-03-17  Bruno Haible  <bruno@clisp.org>
15748
15749         * lib/git-merge-changelog.c: Fix typo in comment.
15750         Reported by Reuben Thomas <rrt@sc3d.org>.
15751
15752 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
15753
15754         * m4/regex.m4: update and improve help for
15755         --without-included-regex.
15756
15757 2009-03-17  Simon Josefsson  <simon@josefsson.org>
15758
15759         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
15760         failure on missing include files.
15761
15762 2009-03-17  Eric Blake  <ebb9@byu.net>
15763
15764         doc: mention more functions added in cygwin 1.7.0
15765         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
15766         addition.
15767         * doc/posix-functions/fwscanf.texi: Likewise.
15768         * doc/posix-functions/swprintf.texi: Likewise.
15769         * doc/posix-functions/swscanf.texi: Likewise.
15770         * doc/posix-functions/vfwprintf.texi: Likewise.
15771         * doc/posix-functions/vfwscanf.texi: Likewise.
15772         * doc/posix-functions/vswprintf.texi: Likewise.
15773         * doc/posix-functions/vswscanf.texi: Likewise.
15774         * doc/posix-functions/vwprintf.texi: Likewise.
15775         * doc/posix-functions/vwscanf.texi: Likewise.
15776         * doc/posix-functions/wcscasecmp.texi: Likewise.
15777         * doc/posix-functions/wcsdup.texi: Likewise.
15778         * doc/posix-functions/wcsftime.texi: Likewise.
15779         * doc/posix-functions/wcsncasecmp.texi: Likewise.
15780         * doc/posix-functions/wprintf.texi: Likewise.
15781         * doc/posix-functions/wscanf.texi: Likewise.
15782         * doc/glibc-functions/gethostbyname2.texi: Likewise.
15783
15784 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15785
15786         maint.mk: really add $(AM_MAKEFLAGS)
15787         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
15788         was inadvertently omitted in the last commit.
15789         Spotted by Bruno Haible.
15790
15791         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
15792         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
15793         $(AM_MAKEFLAGS)' rather than plain `make'.
15794
15795         gnulib-tool: execute $MAKE not make
15796         * gnulib-tool: Default $MAKE to 'make'.
15797         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
15798         than make.  Initialize $MAKE in the do-autobuild script.
15799
15800         gnulib-tool: use $MAKE not make in generated files
15801         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
15802         make, in generated files.  Initialize $MAKE in the do-autobuild
15803         script.
15804
15805         * top/GNUmakefile (_have-git-version-gen): Fix typo.
15806
15807         GNUmakefile: disable parallelism only for multiple, recursive targets
15808         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
15809         additions in the Makefile.
15810         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
15811         by Automake.
15812         (.NOTPARALLEL): Only disable parallel builds if multiple targets
15813         are listed on the command line and at least one of them is
15814         listed in $(ALL_RECURSIVE_TARGETS).
15815
15816 2009-03-14  Bruno Haible  <bruno@clisp.org>
15817
15818         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
15819         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
15820         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
15821         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
15822         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
15823         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
15824         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
15825         unistr/u8-uctomb.
15826         * modules/unistr/u8-strchr (Depends-on): Likewise.
15827         * modules/unistr/u8-strrchr (Depends-on): Likewise.
15828         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
15829         unistr/u16-uctomb.
15830         * modules/unistr/u16-strchr (Depends-on): Likewise.
15831         * modules/unistr/u16-strrchr (Depends-on): Likewise.
15832
15833 2009-03-12  Bruno Haible  <bruno@clisp.org>
15834
15835         Work around select() bug on Interix 3.5.
15836         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
15837         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
15838         * m4/select.m4: New file.
15839         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
15840         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
15841         * modules/select (Files): Add m4/select.m4.
15842         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
15843         * modules/nanosleep (Depends-on): Add select.
15844         * modules/poll (Depends-on): Likewise.
15845         * doc/posix-functions/select.texi: Mention the Interix bug.
15846         Reported by Markus Duft <mduft@gentoo.org>.
15847
15848         * lib/select.c: Renamed from lib/winsock-select.c.
15849         * modules/select (Files): Add lib/select.c, remove
15850         lib/winsock-select.c.
15851         (configure.ac): Update.
15852
15853 2009-03-12  Jim Meyering  <meyering@redhat.com>
15854
15855         avoid gcc warnings about unused macro definitions
15856         * lib/readtokens.c (STREQ): Remove unused definition.
15857         * lib/xmalloc.c (SIZE_MAX): Likewise.
15858         * lib/openat-die.c (N_): Likewise.
15859         * lib/mountlist.c (SIZE_MAX): Remove definition.
15860         Instead, include <stdint.h>.
15861         * lib/readutmp.c: Likewise.
15862         * modules/readutmp (Depends-on): Add stdint.
15863         * modules/mountlist (Depends-on): Add stdint.
15864         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
15865
15866 2009-03-10  Bruno Haible  <bruno@clisp.org>
15867
15868         Tests for module 'mbmemcasecoll'.
15869         * modules/mbmemcasecoll-tests: New file.
15870         * tests/test-mbmemcasecoll1.sh: New file.
15871         * tests/test-mbmemcasecoll2.sh: New file.
15872         * tests/test-mbmemcasecoll3.sh: New file.
15873         * tests/test-mbmemcasecoll.c: New file.
15874
15875         New module 'mbmemcasecoll'.
15876         * lib/mbmemcasecoll.h: New file.
15877         * lib/mbmemcasecoll.c: New file.
15878         * modules/mbmemcasecoll: New file.
15879
15880         * tests/test-mbmemcasecmp.h: New file, extracted from
15881         tests/test-mbmemcasecmp.c.
15882         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
15883         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
15884         (main): Update.
15885         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
15886
15887 2009-03-09  Bruno Haible  <bruno@clisp.org>
15888
15889         Tests for module 'mbmemcasecmp'.
15890         * modules/mbmemcasecmp-tests: New file.
15891         * tests/test-mbmemcasecmp1.sh: New file.
15892         * tests/test-mbmemcasecmp2.sh: New file.
15893         * tests/test-mbmemcasecmp3.sh: New file.
15894         * tests/test-mbmemcasecmp.c: New file.
15895
15896         New module 'mbmemcasecmp'.
15897         * lib/mbmemcasecmp.h: New file.
15898         * lib/mbmemcasecmp.c: New file.
15899         * modules/mbmemcasecmp: New file.
15900
15901 2009-03-09  Bruno Haible  <bruno@clisp.org>
15902
15903         Tests for module 'unicase/ulc-casecoll'.
15904         * modules/unicase/ulc-casecoll-tests: New file.
15905         * tests/unicase/test-ulc-casecoll1.sh: New file.
15906         * tests/unicase/test-ulc-casecoll2.sh: New file.
15907         * tests/unicase/test-ulc-casecoll.c: New file.
15908
15909         New module 'unicase/ulc-casecoll'.
15910         * lib/unicase.h (ulc_casecoll): New declaration.
15911         * lib/unicase/ulc-casecoll.c: New file.
15912         * modules/unicase/ulc-casecoll: New file.
15913
15914         New module 'unicase/ulc-casexfrm'.
15915         * lib/unicase.h (ulc_casexfrm): New declaration.
15916         * lib/unicase/ulc-casexfrm.c: New file.
15917         * modules/unicase/ulc-casexfrm: New file.
15918
15919 2009-03-09  Bruno Haible  <bruno@clisp.org>
15920
15921         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
15922         invocations.
15923
15924         * m4/mbscasecmp.m4: Remove file.
15925         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
15926         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
15927
15928         * m4/mbscasestr.m4: Remove file.
15929         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
15930         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
15931
15932         * m4/mbschr.m4: Remove file.
15933         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
15934         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
15935
15936         * m4/mbscspn.m4: Remove file.
15937         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
15938         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
15939
15940         * m4/mbslen.m4: Remove file.
15941         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
15942         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
15943
15944         * m4/mbsncasecmp.m4: Remove file.
15945         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
15946         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
15947
15948         * m4/mbsnlen.m4: Remove file.
15949         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
15950         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
15951
15952         * m4/mbspbrk.m4: Remove file.
15953         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
15954         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
15955
15956         * m4/mbspcasecmp.m4: Remove file.
15957         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
15958         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
15959
15960         * m4/mbsrchr.m4: Remove file.
15961         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
15962         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
15963
15964         * m4/mbssep.m4: Remove file.
15965         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
15966         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
15967
15968         * m4/mbsspn.m4: Remove file.
15969         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
15970         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
15971
15972         * m4/mbsstr.m4: Remove file.
15973         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
15974         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
15975
15976         * m4/mbstok_r.m4: Remove file.
15977         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
15978         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
15979
15980         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
15981
15982         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
15983         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
15984
15985         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
15986
15987 2009-03-08  Bruno Haible  <bruno@clisp.org>
15988
15989         Tests for module 'unicase/ulc-casecmp'.
15990         * modules/unicase/ulc-casecmp-tests: New file.
15991         * tests/unicase/test-ulc-casecmp1.sh: New file.
15992         * tests/unicase/test-ulc-casecmp2.sh: New file.
15993         * tests/unicase/test-ulc-casecmp.c: New file.
15994
15995         New module 'unicase/ulc-casecmp'.
15996         * lib/unicase.h (ulc_casecmp): New declaration.
15997         * lib/unicase/ulc-casecmp.c: New file.
15998         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
15999         'const SRC_UNIT *'.
16000         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
16001         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
16002         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
16003         * modules/unicase/ulc-casecmp: New file.
16004
16005         Tests for module 'unicase/u32-is-cased'.
16006         * modules/unicase/u32-is-cased-tests: New file.
16007         * tests/unicase/test-u32-is-cased.c: New file.
16008
16009         Tests for module 'unicase/u16-is-cased'.
16010         * modules/unicase/u16-is-cased-tests: New file.
16011         * tests/unicase/test-u16-is-cased.c: New file.
16012
16013         Tests for module 'unicase/u8-is-cased'.
16014         * modules/unicase/u8-is-cased-tests: New file.
16015         * tests/unicase/test-u8-is-cased.c: New file.
16016         * tests/unicase/test-is-cased.h: New file.
16017
16018         New module 'unicase/u32-is-cased'.
16019         * lib/unicase/u32-is-cased.c: New file.
16020         * modules/unicase/u32-is-cased: New file.
16021
16022         New module 'unicase/u16-is-cased'.
16023         * lib/unicase/u16-is-cased.c: New file.
16024         * modules/unicase/u16-is-cased: New file.
16025
16026         New module 'unicase/u8-is-cased'.
16027         * lib/unicase/u8-is-cased.c: New file.
16028         * lib/unicase/u-is-cased.h: New file.
16029         * modules/unicase/u8-is-cased: New file.
16030
16031         Tests for module 'unicase/u32-is-casefolded'.
16032         * modules/unicase/u32-is-casefolded-tests: New file.
16033         * tests/unicase/test-u32-is-casefolded.c: New file.
16034
16035         Tests for module 'unicase/u16-is-casefolded'.
16036         * modules/unicase/u16-is-casefolded-tests: New file.
16037         * tests/unicase/test-u16-is-casefolded.c: New file.
16038
16039         Tests for module 'unicase/u8-is-casefolded'.
16040         * modules/unicase/u8-is-casefolded-tests: New file.
16041         * tests/unicase/test-u8-is-casefolded.c: New file.
16042         * tests/unicase/test-is-casefolded.h: New file.
16043
16044         New module 'unicase/u32-is-casefolded'.
16045         * lib/unicase/u32-is-casefolded.c: New file.
16046         * modules/unicase/u32-is-casefolded: New file.
16047
16048         New module 'unicase/u16-is-casefolded'.
16049         * lib/unicase/u16-is-casefolded.c: New file.
16050         * modules/unicase/u16-is-casefolded: New file.
16051
16052         New module 'unicase/u8-is-casefolded'.
16053         * lib/unicase/u8-is-casefolded.c: New file.
16054         * modules/unicase/u8-is-casefolded: New file.
16055
16056         Tests for module 'unicase/u32-is-titlecase'.
16057         * modules/unicase/u32-is-titlecase-tests: New file.
16058         * tests/unicase/test-u32-is-titlecase.c: New file.
16059
16060         Tests for module 'unicase/u16-is-titlecase'.
16061         * modules/unicase/u16-is-titlecase-tests: New file.
16062         * tests/unicase/test-u16-is-titlecase.c: New file.
16063
16064         Tests for module 'unicase/u8-is-titlecase'.
16065         * modules/unicase/u8-is-titlecase-tests: New file.
16066         * tests/unicase/test-u8-is-titlecase.c: New file.
16067         * tests/unicase/test-is-titlecase.h: New file.
16068
16069         New module 'unicase/u32-is-titlecase'.
16070         * lib/unicase/u32-is-titlecase.c: New file.
16071         * modules/unicase/u32-is-titlecase: New file.
16072
16073         New module 'unicase/u16-is-titlecase'.
16074         * lib/unicase/u16-is-titlecase.c: New file.
16075         * modules/unicase/u16-is-titlecase: New file.
16076
16077         New module 'unicase/u8-is-titlecase'.
16078         * lib/unicase/u8-is-titlecase.c: New file.
16079         * modules/unicase/u8-is-titlecase: New file.
16080
16081         Tests for module 'unicase/u32-is-lowercase'.
16082         * modules/unicase/u32-is-lowercase-tests: New file.
16083         * tests/unicase/test-u32-is-lowercase.c: New file.
16084
16085         Tests for module 'unicase/u16-is-lowercase'.
16086         * modules/unicase/u16-is-lowercase-tests: New file.
16087         * tests/unicase/test-u16-is-lowercase.c: New file.
16088
16089         Tests for module 'unicase/u8-is-lowercase'.
16090         * modules/unicase/u8-is-lowercase-tests: New file.
16091         * tests/unicase/test-u8-is-lowercase.c: New file.
16092         * tests/unicase/test-is-lowercase.h: New file.
16093
16094         New module 'unicase/u32-is-lowercase'.
16095         * lib/unicase/u32-is-lowercase.c: New file.
16096         * modules/unicase/u32-is-lowercase: New file.
16097
16098         New module 'unicase/u16-is-lowercase'.
16099         * lib/unicase/u16-is-lowercase.c: New file.
16100         * modules/unicase/u16-is-lowercase: New file.
16101
16102         New module 'unicase/u8-is-lowercase'.
16103         * lib/unicase/u8-is-lowercase.c: New file.
16104         * modules/unicase/u8-is-lowercase: New file.
16105
16106         Tests for module 'unicase/u32-is-uppercase'.
16107         * modules/unicase/u32-is-uppercase-tests: New file.
16108         * tests/unicase/test-u32-is-uppercase.c: New file.
16109
16110         Tests for module 'unicase/u16-is-uppercase'.
16111         * modules/unicase/u16-is-uppercase-tests: New file.
16112         * tests/unicase/test-u16-is-uppercase.c: New file.
16113
16114         Tests for module 'unicase/u8-is-uppercase'.
16115         * modules/unicase/u8-is-uppercase-tests: New file.
16116         * tests/unicase/test-u8-is-uppercase.c: New file.
16117         * tests/unicase/test-is-uppercase.h: New file.
16118
16119         New module 'unicase/u32-is-uppercase'.
16120         * lib/unicase/u32-is-uppercase.c: New file.
16121         * modules/unicase/u32-is-uppercase: New file.
16122
16123         New module 'unicase/u16-is-uppercase'.
16124         * lib/unicase/u16-is-uppercase.c: New file.
16125         * modules/unicase/u16-is-uppercase: New file.
16126
16127         New module 'unicase/u8-is-uppercase'.
16128         * lib/unicase/u8-is-uppercase.c: New file.
16129         * modules/unicase/u8-is-uppercase: New file.
16130
16131         New module 'unicase/u32-is-invariant'.
16132         * lib/unicase/u32-is-invariant.c: New file.
16133         * modules/unicase/u32-is-invariant: New file.
16134
16135         New module 'unicase/u16-is-invariant'.
16136         * lib/unicase/u16-is-invariant.c: New file.
16137         * modules/unicase/u16-is-invariant: New file.
16138
16139         New module 'unicase/u8-is-invariant'.
16140         * lib/unicase/u8-is-invariant.c: New file.
16141         * lib/unicase/invariant.h: New file.
16142         * lib/unicase/u-is-invariant.h: New file.
16143         * modules/unicase/u8-is-invariant: New file.
16144
16145         Tests for module 'unicase/u32-casecoll'.
16146         * modules/unicase/u32-casecoll-tests: New file.
16147         * tests/unicase/test-u32-casecoll.c: New file.
16148
16149         Tests for module 'unicase/u16-casecoll'.
16150         * modules/unicase/u16-casecoll-tests: New file.
16151         * tests/unicase/test-u16-casecoll.c: New file.
16152
16153         Tests for module 'unicase/u8-casecoll'.
16154         * modules/unicase/u8-casecoll-tests: New file.
16155         * tests/unicase/test-u8-casecoll.c: New file.
16156
16157         New module 'unicase/u32-casecoll'.
16158         * lib/unicase/u32-casecoll.c: New file.
16159         * modules/unicase/u32-casecoll: New file.
16160
16161         New module 'unicase/u16-casecoll'.
16162         * lib/unicase/u16-casecoll.c: New file.
16163         * modules/unicase/u16-casecoll: New file.
16164
16165         New module 'unicase/u8-casecoll'.
16166         * lib/unicase/u8-casecoll.c: New file.
16167         * lib/unicase/u-casecoll.h: New file.
16168         * modules/unicase/u8-casecoll: New file.
16169
16170         New module 'unicase/u32-casexfrm'.
16171         * lib/unicase/u32-casexfrm.c: New file.
16172         * modules/unicase/u32-casexfrm: New file.
16173
16174         New module 'unicase/u16-casexfrm'.
16175         * lib/unicase/u16-casexfrm.c: New file.
16176         * modules/unicase/u16-casexfrm: New file.
16177
16178         New module 'unicase/u8-casexfrm'.
16179         * lib/unicase/u8-casexfrm.c: New file.
16180         * lib/unicase/u-casexfrm.h: New file.
16181         * modules/unicase/u8-casexfrm: New file.
16182
16183         Tests for module 'unicase/u32-casecmp'.
16184         * modules/unicase/u32-casecmp-tests: New file.
16185         * tests/unicase/test-u32-casecmp.c: New file.
16186
16187         Tests for module 'unicase/u16-casecmp'.
16188         * modules/unicase/u16-casecmp-tests: New file.
16189         * tests/unicase/test-u16-casecmp.c: New file.
16190
16191         Tests for module 'unicase/u8-casecmp'.
16192         * modules/unicase/u8-casecmp-tests: New file.
16193         * tests/unicase/test-u8-casecmp.c: New file.
16194         * tests/unicase/test-casecmp.h: New file.
16195
16196         New module 'unicase/u32-casecmp'.
16197         * lib/unicase/u32-casecmp.c: New file.
16198         * modules/unicase/u32-casecmp: New file.
16199
16200         New module 'unicase/u16-casecmp'.
16201         * lib/unicase/u16-casecmp.c: New file.
16202         * modules/unicase/u16-casecmp: New file.
16203
16204         New module 'unicase/u8-casecmp'.
16205         * lib/unicase/u8-casecmp.c: New file.
16206         * lib/unicase/u-casecmp.h: New file.
16207         * modules/unicase/u8-casecmp: New file.
16208
16209         Tests for module 'unicase/u32-casefold'.
16210         * modules/unicase/u32-casefold-tests: New file.
16211         * tests/unicase/test-u32-casefold.c: New file.
16212
16213         Tests for module 'unicase/u16-casefold'.
16214         * modules/unicase/u16-casefold-tests: New file.
16215         * tests/unicase/test-u16-casefold.c: New file.
16216
16217         Tests for module 'unicase/u8-casefold'.
16218         * modules/unicase/u8-casefold-tests: New file.
16219         * tests/unicase/test-u8-casefold.c: New file.
16220
16221         New module 'unicase/u32-casefold'.
16222         * lib/unicase/u32-casefold.c: New file.
16223         * modules/unicase/u32-casefold: New file.
16224
16225         New module 'unicase/u16-casefold'.
16226         * lib/unicase/u16-casefold.c: New file.
16227         * modules/unicase/u16-casefold: New file.
16228
16229         New module 'unicase/u8-casefold'.
16230         * lib/unicase/u8-casefold.c: New file.
16231         * lib/unicase/u-casefold.h: New file.
16232         * modules/unicase/u8-casefold: New file.
16233
16234         New module 'unicase/tocasefold'.
16235         * lib/unicase/casefold.h: New file.
16236         * lib/unicase/tocasefold.c: New file.
16237         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
16238         * modules/unicase/tocasefold: New file.
16239
16240         Tests for module 'unicase/u32-totitle'.
16241         * modules/unicase/u32-totitle-tests: New file.
16242         * tests/unicase/test-u32-totitle.c: New file.
16243
16244         Tests for module 'unicase/u16-totitle'.
16245         * modules/unicase/u16-totitle-tests: New file.
16246         * tests/unicase/test-u16-totitle.c: New file.
16247
16248         Tests for module 'unicase/u8-totitle'.
16249         * modules/unicase/u8-totitle-tests: New file.
16250         * tests/unicase/test-u8-totitle.c: New file.
16251
16252         New module 'unicase/u32-totitle'.
16253         * lib/unicase/u32-totitle.c: New file.
16254         * modules/unicase/u32-totitle: New file.
16255
16256         New module 'unicase/u16-totitle'.
16257         * lib/unicase/u16-totitle.c: New file.
16258         * modules/unicase/u16-totitle: New file.
16259
16260         New module 'unicase/u8-totitle'.
16261         * lib/unicase/u8-totitle.c: New file.
16262         * lib/unicase/u-totitle.h: New file.
16263         * modules/unicase/u8-totitle: New file.
16264
16265         Tests for module 'unicase/u32-tolower'.
16266         * modules/unicase/u32-tolower-tests: New file.
16267         * tests/unicase/test-u32-tolower.c: New file.
16268
16269         Tests for module 'unicase/u16-tolower'.
16270         * modules/unicase/u16-tolower-tests: New file.
16271         * tests/unicase/test-u16-tolower.c: New file.
16272
16273         Tests for module 'unicase/u8-tolower'.
16274         * modules/unicase/u8-tolower-tests: New file.
16275         * tests/unicase/test-u8-tolower.c: New file.
16276
16277         New module 'unicase/u32-tolower'.
16278         * lib/unicase/u32-tolower.c: New file.
16279         * modules/unicase/u32-tolower: New file.
16280
16281         New module 'unicase/u16-tolower'.
16282         * lib/unicase/u16-tolower.c: New file.
16283         * modules/unicase/u16-tolower: New file.
16284
16285         New module 'unicase/u8-tolower'.
16286         * lib/unicase/u8-tolower.c: New file.
16287         * modules/unicase/u8-tolower: New file.
16288
16289         Tests for module 'unicase/u32-toupper'.
16290         * modules/unicase/u32-toupper-tests: New file.
16291         * tests/unicase/test-u32-toupper.c: New file.
16292
16293         Tests for module 'unicase/u16-toupper'.
16294         * modules/unicase/u16-toupper-tests: New file.
16295         * tests/unicase/test-u16-toupper.c: New file.
16296
16297         Tests for module 'unicase/u8-toupper'.
16298         * modules/unicase/u8-toupper-tests: New file.
16299         * tests/unicase/test-u8-toupper.c: New file.
16300
16301         New module 'unicase/u32-toupper'.
16302         * lib/unicase/u32-toupper.c: New file.
16303         * modules/unicase/u32-toupper: New file.
16304
16305         New module 'unicase/u16-toupper'.
16306         * lib/unicase/u16-toupper.c: New file.
16307         * modules/unicase/u16-toupper: New file.
16308
16309         New module 'unicase/u8-toupper'.
16310         * lib/unicase/u8-toupper.c: New file.
16311         * modules/unicase/u8-toupper: New file.
16312
16313         New module 'unicase/u32-casemap'.
16314         * lib/unicase/u32-casemap.c: New file.
16315         * modules/unicase/u32-casemap: New file.
16316
16317         New module 'unicase/u16-casemap'.
16318         * lib/unicase/u16-casemap.c: New file.
16319         * modules/unicase/u16-casemap: New file.
16320
16321         New module 'unicase/u8-casemap'.
16322         * lib/unicase/unicasemap.h: New file.
16323         * lib/unicase/u8-casemap.c: New file.
16324         * lib/unicase/u-casemap.h: New file.
16325         * modules/unicase/u8-casemap: New file.
16326
16327         New module 'unicase/special-casing'.
16328         * lib/unicase/special-casing.h: New file.
16329         * lib/unicase/special-casing.c: New file.
16330         * lib/unicase/special-casing-table.gperf: New file, generated by
16331         gen-uni-tables.c.
16332         * modules/unicase/special-casing: New file.
16333
16334         Tests for module 'unicase/locale-language'.
16335         * modules/unicase/locale-language-tests: New file.
16336         * tests/unicase/test-locale-language.sh: New file.
16337         * tests/unicase/test-locale-language.c: New file.
16338
16339         New module 'unicase/locale-language'.
16340         * lib/unicase/locale-language.c: New file.
16341         * lib/unicase/locale-languages.gperf: New file.
16342         * modules/unicase/locale-language: New file.
16343
16344         Generate more tables for case conversion and case folding.
16345         * lib/gen-uni-tables.c (SCC_*): New enum items.
16346         (struct special_casing_rule): New type.
16347         (casing_rules, num_casing_rules, allocated_casing_rules): New
16348         variables.
16349         (add_casing_rule, fill_casing_rules): New functions.
16350         (struct casefold_rule): New type.
16351         (casefolding_rules, num_casefolding_rules,
16352         allocated_casefolding_rules): New variables.
16353         (fill_casefolding_rules): New function.
16354         (unicode_casefold): New variable.
16355         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
16356         sort_casing_rules, output_casing_rules): New functions.
16357         (main): Accept to more arguments: SpecialCasing.txt and
16358         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
16359         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
16360         Output mapping for casefolding.
16361
16362         * lib/unicase.h: Include stdbool.h, uninorm.h.
16363         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
16364         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
16365         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
16366         arguments.
16367         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
16368         resultp arguments.
16369         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
16370         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
16371         resultp arguments.
16372         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
16373         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
16374         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
16375         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
16376         declarations.
16377         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
16378
16379 2009-03-08  Bruno Haible  <bruno@clisp.org>
16380
16381         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
16382         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
16383         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
16384         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
16385
16386 2009-03-07  Bruno Haible  <bruno@clisp.org>
16387
16388         Adjust u*_normcmp, u*_normcoll API.
16389         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
16390         u16_normcoll, u32_normcoll): Change failure conventions.
16391         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
16392         errno and return -1.
16393         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
16394
16395 2009-03-07  Bruno Haible  <bruno@clisp.org>
16396
16397         Tests for module 'uninorm/u32-normcoll'.
16398         * modules/uninorm/u32-normcoll-tests: New file.
16399         * tests/uninorm/test-u32-normcoll.c: New file.
16400
16401         Tests for module 'uninorm/u16-normcoll'.
16402         * modules/uninorm/u16-normcoll-tests: New file.
16403         * tests/uninorm/test-u16-normcoll.c: New file.
16404
16405         Tests for module 'uninorm/u8-normcoll'.
16406         * modules/uninorm/u8-normcoll-tests: New file.
16407         * tests/uninorm/test-u8-normcoll.c: New file.
16408
16409 2009-03-07  Bruno Haible  <bruno@clisp.org>
16410
16411         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
16412         tests/uninorm/test-u32-normcmp.c.
16413         * tests/uninorm/test-u32-normcmp.c: Include it.
16414         (test_nonascii): New function, extracted from main. Add some more
16415         tests.
16416         (main): Invoke test_ascii and test_nonascii.
16417         * modules/uninorm/u32-normcmp-tests (Files): Add
16418         tests/uninorm/test-u32-normcmp.h.
16419         (Depends-on): Remove uninorm/u32-normcmp.
16420
16421         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
16422         tests/uninorm/test-u16-normcmp.c.
16423         * tests/uninorm/test-u16-normcmp.c: Include it.
16424         (test_nonascii): New function, extracted from main. Add some more
16425         tests.
16426         (main): Invoke test_ascii and test_nonascii.
16427         * modules/uninorm/u16-normcmp-tests (Files): Add
16428         tests/uninorm/test-u16-normcmp.h.
16429         (Depends-on): Remove uninorm/u16-normcmp.
16430
16431         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
16432         tests/uninorm/test-u8-normcmp.c.
16433         * tests/uninorm/test-u8-normcmp.c: Include it.
16434         (test_nonascii): New function, extracted from main. Add some more
16435         tests.
16436         (main): Invoke test_ascii and test_nonascii.
16437         * modules/uninorm/u8-normcmp-tests (Files): Add
16438         tests/uninorm/test-u8-normcmp.h.
16439         (Depends-on): Remove uninorm/u8-normcmp.
16440
16441 2009-03-07  Bruno Haible  <bruno@clisp.org>
16442
16443         New module 'uninorm/u32-normcoll'.
16444         * lib/uninorm/u32-normcoll.c: New file.
16445         * modules/uninorm/u32-normcoll: New file.
16446
16447         New module 'uninorm/u16-normcoll'.
16448         * lib/uninorm/u16-normcoll.c: New file.
16449         * modules/uninorm/u16-normcoll: New file.
16450
16451         New module 'uninorm/u8-normcoll'.
16452         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
16453         declarations.
16454         * lib/uninorm/u8-normcoll.c: New file.
16455         * lib/uninorm/u-normcoll.h: New file.
16456         * modules/uninorm/u8-normcoll: New file.
16457
16458         New module 'uninorm/u32-normxfrm'.
16459         * lib/uninorm/u32-normxfrm.c: New file.
16460         * modules/uninorm/u32-normxfrm: New file.
16461
16462         New module 'uninorm/u16-normxfrm'.
16463         * lib/uninorm/u16-normxfrm.c: New file.
16464         * modules/uninorm/u16-normxfrm: New file.
16465
16466         New module 'uninorm/u8-normxfrm'.
16467         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
16468         declarations.
16469         * lib/uninorm/u8-normxfrm.c: New file.
16470         * lib/uninorm/u-normxfrm.h: New file.
16471         * modules/uninorm/u8-normxfrm: New file.
16472
16473 2009-03-07  Bruno Haible  <bruno@clisp.org>
16474
16475         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
16476         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
16477         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
16478
16479 2009-03-07  Bruno Haible  <bruno@clisp.org>
16480
16481         New module 'memxfrm'.
16482         * lib/memxfrm.h: New file.
16483         * lib/memxfrm.c: New file.
16484         * modules/memxfrm: New file.
16485
16486 2009-03-07  Bruno Haible  <bruno@clisp.org>
16487
16488         New module 'memcmp2'.
16489         * lib/memcmp2.h: New file.
16490         * lib/memcmp2.c: New file.
16491         * modules/memcmp2: New file.
16492
16493 2009-03-07  Bruno Haible  <bruno@clisp.org>
16494
16495         Tests for module 'uninorm/decomposing-form'.
16496         * modules/uninorm/decomposing-form-tests: New file.
16497         * tests/uninorm/test-decomposing-form.c: New file.
16498
16499         New module 'uninorm/decomposing-form'.
16500         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
16501         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
16502         Add 'decomposing_variant' field.
16503         * lib/uninorm/decomposing-form.c: New file.
16504         * lib/uninorm/nfc.c (uninorm_nfc): Update.
16505         * lib/uninorm/nfd.c (uninorm_nfd): Update.
16506         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
16507         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
16508         * modules/uninorm/decomposing-form: New file.
16509         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
16510         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
16511
16512 2009-03-07  Bruno Haible  <bruno@clisp.org>
16513
16514         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
16515         strings.
16516
16517 2009-03-06  Bruno Haible  <bruno@clisp.org>
16518
16519         Tests for module 'uninorm/u32-normcmp'.
16520         * tests/uninorm/test-u32-normcmp.c: New file.
16521         * modules/uninorm/u32-normcmp-tests: New file.
16522
16523         Tests for module 'uninorm/u16-normcmp'.
16524         * tests/uninorm/test-u16-normcmp.c: New file.
16525         * modules/uninorm/u16-normcmp-tests: New file.
16526
16527         Tests for module 'uninorm/u8-normcmp'.
16528         * tests/uninorm/test-u8-normcmp.c: New file.
16529         * modules/uninorm/u8-normcmp-tests: New file.
16530
16531         New module 'uninorm/u32-normcmp'.
16532         * lib/uninorm/u32-normcmp.c: New file.
16533         * modules/uninorm/u32-normcmp: New file.
16534
16535         New module 'uninorm/u16-normcmp'.
16536         * lib/uninorm/u16-normcmp.c: New file.
16537         * modules/uninorm/u16-normcmp: New file.
16538
16539         New module 'uninorm/u8-normcmp'.
16540         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
16541         declarations.
16542         * lib/uninorm/u8-normcmp.c: New file.
16543         * lib/uninorm/u-normcmp.h: New file.
16544         * modules/uninorm/u8-normcmp: New file.
16545
16546 2009-03-06  Bruno Haible  <bruno@clisp.org>
16547
16548         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
16549         Reported by Eric Blake.
16550
16551 2009-03-06  Eric Blake  <ebb9@byu.net>
16552             Bruno Haible  <bruno@clisp.org>
16553
16554         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
16555         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
16556         condition.
16557         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
16558         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
16559         condition.
16560         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
16561
16562 2009-03-06  Eric Blake  <ebb9@byu.net>
16563
16564         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
16565         to avoid compiler warnings.
16566         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
16567
16568 2009-03-05  Bruno Haible  <bruno@clisp.org>
16569
16570         * tests/test-ftell.c (main): Disable test beyond end of file on
16571         FreeMiNT.
16572         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
16573
16574 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
16575
16576         * lib/filevercmp.c: Move hidden files up in ordering.
16577         * tests/test-filevercmp.c: Add tests for hidden files.
16578
16579 2009-03-04  Bruno Haible  <bruno@clisp.org>
16580
16581         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
16582         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
16583         AM_CFLAGS.
16584         Reported by Simon Josefsson.
16585
16586 2009-03-03  Bruno Haible  <bruno@clisp.org>
16587
16588         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
16589         Reported by Simon Josefsson.
16590
16591         * doc/ld-version-script.texi: Update node reference.
16592
16593 2009-03-03  Bruno Haible  <bruno@clisp.org>
16594
16595         * modules/visibility (License): Change to 'unlimited'.
16596         Suggested by Simon Josefsson.
16597
16598 2009-03-03  Jim Meyering  <meyering@redhat.com>
16599
16600         unlinkdir: cannot_unlink_dir may modify process state
16601         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
16602         it's neither thread-safe nor appropriate for use in a library.
16603
16604 2009-03-03  Eric Blake  <ebb9@byu.net>
16605
16606         test-closein: silence test under Darwin
16607         * tests/test-closein.sh: Ignore stderr from cat, since we don't
16608         care if it dies from EPIPE or EBADF.
16609
16610 2009-03-03  Bruno Haible  <bruno@clisp.org>
16611
16612         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
16613         earlier.
16614         * doc/visibility.texi: Fix @node and @section.
16615
16616 2009-03-03  Simon Josefsson  <simon@josefsson.org>
16617
16618         * doc/gnulib.texi: Link to sections for ld version script and
16619         visibility.
16620         * doc/visibility.texi: Add @node and @section.
16621         * modules/ld-version-script: New module.
16622         * m4/ld-version-script.m4: New file.
16623         * doc/ld-version-script.texi: New file.
16624
16625 2009-03-02  David Lutterkort  <lutter@redhat.com>
16626
16627         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
16628         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
16629
16630 2009-03-02  Bruno Haible  <bruno@clisp.org>
16631
16632         * doc/visibility.texi: Mention libtool's -export-symbols option.
16633
16634 2009-03-02  Jim Meyering  <meyering@redhat.com>
16635
16636         announce-gen: new option: --no-print-checksums
16637         * build-aux/announce-gen (usage): Describe it.
16638         (print_checksums): Print a newline here, not in the [*] footnote.
16639         (main): Honor it.
16640
16641 2009-03-01  Bruno Haible  <bruno@clisp.org>
16642
16643         Use socklen_t in the native Windows replacements prototypes.
16644         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
16645         instead of 'int'.
16646         * lib/getsockopt.c (rpl_getsockopt): Likewise.
16647         * lib/setsockopt.c (rpl_setsockopt): Likewise.
16648         * modules/getsockopt (Depends-on): Add socklen.
16649         * modules/setsockopt (Depends-on): Add socklen.
16650
16651 2009-03-01  Bruno Haible  <bruno@clisp.org>
16652
16653         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
16654         least 4.2.
16655
16656 2009-03-01  Eric Blake  <ebb9@byu.net>
16657             Bruno Haible  <bruno@clisp.org>
16658
16659         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
16660         error messages.
16661         * lib/wait-process.c (wait_subprocess): Omit error message about
16662         deadly signal sent to the child of termsigp != NULL.
16663
16664 2009-03-01  Eric Blake  <ebb9@byu.net>
16665
16666         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
16667
16668 2009-03-01  Bruno Haible  <bruno@clisp.org>
16669
16670         Avoid a gcc warning.
16671         * tests/test-sched.c (b): Make global.
16672         Reported by Eric Blake.
16673
16674 2009-01-19  Martin Lambers  <marlam@marlam.de>
16675
16676         Provide POSIX semantics for socket timeout options on W32.
16677         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
16678         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
16679         * modules/setsockopt: Depend on sys_time module for struct timeval.
16680         * modules/getsockopt: Depend on sys_time module for struct timeval.
16681
16682 2009-03-01  Simon Josefsson  <simon@josefsson.org>
16683
16684         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
16685         __USE_GNU, for consistency with netdb.in.h.
16686         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
16687
16688 2009-03-01  Bruno Haible  <bruno@clisp.org>
16689
16690         More support for FreeMiNT.
16691         * lib/fseeko.c (rpl_fseeko): Complete last commit.
16692         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
16693
16694 2009-03-01  Bruno Haible  <bruno@clisp.org>
16695
16696         More support for FreeMiNT.
16697         * lib/fpurge.c (fpurge): Correct last commit.
16698         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
16699
16700 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
16701
16702         Fix unportable awk script in vc-list-files.
16703         * build-aux/vc-list-files: In the replacement awk script, use
16704         substr with a second argument of 1, not zero.
16705         Report by Simon Josefsson.
16706
16707 2009-02-28  Bruno Haible  <bruno@clisp.org>
16708
16709         More support for FreeMiNT.
16710         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
16711         to FreeMiNT today.
16712         * lib/fwriting.c (fwriting): Likewise.
16713         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
16714
16715 2009-02-28  Bruno Haible  <bruno@clisp.org>
16716
16717         * tests/test-freadseek.c (main): Disable test beyond end of file on
16718         FreeMiNT.
16719         * tests/test-ftello.c (main): Likewise.
16720         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
16721
16722 2009-02-28  Bruno Haible  <bruno@clisp.org>
16723
16724         Add tentative support for FreeMiNT.
16725         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
16726         * lib/fpurge.c (fpurge): Likewise.
16727         * lib/freadable.c (freadable): Likewise.
16728         * lib/freading.c (freading): Likewise.
16729         * lib/freadptr.c (freadptr): Likewise.
16730         * lib/freadseek.c (freadptrinc): Likewise.
16731         * lib/fseeko.c (rpl_fseeko): Likewise.
16732         * lib/fseterr.c (fseterr): Likewise.
16733         * lib/fwritable.c (fwritable): Likewise.
16734         * lib/fwriting.c (fwriting): Likewise.
16735         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
16736         Hourihane.
16737         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
16738
16739 2009-02-28  Bruno Haible  <bruno@clisp.org>
16740
16741         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
16742         SIGCHLD.
16743         Reported by Jim Meyering.
16744
16745 2009-02-28  Bruno Haible  <bruno@clisp.org>
16746
16747         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
16748         Mention the results of these tests on various platforms.
16749         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
16750         order.
16751         * doc/posix-functions/printf.texi: Likewise.
16752         * doc/posix-functions/snprintf.texi: Likewise.
16753         * doc/posix-functions/sprintf.texi: Likewise.
16754         * doc/posix-functions/vfprintf.texi: Likewise.
16755         * doc/posix-functions/vprintf.texi: Likewise.
16756         * doc/posix-functions/vsnprintf.texi: Likewise.
16757         * doc/posix-functions/vsprintf.texi: Likewise.
16758         * doc/glibc-functions/obstack_printf.texi: Likewise.
16759         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
16760
16761 2009-02-28  Bruno Haible  <bruno@clisp.org>
16762
16763         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
16764         Reported by Loïc Minier <lool@dooz.org>.
16765
16766 2009-02-27  Bruno Haible  <bruno@clisp.org>
16767
16768         * gnulib-tool (func_import): Make the sed expression used to create the
16769         sed script for updating the .gitignore file POSIX compliant.
16770         Reported by Eric Blake.
16771
16772 2009-02-27  Bruno Haible  <bruno@clisp.org>
16773
16774         * gnulib-tool (sed): Don't alias as "sed --posix".
16775         Reported by Eric Blake.
16776
16777 2009-02-27  Bruno Haible  <bruno@clisp.org>
16778
16779         Avoid test link errors.
16780         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
16781         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
16782         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
16783         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
16784         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
16785
16786 2009-02-27  Bruno Haible  <bruno@clisp.org>
16787
16788         Avoid spurious "(cached)" in configure output.
16789         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
16790         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
16791         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
16792         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
16793         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
16794         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
16795         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
16796         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
16797         Reported by Eric Blake.
16798
16799 2009-02-27  Eric Blake  <ebb9@byu.net>
16800
16801         printf: fix regression in previous patch
16802         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
16803
16804 2009-02-27  Bruno Haible  <bruno@clisp.org>
16805
16806         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
16807         value.
16808         * lib/stdint.in.h: Likewise.
16809         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
16810
16811 2009-02-27  Eric Blake  <ebb9@byu.net>
16812
16813         doc: mention more functions added in cygwin 1.7.0
16814         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
16815         addition.
16816         * doc/posix-functions/open_wmemstream.texi: Likewise.
16817         * doc/posix-functions/wcsnlen.texi: Likewise.
16818         * doc/posix-functions/wcsnrtombs.texi: Likewise.
16819         * doc/posix-functions/wcstod.texi: Likewise.
16820         * doc/posix-functions/wcstof.texi: Likewise.
16821         * doc/posix-functions/wcstoimax.texi: Likewise.
16822         * doc/posix-functions/wcstok.texi: Likewise.
16823         * doc/posix-functions/wcstoumax.texi: Likewise.
16824
16825         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
16826         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
16827         * doc/posix-functions/fprintf.texi: Update.
16828         * doc/posix-functions/printf.texi: Update.
16829         * doc/posix-functions/snprintf.texi: Update.
16830         * doc/posix-functions/sprintf.texi: Update.
16831         * doc/posix-functions/vfprintf.texi: Update.
16832         * doc/posix-functions/vprintf.texi: Update.
16833         * doc/posix-functions/vsnprintf.texi: Update.
16834         * doc/posix-functions/vsprintf.texi: Update.
16835         * doc/glibc-functions/obstack_printf.texi: Update.
16836         * doc/glibc-functions/obstack_vprintf.texi: Update.
16837
16838 2009-02-26  Eric Blake  <ebb9@byu.net>
16839
16840         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
16841         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
16842         compilation bug by using runtime conversion.
16843         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
16844         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
16845         * modules/ceill-tests (Files): Use nan.h.
16846         * modules/floorl-tests (Files): Likewise.
16847         * modules/frexpl-tests (Files): Likewise.
16848         * modules/isnanl-tests (Files): Likewise.
16849         * modules/ldexpl-tests (Files): Likewise.
16850         * modules/roundl-tests (Files): Likewise.
16851         * modules/truncl-tests (Files): Likewise.
16852         * tests/test-ceill.c (main): Use a working NaN.
16853         * tests/test-floorl.c (main): Likewise.
16854         * tests/test-frexpl.c (main): Likewise.
16855         * tests/test-isnan.c (test_long_double): Likewise.
16856         * tests/test-isnanl.h (main): Likewise.
16857         * tests/test-ldexpl.h (main): Likewise.
16858         * tests/test-roundl.h (main): Likewise.
16859         * tests/test-truncl.h (main): Likewise.
16860         See http://lists.gnu.org/archive/html/bug-gnulib/2009-02/msg00190.html.
16861
16862 2009-02-26  Eric Blake  <ebb9@byu.net>
16863             Bruno Haible  <bruno@clisp.org>
16864
16865         Work around a *printf bug with %ls on Solaris.
16866         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
16867         precision is specified, sprintf stops converting the wide string
16868         argument when the number of bytes that have been produced by this
16869         conversion equals or exceeds the precision.
16870         * doc/posix-functions/fprintf.texi: Update.
16871         * doc/posix-functions/printf.texi: Update.
16872         * doc/posix-functions/snprintf.texi: Update.
16873         * doc/posix-functions/sprintf.texi: Update.
16874         * doc/posix-functions/vfprintf.texi: Update.
16875         * doc/posix-functions/vprintf.texi: Update.
16876         * doc/posix-functions/vsnprintf.texi: Update.
16877         * doc/posix-functions/vsprintf.texi: Update.
16878         * doc/glibc-functions/obstack_printf.texi: Update.
16879         * doc/glibc-functions/obstack_vprintf.texi: Update.
16880
16881 2009-02-26  Eric Blake  <ebb9@byu.net>
16882
16883         stdlib: favor compiler check of random.h
16884         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
16885         to avoid an ObjC random.h installed by Swarm.
16886
16887 2009-02-26  Bruno Haible  <bruno@clisp.org>
16888
16889         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
16890         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
16891         Reported by Gary V. Vaughan <gary@gnu.org>.
16892
16893 2009-02-26  Bruno Haible  <bruno@clisp.org>
16894
16895         Fix *printf behaviour regarding the %ls directive.
16896         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
16897         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
16898         NEED_PRINTF_DIRECTIVE_LS.
16899         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
16900         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
16901         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
16902         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
16903         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
16904         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
16905         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
16906         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
16907         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
16908         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
16909         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
16910         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
16911         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
16912         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
16913         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
16914         * doc/posix-functions/fprintf.texi: Update.
16915         * doc/posix-functions/printf.texi: Update.
16916         * doc/posix-functions/snprintf.texi: Update.
16917         * doc/posix-functions/sprintf.texi: Update.
16918         * doc/posix-functions/vfprintf.texi: Update.
16919         * doc/posix-functions/vprintf.texi: Update.
16920         * doc/posix-functions/vsnprintf.texi: Update.
16921         * doc/posix-functions/vsprintf.texi: Update.
16922         * doc/glibc-functions/obstack_printf.texi: Update.
16923         * doc/glibc-functions/obstack_vprintf.texi: Update.
16924         Reported by Eric Blake.
16925
16926 2009-02-25  Bruno Haible  <bruno@clisp.org>
16927
16928         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
16929         with known value.
16930         Reported by Gary V. Vaughan <gary@gnu.org>.
16931
16932 2009-02-25  Bruno Haible  <bruno@clisp.org>
16933
16934         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
16935         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
16936         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
16937         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
16938         Reported by Gary V. Vaughan <gary@gnu.org>.
16939
16940 2009-02-25  Bruno Haible  <bruno@clisp.org>
16941
16942         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
16943         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
16944         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
16945         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
16946         Reported by Gary V. Vaughan <gary@gnu.org>.
16947
16948 2009-02-25  Eric Blake  <ebb9@byu.net>
16949
16950         tests: skip fseek/ftell tests if ungetc is broken
16951         * m4/ungetc.m4: New file.
16952         * modules/fseek-tests: Split test, so ungetc dependency is
16953         separate from rest of test.
16954         * modules/fseeko-tests: Likewise.
16955         * modules/ftell-tests: Likewise.
16956         * modules/ftello-tests: Likewise.
16957         * tests/test-fseek.c (main): Isolate ungetc dependency.
16958         * tests/test-fseeko.c (main): Likewise.
16959         * tests/test-ftell.c (main): Likewise.
16960         * tests/test-ftello.c (main): Likewise.
16961         * tests/test-fseek2.sh: New file.
16962         * tests/test-fseeko2.sh: Likewise.
16963         * tests/test-ftell2.sh: Likewise.
16964         * tests/test-ftello2.sh: Likewise.
16965
16966 2009-02-25  OndÅ™ej Vašík  <ovasik@redhat.com>
16967
16968         test-getaddrinfo: fix usage of skip return code 77
16969         * tests/test-gettaddrinfo.c: Return skip code 77 only
16970         for first occurance of skip (4x77 is not 77)
16971
16972 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
16973
16974         strtod: avoid C99 decl-after-statement
16975         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
16976
16977 2009-02-24  Eric Blake  <ebb9@byu.net>
16978
16979         strtod: detect HP-UX 11.31 bug
16980         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
16981         Reported by Gary V. Vaughan.
16982
16983 2009-02-23  Bruno Haible  <bruno@clisp.org>
16984
16985         Fix invalid read past end of memory block.
16986         * lib/vasnprintf.c (DCHAR_SET): Define.
16987         (local_wcslen): Define only when needed.
16988         (local_strnlen, local_wcsnlen): New functions.
16989         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
16990         directives that involve a conversion ourselves.
16991         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
16992         wcsnlen, mbrtowc, wcrtomb.
16993         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
16994         * tests/test-vasprintf-posix.c (test_function): Likewise.
16995         * tests/test-snprintf-posix.h (test_function): Likewise.
16996         * tests/test-sprintf-posix.h (test_function): Likewise.
16997         Reported by Ben Pfaff <blp@cs.stanford.edu>.
16998
16999 2009-02-22  Bruno Haible  <bruno@clisp.org>
17000
17001         Implement new clarified decomposition of Hangul syllables.
17002         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
17003         of type LTV, return only a pairwise decomposition.
17004         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
17005         Likewise.
17006         * tests/uninorm/test-decomposition.c (main): Updated expected result.
17007         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
17008         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
17009
17010 2009-02-22  Bruno Haible  <bruno@clisp.org>
17011
17012         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
17013         zero-length results and shrink excess allocated memory.
17014         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
17015         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
17016         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
17017         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
17018         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
17019         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
17020         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
17021         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
17022         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
17023         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
17024         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
17025         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
17026
17027 2009-02-21  Bruno Haible  <bruno@clisp.org>
17028
17029         * doc/gnulib.texi: Include safe-alloc.texi earlier.
17030         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
17031         spaces after a period. Put a space between a macro name and its
17032         argument list. Trivial rewordings.
17033         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
17034         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
17035         (main): Return 0 explicitly.
17036
17037 2009-02-21  Bruno Haible  <bruno@clisp.org>
17038
17039         Tests for module 'uninorm/filter'.
17040         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
17041         * modules/uninorm/filter-tests: New file.
17042
17043         New module 'uninorm/filter'.
17044         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
17045         uninorm_filter_flush, uninorm_filter_free): New declarations.
17046         * lib/uninorm/uninorm-filter.c: New file.
17047         * modules/uninorm/filter: New file.
17048
17049 2009-02-21  Bruno Haible  <bruno@clisp.org>
17050
17051         Tests for module 'uninorm/nfkc'.
17052         * tests/uninorm/test-nfkc.c: New file.
17053         * tests/uninorm/test-u8-nfkc.c: New file.
17054         * tests/uninorm/test-u16-nfkc.c: New file.
17055         * tests/uninorm/test-u32-nfkc.c: New file.
17056         * tests/uninorm/test-u32-nfkc-big.sh: New file.
17057         * tests/uninorm/test-u32-nfkc-big.c: New file.
17058         * modules/uninorm/nfkc-tests: New file.
17059
17060         New module 'uninorm/nfkc'.
17061         * lib/uninorm/nfkc.c: New file.
17062         * modules/uninorm/nfkc: New file.
17063
17064         Tests for module 'uninorm/nfkd'.
17065         * tests/uninorm/test-nfkd.c: New file.
17066         * tests/uninorm/test-u8-nfkd.c: New file.
17067         * tests/uninorm/test-u16-nfkd.c: New file.
17068         * tests/uninorm/test-u32-nfkd.c: New file.
17069         * tests/uninorm/test-u32-nfkd-big.sh: New file.
17070         * tests/uninorm/test-u32-nfkd-big.c: New file.
17071         * modules/uninorm/nfkd-tests: New file.
17072
17073         New module 'uninorm/nfkd'.
17074         * lib/uninorm/nfkd.c: New file.
17075         * modules/uninorm/nfkd: New file.
17076
17077         Tests for module 'uninorm/nfc'.
17078         * tests/uninorm/test-nfc.c: New file.
17079         * tests/uninorm/test-u8-nfc.c: New file.
17080         * tests/uninorm/test-u16-nfc.c: New file.
17081         * tests/uninorm/test-u32-nfc.c: New file.
17082         * tests/uninorm/test-u32-nfc-big.sh: New file.
17083         * tests/uninorm/test-u32-nfc-big.c: New file.
17084         * modules/uninorm/nfc-tests: New file.
17085
17086         New module 'uninorm/nfc'.
17087         * lib/uninorm/nfc.c: New file.
17088         * modules/uninorm/nfc: New file.
17089
17090         Tests for module 'uninorm/nfd'.
17091         * tests/uninorm/test-nfd.c: New file.
17092         * tests/uninorm/test-u8-nfd.c: New file.
17093         * tests/uninorm/test-u16-nfd.c: New file.
17094         * tests/uninorm/test-u32-nfd.c: New file.
17095         * tests/uninorm/test-u32-nfd-big.sh: New file.
17096         * tests/uninorm/test-u32-nfd-big.c: New file.
17097         * tests/uninorm/test-u32-normalize-big.h: New file.
17098         * tests/uninorm/test-u32-normalize-big.c: New file.
17099         * tests/uninorm/NormalizationTest.txt: New file, created from
17100         Unicode 5.1.0 NormalizationTest.txt.
17101         * modules/uninorm/nfd-tests: New file.
17102
17103         New module 'uninorm/nfd'.
17104         * lib/uninorm/nfd.c: New file.
17105         * modules/uninorm/nfd: New file.
17106
17107         New module 'uninorm/u32-normalize'.
17108         * lib/uninorm/u32-normalize.c: New file.
17109         * modules/uninorm/u32-normalize: New file.
17110
17111         New module 'uninorm/u16-normalize'.
17112         * lib/uninorm/u16-normalize.c: New file.
17113         * modules/uninorm/u16-normalize: New file.
17114
17115         New module 'uninorm/u8-normalize'.
17116         * lib/uninorm/u8-normalize.c: New file.
17117         * lib/uninorm/normalize-internal.h: New file.
17118         * lib/uninorm/u-normalize-internal.h: New file.
17119         * modules/uninorm/u8-normalize: New file.
17120
17121         New module 'uninorm/decompose-internal'.
17122         * lib/uninorm/decompose-internal.c: New file.
17123         * modules/uninorm/decompose-internal: New file.
17124
17125         Tests for module 'uninorm/composition'.
17126         * tests/uninorm/test-composition.c: New file.
17127         * modules/uninorm/composition-tests: New file.
17128
17129         New module 'uninorm/composition'.
17130         * lib/uninorm/composition.c: New file.
17131         * lib/uninorm/composition-table.gperf: New file, generated by
17132         gen-uni-tables.
17133         * modules/uninorm/composition: New file.
17134
17135         Tests for module 'uninorm/compat-decomposition'.
17136         * tests/uninorm/test-compat-decomposition.c: New file.
17137         * modules/uninorm/compat-decomposition-tests: New file.
17138
17139         New module 'uninorm/compat-decomposition'.
17140         * lib/uninorm/decompose-internal.h: New file.
17141         * lib/uninorm/compat-decomposition.c: New file.
17142         * modules/uninorm/compat-decomposition: New file.
17143
17144         Tests for module 'uninorm/canonical-decomposition'.
17145         * tests/uninorm/test-canonical-decomposition.c: New file.
17146         * modules/uninorm/canonical-decomposition-tests: New file.
17147
17148         New module 'uninorm/canonical-decomposition'.
17149         * lib/uninorm/canonical-decomposition.c: New file.
17150         * modules/uninorm/canonical-decomposition: New file.
17151
17152         Tests for module 'uninorm/decomposition'.
17153         * tests/uninorm/test-decomposition.c: New file.
17154         * modules/uninorm/decomposition-tests: New file.
17155
17156         New module 'uninorm/decomposition'.
17157         * lib/uninorm/decomposition.c: New file.
17158         * modules/uninorm/decomposition: New file.
17159
17160         New module 'uninorm/decomposition-table'.
17161         * lib/uninorm/decomposition-table.h: New file.
17162         * lib/uninorm/decomposition-table.c: New file.
17163         * lib/uninorm/decomposition-table1.h: New file, generated by
17164         gen-uni-tables.
17165         * lib/uninorm/decomposition-table2.h: New file, generated by
17166         gen-uni-tables.
17167         * modules/uninorm/decomposition-table: New file.
17168
17169         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
17170         (UC_DECOMP_*): New enumeration items.
17171         (get_decomposition): New function.
17172         (struct decomp_table): New type.
17173         (output_decomposition, output_decomposition_tables): New functions.
17174         (unicode_composition_exclusions): New variable.
17175         (fill_composition_exclusions, debug_output_composition_tables): New
17176         functions.
17177         (main): Accept one more argument. Invoke fill_composition_exclusions.
17178         Output decomposition and composition tables.
17179
17180         New module 'uninorm/base'.
17181         * lib/uninorm.h: New file.
17182         * lib/unictype.h: Update comment.
17183         * modules/uninorm/base: New file.
17184
17185 2009-02-21  David Lutterkort  <lutter@redhat.com>
17186
17187         Tests for module 'safe-alloc'.
17188         * tests/test-safe-alloc.c: New file.
17189         * modules/safe-alloc-tests: New file.
17190
17191         New module 'safe-alloc'.
17192         * lib/safe-alloc.h: New file.
17193         * lib/safe-alloc.c: New file.
17194         * m4/safe-alloc.m4: New file.
17195         * modules/safe-alloc: New file.
17196         * doc/safe-alloc.texi: New file.
17197         * doc/gnulib.texi: Include it.
17198         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
17199         safe-alloc.
17200
17201 2009-02-18  Bruno Haible  <bruno@clisp.org>
17202
17203         Fix link error on non-glibc systems.
17204         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
17205         variable.
17206         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
17207
17208 2009-02-18  Jim Meyering  <meyering@redhat.com>
17209
17210         fts: avoid used-uninitialized error due to recent change
17211         * lib/fts.c (fts_read): Guard uses of the new member,
17212         parent->fts_n_dirs_remaining, since it's not relevant for
17213         the parent of a directory specified on the command-line.
17214
17215 2009-02-17  James Youngman  <jay@gnu.org>
17216             Bruno Haible  <bruno@clisp.org>
17217
17218         * m4/include_next.m4: Reformulate comment.
17219
17220 2009-02-16  Jim Meyering  <meyering@redhat.com>
17221
17222         fts: add #if guards so that the fts_lgpl module still builds
17223         * lib/fts.c: Guard just-added hash-table-using parts with
17224         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
17225         Reported by Simon Josefsson.
17226
17227 2009-02-15  Bruno Haible  <bruno@clisp.org>
17228
17229         * modules/array-mergesort-tests: New file.
17230         * tests/test-array-mergesort.c: New file.
17231
17232         New module 'array-mergesort'.
17233         * modules/array-mergesort: New file.
17234         * lib/array-mergesort.h: New file.
17235
17236 2009-02-15  Bruno Haible  <bruno@clisp.org>
17237
17238         Fix 2009-02-07 commit.
17239         * lib/gen-uni-tables.c (output_predicate, output_category,
17240         output_combclass, output_bidi_category, output_decimal_digit,
17241         output_digit, output_numeric, output_mirror, output_scripts,
17242         output_ident_category, output_simple_mapping): Fix format directives.
17243         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
17244
17245 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
17246
17247         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
17248         fixes are available from IBM.
17249
17250 2009-02-13  Jim Meyering  <meyering@redhat.com>
17251
17252         fts: arrange not to stat non-directories in more cases
17253         This makes GNU find (when it doesn't need to stat each file)
17254         *much* more efficient at traversing reiserfs file systems.
17255         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
17256         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
17257         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
17258         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
17259         (leaf_optimization_applies): New function.
17260         (LCO_hash, LCO_compare): New helper functions.
17261         (link_count_optimize_ok): New function.
17262         (fts_stat): Initialize new member (if dir).
17263         (fts_read): Decrement parent's fts_n_dirs_remaining count if
17264         we've just stat'ed a directory.  Skip the stat call when possible.
17265         ---
17266         Note this AFS-related exchange:
17267         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
17268         and note find's pioctl call in find/fstype.c.
17269         But that is necessary only if you want to enable the
17270         optimization for AFS, and for now, I don't.
17271
17272         fts: move a function definition "up" (no semantic change)
17273         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
17274         "up" to precede upcoming use of a related function.
17275
17276 2009-02-11  Jim Meyering  <meyering@redhat.com>
17277
17278         fts: correct internal computation of nlinks (optimization-related)
17279         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
17280         whether the current entry is a directory, so don't test it.
17281
17282 2009-02-10  Bruno Haible  <bruno@clisp.org>
17283
17284         Tests for module 'uniwbrk/ulc-wordbreaks'.
17285         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
17286         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
17287         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
17288
17289         Tests for module 'uniwbrk/u32-wordbreaks'.
17290         * modules/uniwbrk/u32-wordbreaks-tests: New file.
17291         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
17292
17293         Tests for module 'uniwbrk/u16-wordbreaks'.
17294         * modules/uniwbrk/u16-wordbreaks-tests: New file.
17295         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
17296
17297         Tests for module 'uniwbrk/u8-wordbreaks'.
17298         * modules/uniwbrk/u8-wordbreaks-tests: New file.
17299         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
17300
17301 2009-02-10  Bruno Haible  <bruno@clisp.org>
17302
17303         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
17304         property.
17305         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
17306         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
17307         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
17308
17309 2009-02-10  Simon Josefsson  <simon@josefsson.org>
17310
17311         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
17312         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
17313
17314 2009-02-10  Bruno Haible  <bruno@clisp.org>
17315
17316         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
17317         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
17318         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
17319         * lib/unilbrk/u8-possible-linebreaks.c: Update.
17320         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
17321         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
17322
17323 2009-02-09  Simon Josefsson  <simon@josefsson.org>
17324
17325         * lib/sockets.h (gl_fd_to_handle): New function.
17326
17327         * tests/test-sockets.c: Call gl_fd_to_handle.
17328
17329 2009-02-09  Bruno Haible  <bruno@clisp.org>
17330
17331         * doc/havelib.texi: Document the conventions on bi-arch systems.
17332
17333 2009-02-08  Bruno Haible  <bruno@clisp.org>
17334
17335         Document the AC_LIB_LINKFLAGS macro.
17336         * doc/havelib.texi: New file, mostly written on 2005-05-24.
17337         * doc/gnulib.texi: Include it.
17338
17339 2009-02-08  Bruno Haible  <bruno@clisp.org>
17340
17341         Fix wrong order of sections, compared to TOC.
17342         * doc/gnulib.texi: Include relocatable-maint.texi after the
17343         "Regular expressions" node, not before.
17344
17345 2009-02-08  Bruno Haible  <bruno@clisp.org>
17346
17347         Tests for module 'unicase/totitle'.
17348         * modules/unicase/totitle-tests: New file.
17349
17350         Tests for module 'unicase/tolower'.
17351         * modules/unicase/tolower-tests: New file.
17352
17353         Tests for module 'unicase/toupper'.
17354         * modules/unicase/toupper-tests: New file.
17355         * tests/unicase/test-mapping-part1.h: New file.
17356         * tests/unicase/test-mapping-part2.h: New file.
17357
17358         New module 'unicase/totitle'.
17359         * modules/unicase/totitle: New file.
17360         * lib/unicase/totitle.c: New file.
17361
17362         New module 'unicase/tolower'.
17363         * modules/unicase/tolower: New file.
17364         * lib/unicase/tolower.c: New file.
17365
17366         New module 'unicase/toupper'.
17367         * modules/unicase/toupper: New file.
17368         * lib/unicase/toupper.c: New file.
17369         * lib/unicase/simple-mapping.h: New file.
17370
17371         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
17372         (mapping_table): New structure.
17373         (output_simple_mapping): New function.
17374         (main): Invoke output_simple_mapping_test and output_simple_mapping.
17375         * modules/gen-uni-tables (Description): Update.
17376         * lib/unicase/toupper.h: New file, automatically generated by
17377         gen-uni-tables.
17378         * lib/unicase/tolower.h: New file, automatically generated by
17379         gen-uni-tables.
17380         * lib/unicase/totitle.h: New file, automatically generated by
17381         gen-uni-tables.
17382         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
17383         gen-uni-tables.
17384         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
17385         gen-uni-tables.
17386         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
17387         gen-uni-tables.
17388
17389         New module 'unicase/base'.
17390         * modules/unicase/base: New file.
17391         * lib/unicase.h: New file.
17392
17393 2009-02-08  Bruno Haible  <bruno@clisp.org>
17394
17395         New module 'uniwbrk/ulc-wordbreaks'.
17396         * modules/uniwbrk/ulc-wordbreaks: New file.
17397         * lib/uniwbrk/ulc-wordbreaks.c: New file.
17398
17399         New module 'uniwbrk/u32-wordbreaks'.
17400         * modules/uniwbrk/u32-wordbreaks: New file.
17401         * lib/uniwbrk/u32-wordbreaks.c: New file.
17402
17403         New module 'uniwbrk/u16-wordbreaks'.
17404         * modules/uniwbrk/u16-wordbreaks: New file.
17405         * lib/uniwbrk/u16-wordbreaks.c: New file.
17406
17407         New module 'uniwbrk/u8-wordbreaks'.
17408         * modules/uniwbrk/u8-wordbreaks: New file.
17409         * lib/uniwbrk/u8-wordbreaks.c: New file.
17410         * lib/uniwbrk/u-wordbreaks.h: New file.
17411
17412         New module 'uniwbrk/table'.
17413         * modules/uniwbrk/table: New file.
17414         * lib/uniwbrk/wbrktable.h: New file.
17415         * lib/uniwbrk/wbrktable.c: New file.
17416
17417         New module 'uniwbrk/wordbreak-property'.
17418         * modules/uniwbrk/wordbreak-property: New file.
17419         * lib/uniwbrk/wordbreak-property.c: New file.
17420
17421         * lib/gen-uni-tables.c (WBP_*): New enum items.
17422         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
17423         (unicode_org_wbp): New variable.
17424         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
17425         New functions.
17426         (wbp_table): New structure.
17427         (output_wbp, output_wbrk_tables): New functions.
17428         (main): Accept additional argument. Invoke fill_org_wbp,
17429         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
17430         output_wbrk_tables.
17431         * modules/gen-uni-tables (Description): Update.
17432         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
17433         gen-uni-tables.
17434
17435         New module 'uniwbrk/base'.
17436         * modules/uniwbrk/base: New file.
17437         * lib/uniwbrk.h: New file.
17438
17439 2009-02-08  Bruno Haible  <bruno@clisp.org>
17440
17441         Update to Unicode 5.1.0.
17442         * lib/gen-uni-tables.c (is_property_alphabetic): Include
17443         U+2185..U+2188.
17444         (is_property_default_ignorable_code_point): Don't include characters
17445         of category Cc or Cs and not-a-characters.
17446         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
17447         U+0D79, U+109E, U+109F, U+A60C.
17448         * lib/unictype/bidi_of.h: Regenerated.
17449         * lib/unictype/blocks.h: Regenerated.
17450         * lib/unictype/categ_C.h: Regenerated.
17451         * lib/unictype/categ_Cf.h: Regenerated.
17452         * lib/unictype/categ_Cn.h: Regenerated.
17453         * lib/unictype/categ_L.h: Regenerated.
17454         * lib/unictype/categ_Ll.h: Regenerated.
17455         * lib/unictype/categ_Lm.h: Regenerated.
17456         * lib/unictype/categ_Lo.h: Regenerated.
17457         * lib/unictype/categ_Lu.h: Regenerated.
17458         * lib/unictype/categ_M.h: Regenerated.
17459         * lib/unictype/categ_Mc.h: Regenerated.
17460         * lib/unictype/categ_Me.h: Regenerated.
17461         * lib/unictype/categ_Mn.h: Regenerated.
17462         * lib/unictype/categ_N.h: Regenerated.
17463         * lib/unictype/categ_Nd.h: Regenerated.
17464         * lib/unictype/categ_Nl.h: Regenerated.
17465         * lib/unictype/categ_No.h: Regenerated.
17466         * lib/unictype/categ_P.h: Regenerated.
17467         * lib/unictype/categ_Pd.h: Regenerated.
17468         * lib/unictype/categ_Pe.h: Regenerated.
17469         * lib/unictype/categ_Pf.h: Regenerated.
17470         * lib/unictype/categ_Pi.h: Regenerated.
17471         * lib/unictype/categ_Po.h: Regenerated.
17472         * lib/unictype/categ_Ps.h: Regenerated.
17473         * lib/unictype/categ_S.h: Regenerated.
17474         * lib/unictype/categ_Sk.h: Regenerated.
17475         * lib/unictype/categ_Sm.h: Regenerated.
17476         * lib/unictype/categ_So.h: Regenerated.
17477         * lib/unictype/categ_of.h: Regenerated.
17478         * lib/unictype/combining.h: Regenerated.
17479         * lib/unictype/ctype_alnum.h: Regenerated.
17480         * lib/unictype/ctype_alpha.h: Regenerated.
17481         * lib/unictype/ctype_graph.h: Regenerated.
17482         * lib/unictype/ctype_lower.h: Regenerated.
17483         * lib/unictype/ctype_print.h: Regenerated.
17484         * lib/unictype/ctype_punct.h: Regenerated.
17485         * lib/unictype/ctype_upper.h: Regenerated.
17486         * lib/unictype/decdigit.h: Regenerated.
17487         * lib/unictype/digit.h: Regenerated.
17488         * lib/unictype/mirror.h: Regenerated.
17489         * lib/unictype/numeric.h: Regenerated.
17490         * lib/unictype/pr_alphabetic.h: Regenerated.
17491         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
17492         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
17493         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
17494         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
17495         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
17496         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
17497         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
17498         * lib/unictype/pr_combining.h: Regenerated.
17499         * lib/unictype/pr_dash.h: Regenerated.
17500         * lib/unictype/pr_decimal_digit.h: Regenerated.
17501         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
17502         * lib/unictype/pr_deprecated.h: Regenerated.
17503         * lib/unictype/pr_diacritic.h: Regenerated.
17504         * lib/unictype/pr_extender.h: Regenerated.
17505         * lib/unictype/pr_format_control.h: Regenerated.
17506         * lib/unictype/pr_grapheme_base.h: Regenerated.
17507         * lib/unictype/pr_grapheme_extend.h: Regenerated.
17508         * lib/unictype/pr_grapheme_link.h: Regenerated.
17509         * lib/unictype/pr_id_continue.h: Regenerated.
17510         * lib/unictype/pr_id_start.h: Regenerated.
17511         * lib/unictype/pr_ideographic.h: Regenerated.
17512         * lib/unictype/pr_ignorable_control.h: Regenerated.
17513         * lib/unictype/pr_lowercase.h: Regenerated.
17514         * lib/unictype/pr_math.h: Regenerated.
17515         * lib/unictype/pr_numeric.h: Regenerated.
17516         * lib/unictype/pr_other_alphabetic.h: Regenerated.
17517         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
17518         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
17519         * lib/unictype/pr_other_id_continue.h: Regenerated.
17520         * lib/unictype/pr_other_lowercase.h: Regenerated.
17521         * lib/unictype/pr_other_math.h: Regenerated.
17522         * lib/unictype/pr_punctuation.h: Regenerated.
17523         * lib/unictype/pr_sentence_terminal.h: Regenerated.
17524         * lib/unictype/pr_soft_dotted.h: Regenerated.
17525         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
17526         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
17527         * lib/unictype/pr_unified_ideograph.h: Regenerated.
17528         * lib/unictype/pr_uppercase.h: Regenerated.
17529         * lib/unictype/pr_xid_continue.h: Regenerated.
17530         * lib/unictype/pr_xid_start.h: Regenerated.
17531         * lib/unictype/pr_zero_width.h: Regenerated.
17532         * lib/unictype/scripts.h: Regenerated.
17533         * lib/unictype/scripts_byname.gperf: Regenerated.
17534         * lib/unictype/sy_java_ident.h: Regenerated.
17535         * lib/unilbrk/lbrkprop1.h: Regenerated.
17536         * lib/unilbrk/lbrkprop2.h: Regenerated.
17537         * tests/unictype/test-categ_C.c: Regenerated.
17538         * tests/unictype/test-categ_Cf.c: Regenerated.
17539         * tests/unictype/test-categ_Cn.c: Regenerated.
17540         * tests/unictype/test-categ_L.c: Regenerated.
17541         * tests/unictype/test-categ_Ll.c: Regenerated.
17542         * tests/unictype/test-categ_Lm.c: Regenerated.
17543         * tests/unictype/test-categ_Lo.c: Regenerated.
17544         * tests/unictype/test-categ_Lu.c: Regenerated.
17545         * tests/unictype/test-categ_M.c: Regenerated.
17546         * tests/unictype/test-categ_Mc.c: Regenerated.
17547         * tests/unictype/test-categ_Me.c: Regenerated.
17548         * tests/unictype/test-categ_Mn.c: Regenerated.
17549         * tests/unictype/test-categ_N.c: Regenerated.
17550         * tests/unictype/test-categ_Nd.c: Regenerated.
17551         * tests/unictype/test-categ_Nl.c: Regenerated.
17552         * tests/unictype/test-categ_No.c: Regenerated.
17553         * tests/unictype/test-categ_P.c: Regenerated.
17554         * tests/unictype/test-categ_Pd.c: Regenerated.
17555         * tests/unictype/test-categ_Pe.c: Regenerated.
17556         * tests/unictype/test-categ_Pf.c: Regenerated.
17557         * tests/unictype/test-categ_Pi.c: Regenerated.
17558         * tests/unictype/test-categ_Po.c: Regenerated.
17559         * tests/unictype/test-categ_Ps.c: Regenerated.
17560         * tests/unictype/test-categ_S.c: Regenerated.
17561         * tests/unictype/test-categ_Sk.c: Regenerated.
17562         * tests/unictype/test-categ_Sm.c: Regenerated.
17563         * tests/unictype/test-categ_So.c: Regenerated.
17564         * tests/unictype/test-ctype_alnum.c: Regenerated.
17565         * tests/unictype/test-ctype_alpha.c: Regenerated.
17566         * tests/unictype/test-ctype_graph.c: Regenerated.
17567         * tests/unictype/test-ctype_lower.c: Regenerated.
17568         * tests/unictype/test-ctype_print.c: Regenerated.
17569         * tests/unictype/test-ctype_punct.c: Regenerated.
17570         * tests/unictype/test-ctype_upper.c: Regenerated.
17571         * tests/unictype/test-decdigit.h: Regenerated.
17572         * tests/unictype/test-digit.h: Regenerated.
17573         * tests/unictype/test-numeric.h: Regenerated.
17574         * tests/unictype/test-pr_alphabetic.c: Regenerated.
17575         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
17576         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
17577         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
17578         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
17579         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
17580         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
17581         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
17582         * tests/unictype/test-pr_combining.c: Regenerated.
17583         * tests/unictype/test-pr_dash.c: Regenerated.
17584         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
17585         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
17586         * tests/unictype/test-pr_deprecated.c: Regenerated.
17587         * tests/unictype/test-pr_diacritic.c: Regenerated.
17588         * tests/unictype/test-pr_extender.c: Regenerated.
17589         * tests/unictype/test-pr_format_control.c: Regenerated.
17590         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
17591         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
17592         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
17593         * tests/unictype/test-pr_id_continue.c: Regenerated.
17594         * tests/unictype/test-pr_id_start.c: Regenerated.
17595         * tests/unictype/test-pr_ideographic.c: Regenerated.
17596         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
17597         * tests/unictype/test-pr_lowercase.c: Regenerated.
17598         * tests/unictype/test-pr_math.c: Regenerated.
17599         * tests/unictype/test-pr_numeric.c: Regenerated.
17600         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
17601         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
17602         Regenerated.
17603         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
17604         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
17605         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
17606         * tests/unictype/test-pr_other_math.c: Regenerated.
17607         * tests/unictype/test-pr_punctuation.c: Regenerated.
17608         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
17609         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
17610         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
17611         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
17612         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
17613         * tests/unictype/test-pr_uppercase.c: Regenerated.
17614         * tests/unictype/test-pr_xid_continue.c: Regenerated.
17615         * tests/unictype/test-pr_xid_start.c: Regenerated.
17616         * tests/unictype/test-pr_zero_width.c: Regenerated.
17617
17618         Update to Unicode 5.1.0.
17619         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
17620         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
17621         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
17622         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
17623         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
17624         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
17625         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
17626         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
17627         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
17628         (nonspacing_table_ind): Update.
17629         * tests/uniwidth/test-uc_width2.sh: Update expected result.
17630
17631         Update to Unicode 5.1.0.
17632         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
17633         code transform.
17634         * lib/uniname/uniname.c (unicode_character_name,
17635         unicode_name_character): Add the range 0x1Fxxx to the code transform.
17636         * lib/uniname/uninames.h: Regenerated.
17637         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
17638
17639 2009-02-07  Bruno Haible  <bruno@clisp.org>
17640
17641         Merge gen-ctype and gen-lbrk into a single program.
17642         * lib/gen-uni-tables.c: New file, incorporating
17643         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
17644         Add directory prefixes to the names of the generated files.
17645         * lib/unictype/gen-ctype.c: Remove file.
17646         * lib/unilbrk/gen-lbrk.c: Remove file.
17647         * modules/gen-uni-tables: New file.
17648         * modules/unictype/gen-ctype: Remove file.
17649         * modules/unilbrk/gen-lbrk: Remove file.
17650
17651 2009-02-07  Bruno Haible  <bruno@clisp.org>
17652
17653         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
17654
17655         New module 'unistr/u32-strcoll'.
17656         * modules/unistr/u32-strcoll: New file.
17657         * lib/unistr/u32-strcoll.c: New file.
17658
17659         New module 'unistr/u16-strcoll'.
17660         * modules/unistr/u16-strcoll: New file.
17661         * lib/unistr/u16-strcoll.c: New file.
17662
17663         New module 'unistr/u8-strcoll'.
17664         * modules/unistr/u8-strcoll: New file.
17665         * lib/unistr/u8-strcoll.c: New file.
17666         * lib/unistr/u-strcoll.h: New file.
17667
17668 2009-02-07  Bruno Haible  <bruno@clisp.org>
17669
17670         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
17671         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
17672         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
17673         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
17674         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
17675         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
17676
17677 2009-02-07  Bruno Haible  <bruno@clisp.org>
17678
17679         Make 64-bit clean.
17680         * lib/unictype/gen-ctype.c (output_predicate, output_category,
17681         output_combclass, output_bidi_category, output_decimal_digit,
17682         output_digit, output_numeric, output_mirror, output_scripts,
17683         output_ident_category): Use proper width specifier in format strings.
17684
17685 2009-02-07  Bruno Haible  <bruno@clisp.org>
17686
17687         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
17688         failure behaviour.
17689
17690 2009-02-07  Jim Meyering  <meyering@redhat.com>
17691
17692         regex: avoid compilation failure with upcoming gcc-4.4
17693         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
17694         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
17695         "... error: integer overflow in preprocessor expression".
17696
17697 2009-02-05  Ben Pfaff  <blp@gnu.org>
17698
17699         Fix link errors on Windows when close module is used.
17700         * modules/close: Add $(LIB_CLOSE) to Link section.
17701         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
17702         $(LIB_CLOSE) on Windows.
17703
17704 2009-02-05  Jim Meyering  <meyering@redhat.com>
17705
17706         still avoid unused-parameter warnings, but do it cleanly
17707         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
17708         (get_fs_usage): Cast to void instead.
17709         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
17710         (dev_from_mount_options, read_file_system_list): Cast to void.
17711         Prompted by Bruno Haible.
17712
17713 2009-02-04  Jim Meyering  <meyering@redhat.com>
17714
17715         fsusage.c: correct copyright year
17716         * lib/fsusage.c: Reflect year in which the change is pushed into
17717
17718         avoid misc. warnings
17719         * lib/fsusage.c (UNUSED_PARAM): Define.
17720         (get_fs_usage): Mark parameter "disk" as unused.
17721         * lib/getugroups.c (getgrent): Use "void" in prototype.
17722         * lib/mountlist.c: Mark unused parameters.
17723         (read_file_system_list): Declare a local with "const".
17724         * lib/nanosleep.c (getnow): Declare static.
17725         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
17726
17727         dirfd: set errno upon failure
17728         * lib/dirfd.c: Include <errno.h>.
17729         Set errno to ENOTSUP when returning -1.
17730         * modules/dirfd (Depends-on): Add errno.
17731         Suggested by John Kodis <kodis@comcast.net>.
17732
17733 2009-02-01  Bruno Haible  <bruno@clisp.org>
17734
17735         Don't assume sizeof (long) >= sizeof (void *).
17736         * lib/memcmp.c: Include stdint.h.
17737         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
17738         srcp2 to 'const byte *'.
17739         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
17740         types to uintptr_t.
17741         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
17742         * modules/memcmp (Depends-on): Add stdint.
17743         Reported by Ozkan Sezer <sezeroz@gmail.com>.
17744
17745 2009-01-30  Eric Blake  <ebb9@byu.net>
17746
17747         fix more require-before-expand issues
17748         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
17749         expand, AC_PROG_AWK.
17750         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
17751
17752 2009-01-28  Eric Blake  <ebb9@byu.net>
17753
17754         version-etc: use consistent URL formatting
17755         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
17756         Improve formatting.  Use fputs for string without %.
17757
17758 2009-01-28  Jim Meyering  <meyering@redhat.com>
17759
17760         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
17761         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
17762         "underquoted definition of NAME" from autoconf-2.59.
17763
17764 2009-01-28  Bruno Haible  <bruno@clisp.org>
17765
17766         * doc/gnulib.texi: Add "Obsolete modules" to index.
17767
17768 2009-01-28  Jim Meyering  <meyering@redhat.com>
17769
17770         useless-if-before-free: recognize more variants
17771         * build-aux/useless-if-before-free: Also recognize e.g.,
17772         if (NULL != p) free (p);
17773
17774 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
17775
17776         test-getaddrinfo: skip (don't fail) this test when there's no network
17777         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
17778         on the presumption that it means you lack network access.
17779
17780 2009-01-26  Jim Meyering  <meyering@redhat.com>
17781
17782         fflush: avoid warnings on modern systems
17783         * lib/fflush.c (rpl_fflush): Move declarations of locals,
17784         pos and result, into scopes where they're used.
17785
17786 2009-01-26  Eric Blake  <ebb9@byu.net>
17787
17788         Silence warning reintroduced by recent extensions patch.
17789         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
17790         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
17791         autoconf.
17792
17793         Backport improved autoconf semantics of AC_DEFUN_ONCE.
17794         * m4/00gnulib.m4: New file.
17795         * gnulib-tool (func_get_filelist): Always use it.
17796         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
17797         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
17798
17799 2009-01-25  Bruno Haible  <bruno@clisp.org>
17800
17801         Make test-quotearg work on MacOS X and AIX.
17802         * tests/test-quotearg.sh: New file.
17803         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
17804         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
17805         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
17806         include <libintl.h>.
17807         (fake_locale): Remove variable.
17808         (gettext, dgettext, dcgettext): Remove functions.
17809         (main): Instead of setting a fake locale, set a real locale. Call
17810         textdomain and bindtextdomain.
17811         * modules/quotearg-tests (Files): Add the new files.
17812         (Depends-on): Add gettext, setenv, unsetenv.
17813         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
17814         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
17815         Augment TESTS_ENVIRONMENT.
17816
17817 2009-01-25  Bruno Haible  <bruno@clisp.org>
17818
17819         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
17820         fr_FR.ISO8859-1 locale on MacOS X.
17821         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
17822         ja_JP.eucJP locale on MacOS X.
17823         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
17824         zh_CN.GB18030 locale on MacOS X.
17825
17826 2009-01-25  Bruno Haible  <bruno@clisp.org>
17827
17828         Avoid link errors on MacOS X 10.3.
17829         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
17830         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
17831
17832 2009-01-25  Bruno Haible  <bruno@clisp.org>
17833
17834         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
17835         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
17836         * modules/pipe (Files): Remove m4/posix_spawn.m4.
17837         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
17838         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
17839         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
17840         posix_spawnattr_init, posix_spawnattr_setsigmask,
17841         posix_spawnattr_setflags, posix_spawnattr_destroy.
17842
17843         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
17844         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
17845         * modules/execute (Files): Remove m4/posix_spawn.m4.
17846         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
17847         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
17848         posix_spawnattr_init, posix_spawnattr_setsigmask,
17849         posix_spawnattr_setflags, posix_spawnattr_destroy.
17850
17851 2009-01-25  Bruno Haible  <bruno@clisp.org>
17852
17853         * lib/glthread/threadlib.c: Include <stdlib.h>.
17854
17855 2009-01-25  Bruno Haible  <bruno@clisp.org>
17856
17857         * lib/glthread/threadlib.c (dummy): New declaration.
17858
17859 2009-01-25  Bruno Haible  <bruno@clisp.org>
17860
17861         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
17862         multibyte characters also for the GB18030 encoding. Don't crash when
17863         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
17864
17865 2009-01-25  Bruno Haible  <bruno@clisp.org>
17866
17867         Avoid redefining 'struct random_data' on OSF/1 5.1.
17868         * lib/stdlib.in.h: Include <random.h> if it exists.
17869         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
17870         HAVE_RANDOM_H. Include <random.h> when testing whether
17871         'struct random_data' exists.
17872         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
17873
17874 2009-01-25  Bruno Haible  <bruno@clisp.org>
17875
17876         Don't install charset.alias on MacOS X >= 10.3.
17877         * lib/localcharset.c (DARWIN7): New macro.
17878         (get_charset_aliases): Hardcode the result for Darwin7.
17879         * modules/localcharset (install-exec-local): Don't install
17880         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
17881
17882 2009-01-25  Bruno Haible  <bruno@clisp.org>
17883
17884         Don't install charset.alias on mingw and Cygwin.
17885         * modules/localcharset (install-exec-local): Don't install
17886         charset.alias on mingw and Cygwin, if the file does not yet exist.
17887         The result for these platforms is hardcoded in localcharset.c.
17888
17889 2009-01-25  Bruno Haible  <bruno@clisp.org>
17890
17891         Make it possible again to use AC_GNU_SOURCE together with gnulib.
17892         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
17893         before requiring AC_USE_SYSTEM_EXTENSIONS.
17894
17895 2009-01-25  Jim Meyering  <meyering@redhat.com>
17896
17897         c-strtod: avoid warnings
17898         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
17899         "assignment discards qualifiers from pointer target type" warnings.
17900
17901 2009-01-24  Bruno Haible  <bruno@clisp.org>
17902
17903         Add support for non-UTF-8 locales on MacOS X.
17904         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
17905         canonical encodings. For Darwin 7 and newer, don't map traditional
17906         encodings to UTF-8.
17907         Reported by Vincent Lefevre <vincent@vinc17.org>
17908         at <http://savannah.gnu.org/bugs/?25235>.
17909
17910 2009-01-24  Bruno Haible  <bruno@clisp.org>
17911
17912         * doc/gnulib.texi (Obsolete modules): New section.
17913         Reported by Mike Frysinger <vapier@gentoo.org>.
17914
17915 2009-01-24  Bruno Haible  <bruno@clisp.org>
17916
17917         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
17918         (%.dvi): New rule.
17919
17920 2009-01-24  Bruno Haible  <bruno@clisp.org>
17921
17922         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
17923         Reported by Eric Blake.
17924
17925 2009-01-24  Bruno Haible  <bruno@clisp.org>
17926
17927         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
17928         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
17929         Reported by Gary V. Vaughan <gary@gnu.org>.
17930
17931 2009-01-24  Bruno Haible  <bruno@clisp.org>
17932
17933         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
17934
17935 2009-01-23  Bruno Haible  <bruno@clisp.org>
17936
17937         Make c-strtod, c-strtold usable in libraries.
17938         * lib/c-strtod.c: Include string.h instead of xalloc.h.
17939         (C_STRTOD): Call strdup instead of xstrdup.
17940         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
17941         * modules/c-strtold (Depends-on): Likewise.
17942         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
17943         * NEWS: Mention the change.
17944         Reported by Michael Gold <mgold@ncf.ca>.
17945
17946 2009-01-23  Jim Meyering  <meyering@redhat.com>
17947
17948         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
17949         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
17950         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
17951
17952 2009-01-23  Simon Josefsson  <simon@josefsson.org>
17953
17954         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
17955         GNU CoreUtils.
17956         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
17957         * modules/version-etc (Description): Update.
17958
17959 2009-01-22  Bruno Haible  <bruno@clisp.org>
17960
17961         Cache the C locale object.
17962         * lib/c-strtod.c (c_locale_cache): New variable.
17963         (c_locale): New function.
17964         (C_STRTOD): Use it, and don't call freelocale.
17965         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
17966         Suggested by Paolo Bonzini.
17967
17968 2009-01-21  Bruno Haible  <bruno@clisp.org>
17969
17970         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
17971         conditions other than overflow.
17972
17973 2009-01-21  Bruno Haible  <bruno@clisp.org>
17974
17975         * lib/c-strtod.c: Include errno.h.
17976         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
17977         value from STRTOD_L and STRTOD.
17978
17979 2009-01-21  Bruno Haible  <bruno@clisp.org>
17980         and Jim Meyering  <meyering@redhat.com>
17981
17982         nanosleep: skip configure test (fail it) for apple universal builds
17983         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
17984         universal builds, assume that nanosleep does not work.
17985         * modules/nanosleep (Depends-on): Add multiarch.
17986
17987         mktime: skip configure test (fail it) for apple universal builds
17988         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
17989         universal builds, assume that mktime does not work.
17990         * modules/mktime (Depends-on): Add multiarch.
17991
17992 2009-01-21  Eric Blake  <ebb9@byu.net>
17993
17994         multiarch: avoid expand-before-require warning
17995         * modules/multiarch (configure.ac): Require, rather than expand,
17996         gl_MULTIARCH.
17997         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
17998         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
17999         enforce that all clients require it.  Partial reversion of
18000         2008-12-29 patch.
18001
18002         error: avoid expand-before-require warning
18003         * modules/errno (configure.ac): Require, rather than expand,
18004         gl_HEADER_ERRNO_H.
18005         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
18006         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
18007         enforce that all clients require it.
18008
18009         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
18010         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
18011         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
18012         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
18013
18014 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
18015
18016         Revert:
18017         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
18018
18019         regex: do not depend on obsolete modules.
18020         * modules/regex: Remove memcmp and memmove.
18021
18022 2009-01-20  Bruno Haible  <bruno@clisp.org>
18023
18024         Make the 'link' module link on Windows NT 4.
18025         * lib/link.c (_WIN32_WINNT): Don't define.
18026         (CreateHardLinkFuncType): New type.
18027         (CreateHardLinkFunc, initialized): New variables.
18028         (initialize): New function.
18029         (link): Invoke CreateHardLink indirectly through the function pointer.
18030
18031 2009-01-20  Bruno Haible  <bruno@clisp.org>
18032
18033         Fix compilation failure on mingw.
18034         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
18035
18036 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
18037
18038         * doc/c-strtod.texi: Mention a couple of restrictions.
18039
18040 2009-01-20  Jim Meyering  <meyering@redhat.com>
18041
18042         gettimeofday: move more declarations out of functions
18043         * lib/gettimeofday.c: Move extern declarations of tzset and
18044         gmtime out of containing functions.  Prompted by Bruno Haible.
18045
18046 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
18047
18048         regex: do not depend on obsolete modules.
18049         * modules/regex: Remove memcmp and memmove.
18050
18051 2009-01-19  Bruno Haible  <bruno@clisp.org>
18052
18053         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
18054         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
18055         gl_BIGENDIAN, not AC_C_BIGENDIAN.
18056         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
18057         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
18058
18059 2009-01-19  Bruno Haible  <bruno@clisp.org>
18060
18061         * tests/test-link.c: Include <errno.h>.
18062         (main): Exit with code 77 when a hard link cannot be created due to
18063         the file system.
18064         * tests/test-link.sh: Skip test when a hard link cannot be created due
18065         to the file system.
18066         Suggested by Eric Blake.
18067
18068 2009-01-19  Martin Lambers  <marlam@marlam.de>
18069
18070         * modules/link-tests: New file.
18071         * tests/test-link.sh: New file.
18072         * tests/test-link.c: New file.
18073
18074 2009-01-19  Eric Blake  <ebb9@byu.net>
18075
18076         doc: mention another function added in cygwin 1.7.0
18077         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
18078         Another new function in cygwin 1.7.
18079
18080 2009-01-19  Bruno Haible  <bruno@clisp.org>
18081
18082         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
18083         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
18084         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
18085         gl_BIGENDIAN, not AC_C_BIGENDIAN.
18086         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
18087         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
18088         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
18089         * m4/md4.m4 (gl_MD4): Likewise.
18090         * m4/md5.m4 (gl_MD5): Likewise.
18091         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
18092         * m4/sha1.m4 (gl_SHA1): Likewise.
18093         * m4/sha256.m4 (gl_SHA256): Likewise.
18094         * m4/sha512.m4 (gl_SHA512): Likewise.
18095
18096 2009-01-19  Bruno Haible  <bruno@clisp.org>
18097
18098         * modules/uniname/uniname-tests (Depends-on): Add progname.
18099         * tests/uniname/test-uninames.c: Include progname.h.
18100         (main): Call set_program_name.
18101
18102         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
18103         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
18104         (main): Call set_program_name.
18105
18106         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
18107         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
18108         (main): Call set_program_name.
18109
18110         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
18111         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
18112         (main): Call set_program_name.
18113
18114         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
18115         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
18116         (main): Call set_program_name.
18117
18118         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
18119         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
18120         (main): Call set_program_name.
18121
18122         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
18123         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
18124         (main): Call set_program_name.
18125
18126         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
18127         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
18128         (main): Call set_program_name.
18129
18130         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
18131         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
18132         (main): Call set_program_name.
18133
18134 2009-01-19  Eric Blake  <ebb9@byu.net>
18135
18136         test-unistd: test previous patch
18137         * tests/test-unistd.c: Test *_FILENO macros.
18138
18139         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
18140         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
18141         Guarantee a definition.
18142         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
18143         * modules/unistd-safer (Depends-on): Add dependency on unistd.
18144         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
18145         * lib/dup-safer.c (STDERR_FILENO): Likewise.
18146         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
18147         Likewise.
18148         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
18149         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
18150         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
18151         Likewise.
18152         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
18153         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
18154         (STDERR_FILENO): Likewise.
18155         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
18156         (STDERR_FILENO): Likewise.
18157         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
18158         (STDERR_FILENO): Likewise.
18159         Reported by Elbert Pol.
18160
18161 2009-01-19  Eric Blake  <ebb9@byu.net>
18162
18163         doc: mention more functions added in cygwin 1.7.0
18164         * doc/posix-functions/abort.texi (abort): Update wording related
18165         to cygwin.
18166         * doc/posix-functions/daylight.texi (daylight): Likewise.
18167         * doc/posix-functions/optarg.texi (optarg): Likewise.
18168         * doc/posix-functions/optarg.texi (opterr): Likewise.
18169         * doc/posix-functions/optarg.texi (optind): Likewise.
18170         * doc/posix-functions/optarg.texi (optopt): Likewise.
18171         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
18172         worked in 1.5.x, and was withdrawn in 1.7.
18173         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
18174         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
18175         cygwin versions.
18176         * doc/posix-functions/perror.texi (perror): Likewise.
18177         * doc/posix-functions/printf.texi (printf): Likewise.
18178         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
18179         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
18180         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
18181         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
18182         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
18183         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
18184         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
18185         Likewise.
18186         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
18187         Likewise.
18188         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
18189         this function.
18190         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
18191         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
18192         Likewise.
18193         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
18194         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
18195         * doc/posix-functions/confstr.texi (confstr): Likewise.
18196         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
18197         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
18198         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
18199         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
18200         * doc/posix-functions/fputws.texi (fputws): Likewise.
18201         * doc/posix-functions/fwide.texi (fwide): Likewise.
18202         * doc/posix-functions/getwc.texi (getwc): Likewise.
18203         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
18204         * doc/posix-functions/putwc.texi (putwc): Likewise.
18205         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
18206         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
18207         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
18208         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
18209         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
18210         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
18211         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
18212         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
18213         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
18214         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
18215         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
18216
18217 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
18218
18219         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
18220         * lib/ioctl.c: Include <sys/ioctl.h>.
18221
18222 2009-01-19  Simon Josefsson  <simon@josefsson.org>
18223
18224         * modules/getdate-tests (Depends-on): Add progname.
18225         * tests/test-getdate.c: Use progname module, to avoid link errors
18226         on non-glibc systems.
18227
18228 2009-01-18  Simon Josefsson  <simon@josefsson.org>
18229
18230         * modules/filenamecat-tests (Depends-on): Add progname.
18231         * modules/fstrcmp-tests (Depends-on): Likewise.
18232
18233         * tests/test-filenamecat.c: Use progname module, to avoid link
18234         errors on non-glibc systems.
18235         * tests/test-fstrcmp.c: Likewise.
18236
18237 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
18238
18239         gettimeofday: avoid warning: nested extern declaration of 'localtime'
18240         * lib/gettimeofday.c: Move extern declaration out of function.
18241
18242 2009-01-18  Bruno Haible  <bruno@clisp.org>
18243
18244         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
18245         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
18246         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
18247
18248 2009-01-18  Bruno Haible  <bruno@clisp.org>
18249
18250         * lib/strftime.c (MEMPCPY): Remove unused macro.
18251         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
18252
18253 2009-01-18  Martin Lambers  <marlam@marlam.de>
18254
18255         New module 'link'.
18256         * lib/unistd.in.h (link): New declaration.
18257         * lib/link.c: New file.
18258         * m4/link.m4: New file.
18259         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
18260         HAVE_LINK.
18261         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
18262         * modules/link: New file.
18263         * doc/posix-functions/link.texi: Mention the new module.
18264
18265 2009-01-18  Bruno Haible  <bruno@clisp.org>
18266
18267         * tests/test-avltree_list.c (main): Call set_program_name.
18268         * tests/test-avltree_oset.c (main): Likewise.
18269         * tests/test-obstack-printf.c: Include progname.h.
18270         (main): Call set_program_name.
18271         * tests/test-quotearg.c: Include progname.h.
18272         (main): Call set_program_name.
18273         * tests/test-xmemdup0.c: Include progname.h.
18274         (main): Call set_program_name.
18275
18276 2009-01-18  Bruno Haible  <bruno@clisp.org>
18277
18278         New module 'alphasort'.
18279         * lib/dirent.in.h (alphasort): New declaration.
18280         * lib/alphasort.c: New file, from glibc with modifications.
18281         * m4/alphasort.m4: New file.
18282         * modules/alphasort: New file.
18283         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
18284         HAVE_ALPHASORT.
18285         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
18286         HAVE_ALPHASORT.
18287         * doc/posix-functions/alphasort.texi: Mention the new module and the
18288         portability problems.
18289
18290 2009-01-18  Bruno Haible  <bruno@clisp.org>
18291
18292         New module 'scandir'.
18293         * lib/dirent.in.h (scandir): New declaration.
18294         * lib/scandir.c: New file, from glibc with modifications.
18295         * m4/scandir.m4: New file.
18296         * modules/scandir: New file.
18297         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
18298         HAVE_SCANDIR.
18299         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
18300         HAVE_SCANDIR.
18301         * doc/posix-functions/scandir.texi: Mention the new module and the
18302         portability problems.
18303
18304 2009-01-17  Bruno Haible  <bruno@clisp.org>
18305
18306         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
18307         Update documentation.
18308         (func_remove_suffix): Escape all dots in the suffix. Update
18309         documentation.
18310         (func_filter_filelist): Update documentation.
18311         Reported by Ralf Wildenhues.
18312
18313 2009-01-17  Bruno Haible  <bruno@clisp.org>
18314
18315         * modules/dprintf-posix-tests: New file.
18316         * tests/test-dprintf-posix.sh: New file.
18317         * tests/test-dprintf-posix.c: New file.
18318
18319         New modules 'dprintf', 'dprintf-posix'.
18320         * lib/stdio.in.h (dprintf): New declaration.
18321         * lib/dprintf.c: New file.
18322         * m4/dprintf.m4: New file.
18323         * m4/dprintf-posix.m4: New file.
18324         * modules/dprintf: New file.
18325         * modules/dprintf-posix: New file.
18326         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
18327         HAVE_DPRINTF, REPLACE_DPRINTF.
18328         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
18329         HAVE_DPRINTF, REPLACE_DPRINTF.
18330         * doc/posix-functions/dprintf.texi: Mention the new modules.
18331
18332 2009-01-17  Bruno Haible  <bruno@clisp.org>
18333
18334         * modules/vdprintf-posix-tests: New file.
18335         * tests/test-vdprintf-posix.sh: New file.
18336         * tests/test-vdprintf-posix.c: New file.
18337
18338         New modules 'vdprintf', 'vdprintf-posix'.
18339         * lib/stdio.in.h (vdprintf): New declaration.
18340         * lib/vdprintf.c: New file.
18341         * m4/vdprintf.m4: New file.
18342         * m4/vdprintf-posix.m4: New file.
18343         * modules/vdprintf: New file.
18344         * modules/vdprintf-posix: New file.
18345         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
18346         HAVE_VDPRINTF, REPLACE_VDPRINTF.
18347         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
18348         HAVE_VDPRINTF, REPLACE_VDPRINTF.
18349         * doc/posix-functions/vdprintf.texi: Mention the new modules.
18350
18351 2009-01-17  Bruno Haible  <bruno@clisp.org>
18352
18353         Fix replacement of fopen on mingw.
18354         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
18355         mingw.
18356
18357 2009-01-17  Bruno Haible  <bruno@clisp.org>
18358
18359         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
18360         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
18361
18362 2009-01-17  Bruno Haible  <bruno@clisp.org>
18363
18364         Avoid test-fflush2.sh failure on mingw.
18365         * tests/test-fflush2.c: Include binary-io.h.
18366         (main): Put standard input into binary mode.
18367         * modules/fflush-tests (Depends-on): Add binary-io.
18368
18369 2009-01-17  Bruno Haible  <bruno@clisp.org>
18370
18371         * lib/wchar.in.h: In another particular situation, include only the
18372         system's <wchar.h> file.
18373         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
18374         Reported by Albert Chin-A-Young <china@thewrittenword.com>
18375         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
18376
18377 2009-01-17  Bruno Haible  <bruno@clisp.org>
18378
18379         Support for stripping executables in --enable-relocatable.
18380         * build-aux/install-reloc: Expect one more argument, or an environment
18381         variable RELOC_STRIP_PROG. If set, strip the destination program and
18382         its wrapper.
18383         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
18384         RELOC_STRIP_PROG.
18385         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
18386         to set RELOCATABLE_STRIP.
18387         * NEWS: Mention the new Makefile requirement.
18388
18389 2009-01-17  Bruno Haible  <bruno@clisp.org>
18390
18391         * build-aux/install-reloc: Remove debugging information left over by
18392         C compiler on MacOS X.
18393
18394 2009-01-17  Bruno Haible  <bruno@clisp.org>
18395
18396         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
18397         * lib/progreloc.c (find_executable): Fix type of pointer passed to
18398         _NSGetExecutablePath.
18399
18400 2009-01-16  Jim Meyering  <meyering@redhat.com>
18401
18402         strerror: avoid warnings about discarding "const"
18403         * lib/strerror.c (rpl_strerror): Instead of returning a const
18404         string from each and every "case", use a variable, and add a single
18405         cast after the switch.
18406
18407 2009-01-16  Albert Chin-A-Young <china@thewrittenword.com>
18408
18409         * lib/arpa_inet.in.h: Add extern "C" block for C++.
18410
18411 2009-01-16  Bruno Haible  <bruno@clisp.org>
18412
18413         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
18414         array initializer syntax that also works in C++ mode.
18415         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
18416
18417 2009-01-16  Jim Meyering  <meyering@redhat.com>
18418
18419         poll: suppress a warning
18420         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
18421         to ignore "...unsigned expression < 0 is always false" warnings.
18422
18423 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
18424
18425         poll: remove declarations of unused variables
18426         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
18427         sockbuf and optlen.
18428
18429 2009-01-15  Bruno Haible  <bruno@clisp.org>
18430
18431         Make fflush-after-ungetc POSIX compliant on BSD systems.
18432         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
18433         (clear_ungetc_buffer): Implement also for other systems.
18434         (rpl_fflush): On glibc systems, invoke
18435         clear_ungetc_buffer_preserving_position. Otherwise, invoke
18436         clear_ungetc_buffer after fetching the stream's position, not before.
18437
18438 2009-01-15  Bruno Haible  <bruno@clisp.org>
18439
18440         Make fflush-after-ungetc POSIX compliant on glibc systems.
18441         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
18442         after ungetc.
18443         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
18444         (rpl_fflush): On glibc systems, simply call the system's fflush
18445         function after clearing the ungetc buffer.
18446         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
18447         Instead, lseek only to the end of file, then use the system's fseeko
18448         for the rest. On glibc systems, reset the EOF indicator bit.
18449
18450 2009-01-15  Jim Meyering  <meyering@redhat.com>
18451
18452         openmp.m4: revert quote-adding change, for portability to older autoconf
18453         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
18454         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
18455         Simon Josefsson noticed the problem when using autoconf-2.61.
18456
18457 2009-01-15  Bruno Haible  <bruno@clisp.org>
18458
18459         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
18460         * tests/test-fflush2.c (ASSERT): Always fail.
18461         (main): Add two tests for fflush() after ungetc(), taking into account
18462         the Austin Group's clarification.
18463         Suggested by Eric Blake.
18464
18465 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
18466
18467         mktime.m4: remove K&R-style function prototypes
18468         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
18469         for the Sun C++ compiler.
18470
18471 2009-01-14  Bruno Haible  <bruno@clisp.org>
18472
18473         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
18474         while including <wchar.h>.
18475         * lib/wchar.in.h: In two particular situations on HP-UX, include only
18476         the system's <wchar.h> file.
18477         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
18478
18479 2009-01-14  Bruno Haible  <bruno@clisp.org>
18480
18481         * m4/csharp.m4: Don't mention gettext on the serial number line.
18482         * m4/csharpexec.m4: Likewise.
18483         * m4/eaccess.m4: Likewise.
18484         * m4/javaexec.m4: Likewise.
18485         * m4/sig_atomic_t.m4: Likewise.
18486         * m4/tmpdir.m4: Likewise.
18487         * m4/intldir.m4: Bump gettext version.
18488         * m4/lib-ld.m4: Likewise.
18489
18490 2009-01-14  Bruno Haible  <bruno@clisp.org>
18491
18492         * lib/progname.c (set_program_name): Add more comments.
18493         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
18494
18495 2009-01-14  Simon Josefsson  <simon@josefsson.org>
18496
18497         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
18498         were sys/stat.h does not define it.
18499
18500 2009-01-14  Jim Meyering  <meyering@redhat.com>
18501
18502         many *.m4 files: improve m4 quoting
18503         99% of this change was performed by running the following commands:
18504         git ls-files | grep '\.m4$' | xargs perl -pi \
18505           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
18506           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
18507           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
18508           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
18509         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
18510         The remainder were to add Copyright dates, increment serial numbers,
18511         undo some changes in comments, exclude m4/intl.m4, and add quotes
18512         around the "1" in ",1" where the unusual spacing prohibited the
18513         above regexps from doing the job.  For more details, see
18514         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
18515         * m4/acl.m4: Modified.
18516         * m4/afs.m4: Likewise.
18517         * m4/alloca.m4: Likewise.
18518         * m4/argp.m4: Likewise.
18519         * m4/argz.m4: Likewise.
18520         * m4/atexit.m4: Likewise.
18521         * m4/bison-i18n.m4: Likewise.
18522         * m4/bison.m4: Likewise.
18523         * m4/byteswap.m4: Likewise.
18524         * m4/c-stack.m4: Likewise.
18525         * m4/c-strtod.m4: Likewise.
18526         * m4/calloc.m4: Likewise.
18527         * m4/canonicalize-lgpl.m4: Likewise.
18528         * m4/chown.m4: Likewise.
18529         * m4/clock_time.m4: Likewise.
18530         * m4/codeset.m4: Likewise.
18531         * m4/copy-file.m4: Likewise.
18532         * m4/csharp.m4: Likewise.
18533         * m4/csharpcomp.m4: Likewise.
18534         * m4/csharpexec.m4: Likewise.
18535         * m4/d-ino.m4: Likewise.
18536         * m4/d-type.m4: Likewise.
18537         * m4/dirfd.m4: Likewise.
18538         * m4/double-slash-root.m4: Likewise.
18539         * m4/eaccess.m4: Likewise.
18540         * m4/eealloc.m4: Likewise.
18541         * m4/environ.m4: Likewise.
18542         * m4/errno_h.m4: Likewise.
18543         * m4/euidaccess.m4: Likewise.
18544         * m4/execute.m4: Likewise.
18545         * m4/fatal-signal.m4: Likewise.
18546         * m4/fchdir.m4: Likewise.
18547         * m4/fcntl_h.m4: Likewise.
18548         * m4/fileblocks.m4: Likewise.
18549         * m4/filenamecat.m4: Likewise.
18550         * m4/findprog.m4: Likewise.
18551         * m4/flexmember.m4: Likewise.
18552         * m4/fnmatch.m4: Likewise.
18553         * m4/fopen.m4: Likewise.
18554         * m4/fpending.m4: Likewise.
18555         * m4/fprintf-posix.m4: Likewise.
18556         * m4/free.m4: Likewise.
18557         * m4/frexp.m4: Likewise.
18558         * m4/frexpl.m4: Likewise.
18559         * m4/fsusage.m4: Likewise.
18560         * m4/ftruncate.m4: Likewise.
18561         * m4/gc-camellia.m4: Likewise.
18562         * m4/gc-random.m4: Likewise.
18563         * m4/gc.m4: Likewise.
18564         * m4/getaddrinfo.m4: Likewise.
18565         * m4/getcwd-abort-bug.m4: Likewise.
18566         * m4/getcwd-path-max.m4: Likewise.
18567         * m4/getdate.m4: Likewise.
18568         * m4/getdomainname.m4: Likewise.
18569         * m4/getgroups.m4: Likewise.
18570         * m4/gethostname.m4: Likewise.
18571         * m4/gethrxtime.m4: Likewise.
18572         * m4/getline.m4: Likewise.
18573         * m4/getloadavg.m4: Likewise.
18574         * m4/getndelim2.m4: Likewise.
18575         * m4/getpass.m4: Likewise.
18576         * m4/gettext.m4: Likewise.
18577         * m4/gettime.m4: Likewise.
18578         * m4/gettimeofday.m4: Likewise.
18579         * m4/gnulib-common.m4: Likewise.
18580         * m4/group-member.m4: Likewise.
18581         * m4/host-os.m4: Likewise.
18582         * m4/iconv.m4: Likewise.
18583         * m4/iconv_open.m4: Likewise.
18584         * m4/inet_ntop.m4: Likewise.
18585         * m4/inet_pton.m4: Likewise.
18586         * m4/inline.m4: Likewise.
18587         * m4/intldir.m4: Likewise.
18588         * m4/intlmacosx.m4: Likewise.
18589         * m4/intmax.m4: Likewise.
18590         * m4/intmax_t.m4: Likewise.
18591         * m4/inttypes.m4: Likewise.
18592         * m4/inttypes_h.m4: Likewise.
18593         * m4/inttypes-pri.m4: Likewise.
18594         * m4/isapipe.m4: Likewise.
18595         * m4/isnand.m4: Likewise.
18596         * m4/isnanf.m4: Likewise.
18597         * m4/isnanl.m4: Likewise.
18598         * m4/javacomp.m4: Likewise.
18599         * m4/javaexec.m4: Likewise.
18600         * m4/jm-winsz1.m4: Likewise.
18601         * m4/jm-winsz2.m4: Likewise.
18602         * m4/lchown.m4: Likewise.
18603         * m4/lcmessage.m4: Likewise.
18604         * m4/ldexpl.m4: Likewise.
18605         * m4/lib-ld.m4: Likewise.
18606         * m4/lib-link.m4: Likewise.
18607         * m4/libsigsegv.m4: Likewise.
18608         * m4/link-follow.m4: Likewise.
18609         * m4/localcharset.m4: Likewise.
18610         * m4/locale-fr.m4: Likewise.
18611         * m4/locale-ja.m4: Likewise.
18612         * m4/locale-tr.m4: Likewise.
18613         * m4/locale-zh.m4: Likewise.
18614         * m4/lock.m4: Likewise.
18615         * m4/longlong.m4: Likewise.
18616         * m4/ls-mntd-fs.m4: Likewise.
18617         * m4/lstat.m4: Likewise.
18618         * m4/malloc.m4: Likewise.
18619         * m4/mathl.m4: Likewise.
18620         * m4/mbrtowc.m4: Likewise.
18621         * m4/mbstate_t.m4: Likewise.
18622         * m4/mbswidth.m4: Likewise.
18623         * m4/memchr.m4: Likewise.
18624         * m4/memcmp.m4: Likewise.
18625         * m4/memcpy.m4: Likewise.
18626         * m4/memmem.m4: Likewise.
18627         * m4/memmove.m4: Likewise.
18628         * m4/mempcpy.m4: Likewise.
18629         * m4/memrchr.m4: Likewise.
18630         * m4/memset.m4: Likewise.
18631         * m4/minmax.m4: Likewise.
18632         * m4/mkdir-slash.m4: Likewise.
18633         * m4/mkdtemp.m4: Likewise.
18634         * m4/mktime.m4: Likewise.
18635         * m4/mmap-anon.m4: Likewise.
18636         * m4/mountlist.m4: Likewise.
18637         * m4/nanosleep.m4: Likewise.
18638         * m4/nls.m4: Likewise.
18639         * m4/nocrash.m4: Likewise.
18640         * m4/open.m4: Likewise.
18641         * m4/openat.m4: Likewise.
18642         * m4/openmp.m4: Likewise.
18643         * m4/pathmax.m4: Likewise.
18644         * m4/perl.m4: Likewise.
18645         * m4/physmem.m4: Likewise.
18646         * m4/pipe.m4: Likewise.
18647         * m4/po.m4: Likewise.
18648         * m4/poll.m4: Likewise.
18649         * m4/posixtm.m4: Likewise.
18650         * m4/posixver.m4: Likewise.
18651         * m4/printf-frexp.m4: Likewise.
18652         * m4/printf-frexpl.m4: Likewise.
18653         * m4/printf-posix.m4: Likewise.
18654         * m4/printf-posix-rpl.m4: Likewise.
18655         * m4/printf.m4: Likewise.
18656         * m4/progtest.m4: Likewise.
18657         * m4/putenv.m4: Likewise.
18658         * m4/readline.m4: Likewise.
18659         * m4/readlink.m4: Likewise.
18660         * m4/readutmp.m4: Likewise.
18661         * m4/realloc.m4: Likewise.
18662         * m4/regex.m4: Likewise.
18663         * m4/relocatable.m4: Likewise.
18664         * m4/relocatable-lib.m4: Likewise.
18665         * m4/rename-dest-slash.m4: Likewise.
18666         * m4/rename.m4: Likewise.
18667         * m4/rmdir-errno.m4: Likewise.
18668         * m4/rmdir.m4: Likewise.
18669         * m4/roundf.m4: Likewise.
18670         * m4/roundl.m4: Likewise.
18671         * m4/rpmatch.m4: Likewise.
18672         * m4/save-cwd.m4: Likewise.
18673         * m4/selinux-selinux-h.m4: Likewise.
18674         * m4/setenv.m4: Likewise.
18675         * m4/settime.m4: Likewise.
18676         * m4/sig2str.m4: Likewise.
18677         * m4/sig_atomic_t.m4: Likewise.
18678         * m4/signalblocking.m4: Likewise.
18679         * m4/signbit.m4: Likewise.
18680         * m4/sigpipe.m4: Likewise.
18681         * m4/sockets.m4: Likewise.
18682         * m4/sockpfaf.m4: Likewise.
18683         * m4/st_dm_mode.m4: Likewise.
18684         * m4/stat-time.m4: Likewise.
18685         * m4/stdbool.m4: Likewise.
18686         * m4/stdint.m4: Likewise.
18687         * m4/stdint_h.m4: Likewise.
18688         * m4/stpcpy.m4: Likewise.
18689         * m4/stpncpy.m4: Likewise.
18690         * m4/strcase.m4: Likewise.
18691         * m4/strchrnul.m4: Likewise.
18692         * m4/strcspn.m4: Likewise.
18693         * m4/strdup.m4: Likewise.
18694         * m4/strftime.m4: Likewise.
18695         * m4/strndup.m4: Likewise.
18696         * m4/strnlen.m4: Likewise.
18697         * m4/strpbrk.m4: Likewise.
18698         * m4/strptime.m4: Likewise.
18699         * m4/strsep.m4: Likewise.
18700         * m4/strtod.m4: Likewise.
18701         * m4/strtoimax.m4: Likewise.
18702         * m4/strtok_r.m4: Likewise.
18703         * m4/strtol.m4: Likewise.
18704         * m4/strtoll.m4: Likewise.
18705         * m4/strtoul.m4: Likewise.
18706         * m4/strtoull.m4: Likewise.
18707         * m4/strtoumax.m4: Likewise.
18708         * m4/strverscmp.m4: Likewise.
18709         * m4/threadlib.m4: Likewise.
18710         * m4/timegm.m4: Likewise.
18711         * m4/tm_gmtoff.m4: Likewise.
18712         * m4/tmpdir.m4: Likewise.
18713         * m4/tmpfile.m4: Likewise.
18714         * m4/tzset.m4: Likewise.
18715         * m4/uintmax_t.m4: Likewise.
18716         * m4/unlinkdir.m4: Likewise.
18717         * m4/unlocked-io.m4: Likewise.
18718         * m4/uptime.m4: Likewise.
18719         * m4/userspec.m4: Likewise.
18720         * m4/utimbuf.m4: Likewise.
18721         * m4/utime.m4: Likewise.
18722         * m4/utimes-null.m4: Likewise.
18723         * m4/utimes.m4: Likewise.
18724         * m4/vararrays.m4: Likewise.
18725         * m4/vasnprintf.m4: Likewise.
18726         * m4/vfprintf-posix.m4: Likewise.
18727         * m4/vprintf-posix.m4: Likewise.
18728         * m4/wait-process.m4: Likewise.
18729         * m4/wchar_t.m4: Likewise.
18730         * m4/wint_t.m4: Likewise.
18731         * m4/write-any-file.m4: Likewise.
18732         * m4/yield.m4: Likewise.
18733
18734 2009-01-13  Bruno Haible  <bruno@clisp.org>
18735
18736         Avoid test-copy-file.sh failures when ACL support insufficient.
18737         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
18738         TESTS_ENVIRONMENT.
18739         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
18740         Reported by Jim Meyering.
18741
18742 2009-01-13  Bruno Haible  <bruno@clisp.org>
18743
18744         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
18745         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
18746         * modules/unistdio/u8-printf-parse (Files): Likewise.
18747         * modules/unistdio/u32-printf-parse (Files): Likewise.
18748         * modules/unistdio/ulc-printf-parse (Files): Likewise.
18749
18750 2009-01-13  Simon Josefsson  <simon@josefsson.org>
18751
18752         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
18753         and m4/inttypes_h.m4 too.
18754
18755 2009-01-12  Eric Blake  <ebb9@byu.net>
18756
18757         tests: IRIX 6.2 cc can't compile -0.0 into .data
18758         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
18759         rather than at compile-time.
18760         * tests/test-floorl.c (minus_zero): Likewise.
18761         * tests/test-frexpl.c (minus_zero): Likewise.
18762         * tests/test-isnan.c (minus_zerol): Likewise.
18763         * tests/test-isnanl.h (minus_zero): Likewise.
18764         * tests/test-ldexpl.c (minus_zero): Likewise.
18765         * tests/test-roundl.c (minus_zero): Likewise.
18766         * tests/test-signbit.c (minus_zerol): Likewise.
18767         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
18768         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
18769         * tests/test-truncl.c (minus_zero): Likewise.
18770         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
18771         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
18772         Reported by Tom G. Christensen and Nelson H. F. Beebe.
18773
18774 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
18775
18776         regex: fix glibc bug 9697
18777         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
18778         handling.
18779
18780 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
18781
18782         regex: fix glibc bug 697
18783         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
18784         being NULL also if there are no backreferences.
18785
18786 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
18787
18788         regex: merge glibc changes
18789         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
18790         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
18791         re_string_skip_chars, re_string_reconstruct): Likewise.
18792         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
18793
18794 2009-01-07  Jim Meyering  <meyering@redhat.com>
18795
18796         poll: filter through cppi
18797         * lib/poll.c: Indent cpp directives to reflect nesting.
18798
18799 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
18800
18801         poll: don't return uninitialized
18802         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
18803
18804 2009-01-06  Jeremy Olexa <darkside@gentoo.org>  (tiny change)
18805
18806         avoid compile failure on AIX 6.1
18807         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
18808         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
18809
18810 2009-01-04  Jim Meyering  <meyering@redhat.com>
18811
18812         remove duplicate inclusion of <stdio.h>
18813         * tests/test-fprintf-posix.c: Likewise.
18814         * tests/test-printf-posix.c: Likewise.
18815         * tests/test-snprintf-posix.c: Likewise.
18816         * tests/test-sprintf-posix.c: Likewise.
18817         * tests/test-vasprintf-posix.c: Likewise.
18818         * tests/test-vfprintf-posix.c: Likewise.
18819         * tests/test-vprintf-posix.c: Likewise.
18820         * tests/test-vsnprintf-posix.c: Likewise.
18821         * tests/test-vsprintf-posix.c: Likewise.
18822
18823 2009-01-03  Jim Meyering  <meyering@redhat.com>
18824
18825         gnulib-tool: fix sed-based filtering
18826         * gnulib-tool (func_filter_filelist): Remove extra backslash
18827         in sed_fff_filter definition.
18828
18829 2009-01-02  Jim Meyering  <meyering@redhat.com>
18830
18831         strftime: avoid compilation failure on Solaris 2.6
18832         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
18833         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
18834         Don't #define mbrlen or mbsinit, since now they're guaranteed to
18835         be available.  Reported by Tom G. Christensen.  Details in
18836         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
18837
18838 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18839             Bruno Haible  <bruno@clisp.org>
18840
18841         Speed up gnulib-tool by doing more string processing through shell
18842         built-ins.
18843         * gnulib-tool (fast_func_append): New variable.
18844         (func_remove_prefix, func_remove_suffix): New functions.
18845         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
18846         (func_filter_filelist): New function.
18847         (func_get_dependencies): Use func_remove_suffix instead of sed.
18848         (func_get_automake_snippet): Use func_filter_filelist instead of a
18849         subshell and sed invocation.
18850
18851 2009-01-01  Bruno Haible  <bruno@clisp.org>
18852
18853         Fix a security bug.
18854         * gnulib-tool (func_import, import, update): Don't allow the characters
18855         '"', '$', '`', '\' in macro arguments that become part of commands that
18856         are evaluated.
18857
18858 2009-01-01  Bruno Haible  <bruno@clisp.org>
18859
18860         * gnulib-tool (func_reset_sigpipe): Add more comments.
18861
18862 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18863
18864         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
18865         func_emit_tests_Makefile_am, func_import): Abort loops early if we
18866         already know the answer.
18867
18868 2009-01-01  Jim Meyering  <meyering@redhat.com>
18869
18870         * lib/version-etc.c (version_etc_va): Update copyright year.
18871
18872 2008-12-30  Bruno Haible  <bruno@clisp.org>
18873
18874         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
18875         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
18876         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
18877
18878 2008-12-29  Eric Blake  <ebb9@byu.net>
18879
18880         multiarch: avoid autoconf AC_REQUIRE bug
18881         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
18882         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
18883         2.63 and older.
18884         Reported by Bruno Haible, and analyzed in
18885         http://lists.gnu.org/archive/html/bug-autoconf/2008-12/msg00039.html
18886
18887 2008-12-29  Bruno Haible  <bruno@clisp.org>
18888
18889         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
18890         files in subdirectories correctly.
18891         Reported by Ralf Wildenhues.
18892
18893 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18894
18895         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
18896         rather than 'join FILE -', for Solaris join.
18897
18898 2008-12-29  Bruno Haible  <bruno@clisp.org>
18899
18900         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
18901         quoting.
18902         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
18903         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
18904         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
18905         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
18906         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
18907         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
18908         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
18909         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
18910         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
18911         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
18912         * m4/nls.m4 (AM_NLS): Likewise.
18913         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
18914         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
18915         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
18916         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
18917         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
18918         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
18919         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
18920         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
18921         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
18922         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
18923         * m4/xsize.m4 (gl_XSIZE): Likewise.
18924         Suggested by Jim Meyering.
18925
18926 2008-11-17  Bruce Korb  <bkorb@gnu.org>
18927
18928         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
18929         * lib/parse-duration.c: use a switch instead of cascading if's.
18930
18931 2008-12-29  Eric Blake  <ebb9@byu.net>
18932
18933         wchar.h: supply WEOF on Irix 5.3
18934         * lib/wchar.in.h (wint_t): Also supply WEOF.
18935         * lib/wctype.in.h (wint_t): Likewise.
18936         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
18937         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
18938         Reported by Tom G. Christensen.
18939
18940 2008-12-26  Bruno Haible  <bruno@clisp.org>
18941
18942         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
18943         i486, i586, i686.
18944
18945 2008-12-26  Bruno Haible  <bruno@clisp.org>
18946
18947         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
18948
18949 2008-12-26  Bruno Haible  <bruno@clisp.org>
18950
18951         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
18952         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
18953         not __STDC_CONSTANT_MACROS.
18954         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
18955
18956 2008-12-25  Bruno Haible  <bruno@clisp.org>
18957
18958         Add support for universal builds to vasnprintf.
18959         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
18960         universal builds, guess no.
18961         * modules/vasnprintf-posix (Depends-on): Add multiarch.
18962         * modules/vasprintf-posix (Depends-on): Likewise.
18963         * modules/fprintf-posix (Depends-on): Likewise.
18964         * modules/vfprintf-posix (Depends-on): Likewise.
18965         * modules/snprintf-posix (Depends-on): Likewise.
18966         * modules/vsnprintf-posix (Depends-on): Likewise.
18967         * modules/sprintf-posix (Depends-on): Likewise.
18968         * modules/vsprintf-posix (Depends-on): Likewise.
18969         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
18970         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
18971         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
18972         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
18973         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
18974         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
18975         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
18976
18977         Add support for universal builds to <inttypes.h>.
18978         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
18979         _SCNu64_PREFIX): In Apple
18980         universal builds, define directly, using _LP64.
18981         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
18982         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
18983         * modules/inttypes (Depends-on): Add multiarch.
18984         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
18985
18986         Add support for universal builds to <stdint.h>.
18987         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
18988         universal builds, define directly, using _LP64.
18989         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
18990         Apple universal builds, don't test for the size and suffix of ptrdiff_t
18991         and size_t.
18992         * modules/stdint (Depends-on): Add multiarch.
18993         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
18994
18995         New module 'multiarch'.
18996         * modules/multiarch: New file.
18997         * m4/multiarch.m4: New file.
18998
18999 2008-12-25  Bruno Haible  <bruno@clisp.org>
19000
19001         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
19002
19003 2008-12-25  Bruno Haible  <bruno@clisp.org>
19004
19005         * modules/btowc (License): Relicense under LGPLv2+.
19006         * modules/mbsinit (License): Likewise.
19007         * modules/mbrtowc (License): Likewise.
19008         * modules/wcrtomb (License): Likewise.
19009         * modules/streq (License): Likewise.
19010         Reported by David Lutterkort <lutter@redhat.com>.
19011
19012 2008-12-23  Bruno Haible  <bruno@clisp.org>
19013
19014         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
19015
19016 2008-12-23  Bruno Haible  <bruno@clisp.org>
19017
19018         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
19019         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
19020         GETADDRINFO_LIB, not in LIBS.
19021         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
19022         * modules/canon-host (Link): Likewise.
19023         * NEWS: Mention the change.
19024         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
19025         GETADDRINFO_LIB.
19026
19027 2008-12-22  Bruno Haible  <bruno@clisp.org>
19028
19029         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
19030         * doc/posix-functions/iswalpha_l.texi: Likewise.
19031         * doc/posix-functions/iswblank_l.texi: Likewise.
19032         * doc/posix-functions/iswcntrl_l.texi: Likewise.
19033         * doc/posix-functions/iswctype_l.texi: Likewise.
19034         * doc/posix-functions/iswdigit_l.texi: Likewise.
19035         * doc/posix-functions/iswgraph_l.texi: Likewise.
19036         * doc/posix-functions/iswlower_l.texi: Likewise.
19037         * doc/posix-functions/iswprint_l.texi: Likewise.
19038         * doc/posix-functions/iswpunct_l.texi: Likewise.
19039         * doc/posix-functions/iswspace_l.texi: Likewise.
19040         * doc/posix-functions/iswupper_l.texi: Likewise.
19041         * doc/posix-functions/iswxdigit_l.texi: Likewise.
19042         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
19043         * doc/posix-functions/open_wmemstream.texi: Likewise.
19044         * doc/posix-functions/swscanf.texi: Likewise.
19045         * doc/posix-functions/towctrans_l.texi: Likewise.
19046         * doc/posix-functions/towlower.texi: Likewise.
19047         * doc/posix-functions/towlower_l.texi: Likewise.
19048         * doc/posix-functions/towupper.texi: Likewise.
19049         * doc/posix-functions/towupper_l.texi: Likewise.
19050         * doc/posix-functions/vfwprintf.texi: Likewise.
19051         * doc/posix-functions/vfwscanf.texi: Likewise.
19052         * doc/posix-functions/vswscanf.texi: Likewise.
19053         * doc/posix-functions/vwprintf.texi: Likewise.
19054         * doc/posix-functions/vwscanf.texi: Likewise.
19055         * doc/posix-functions/wcpcpy.texi: Likewise.
19056         * doc/posix-functions/wcpncpy.texi: Likewise.
19057         * doc/posix-functions/wcscasecmp.texi: Likewise.
19058         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
19059         * doc/posix-functions/wcscoll_l.texi: Likewise.
19060         * doc/posix-functions/wcsdup.texi: Likewise.
19061         * doc/posix-functions/wcsncasecmp.texi: Likewise.
19062         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
19063         * doc/posix-functions/wcsnlen.texi: Likewise.
19064         * doc/posix-functions/wcsnrtombs.texi: Likewise.
19065         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
19066         * doc/posix-functions/wctrans_l.texi: Likewise.
19067         * doc/posix-functions/wctype_l.texi: Likewise.
19068         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
19069         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
19070         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
19071         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
19072         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
19073         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
19074         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
19075         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
19076         * doc/glibc-functions/wcschrnul.texi: Likewise.
19077         * doc/glibc-functions/wcsftime_l.texi: Likewise.
19078         * doc/glibc-functions/wcstod_l.texi: Likewise.
19079         * doc/glibc-functions/wcstof_l.texi: Likewise.
19080         * doc/glibc-functions/wcstol_l.texi: Likewise.
19081         * doc/glibc-functions/wcstold_l.texi: Likewise.
19082         * doc/glibc-functions/wcstoll_l.texi: Likewise.
19083         * doc/glibc-functions/wcstoq.texi: Likewise.
19084         * doc/glibc-functions/wcstoul_l.texi: Likewise.
19085         * doc/glibc-functions/wcstoull_l.texi: Likewise.
19086         * doc/glibc-functions/wcstouq.texi: Likewise.
19087         * doc/glibc-functions/wmempcpy.texi: Likewise.
19088
19089 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
19090             Eric Blake  <ebb9@byu.net>
19091             Paolo Bonzini  <bonzini@gnu.org>
19092             Bruno Haible  <bruno@clisp.org>
19093
19094         Make c-stack work on Haiku.
19095         * lib/c-stack.c (SA_ONSTACK): Define fallback.
19096         (c_stack_action): Use SA_ONSTACK flag.
19097
19098 2008-12-22  Bruno Haible  <bruno@clisp.org>
19099
19100         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
19101
19102 2008-12-22  Bruno Haible  <bruno@clisp.org>
19103
19104         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
19105         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
19106         being overridden.
19107         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
19108         New macros.
19109         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
19110         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
19111         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
19112         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
19113
19114 2008-12-22  Bruno Haible  <bruno@clisp.org>
19115
19116         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
19117         from test code.
19118
19119 2008-12-22  Eric Blake  <ebb9@byu.net>
19120
19121         Avoid gcc warnings on cygwin.
19122         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
19123         Avoid unused variable.
19124         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
19125         Likewise.
19126
19127 2008-12-22  Bruno Haible  <bruno@clisp.org>
19128
19129         Remove HAVE_MBRTOWC conditionals.
19130         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
19131         (mbscasecmp): Assume mbrtowc function.
19132         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
19133         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
19134         * lib/mbschr.c: Include mbuiter.h unconditionally.
19135         (mbschr): Assume mbrtowc function.
19136         * lib/mbscspn.c: Include mbuiter.h unconditionally.
19137         (mbscspn): Assume mbrtowc function.
19138         * lib/mbslen.c: Include mbuiter.h unconditionally.
19139         (mbslen): Assume mbrtowc function.
19140         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
19141         (mbsncasecmp): Assume mbrtowc function.
19142         * lib/mbsnlen.c: Include mbiter.h unconditionally.
19143         (mbsnlen): Assume mbrtowc function.
19144         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
19145         (mbspbrk): Assume mbrtowc function.
19146         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
19147         (mbspcasecmp): Assume mbrtowc function.
19148         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
19149         (mbsrchr): Assume mbrtowc function.
19150         * lib/mbssep.c: Include mbuiter.h unconditionally.
19151         (mbssep): Assume mbrtowc function.
19152         * lib/mbsspn.c: Include mbuiter.h unconditionally.
19153         (mbsspn): Assume mbrtowc function.
19154         * lib/mbsstr.c: Include mbuiter.h unconditionally.
19155         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
19156         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
19157         (mbstok_r): Assume mbrtowc function.
19158         * lib/propername.c: Include mbuiter.h unconditionally.
19159         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
19160         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
19161         (trim2): Assume mbrtowc function.
19162         * lib/mbswidth.c (mbsinit): Remove fallback definition.
19163         (mbsnwidth): Assume mbrtowc function.
19164         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
19165         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
19166         fallback definitions.
19167         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
19168
19169 2008-12-22  Bruno Haible  <bruno@clisp.org>
19170
19171         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
19172
19173 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
19174
19175         * modules/regex: Request emulations for the mb*/wc* functions we need.
19176         * m4/regex.m4: Don't look for those functions here.
19177         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
19178
19179 2008-12-22  Bruno Haible  <bruno@clisp.org>
19180
19181         * modules/fnmatch (Depends-on): Remove duplicated dependency.
19182
19183 2008-12-21  Bruno Haible  <bruno@clisp.org>
19184
19185         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
19186         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
19187         (Include): Remove conditionalization.
19188         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
19189         (Include): Remove conditionalization.
19190         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
19191         (Include): Remove conditionalization.
19192         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
19193         * m4/mbfile.m4 (gl_MBFILE): Likewise.
19194         * NEWS: Mention the change.
19195         Reported by Alan Hourihane <alanh@fairlite.co.uk>
19196         via Sergey Poznyakoff <gray@gnu.org.ua>.
19197
19198 2008-12-21  Bruno Haible  <bruno@clisp.org>
19199
19200         * MODULES.html.sh (Extended multibyte and wide character utilities
19201         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
19202         wcrtomb, wcsrtombs.
19203         (Support for systems lacking POSIX:2008): Add accept, bind, close,
19204         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
19205         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
19206         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
19207
19208 2008-12-21  Bruno Haible  <bruno@clisp.org>
19209
19210         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
19211
19212 2008-12-21  Bruno Haible  <bruno@clisp.org>
19213
19214         * modules/wcsnrtombs-tests: New file.
19215         * tests/test-wcsnrtombs1.sh: New file.
19216         * tests/test-wcsnrtombs2.sh: New file.
19217         * tests/test-wcsnrtombs3.sh: New file.
19218         * tests/test-wcsnrtombs4.sh: New file.
19219         * tests/test-wcsnrtombs.c: New file.
19220
19221         New module 'wcsnrtombs'.
19222         * lib/wchar.in.h (wcsnrtombs): New declaration.
19223         * lib/wcsnrtombs.c: New file.
19224         * lib/wcsrtombs-state.c: New file.
19225         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
19226         (internal_state): Remove variable.
19227         * m4/wcsnrtombs.m4: New file.
19228         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
19229         compilation units.
19230         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
19231         HAVE_WCSNRTOMBS.
19232         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
19233         HAVE_WCSNRTOMBS.
19234         * modules/wcsnrtombs: New file.
19235         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
19236         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
19237
19238 2008-12-21  Bruno Haible  <bruno@clisp.org>
19239
19240         * modules/wcsrtombs-tests: New file.
19241         * tests/test-wcsrtombs1.sh: New file.
19242         * tests/test-wcsrtombs2.sh: New file.
19243         * tests/test-wcsrtombs3.sh: New file.
19244         * tests/test-wcsrtombs4.sh: New file.
19245         * tests/test-wcsrtombs.c: New file.
19246
19247         New module 'wcsrtombs'.
19248         * lib/wchar.in.h (wcsrtombs): New declaration.
19249         * lib/wcsrtombs.c: New file.
19250         * m4/wcsrtombs.m4: New file.
19251         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
19252         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
19253         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
19254         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
19255         * modules/wcsrtombs: New file.
19256         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
19257         bugs.
19258
19259 2008-12-21  Bruno Haible  <bruno@clisp.org>
19260
19261         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
19262         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
19263         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
19264         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
19265         if not correct.
19266         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
19267         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
19268         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
19269         m4/locale-zh.m4, m4/codeset.m4.
19270         * doc/posix-functions/wcrtomb.texi: Document the bug.
19271
19272 2008-12-21  Bruno Haible  <bruno@clisp.org>
19273
19274         Work around a btowc() bug on IRIX 6.5.
19275         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
19276         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
19277         REPLACE_WTOBC if not.
19278         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
19279         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
19280         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
19281
19282 2008-12-21  Bruno Haible  <bruno@clisp.org>
19283
19284         * modules/wcrtomb-tests: New file.
19285         * tests/test-wcrtomb.sh: New file.
19286         * tests/test-wcrtomb.c: New file.
19287
19288         New module 'wcrtomb'.
19289         * lib/wchar.in.h (wcrtomb): New declaration.
19290         * lib/wcrtomb.c: New file.
19291         * m4/wcrtomb.m4: New file.
19292         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
19293         HAVE_WCRTOMB.
19294         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
19295         HAVE_WCRTOMB.
19296         * modules/wcrtomb: New file.
19297         * doc/posix-functions/wcrtomb.texi: Mention the new module.
19298
19299 2008-12-21  Bruno Haible  <bruno@clisp.org>
19300
19301         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
19302         * modules/mbsrtowcs (Files): Likewise.
19303         * modules/wctob (Files): Likewise.
19304         * modules/c-strcase-tests (Files): Likewise.
19305         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
19306         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
19307         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
19308         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
19309         * modules/vasnprintf-posix-tests (Files): Likewise.
19310
19311 2008-12-21  William Pursell  <bill.pursell@gmail.com>
19312
19313         gitlog-to-changelog: pass all command-line arguments to git-log
19314         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
19315         it is sometimes convenient to filter the commits in various ways.
19316         gitlog-to-changelog only allows --since to specify a start date,
19317         but git-log itself supports many other filtering mechanisms.
19318         At the moment, I want to filter by branch name.  Rather than
19319         adding a --branch option to gitlog-to-changelog, it seems more
19320         flexible to simply pass all options directly to git-log and let
19321         git do the work.  Notice that this effectively makes --since a
19322         redundant option for gitlog-to-changelog, but removing it would
19323         require current usage to change since calls would then require
19324         an additional '--'.
19325
19326 2008-12-21  Bruno Haible  <bruno@clisp.org>
19327
19328         * modules/mbsnrtowcs-tests: New file.
19329         * tests/test-mbsnrtowcs1.sh: New file.
19330         * tests/test-mbsnrtowcs2.sh: New file.
19331         * tests/test-mbsnrtowcs3.sh: New file.
19332         * tests/test-mbsnrtowcs4.sh: New file.
19333         * tests/test-mbsnrtowcs.c: New file.
19334
19335         New module 'mbsnrtowcs'.
19336         * lib/wchar.in.h (mbsnrtowcs): New declaration.
19337         * lib/mbsnrtowcs.c: New file.
19338         * lib/mbsrtowcs-state.c: New file.
19339         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
19340         (internal_state): Remove variable.
19341         * m4/mbsnrtowcs.m4: New file.
19342         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
19343         compilation units.
19344         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
19345         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
19346         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
19347         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
19348         * modules/mbsnrtowcs: New file.
19349         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
19350         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
19351         portability problem.
19352
19353 2008-12-21  Bruno Haible  <bruno@clisp.org>
19354
19355         Work around mbsrtowcs bug.
19356         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
19357         (gl_FUNC_MBSRTOWCS): Invoke it.
19358         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
19359         m4/locale-zh.m4.
19360         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
19361
19362 2008-12-21  Bruno Haible  <bruno@clisp.org>
19363
19364         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
19365
19366 2008-12-21  Bruno Haible  <bruno@clisp.org>
19367
19368         Update doc for AIX.
19369         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
19370         16-bit wchar_t type.
19371         * doc/posix-functions/btowc.texi: Likewise.
19372         * doc/posix-functions/fgetwc.texi: Likewise.
19373         * doc/posix-functions/fgetws.texi: Likewise.
19374         * doc/posix-functions/fputwc.texi: Likewise.
19375         * doc/posix-functions/fputws.texi: Likewise.
19376         * doc/posix-functions/fwide.texi: Likewise.
19377         * doc/posix-functions/fwprintf.texi: Likewise.
19378         * doc/posix-functions/fwscanf.texi: Likewise.
19379         * doc/posix-functions/getwchar.texi: Likewise.
19380         * doc/posix-functions/getwc.texi: Likewise.
19381         * doc/posix-functions/iswalnum.texi: Likewise.
19382         * doc/posix-functions/iswalpha.texi: Likewise.
19383         * doc/posix-functions/iswblank.texi: Likewise.
19384         * doc/posix-functions/iswcntrl.texi: Likewise.
19385         * doc/posix-functions/iswctype.texi: Likewise.
19386         * doc/posix-functions/iswdigit.texi: Likewise.
19387         * doc/posix-functions/iswgraph.texi: Likewise.
19388         * doc/posix-functions/iswlower.texi: Likewise.
19389         * doc/posix-functions/iswprint.texi: Likewise.
19390         * doc/posix-functions/iswpunct.texi: Likewise.
19391         * doc/posix-functions/iswspace.texi: Likewise.
19392         * doc/posix-functions/iswupper.texi: Likewise.
19393         * doc/posix-functions/iswxdigit.texi: Likewise.
19394         * doc/posix-functions/mbrtowc.texi: Likewise.
19395         * doc/posix-functions/mbsrtowcs.texi: Likewise.
19396         * doc/posix-functions/mbstowcs.texi: Likewise.
19397         * doc/posix-functions/mbtowc.texi: Likewise.
19398         * doc/posix-functions/putwchar.texi: Likewise.
19399         * doc/posix-functions/putwc.texi: Likewise.
19400         * doc/posix-functions/swprintf.texi: Likewise.
19401         * doc/posix-functions/tolower.texi: Likewise.
19402         * doc/posix-functions/toupper.texi: Likewise.
19403         * doc/posix-functions/towctrans.texi: Likewise.
19404         * doc/posix-functions/ungetwc.texi: Likewise.
19405         * doc/posix-functions/vswprintf.texi: Likewise.
19406         * doc/posix-functions/wcrtomb.texi: Likewise.
19407         * doc/posix-functions/wcscat.texi: Likewise.
19408         * doc/posix-functions/wcschr.texi: Likewise.
19409         * doc/posix-functions/wcscmp.texi: Likewise.
19410         * doc/posix-functions/wcscoll.texi: Likewise.
19411         * doc/posix-functions/wcscpy.texi: Likewise.
19412         * doc/posix-functions/wcscspn.texi: Likewise.
19413         * doc/posix-functions/wcsftime.texi: Likewise.
19414         * doc/posix-functions/wcslen.texi: Likewise.
19415         * doc/posix-functions/wcsncat.texi: Likewise.
19416         * doc/posix-functions/wcsncmp.texi: Likewise.
19417         * doc/posix-functions/wcsncpy.texi: Likewise.
19418         * doc/posix-functions/wcspbrk.texi: Likewise.
19419         * doc/posix-functions/wcsrchr.texi: Likewise.
19420         * doc/posix-functions/wcsrtombs.texi: Likewise.
19421         * doc/posix-functions/wcsspn.texi: Likewise.
19422         * doc/posix-functions/wcsstr.texi: Likewise.
19423         * doc/posix-functions/wcstod.texi: Likewise.
19424         * doc/posix-functions/wcstof.texi: Likewise.
19425         * doc/posix-functions/wcstoimax.texi: Likewise.
19426         * doc/posix-functions/wcstok.texi: Likewise.
19427         * doc/posix-functions/wcstold.texi: Likewise.
19428         * doc/posix-functions/wcstoll.texi: Likewise.
19429         * doc/posix-functions/wcstol.texi: Likewise.
19430         * doc/posix-functions/wcstombs.texi: Likewise.
19431         * doc/posix-functions/wcstoull.texi: Likewise.
19432         * doc/posix-functions/wcstoul.texi: Likewise.
19433         * doc/posix-functions/wcstoumax.texi: Likewise.
19434         * doc/posix-functions/wcswidth.texi: Likewise.
19435         * doc/posix-functions/wcsxfrm.texi: Likewise.
19436         * doc/posix-functions/wctob.texi: Likewise.
19437         * doc/posix-functions/wctomb.texi: Likewise.
19438         * doc/posix-functions/wctrans.texi: Likewise.
19439         * doc/posix-functions/wctype.texi: Likewise.
19440         * doc/posix-functions/wcwidth.texi: Likewise.
19441         * doc/posix-functions/wmemchr.texi: Likewise.
19442         * doc/posix-functions/wmemcmp.texi: Likewise.
19443         * doc/posix-functions/wmemcpy.texi: Likewise.
19444         * doc/posix-functions/wmemmove.texi: Likewise.
19445         * doc/posix-functions/wmemset.texi: Likewise.
19446         * doc/posix-functions/wprintf.texi: Likewise.
19447         * doc/posix-functions/wscanf.texi: Likewise.
19448
19449 2008-12-21  Bruno Haible  <bruno@clisp.org>
19450
19451         Update doc for HP-UX 11.11.
19452         * doc/posix-functions/btowc.texi: Clarify that the function is missing
19453         in HP-UX version 11.00, not in all versions of HP-UX 11.
19454         * doc/posix-functions/fwide.texi: Likewise.
19455         * doc/posix-functions/fwprintf.texi: Likewise.
19456         * doc/posix-functions/fwscanf.texi: Likewise.
19457         * doc/posix-functions/inet_ntop.texi: Likewise.
19458         * doc/posix-functions/inet_pton.texi: Likewise.
19459         * doc/posix-functions/mbrlen.texi: Likewise.
19460         * doc/posix-functions/mbrtowc.texi: Likewise.
19461         * doc/posix-functions/mbsinit.texi: Likewise.
19462         * doc/posix-functions/mbsrtowcs.texi: Likewise.
19463         * doc/posix-functions/swprintf.texi: Likewise.
19464         * doc/posix-functions/swscanf.texi: Likewise.
19465         * doc/posix-functions/towctrans.texi: Likewise.
19466         * doc/posix-functions/vfwprintf.texi: Likewise.
19467         * doc/posix-functions/vswprintf.texi: Likewise.
19468         * doc/posix-functions/vwprintf.texi: Likewise.
19469         * doc/posix-functions/wcrtomb.texi: Likewise.
19470         * doc/posix-functions/wcsrtombs.texi: Likewise.
19471         * doc/posix-functions/wcsstr.texi: Likewise.
19472         * doc/posix-functions/wctob.texi: Likewise.
19473         * doc/posix-functions/wctrans.texi: Likewise.
19474         * doc/posix-functions/wmemchr.texi: Likewise.
19475         * doc/posix-functions/wmemcmp.texi: Likewise.
19476         * doc/posix-functions/wmemcpy.texi: Likewise.
19477         * doc/posix-functions/wmemmove.texi: Likewise.
19478         * doc/posix-functions/wmemset.texi: Likewise.
19479         * doc/posix-functions/wprintf.texi: Likewise.
19480         * doc/posix-functions/wscanf.texi: Likewise.
19481
19482 2008-12-21  Bruno Haible  <bruno@clisp.org>
19483
19484         Work around a portability problem.
19485         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
19486         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
19487
19488 2008-12-20  Bruno Haible  <bruno@clisp.org>
19489
19490         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
19491         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
19492         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
19493         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
19494         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
19495
19496         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
19497         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
19498         set.
19499         (GNULIB_defined_mbstate_t): New macro.
19500         (mbsinit): Redefine if REPLACE_MBSINIT is set.
19501         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
19502         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
19503         reuses the system's mbrtowc function but works around the bugs.
19504         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
19505         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
19506         macros.
19507         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
19508         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
19509         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
19510         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
19511         REPLACE_MBSINIT if mbsinit needs to be overridden.
19512         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
19513         REPLACE_MBSINIT, REPLACE_MBRTOWC.
19514         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
19515         REPLACE_MBSINIT, REPLACE_MBRTOWC.
19516         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
19517         m4/locale-zh.m4.
19518         (Depends): Add mbsinit.
19519         * modules/mbsinit (Depends): Add mbrtowc.
19520         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
19521
19522 2008-12-20  Bruno Haible  <bruno@clisp.org>
19523
19524         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
19525         so that there are no conversion errors on AIX.
19526         * tests/test-mbsrtowcs.c (main): LIkewise.
19527
19528 2008-12-20  Bruno Haible  <bruno@clisp.org>
19529
19530         Work around wctob bug on Solaris <= 9.
19531         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
19532         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
19533         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
19534         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
19535         * modules/wctob (Files): Add m4/locale-fr.m4.
19536         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
19537
19538 2008-12-20  Bruno Haible  <bruno@clisp.org>
19539
19540         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
19541         /dev/null.
19542         * tests/test-select-in.sh: Likewise.
19543         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
19544
19545 2008-12-20  Bruno Haible  <bruno@clisp.org>
19546
19547         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
19548         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
19549         Cygwin 1.5.x.
19550
19551 2008-12-20  Bruno Haible  <bruno@clisp.org>
19552
19553         Ensure mbstate_t is defined on HP-UX 11.11.
19554         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
19555         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
19556         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
19557         AC_USE_SYSTEM_EXTENSIONS.
19558         * modules/fnmatch (Depends-on): Add extensions.
19559         * modules/mbrlen (Depends-on): Likewise.
19560         * modules/mbrtowc (Depends-on): Likewise.
19561         * modules/mbsinit (Depends-on): Likewise.
19562         * modules/mbsrtowcs (Depends-on): Likewise.
19563         * modules/mbswidth (Depends-on): Likewise.
19564         * modules/quotearg (Depends-on): Likewise.
19565         * modules/strftime (Depends-on): Likewise.
19566
19567 2008-12-20  Bruno Haible  <bruno@clisp.org>
19568
19569         Ensure wctob is declared on IRIX 6.5.
19570         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
19571         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
19572         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
19573         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
19574         of HAVE_WCTOB.
19575         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
19576         HAVE_WCTOB.
19577         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
19578
19579 2008-12-19  Bruno Haible  <bruno@clisp.org>
19580
19581         * modules/mbsrtowcs-tests: New file.
19582         * tests/test-mbsrtowcs1.sh: New file.
19583         * tests/test-mbsrtowcs2.sh: New file.
19584         * tests/test-mbsrtowcs3.sh: New file.
19585         * tests/test-mbsrtowcs4.sh: New file.
19586         * tests/test-mbsrtowcs.c: New file.
19587
19588         New module 'mbsrtowcs'.
19589         * lib/wchar.in.h (mbsrtowcs): New declaration.
19590         * lib/mbsrtowcs.c: New file.
19591         * m4/mbsrtowcs.m4: New file.
19592         * modules/mbsrtowcs: New file.
19593         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
19594         HAVE_MBSRTOWCS.
19595         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
19596         HAVE_MBSRTOWCS.
19597         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
19598
19599 2008-12-19  Bruno Haible  <bruno@clisp.org>
19600
19601         New module 'mbrlen'.
19602         * lib/wchar.in.h (mbrlen): New declaration.
19603         * lib/mbrlen.c: New file.
19604         * m4/mbrlen.m4: New file.
19605         * modules/mbrlen: New file.
19606         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
19607         HAVE_MBRLEN.
19608         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
19609         HAVE_MBRLEN.
19610         * doc/posix-functions/mbrlen.texi: Document the new module.
19611
19612 2008-12-19  Bruno Haible  <bruno@clisp.org>
19613
19614         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
19615         * modules/mbrtowc (Depends-on): Add verify.
19616         Suggested by Paul Eggert.
19617
19618 2008-12-18  Bruno Haible  <bruno@clisp.org>
19619
19620         * modules/mbsinit-tests: New file.
19621         * tests/test-mbsinit.sh: New file.
19622         * tests/test-mbsinit.c: New file.
19623
19624 2008-12-18  Bruno Haible  <bruno@clisp.org>
19625
19626         * modules/mbrtowc-tests: New file.
19627         * tests/test-mbrtowc1.sh: New file.
19628         * tests/test-mbrtowc2.sh: New file.
19629         * tests/test-mbrtowc3.sh: New file.
19630         * tests/test-mbrtowc4.sh: New file.
19631         * tests/test-mbrtowc.c: New file.
19632
19633         New module 'mbrtowc'.
19634         * lib/wchar.in.h (mbstate_t): Override when the system does not have
19635         mbsinit and mbrtowc.
19636         (mbrtowc): New declaration.
19637         * lib/mbrtowc.c: New file.
19638         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
19639         * modules/mbrtowc: New file.
19640         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
19641         HAVE_MBRTOWC.
19642         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
19643         HAVE_MBRTOWC.
19644         * doc/posix-functions/mbrtowc.texi: Document the new module.
19645
19646 2008-12-18  Bruno Haible  <bruno@clisp.org>
19647
19648         New module 'wctob'.
19649         * lib/wchar.in.h (wctob): New declaration.
19650         * lib/wctob.c: New file.
19651         * m4/wctob.m4: New file.
19652         * modules/wctob: New file.
19653         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
19654         HAVE_WCTOB.
19655         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
19656         * doc/posix-functions/wctob.texi: Document the new module.
19657
19658 2008-12-18  Bruno Haible  <bruno@clisp.org>
19659
19660         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
19661         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
19662
19663 2008-12-18  Simon Josefsson  <simon@josefsson.org>
19664
19665         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
19666         G. Christensen" <tgc@jupiterrise.com>.
19667
19668         * lib/flock.c: Need to include errno.h.  Reported by "Tom
19669         G. Christensen" <tgc@jupiterrise.com>.
19670
19671         * lib/flock.c: Need to include string.h.  Reported by "Tom
19672         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
19673         <ebb9@byu.net>.
19674
19675 2008-12-18  Bruno Haible  <bruno@clisp.org>
19676
19677         * m4/locale-ja.m4: New file, from GNU gettext.
19678
19679 2008-12-17  Bruno Haible  <bruno@clisp.org>
19680
19681         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
19682         Suggested by Eric Blake.
19683
19684 2008-12-17  Bruno Haible  <bruno@clisp.org>
19685
19686         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
19687
19688 2008-12-17  Bruno Haible  <bruno@clisp.org>
19689
19690         * lib/mbsinit.c: Include verify.h. Verify an assumption.
19691         * modules/mbsinit (Depends-on): Add verify.
19692         Suggested by Paul Eggert.
19693
19694 2008-12-17  Bruno Haible  <bruno@clisp.org>
19695
19696         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
19697         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
19698         gl_FUNC_MBRTOWC.
19699         * m4/mbiter.m4 (gl_MBITER): LIkewise.
19700         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
19701         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
19702         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
19703         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
19704         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
19705         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
19706         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
19707         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
19708         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
19709         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
19710         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
19711         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
19712         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
19713         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
19714         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
19715         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
19716         * modules/trim (configure.ac): Likewise.
19717
19718 2008-12-17  Bruno Haible  <bruno@clisp.org>
19719
19720         * modules/btowc-tests: New file.
19721         * tests/test-btowc1.sh: New file.
19722         * tests/test-btowc2.sh: New file.
19723         * tests/test-btowc.c: New file.
19724
19725         New module 'btowc'.
19726         * lib/wchar.in.h (btowc): New declaration.
19727         * lib/btowc.c: New file.
19728         * m4/btowc.m4: New file.
19729         * modules/btowc: New file.
19730         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
19731         HAVE_BTOWC.
19732         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
19733         * doc/posix-functions/btowc.texi: Document the new module.
19734
19735 2008-12-17  Bruno Haible  <bruno@clisp.org>
19736
19737         New module 'mbsinit'.
19738         * lib/wchar.in.h (mbsinit): New declaration.
19739         * lib/mbsinit.c: New file.
19740         * m4/mbsinit.m4: New file.
19741         * modules/mbsinit: New file.
19742         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
19743         HAVE_MBSINIT.
19744         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
19745         HAVE_MBSINIT.
19746         * doc/posix-functions/mbsinit.texi: Document the new module.
19747
19748 2008-12-16  Bruno Haible  <bruno@clisp.org>
19749
19750         * lib/unistd.in.h: Add comment.
19751         * tests/test-environ.c: Don't include <stdlib.h>.
19752
19753 2008-12-16  Bruno Haible  <bruno@clisp.org>
19754
19755         * lib/parse-duration.h (parse_duration): Document return value
19756         convention.
19757         * lib/parse-duration.c: Include specification header first. Add
19758         comments.
19759         (_): Remove macro.
19760         (parse_year_month_day, parse_hour_minute_second): Move side effects
19761         outside of strchr call.
19762         (parse_non_iso8601): Move side effects outside of isspace call.
19763         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
19764         call.
19765
19766 2008-12-16  Bruno Haible  <bruno@clisp.org>
19767
19768         * tests/test-parse-duration.sh: Produce no output when the test
19769         succeeds.
19770
19771 2008-12-16  Bruno Haible  <bruno@clisp.org>
19772
19773         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
19774         expressions.
19775
19776 2008-12-15  Bruno Haible  <bruno@clisp.org>
19777
19778         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
19779         * doc/glibc-functions/flistxattr.texi: Likewise.
19780         * doc/glibc-functions/fopencookie.texi: Likewise.
19781         * doc/glibc-functions/fremovexattr.texi: Likewise.
19782         * doc/glibc-functions/fsetxattr.texi: Likewise.
19783         * doc/glibc-functions/getxattr.texi: Likewise.
19784         * doc/glibc-functions/lgetxattr.texi: Likewise.
19785         * doc/glibc-functions/listxattr.texi: Likewise.
19786         * doc/glibc-functions/llistxattr.texi: Likewise.
19787         * doc/glibc-functions/lremovexattr.texi: Likewise.
19788         * doc/glibc-functions/lsetxattr.texi: Likewise.
19789         * doc/glibc-functions/removexattr.texi: Likewise.
19790         * doc/glibc-functions/setxattr.texi: Likewise.
19791         * doc/posix-functions/open_memstream.texi: Likewise.
19792
19793 2008-12-15  Eric Blake  <ebb9@byu.net>
19794
19795         Update doc for cygwin 1.7.
19796         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
19797         functions.
19798         * doc/posix-functions/fchmodat.texi: Likewise.
19799         * doc/posix-functions/fchownat.texi: Likewise.
19800         * doc/posix-functions/fdopendir.texi: Likewise.
19801         * doc/posix-functions/fmemopen.texi: Likewise.
19802         * doc/posix-functions/freeaddrinfo.texi: Likewise.
19803         * doc/posix-functions/fstatat.texi: Likewise.
19804         * doc/posix-functions/futimens.texi: Likewise.
19805         * doc/posix-functions/gai_strerror.texi: Likewise.
19806         * doc/posix-functions/getaddrinfo.texi: Likewise.
19807         * doc/posix-functions/getnameinfo.texi: Likewise.
19808         * doc/posix-functions/if_freenameindex.texi: Likewise.
19809         * doc/posix-functions/if_indextoname.texi: Likewise.
19810         * doc/posix-functions/if_nameindex.texi: Likewise.
19811         * doc/posix-functions/if_nametoindex.texi: Likewise.
19812         * doc/posix-functions/insque.texi: Likewise.
19813         * doc/posix-functions/linkat.texi: Likewise.
19814         * doc/posix-functions/llrint.texi: Likewise.
19815         * doc/posix-functions/llrintf.texi: Likewise.
19816         * doc/posix-functions/llrintl.texi: Likewise.
19817         * doc/posix-functions/lockf.texi: Likewise.
19818         * doc/posix-functions/lrintl.texi: Likewise.
19819         * doc/posix-functions/mkdirat.texi: Likewise.
19820         * doc/posix-functions/mkfifoat.texi: Likewise.
19821         * doc/posix-functions/mknodat.texi: Likewise.
19822         * doc/posix-functions/mq_close.texi: Likewise.
19823         * doc/posix-functions/mq_getattr.texi: Likewise.
19824         * doc/posix-functions/mq_notify.texi: Likewise.
19825         * doc/posix-functions/mq_open.texi: Likewise.
19826         * doc/posix-functions/mq_receive.texi: Likewise.
19827         * doc/posix-functions/mq_send.texi: Likewise.
19828         * doc/posix-functions/mq_setattr.texi: Likewise.
19829         * doc/posix-functions/mq_timedreceive.texi: Likewise.
19830         * doc/posix-functions/mq_timedsend.texi: Likewise.
19831         * doc/posix-functions/mq_unlink.texi: Likewise.
19832         * doc/posix-functions/open_memstream.texi: Likewise.
19833         * doc/posix-functions/openat.texi: Likewise.
19834         * doc/posix-functions/posix_fadvise.texi: Likewise.
19835         * doc/posix-functions/posix_fallocate.texi: Likewise.
19836         * doc/posix-functions/posix_madvise.texi: Likewise.
19837         * doc/posix-functions/posix_memalign.texi: Likewise.
19838         * doc/posix-functions/posix_openpt.texi: Likewise.
19839         * doc/posix-functions/readlinkat.texi: Likewise.
19840         * doc/posix-functions/remque.texi: Likewise.
19841         * doc/posix-functions/renameat.texi: Likewise.
19842         * doc/posix-functions/rintl.texi: Likewise.
19843         * doc/posix-functions/sem_unlink.texi: Likewise.
19844         * doc/posix-functions/shm_open.texi: Likewise.
19845         * doc/posix-functions/shm_unlink.texi: Likewise.
19846         * doc/posix-functions/signgam.texi: Likewise.
19847         * doc/posix-functions/sigset.texi: Likewise.
19848         * doc/posix-functions/stpcpy.texi: Likewise.
19849         * doc/posix-functions/stpncpy.texi: Likewise.
19850         * doc/posix-functions/strerror.texi: Likewise.
19851         * doc/posix-functions/strtod.texi: Likewise.
19852         * doc/posix-functions/symlinkat.texi: Likewise.
19853         * doc/posix-functions/unlinkat.texi: Likewise.
19854         * doc/posix-functions/utimensat.texi: Likewise.
19855         * doc/glibc-functions/bindresvport.texi: Likewise.
19856         * doc/glibc-functions/dn_expand.texi: Likewise.
19857         * doc/glibc-functions/exp10.texi: Likewise.
19858         * doc/glibc-functions/exp10f.texi: Likewise.
19859         * doc/glibc-functions/fgetxattr.texi: Likewise.
19860         * doc/glibc-functions/flistxattr.texi: Likewise.
19861         * doc/glibc-functions/fopencookie.texi: Likewise.
19862         * doc/glibc-functions/freeifaddrs.texi: Likewise.
19863         * doc/glibc-functions/fremovexattr.texi: Likewise.
19864         * doc/glibc-functions/fsetxattr.texi: Likewise.
19865         * doc/glibc-functions/getifaddrs.texi: Likewise.
19866         * doc/glibc-functions/getxattr.texi: Likewise.
19867         * doc/glibc-functions/lgetxattr.texi: Likewise.
19868         * doc/glibc-functions/listxattr.texi: Likewise.
19869         * doc/glibc-functions/llistxattr.texi: Likewise.
19870         * doc/glibc-functions/lremovexattr.texi: Likewise.
19871         * doc/glibc-functions/lsetxattr.texi: Likewise.
19872         * doc/glibc-functions/pow10.texi: Likewise.
19873         * doc/glibc-functions/pow10f.texi: Likewise.
19874         * doc/glibc-functions/rcmd_af.texi: Likewise.
19875         * doc/glibc-functions/removexattr.texi: Likewise.
19876         * doc/glibc-functions/res_init.texi: Likewise.
19877         * doc/glibc-functions/res_mkquery.texi: Likewise.
19878         * doc/glibc-functions/res_query.texi: Likewise.
19879         * doc/glibc-functions/res_querydomain.texi: Likewise.
19880         * doc/glibc-functions/res_send.texi: Likewise.
19881         * doc/glibc-functions/rresvport_af.texi: Likewise.
19882         * doc/glibc-functions/setxattr.texi: Likewise.
19883         * doc/glibc-functions/strcasestr.texi: Likewise.
19884
19885 2008-12-15  Bruno Haible  <bruno@clisp.org>
19886
19887         Fix compilation error on OSF/1 4.0.
19888         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
19889         <sys/time.h>, simply delegate to the system header.
19890         Reported by Daniel Richard G. <oss@teragram.com>.
19891
19892 2008-12-15  Bruno Haible  <bruno@clisp.org>
19893
19894         * doc/posix-functions/openat.texi: Mention the 'openat' module.
19895         * doc/posix-functions/fchmodat.texi: Likewise.
19896         * doc/posix-functions/fchownat.texi: Likewise.
19897         * doc/posix-functions/fdopendir.texi: Likewise.
19898         * doc/posix-functions/fstatat.texi: Likewise.
19899         * doc/posix-functions/mkdirat.texi: Likewise.
19900         * doc/posix-functions/unlinkat.texi: Likewise.
19901
19902 2008-12-14  Bruno Haible  <bruno@clisp.org>
19903
19904         Update doc for POSIX:2008.
19905         * doc/posix-functions/faccessat.texi: New file.
19906         * doc/posix-functions/fchmodat.texi: New file.
19907         * doc/posix-functions/fchownat.texi: New file.
19908         * doc/posix-functions/fdopendir.texi: New file.
19909         * doc/posix-functions/fstatat.texi: New file.
19910         * doc/posix-functions/futimens.texi: New file.
19911         * doc/posix-functions/linkat.texi: New file.
19912         * doc/posix-functions/mkdirat.texi: New file.
19913         * doc/posix-functions/mkfifoat.texi: New file.
19914         * doc/posix-functions/mknodat.texi: New file.
19915         * doc/posix-functions/open_wmemstream.texi: New file.
19916         * doc/posix-functions/openat.texi: New file.
19917         * doc/posix-functions/psiginfo.texi: New file.
19918         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
19919         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
19920         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
19921         * doc/posix-functions/readlinkat.texi: New file.
19922         * doc/posix-functions/renameat.texi: New file.
19923         * doc/posix-functions/strerror_l.texi: New file.
19924         * doc/posix-functions/symlinkat.texi: New file.
19925         * doc/posix-functions/unlinkat.texi: New file.
19926         * doc/posix-functions/utimensat.texi: New file.
19927         * doc/gnulib.texi (Function Substitutes): Add these subsections.
19928
19929 2008-12-14  Bruno Haible  <bruno@clisp.org>
19930
19931         Update doc for POSIX:2008.
19932         * doc/posix-functions/alphasort.texi: Renamed from
19933         doc/glibc-functions/alphasort.texi.
19934         * doc/posix-functions/dirfd.texi: Renamed from
19935         doc/glibc-functions/dirfd.texi.
19936         * doc/posix-functions/dprintf.texi: Renamed from
19937         doc/glibc-functions/dprintf.texi.
19938         * doc/posix-functions/duplocale.texi: Renamed from
19939         doc/glibc-functions/duplocale.texi.
19940         * doc/posix-functions/fexecve.texi: Renamed from
19941         doc/glibc-functions/fexecve.texi.
19942         * doc/posix-functions/fmemopen.texi: Renamed from
19943         doc/glibc-functions/fmemopen.texi.
19944         * doc/posix-functions/freelocale.texi: Renamed from
19945         doc/glibc-functions/freelocale.texi.
19946         * doc/posix-functions/getdate_err.texi: Renamed from
19947         doc/glibc-functions/getdate_err.texi.
19948         * doc/posix-functions/isalnum_l.texi: Renamed from
19949         doc/glibc-functions/isalnum_l.texi.
19950         * doc/posix-functions/isalpha_l.texi: Renamed from
19951         doc/glibc-functions/isalpha_l.texi.
19952         * doc/posix-functions/isblank_l.texi: Renamed from
19953         doc/glibc-functions/isblank_l.texi.
19954         * doc/posix-functions/iscntrl_l.texi: Renamed from
19955         doc/glibc-functions/iscntrl_l.texi.
19956         * doc/posix-functions/isdigit_l.texi: Renamed from
19957         doc/glibc-functions/isdigit_l.texi.
19958         * doc/posix-functions/isgraph_l.texi: Renamed from
19959         doc/glibc-functions/isgraph_l.texi.
19960         * doc/posix-functions/islower_l.texi: Renamed from
19961         doc/glibc-functions/islower_l.texi.
19962         * doc/posix-functions/isprint_l.texi: Renamed from
19963         doc/glibc-functions/isprint_l.texi.
19964         * doc/posix-functions/ispunct_l.texi: Renamed from
19965         doc/glibc-functions/ispunct_l.texi.
19966         * doc/posix-functions/isspace_l.texi: Renamed from
19967         doc/glibc-functions/isspace_l.texi.
19968         * doc/posix-functions/isupper_l.texi: Renamed from
19969         doc/glibc-functions/isupper_l.texi.
19970         * doc/posix-functions/iswalnum_l.texi: Renamed from
19971         doc/glibc-functions/iswalnum_l.texi.
19972         * doc/posix-functions/iswalpha_l.texi: Renamed from
19973         doc/glibc-functions/iswalpha_l.texi.
19974         * doc/posix-functions/iswblank_l.texi: Renamed from
19975         doc/glibc-functions/iswblank_l.texi.
19976         * doc/posix-functions/iswcntrl_l.texi: Renamed from
19977         doc/glibc-functions/iswcntrl_l.texi.
19978         * doc/posix-functions/iswctype_l.texi: Renamed from
19979         doc/glibc-functions/iswctype_l.texi.
19980         * doc/posix-functions/iswdigit_l.texi: Renamed from
19981         doc/glibc-functions/iswdigit_l.texi.
19982         * doc/posix-functions/iswgraph_l.texi: Renamed from
19983         doc/glibc-functions/iswgraph_l.texi.
19984         * doc/posix-functions/iswlower_l.texi: Renamed from
19985         doc/glibc-functions/iswlower_l.texi.
19986         * doc/posix-functions/iswprint_l.texi: Renamed from
19987         doc/glibc-functions/iswprint_l.texi.
19988         * doc/posix-functions/iswpunct_l.texi: Renamed from
19989         doc/glibc-functions/iswpunct_l.texi.
19990         * doc/posix-functions/iswspace_l.texi: Renamed from
19991         doc/glibc-functions/iswspace_l.texi.
19992         * doc/posix-functions/iswupper_l.texi: Renamed from
19993         doc/glibc-functions/iswupper_l.texi.
19994         * doc/posix-functions/iswxdigit_l.texi: Renamed from
19995         doc/glibc-functions/iswxdigit_l.texi.
19996         * doc/posix-functions/isxdigit_l.texi: Renamed from
19997         doc/glibc-functions/isxdigit_l.texi.
19998         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
19999         doc/glibc-functions/mbsnrtowcs.texi.
20000         * doc/posix-functions/mkdtemp.texi: Renamed from
20001         doc/glibc-functions/mkdtemp.texi.
20002         * doc/posix-functions/newlocale.texi: Renamed from
20003         doc/glibc-functions/newlocale.texi.
20004         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
20005         doc/glibc-functions/nl_langinfo_l.texi.
20006         * doc/posix-functions/open_memstream.texi: Renamed from
20007         doc/glibc-functions/open_memstream.texi.
20008         * doc/posix-functions/opterr.texi: Renamed from
20009         doc/glibc-functions/opterr.texi.
20010         * doc/posix-functions/optind.texi: Renamed from
20011         doc/glibc-functions/optind.texi.
20012         * doc/posix-functions/optopt.texi: Renamed from
20013         doc/glibc-functions/optopt.texi.
20014         * doc/posix-functions/psignal.texi: Renamed from
20015         doc/glibc-functions/psignal.texi.
20016         * doc/posix-functions/scandir.texi: Renamed from
20017         doc/glibc-functions/scandir.texi.
20018         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
20019         doc/glibc-functions/sched_get_priority_min.texi.
20020         * doc/posix-functions/signgam.texi: Renamed from
20021         doc/glibc-functions/signgam.texi.
20022         * doc/posix-functions/stpcpy.texi: Renamed from
20023         doc/glibc-functions/stpcpy.texi.
20024         * doc/posix-functions/stpncpy.texi: Renamed from
20025         doc/glibc-functions/stpncpy.texi.
20026         * doc/posix-functions/strcasecmp_l.texi: Renamed from
20027         doc/glibc-functions/strcasecmp_l.texi.
20028         * doc/posix-functions/strcoll_l.texi: Renamed from
20029         doc/glibc-functions/strcoll_l.texi.
20030         * doc/posix-functions/strfmon_l.texi: Renamed from
20031         doc/glibc-functions/strfmon_l.texi.
20032         * doc/posix-functions/strftime_l.texi: Renamed from
20033         doc/glibc-functions/strftime_l.texi.
20034         * doc/posix-functions/strncasecmp_l.texi: Renamed from
20035         doc/glibc-functions/strncasecmp_l.texi.
20036         * doc/posix-functions/strndup.texi: Renamed from
20037         doc/glibc-functions/strndup.texi.
20038         * doc/posix-functions/strnlen.texi: Renamed from
20039         doc/glibc-functions/strnlen.texi.
20040         * doc/posix-functions/strsignal.texi: Renamed from
20041         doc/glibc-functions/strsignal.texi.
20042         * doc/posix-functions/strxfrm_l.texi: Renamed from
20043         doc/glibc-functions/strxfrm_l.texi.
20044         * doc/posix-functions/timer_gettime.texi: Renamed from
20045         doc/glibc-functions/timer_gettime.texi.
20046         * doc/posix-functions/tolower_l.texi: Renamed from
20047         doc/glibc-functions/tolower_l.texi.
20048         * doc/posix-functions/toupper_l.texi: Renamed from
20049         doc/glibc-functions/toupper_l.texi.
20050         * doc/posix-functions/towctrans_l.texi: Renamed from
20051         doc/glibc-functions/towctrans_l.texi.
20052         * doc/posix-functions/towlower_l.texi: Renamed from
20053         doc/glibc-functions/towlower_l.texi.
20054         * doc/posix-functions/towupper_l.texi: Renamed from
20055         doc/glibc-functions/towupper_l.texi.
20056         * doc/posix-functions/uselocale.texi: Renamed from
20057         doc/glibc-functions/uselocale.texi.
20058         * doc/posix-functions/vdprintf.texi: Renamed from
20059         doc/glibc-functions/vdprintf.texi.
20060         * doc/posix-functions/wcpcpy.texi:
20061         Renamed from doc/glibc-functions/wcpcpy.texi.
20062         * doc/posix-functions/wcpncpy.texi: Renamed from
20063         doc/glibc-functions/wcpncpy.texi.
20064         * doc/posix-functions/wcscasecmp.texi: Renamed from
20065         doc/glibc-functions/wcscasecmp.texi.
20066         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
20067         doc/glibc-functions/wcscasecmp_l.texi.
20068         * doc/posix-functions/wcscoll_l.texi: Renamed from
20069         doc/glibc-functions/wcscoll_l.texi.
20070         * doc/posix-functions/wcsdup.texi: Renamed from
20071         doc/glibc-functions/wcsdup.texi.
20072         * doc/posix-functions/wcsncasecmp.texi: Renamed from
20073         doc/glibc-functions/wcsncasecmp.texi.
20074         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
20075         doc/glibc-functions/wcsncasecmp_l.texi.
20076         * doc/posix-functions/wcsnlen.texi: Renamed from
20077         doc/glibc-functions/wcsnlen.texi.
20078         * doc/posix-functions/wcsnrtombs.texi: Renamed from
20079         doc/glibc-functions/wcsnrtombs.texi.
20080         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
20081         doc/glibc-functions/wcsxfrm_l.texi.
20082         * doc/posix-functions/wctrans_l.texi: Renamed from
20083         doc/glibc-functions/wctrans_l.texi.
20084         * doc/posix-functions/wctype_l.texi: Renamed from
20085         doc/glibc-functions/wctype_l.texi.
20086         * doc/gnulib.texi (Function Substitutes): Add these subsections.
20087         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
20088         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
20089         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
20090         these subsections.
20091         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
20092         Remove sections.
20093
20094 2008-12-14  Bruno Haible  <bruno@clisp.org>
20095
20096         Update doc for POSIX:2008.
20097         * doc/posix-functions/*.texi: Update URL of POSIX specification.
20098
20099 2008-12-14  Bruno Haible  <bruno@clisp.org>
20100
20101         Update doc for POSIX:2008.
20102         * doc/pastposix-functions/bcmp.texi: Renamed from
20103         doc/posix-functions/bcmp.texi.
20104         * doc/pastposix-functions/bcopy.texi: Renamed from
20105         doc/posix-functions/bcopy.texi.
20106         * doc/pastposix-functions/bsd_signal.texi: Renamed from
20107         doc/posix-functions/bsd_signal.texi.
20108         * doc/pastposix-functions/bzero.texi: Renamed from
20109         doc/posix-functions/bzero.texi.
20110         * doc/pastposix-functions/ecvt.texi: Renamed from
20111         doc/posix-functions/ecvt.texi.
20112         * doc/pastposix-functions/fcvt.texi: Renamed from
20113         doc/posix-functions/fcvt.texi.
20114         * doc/pastposix-functions/ftime.texi: Renamed from
20115         doc/posix-functions/ftime.texi.
20116         * doc/pastposix-functions/gcvt.texi: Renamed from
20117         doc/posix-functions/gcvt.texi.
20118         * doc/pastposix-functions/getcontext.texi: Renamed from
20119         doc/posix-functions/getcontext.texi.
20120         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
20121         doc/posix-functions/gethostbyaddr.texi.
20122         * doc/pastposix-functions/gethostbyname.texi: Renamed from
20123         doc/posix-functions/gethostbyname.texi.
20124         * doc/pastposix-functions/getwd.texi: Renamed from
20125         doc/posix-functions/getwd.texi.
20126         * doc/pastposix-functions/h_errno.texi: Renamed from
20127         doc/posix-functions/h_errno.texi.
20128         * doc/pastposix-functions/index.texi: Renamed from
20129         doc/posix-functions/index.texi.
20130         * doc/pastposix-functions/makecontext.texi: Renamed from
20131         doc/posix-functions/makecontext.texi.
20132         * doc/pastposix-functions/mktemp.texi: Renamed from
20133         doc/posix-functions/mktemp.texi.
20134         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
20135         doc/posix-functions/pthread_attr_getstackaddr.texi.
20136         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
20137         doc/posix-functions/pthread_attr_setstackaddr.texi.
20138         * doc/pastposix-functions/rindex.texi: Renamed from
20139         doc/posix-functions/rindex.texi.
20140         * doc/pastposix-functions/scalb.texi: Renamed from
20141         doc/posix-functions/scalb.texi.
20142         * doc/pastposix-functions/setcontext.texi: Renamed from
20143         doc/posix-functions/setcontext.texi.
20144         * doc/pastposix-functions/swapcontext.texi: Renamed from
20145         doc/posix-functions/swapcontext.texi.
20146         * doc/pastposix-functions/ualarm.texi: Renamed from
20147         doc/posix-functions/ualarm.texi.
20148         * doc/pastposix-functions/usleep.texi: Renamed from
20149         doc/posix-functions/usleep.texi.
20150         * doc/pastposix-functions/vfork.texi: Renamed from
20151         doc/posix-functions/vfork.texi.
20152         * doc/pastposix-functions/wcswcs.texi: Renamed from
20153         doc/posix-functions/wcswcs.texi.
20154         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
20155         (Function Substitutes): Update.
20156
20157 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20158
20159         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
20160         m4/strerror.m4.
20161
20162 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20163             Bruno Haible  <bruno@clisp.org>
20164
20165         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
20166
20167 2008-12-13  Bruno Haible  <bruno@clisp.org>
20168
20169         * modules/strtoull (Depends-on): Remove unistd.
20170
20171 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20172
20173         * modules/strtoull (Depends-on): Add stdlib.
20174
20175 2008-12-11  Simon Josefsson  <simon@josefsson.org>
20176
20177         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
20178
20179 2008-12-10  Jim Meyering  <meyering@redhat.com>
20180
20181         gl_ASSERT: don't say assertions are disabled when they're not
20182         * m4/assert.m4 (gl_ASSERT): Do not make configure report
20183         "checking whether to enable assertions... no", when they are in
20184         fact enabled.  This is solely a bug in the output of configure.
20185         In spite of saying "no", NDEBUG was not defined in that case.
20186         Also, as noted by Eric Blake, leave assertions enabled upon
20187         --enable-assert=INVALID.
20188
20189 2008-12-10  Bruno Haible  <bruno@clisp.org>
20190
20191         Change MODULES.html to refer to POSIX:2008 where possible.
20192         * MODULES.html.sh (POSIX2008_URL): New variable.
20193         (posix_headers): Remove sys/timeb, ucontext.
20194         (posix2001_headers): New variable.
20195         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
20196         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
20197         index, makecontext, mktemp, pthread_attr_getstackaddr,
20198         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
20199         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
20200         (posix2001_functions): New variable.
20201         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
20202         otherwise.
20203
20204 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20205
20206         add missing include to parse-duration.c
20207         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
20208         * modules/parse-duration (Depends-on): Add xalloc.
20209
20210         fix sed script reading maint.mk
20211         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
20212         (syntax-check-rules): Use it.
20213
20214 2008-12-09  Bruno Haible  <bruno@clisp.org>
20215
20216         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
20217         MacOS X 10.4/PowerPC.
20218         Reported by Simon Josefsson.
20219
20220 2008-12-08  Jim Meyering  <meyering@redhat.com>
20221
20222         work around mingw's lack of some S_IF definitions
20223         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
20224         Reported by Simon Josefsson.
20225
20226 2008-12-08  Bruno Haible  <bruno@clisp.org>
20227
20228         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
20229         applied to variables. Needed on MacOS X 10.4/PowerPC.
20230         Reported by Simon Josefsson.
20231
20232 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
20233         and Eric Blake  <ebb9@byu.net>
20234
20235         assert: honor --enable-assert
20236         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
20237         order to honor --enable-assert, rather than treating it as a
20238         synonym for --disable-assert.
20239
20240 2008-12-08  Jim Meyering  <meyering@redhat.com>
20241
20242         * lib/posixtm.c: Remove now-useless declaration of mktime.
20243
20244         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
20245
20246 2008-12-07  Bruno Haible  <bruno@clisp.org>
20247
20248         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
20249         test_once): Mark functions as static.
20250         * tests/test-tls.c (test_tls): Likewise.
20251
20252 2008-12-07  Bruno Haible  <bruno@clisp.org>
20253
20254         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
20255         iconv_register_autodetect.
20256
20257 2008-12-07  Jim Meyering  <meyering@redhat.com>
20258
20259         posixtm.c: avoid a warning
20260         * lib/posixtm.c (posixtime): Don't initialize tm0.
20261         It's no longer needed to placate gcc4's -Wuninitialized,
20262         and the attempt to placate would elicit a new warning.
20263
20264         unicodeio.c: mark unused parameters
20265         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
20266         (fallback_failure_callback): Likewise.
20267
20268 2008-12-07  Bruno Haible  <bruno@clisp.org>
20269
20270         * gnulib-tool (func_create_testdir): When building the tests
20271         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
20272         Reported by Simon Josefsson.
20273
20274 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20275
20276         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
20277
20278 2008-12-06  Bruno Haible  <bruno@clisp.org>
20279
20280         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
20281         Suggested by Eric Blake.
20282
20283 2008-12-06  Bruno Haible  <bruno@clisp.org>
20284
20285         Fix a c-stack test failure on MacOS X.
20286         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
20287         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
20288         handler for SIGBUS as well.
20289         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
20290         install a signal handler for SIGBUS as well.
20291         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
20292
20293 2008-12-06  Bruno Haible  <bruno@clisp.org>
20294
20295         Advocacy documentation.
20296         * doc/gnulib-intro.texi (Benefits): New section.
20297         * doc/gnulib.texi: Update.
20298
20299 2008-12-06  Bruno Haible  <bruno@clisp.org>
20300
20301         Document the 'manywarnings' module.
20302         * doc/manywarnings.texi: New file.
20303         * doc/gnulib.texi: Include it.
20304
20305 2008-12-05  Eric Blake  <ebb9@byu.net>
20306
20307         tests: silence some gcc warnings
20308         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
20309         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
20310         type mismatches.
20311
20312 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20313             Bruno Haible  <bruno@clisp.org>
20314
20315         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
20316
20317 2008-11-29  Jim Meyering  <meyering@redhat.com>
20318
20319         unicodeio.c: mark unused parameters
20320         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
20321         (fallback_failure_callback): Likewise.
20322
20323         fts: fix a thinko
20324         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
20325         (set_stat_type): Return S_IF*-valued "type" directly.
20326         Prompted by James Youngman's spotting a related bug.
20327         Confirmed by further testing through find.
20328
20329         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
20330         * lib/fts.c (D_TYPE): Define.
20331         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
20332         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
20333         (s_ifmt_shift_bits): New function.
20334         (set_stat_type): New function.
20335         (fts_build): When not calling fts_stat, call set_stat_type
20336         to propagate dirent.d_type info to fts_read caller.
20337         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
20338         fts_statp->st_mode type information may be valid.
20339
20340 2008-11-28  Simon Josefsson  <simon@josefsson.org>
20341
20342         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
20343         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
20344         <sds@gnu.org>.
20345
20346 2008-11-20  Bruno Haible  <bruno@clisp.org>
20347
20348         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
20349         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
20350         INCLUDE_NEXT.
20351         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
20352         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
20353         * modules/math (Makefile.am): Substitute
20354         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
20355         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
20356
20357 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
20358             Bruno Haible  <bruno@clisp.org>
20359
20360         * lib/stdint.in.h: Define all type macros so that their expansion is
20361         a single typedef'ed token. Fixes a compilation failure in Boost which
20362         does "using ::int8_t;".
20363
20364 2008-11-18  Simon Josefsson  <simon@josefsson.org>
20365
20366         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
20367         gl_MANYWARN_ALL_GCC.
20368         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
20369         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
20370         * modules/manywarnings: New file.
20371         * MODULES.html.sh: Mention manywarnings module.
20372
20373 2008-11-18  Bruno Haible  <bruno@clisp.org>
20374
20375         * doc/gnulib-tool.texi (Unit tests): New section.
20376
20377 2008-11-18  Simon Josefsson  <simon@josefsson.org>
20378
20379         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
20380         paths like 'lib/po/foo.po'.
20381
20382 2008-11-17  Simon Josefsson  <simon@josefsson.org>
20383
20384         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
20385         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
20386
20387 2008-11-17  Simon Josefsson  <simon@josefsson.org>
20388
20389         * m4/warnings.m4: Use CPPFLAGS to really check whether the
20390         parameter works.
20391
20392 2008-11-17  Simon Josefsson  <simon@josefsson.org>
20393
20394         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
20395
20396 2008-11-17  Bruce Korb  <bkorb@gnu.org>
20397
20398         * modules/parse-duration-tests: New file.
20399         * tests/test-parse-duration.sh: New file.
20400         * tests/test-parse-duration.c: New file.
20401
20402         New module 'parse-duration'.
20403         * lib/parse-duration.h: New file.
20404         * lib/parse-duration.c: New file.
20405         * modules/parse-duration: New file.
20406
20407 2008-11-17  Bruno Haible  <bruno@clisp.org>
20408
20409         * tests/test-select-out.sh: Comment out the first pipe test.
20410         Reported by Simon Josefsson.
20411
20412 2008-11-17  Bruno Haible  <bruno@clisp.org>
20413
20414         * modules/getaddrinfo (Depends-on): Add servent, hostent.
20415         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
20416         gl_HOSTENT.
20417
20418 2008-11-17  Bruno Haible  <bruno@clisp.org>
20419
20420         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
20421         -lnetwork and -lnet. Needed for Haiku and BeOS.
20422
20423 2008-11-16  Bruno Haible  <bruno@clisp.org>
20424
20425         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
20426
20427 2008-11-16  Bruno Haible  <bruno@clisp.org>
20428
20429         Avoid test failure on Haiku.
20430         * tests/test-fsync.c: Include <errno.h>.
20431         (main): Don't require that fsync (0) fails.
20432
20433 2008-11-15  Bruno Haible  <bruno@clisp.org>
20434
20435         New module 'hostent'.
20436         * modules/hostent: New file.
20437         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
20438
20439 2008-11-15  Bruno Haible  <bruno@clisp.org>
20440
20441         New module 'servent'.
20442         * modules/servent: New file.
20443         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
20444
20445 2008-11-15  Bruno Haible  <bruno@clisp.org>
20446
20447         Avoid generating same test program with two different rules.
20448         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
20449         test-frexp to test-frexp-nolibm.
20450         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
20451         test-frexpl to test-frexpl-nolibm.
20452
20453 2008-11-15  Bruno Haible  <bruno@clisp.org>
20454
20455         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
20456         $(FREXPL_LIBM).
20457
20458 2008-11-15  Bruno Haible  <bruno@clisp.org>
20459
20460         * lib/netdb.in.h: Activate the definitions also when the system's
20461         <netdb.h> has 'struct addrinfo'.
20462         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
20463         EAI_OVERFLOW or AI_NUMERICSERV.
20464         * doc/posix-headers/netdb.texi: Document the problem.
20465
20466 2008-11-15  Bruno Haible  <bruno@clisp.org>
20467
20468         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
20469
20470         Make the 'sched' module work on platforms where <sched.h> exists but
20471         is incomplete (such as Haiku).
20472         * lib/sched.in.h; Include the system's <sched.h> if it exists.
20473         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
20474         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
20475         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
20476         HAVE_STRUCT_SCHED_PARAM.
20477         * modules/sched (Depends-on): Add include_next.
20478         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
20479         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
20480         * doc/posix-headers/sched.texi: Document the issue.
20481
20482 2008-11-13  Jim Meyering  <meyering@redhat.com>
20483
20484         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
20485         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
20486         test would fail due to the difference in the Report bugs to ...
20487         line.  The expected address is empty, "<>", while the actual
20488         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
20489
20490 2008-11-12  Bruno Haible  <bruno@clisp.org>
20491
20492         lstat: don't compile lstat.c on systems lacking lstat
20493         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
20494         which don't have lstat; this is handled by lib/sys_stat.in.h already.
20495         Reported by Daniel P. Berrange via Jim Meyering.
20496
20497 2008-11-12  Jim Meyering  <meyering@redhat.com>
20498
20499         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
20500
20501 2008-11-12  Simon Josefsson  <simon@josefsson.org>
20502
20503         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
20504         instead.
20505
20506 2008-11-12  Bruno Haible  <bruno@clisp.org>
20507
20508         * lib/unicodeio.c: Include unistr.h.
20509         (utf8_wctomb): Remove function.
20510         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
20511
20512 2008-11-12  Simon Josefsson  <simon@josefsson.org>
20513
20514         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
20515         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
20516         <bruno@clisp.org>.
20517         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
20518
20519 2008-11-12  Simon Josefsson  <simon@josefsson.org>
20520
20521         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
20522         * doc/gnulib.texi: Add section for warnings.
20523
20524 2008-11-11  Bruno Haible  <bruno@clisp.org>
20525
20526         * lib/sockets.h: Add a comment.
20527
20528 2008-11-11  Karl Berry  <karl@gnu.org>
20529
20530         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
20531
20532 2008-11-11  Eric Blake  <ebb9@byu.net>
20533
20534         fdl.texi: avoid git symlinks
20535         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
20536
20537 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
20538
20539         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
20540
20541 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
20542
20543         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
20544         (gl_WARN_ADD): Substitute $2 if literal.
20545
20546 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
20547
20548         * m4/warning.m4: Remove.
20549
20550 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
20551
20552         * m4/warnings.m4: Almost complete rewrite. :-)
20553
20554 2008-11-10  Simon Josefsson  <simon@josefsson.org>
20555
20556         * modules/warnings: New module.
20557         * m4/warnings.m4: New file.
20558         * MODULES.html.sh: Mention warnings module.
20559         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
20560         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
20561
20562 2008-11-10  Eric Blake  <ebb9@byu.net>
20563
20564         fdl.texi: make a symlink to the latest version
20565         * doc/standards.texi: Revert today's earlier change.
20566         * doc/fdl-1.2.texi: Rename from old fdl.texi...
20567         * doc/fdl.texi: ...and replace this with a symlink to the newer
20568         fdl-1.3.texi.
20569
20570 2008-11-10  Bruno Haible  <bruno@clisp.org>
20571
20572         * tests/test-select-fd.c (main): Accept the result file name as fourth
20573         argument.
20574         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
20575         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
20576
20577 2008-11-10  Bruno Haible  <bruno@clisp.org>
20578
20579         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
20580         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
20581         as autoconf-substituted macros.
20582         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
20583         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
20584         gl_NETDB_H_DEFAULTS. Set these variables.
20585         * modules/netdb (Makefile.am): Substitute these variables.
20586
20587 2008-11-10  Eric Blake  <ebb9@byu.net>
20588
20589         standards.texi: include correct file for FDL 1.3
20590         * doc/standards.texi (GNU Free Documentation License): Change
20591         include file to pull in FDL 1.3, not 1.2.
20592
20593         fdl.texi: revert accidental change to license
20594         * doc/fdl.texi: This is FDL 1.2, not 1.3.
20595
20596 2008-11-10  Bruno Haible  <bruno@clisp.org>
20597
20598         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
20599         cross-compiling guesses also when the native compile gives no result.
20600
20601 2008-11-10  Bruno Haible  <bruno@clisp.org>
20602
20603         * lib/spawni.c (__spawni): Force variable into the stack.
20604
20605 2008-11-10  Bruno Haible  <bruno@clisp.org>
20606
20607         Add support for Haiku.
20608         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
20609         glibc and BeOS, but also on Haiku.
20610         * lib/fpurge.c (fpurge): Likewise.
20611         * lib/freadable.c (freadable): Likewise.
20612         * lib/freadahead.c (freadahead): Likewise.
20613         * lib/freading.c (freading): Likewise.
20614         * lib/freadptr.c (freadptr): Likewise.
20615         * lib/freadseek.c (freadptrinc): Likewise.
20616         * lib/fseeko.c (rpl_fseeko): Likewise.
20617         * lib/fseterr.c (fseterr): Likewise.
20618         * lib/fwritable.c (fwritable): Likewise.
20619         * lib/fwriting.c (fwriting): Likewise.
20620         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
20621
20622 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
20623
20624         * lib/config.charset: Treat Haiku like BeOS.
20625
20626 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
20627
20628         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
20629         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
20630
20631 2008-11-08  Bruno Haible  <bruno@clisp.org>
20632
20633         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
20634         AC_CACHE_CHECK.
20635
20636 2008-11-08  Bruno Haible  <bruno@clisp.org>
20637
20638         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
20639
20640 2008-11-08  Bruno Haible  <bruno@clisp.org>
20641
20642         * tests/test-select-fd.c: New file.
20643         * tests/test-select-in.sh: New file.
20644         * tests/test-select-out.sh: New file.
20645         * tests/test-select-stdin.c: New file.
20646         * modules/select-tests (Files): Add the new files.
20647         (Depends-on): Add gettimeofday.
20648         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
20649         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
20650         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
20651
20652 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
20653             Bruno Haible  <bruno@clisp.org>
20654
20655         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
20656
20657 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
20658
20659         * build-aux/pmccabe2html: Added support for C++ source files.
20660
20661 2008-11-05  Ben Pfaff  <blp@gnu.org>
20662
20663         Fix lib/close.c build on Windows.
20664         * modules/close (Files): Add lib/w32sock.h.
20665
20666 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
20667
20668         Accept Bison's NEWS format.
20669         * build-aux/announce-gen (print_news_deltas): Tweak
20670         $re_prefix.
20671
20672 2008-11-04  Bruno Haible  <bruno@clisp.org>
20673
20674         * modules/random_r (Maintainer): Add glibc.
20675
20676 2008-11-04  Simon Josefsson  <simon@josefsson.org>
20677
20678         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
20679         by karl@freefriends.org (Karl Berry).
20680         * doc/alloca.texi: Likewise.
20681         * doc/c-ctype.texi: Likewise.
20682         * doc/c-strcase.texi: Likewise.
20683         * doc/c-strcaseeq.texi: Likewise.
20684         * doc/c-strcasestr.texi: Likewise.
20685         * doc/c-strstr.texi: Likewise.
20686         * doc/c-strtod.texi: Likewise.
20687         * doc/c-strtold.texi: Likewise.
20688         * doc/ctime.texi: Likewise.
20689         * doc/error.texi: Likewise.
20690         * doc/fdl.texi: Likewise.
20691         * doc/gcd.texi: Likewise.
20692         * doc/getdate.texi: Likewise.
20693         * doc/gnulib-intro.texi: Likewise.
20694         * doc/gnulib-tool.texi: Likewise.
20695         * doc/gnulib.texi: Likewise.
20696         * doc/inet_ntoa.texi: Likewise.
20697         * doc/maintain.texi: Likewise.
20698         * doc/make-stds.texi: Likewise.
20699         * doc/quote.texi: Likewise.
20700         * doc/regexprops-generic.texi: Likewise.
20701         * doc/standards.texi: Likewise.
20702         * doc/verify.texi: Likewise.
20703         * doc/visibility.texi: Likewise.
20704         * doc/gnulib.texi (GNU Free Documentation License): Include
20705         fdl-1.3.texi instead of fdl.texi.
20706
20707 2008-11-04  Simon Josefsson  <simon@josefsson.org>
20708
20709         * doc/fdl-1.3.texi: New file, from
20710         <http://www.gnu.org/licenses/fdl-1.3.texi>.
20711         * modules/fdl-1.3: Add.
20712         * MODULES.html.sh: Add fdl-1.3.
20713
20714 2008-11-03  Bruno Haible  <bruno@clisp.org>
20715
20716         Make determination of absolute name of header file work with AIX xlc.
20717         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
20718         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
20719         preprocessing.
20720         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
20721         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
20722
20723 2008-11-03  Simon Josefsson  <simon@josefsson.org>
20724
20725         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
20726         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
20727         <ludo@gnu.org>.
20728
20729 2008-11-02  Bruno Haible  <bruno@clisp.org>
20730
20731         Mark 'strpbrk' obsolete.
20732         * modules/strpbrk (Status, Notice): New sections.
20733         * modules/strtok_r (Depends-on): Add strpbrk.
20734
20735 2008-11-02  Bruno Haible  <bruno@clisp.org>
20736
20737         Mark 'strdup' obsolete.
20738         * modules/strdup (Status, Notice): New sections.
20739         * modules/findprog (Depends-on): Add strdup.
20740         * modules/getaddrinfo (Depends-on): Likewise.
20741         * modules/localename (Depends-on): Likewise.
20742         * modules/relocatable-lib (Depends-on): Likewise.
20743         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
20744         * modules/relocatable-prog (Depends-on): Likewise.
20745         * modules/trim (Depends-on): Likewise.
20746         * modules/unictype/gen-ctype (Depends-on): Likewise.
20747         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
20748
20749 2008-11-02  Bruno Haible  <bruno@clisp.org>
20750
20751         Mark 'strcspn' obsolete.
20752         * modules/strcspn (Status, Notice): New sections.
20753
20754 2008-11-02  Bruno Haible  <bruno@clisp.org>
20755
20756         Mark 'rmdir' obsolete.
20757         * modules/rmdir (Status, Notice): New sections.
20758         * modules/clean-temp (Depends-on): Add rmdir.
20759         * modules/openat (Depends-on): Likewise.
20760
20761 2008-11-02  Bruno Haible  <bruno@clisp.org>
20762
20763         Mark 'raise' obsolete.
20764         * modules/raise (Status, Notice): New sections.
20765         (Include): Specify <signal.h>.
20766         * modules/stdio (Depends-on): Add raise.
20767         * modules/write (Depends-on): Likewise.
20768
20769 2008-11-02  Bruno Haible  <bruno@clisp.org>
20770
20771         Mark 'memset' obsolete.
20772         * modules/memset (Status, Notice): New sections.
20773
20774 2008-11-02  Bruno Haible  <bruno@clisp.org>
20775
20776         Mark 'memmove' obsolete.
20777         * modules/memmove (Status, Notice): New sections.
20778         * modules/argp (Depends-on): Add memmove.
20779         * modules/argz (Depends-on): Likewise.
20780         * modules/canonicalize (Depends-on): Likewise.
20781         * modules/canonicalize-lgpl (Depends-on): Likewise.
20782         * modules/fts (Depends-on): Likewise.
20783         * modules/getcwd (Depends-on): Likewise.
20784         * modules/human (Depends-on): Likewise.
20785         * modules/regex (Depends-on): Likewise.
20786         * modules/striconveh (Depends-on): Likewise.
20787         * modules/trim (Depends-on): Likewise.
20788         * modules/unistr/u8-move (Depends-on): Likewise.
20789         * modules/unistr/u16-move (Depends-on): Likewise.
20790         * modules/unistr/u32-move (Depends-on): Likewise.
20791
20792 2008-11-02  Bruno Haible  <bruno@clisp.org>
20793
20794         Mark 'memcpy' obsolete.
20795         * modules/memcpy (Status, Notice): New sections.
20796
20797 2008-11-02  Bruno Haible  <bruno@clisp.org>
20798
20799         Mark 'memcmp' obsolete.
20800         * modules/memcmp (Status, Notice): New sections.
20801         * modules/argmatch (Depends-on): Add memchr.
20802         * modules/backupfile (Depends-on): Likewise.
20803         * modules/c-strcasestr (Depends-on): Likewise.
20804         * modules/crypto/des (Depends-on): Likewise.
20805         * modules/csharpcomp (Depends-on): Likewise.
20806         * modules/fnmatch (Depends-on): Likewise.
20807         * modules/git-merge-changelog (Depends-on): Likewise.
20808         * modules/isnand (Depends-on): Likewise.
20809         * modules/isnand-nolibm (Depends-on): Likewise.
20810         * modules/isnanf (Depends-on): Likewise.
20811         * modules/isnanf-nolibm (Depends-on): Likewise.
20812         * modules/isnanl (Depends-on): Likewise.
20813         * modules/isnanl-nolibm (Depends-on): Likewise.
20814         * modules/mbchar (Depends-on): Likewise.
20815         * modules/memcoll (Depends-on): Likewise.
20816         * modules/quotearg (Depends-on): Likewise.
20817         * modules/regex (Depends-on): Likewise.
20818         * modules/relocatable-prog (Depends-on): Likewise.
20819         * modules/same (Depends-on): Likewise.
20820         * modules/signbit (Depends-on): Likewise.
20821         * modules/strcasestr-simple (Depends-on): Likewise.
20822         * modules/unictype/gen-ctype (Depends-on): Likewise.
20823         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
20824         * modules/uniname/uniname (Depends-on): Likewise.
20825         * modules/unistr/u8-cmp (Depends-on): Likewise.
20826
20827 2008-11-02  Bruno Haible  <bruno@clisp.org>
20828
20829         Mark 'memchr' obsolete.
20830         * modules/memchr (Status, Notice): New sections.
20831         * modules/argp (Depends-on): Add memchr.
20832         * modules/base64 (Depends-on): Likewise.
20833         * modules/c-strcasestr (Depends-on): Likewise.
20834         * modules/chdir-long (Depends-on): Likewise.
20835         * modules/fnmatch (Depends-on): Likewise.
20836         * modules/getsubopt (Depends-on): Likewise.
20837         * modules/git-merge-changelog (Depends-on): Likewise.
20838         * modules/glob (Depends-on): Likewise.
20839         * modules/strcasestr-simple (Depends-on): Likewise.
20840         * modules/strnlen (Depends-on): Likewise.
20841
20842 2008-11-02  Bruno Haible  <bruno@clisp.org>
20843
20844         Mark 'atexit' obsolete.
20845         * modules/atexit (Status, Notice): New sections.
20846         * modules/chdir-long (Depends-on): Add atexit.
20847         * modules/wait-process (Depends-on): Likewise.
20848
20849 2008-11-02  Bruno Haible  <bruno@clisp.org>
20850
20851         * gnulib-tool: New option --with-obsolete.
20852         (func_usage): Document it.
20853         (func_modules_transitive_closure): Drop obsolete dependencies if
20854         incobsolete is not true.
20855         (func_import): Read and save the incobsolete variable to the cache.
20856
20857 2008-11-02  Bruno Haible  <bruno@clisp.org>
20858
20859         * modules/TEMPLATE-EXTENDED: New field 'Status'.
20860         * gnulib-tool: New option --extract-status.
20861         (func_usage): Document it.
20862         (sed_extract_prog): Recognize it.
20863         (func_get_status): New function.
20864
20865 2008-10-30  Simon Josefsson  <simon@josefsson.org>
20866
20867         * modules/sockets (License): Change from LGPL to LGPLv2+.
20868
20869 2008-10-28  Simon Josefsson  <simon@josefsson.org>
20870
20871         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
20872
20873 2008-10-28  Simon Josefsson  <simon@josefsson.org>
20874
20875         * MODULES.html.sh (Support for systems lacking POSIX:2001):
20876         Mention times and sys_times.
20877         * modules/sys_times, modules/sys_times-tests: New modules.
20878         * modules/times, modules/times-tests: Likewise
20879         * m4/sys_times_h.m4: New file.
20880         * lib/sys_times.in.h: Likewise
20881         * lib/times.c: Likewise.
20882         * tests/test-sys_times.c: Likewise.
20883         * tests/test-times.c: Likewise.
20884         * doc/posix-headers/sys_times.texi: Update.
20885         * doc/posix-functions/times.texi: Update.
20886
20887 2008-10-28  Jim Meyering  <meyering@redhat.com>
20888
20889         * modules/tempname (Depends-on): Add lstat.
20890
20891         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
20892
20893 2008-10-28  Simon Josefsson  <simon@josefsson.org>
20894
20895         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
20896         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
20897         using idiom used elsewhere in gnulib.
20898
20899 2008-10-27  Jim Meyering  <meyering@redhat.com>
20900
20901         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
20902
20903 2008-10-27  Simon Josefsson  <simon@josefsson.org>
20904
20905         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
20906         TESTS_ENVIRONMENT, for shell scripts that needs to call built
20907         programs.
20908         * tests/test-argp-2.sh: Use $EXEEXT when needed.
20909
20910 2008-10-27  Simon Josefsson  <simon@josefsson.org>
20911
20912         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
20913
20914 2008-10-27  Bruno Haible  <bruno@clisp.org>
20915
20916         * tests/test-lstat.c: Include <stdio.h>.
20917
20918 2008-10-27  Simon Josefsson  <simon@josefsson.org>
20919
20920         * modules/lstat-tests: New module.
20921         * tests/test-lstat.c: New file.
20922
20923 2008-10-26  Jim Meyering  <meyering@redhat.com>
20924
20925         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
20926
20927 2008-10-26  Simon Josefsson  <simon@josefsson.org>
20928             Bruno Haible  <bruno@clisp.org>
20929
20930         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
20931         * modules/configmake (Include): Add a note that the include must come
20932         after all system headers.
20933         * lib/javaversion.c: Include configmake.h after all other includes.
20934
20935 2008-10-26  Bruno Haible  <bruno@clisp.org>
20936
20937         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
20938         HAVE_STRUCT_RANDOM_DATA to 1.
20939         (gl_STDLIB_H): Simplify.
20940
20941 2008-10-26  Simon Josefsson  <simon@josefsson.org>
20942
20943         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
20944         substitute HAVE_STRUCT_RANDOM_DATA.
20945         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
20946         random_data.
20947         * modules/stdlib (Makefile.am): Substitute
20948         HAVE_STRUCT_RANDOM_DATA.
20949
20950 2008-10-26  Simon Josefsson  <simon@josefsson.org>
20951
20952         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
20953         * doc/gnulib-intro.texi (Copyright): Likewise.
20954
20955 2008-10-26  Simon Josefsson  <simon@josefsson.org>
20956
20957         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
20958         findings.
20959
20960 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
20961             Bruno Haible  <bruno@clisp.org>
20962
20963         * lib/unistd.in.h: Include <winsock2.h>.
20964         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
20965         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
20966         Provide dummy declarations.
20967         (gethostname): Override.
20968         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
20969         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
20970         gl_PREREQ_SYS_H_WINSOCK2.
20971         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
20972         * doc/posix-functions/gethostname.texi: More details.
20973
20974 2008-10-25  Bruno Haible  <bruno@clisp.org>
20975
20976         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
20977         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
20978         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
20979
20980         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
20981         here ...
20982         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
20983         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
20984         gl_UNISTD_H_DEFAULTS.
20985
20986 2008-10-25  Eric Blake  <ebb9@byu.net>
20987
20988         signbit: avoid spurious compiler failure
20989         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
20990         declarations inside function.
20991
20992 2008-10-24  Simon Josefsson  <simon@josefsson.org>
20993             Bruno Haible  <bruno@clisp.org>
20994
20995         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
20996         * modules/random_r (Depends-on): Add stdint.
20997
20998 2008-10-24  Bruno Haible  <bruno@clisp.org>
20999
21000         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
21001         Eggert.
21002         * modules/strerror (License): Likewise.
21003
21004 2008-10-24  Jim Meyering  <meyering@redhat.com>
21005
21006         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
21007         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
21008
21009 2008-10-24  Eric Blake  <ebb9@byu.net>
21010
21011         getgroups: fix compilation when getgroups is available
21012         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
21013         but with <config.h> override of getgroups disabled.
21014
21015 2008-10-24  Simon Josefsson  <simon@josefsson.org>
21016
21017         * doc/gnulib.texi (Header files): Add note about C++ problems.
21018         Explained by Bruno Haible <bruno@clisp.org>.
21019
21020 2008-10-23  Bruno Haible  <bruno@clisp.org>
21021
21022         Define a dummy SA_NODEFER macro on Interix.
21023         * lib/signal.in.h (SA_NODEFER): Define fallback.
21024         Reported by Aleksey Cheusov <cheusov@tut.by> via
21025         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
21026
21027 2008-10-23  Bruno Haible  <bruno@clisp.org>
21028
21029         * modules/freadahead (License): Change to LGPLv2+.
21030         Suggested by Simon Josefsson.
21031
21032 2008-10-23  Jim Meyering  <meyering@redhat.com>
21033
21034         random_r: new module
21035         * modules/random_r: New file.
21036         * m4/random_r.m4: New file.
21037         * lib/random_r.c: New file, from glibc.
21038         * modules/random_r-tests: New file.
21039         * tests/test-random_r.c: New file.
21040         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
21041          Declare.
21042         (RAND_MAX): Define.
21043         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
21044         * modules/stdlib: Substitute them, too.
21045         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
21046         * doc/glibc-functions/initstate_r.texi: Mention the new module.
21047         * doc/glibc-functions/random_r.texi: Likewise.
21048         * doc/glibc-functions/setstate_r.texi: Likewise.
21049         * doc/glibc-functions/srandom_r.texi: Likewise.
21050         * config/srclist.txt: Mention it.
21051
21052 2008-10-23  David Lutterkort  <lutter@redhat.com>
21053
21054         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
21055         link requirement
21056
21057 2008-10-23  Jim Meyering  <meyering@redhat.com>
21058
21059         selinux-h: mark parameters of stub functions as intentionally unused
21060         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
21061         * lib/se-context.in.h: Likewise.
21062
21063 2008-10-22  Simon Josefsson  <simon@josefsson.org>
21064
21065         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
21066
21067 2008-10-22  Simon Josefsson  <simon@josefsson.org>
21068
21069         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
21070
21071 2008-10-22  Eric Blake  <ebb9@byu.net>
21072
21073         glthread/thread: avoid compiler warning
21074         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
21075         Add unreachable abort to silence compiler.
21076
21077 2008-10-22  Eric Blake  <ebb9@byu.net>
21078
21079         netdb: also supply struct addrinfo for cygwin 1.5.x
21080         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
21081         older cygwin.
21082         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
21083         cygwin.
21084         * doc/posix-headers/netdb.texi (netdb.h): Document this.
21085
21086 2008-10-22  Bruno Haible  <bruno@clisp.org>
21087
21088         * users.txt: Update entry about pspp.
21089
21090 2008-10-21  Bruno Haible  <bruno@clisp.org>
21091
21092         Simplification.
21093         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
21094         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
21095
21096         Simplification.
21097         * lib/ioctl.c (ioctl): Don't undefine.
21098         * lib/socket.c (socket): Don't undefine.
21099
21100         Remove unused module indicator macros.
21101         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
21102         GNULIB_$1 as a C macro.
21103
21104         * doc/posix-functions/close.texi: Undo last change.
21105         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
21106         Windows platforms.
21107
21108 2008-10-21  Bruno Haible  <bruno@clisp.org>
21109
21110         Add gethostname() declaration to <unistd.h>.
21111         * lib/unistd.in.h (gethostname): New declaration.
21112         * lib/gethostname.c: Include <unistd.h>.
21113         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
21114         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
21115         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
21116         and HAVE_GETHOSTNAME.
21117         * modules/gethostname (Depends-on): Add unistd.
21118         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
21119         (Include): Specify <unistd.h>.
21120         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
21121         HAVE_GETHOSTNAME.
21122         * tests/test-gethostname.c: Include <unistd.h> first.
21123
21124 2008-10-21  Bruno Haible  <bruno@clisp.org>
21125
21126         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
21127         * modules/select-tests (Depends-on): Likewise.
21128         Reported by Simon Josefsson.
21129
21130 2008-10-21  Simon Josefsson  <simon@josefsson.org>
21131
21132         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
21133         * lib/accept.c: New file, based on winsock.c.
21134         * lib/bind.c: New file, based on winsock.c.
21135         * lib/connect.c: New file, based on winsock.c.
21136         * lib/getpeername.c: New file, based on winsock.c.
21137         * lib/getsockname.c: New file, based on winsock.c.
21138         * lib/getsockopt.c: New file, based on winsock.c.
21139         * lib/ioctl.c: New file, based on winsock.c.
21140         * lib/listen.c: New file, based on winsock.c.
21141         * lib/recv.c: New file, based on winsock.c.
21142         * lib/recvfrom.c: New file, based on winsock.c.
21143         * lib/send.c: New file, based on winsock.c.
21144         * lib/sendto.c: New file, based on winsock.c.
21145         * lib/setsockopt.c: New file, based on winsock.c.
21146         * lib/shutdown.c: New file, based on winsock.c.
21147         * lib/socket.c: New file, based on winsock.c.
21148         * lib/w32sock.h: New file, based on winsock.c.
21149         * lib/winsock.c: Remove file.
21150         * modules/accept: Likewise.
21151         * modules/bind: Likewise.
21152         * modules/connect: Likewise.
21153         * modules/getpeername: Likewise.
21154         * modules/getsockname: Likewise.
21155         * modules/getsockopt: Likewise.
21156         * modules/ioctl: Likewise.
21157         * modules/listen: Likewise.
21158         * modules/recv: Likewise.
21159         * modules/recvfrom: Likewise.
21160         * modules/send: Likewise.
21161         * modules/sendto: Likewise.
21162         * modules/setsockopt: Likewise.
21163         * modules/shutdown: Likewise.
21164         * modules/socket: Use socket.c instead of winsock.c.
21165         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
21166         * doc/posix-functions/accept.texi: Doc fix.
21167         * doc/posix-functions/bind.texi: Doc fix.
21168         * doc/posix-functions/close.texi: Doc fix.
21169         * doc/posix-functions/connect.texi: Doc fix.
21170         * doc/posix-functions/getpeername.texi: Doc fix.
21171         * doc/posix-functions/getsockname.texi: Doc fix.
21172         * doc/posix-functions/getsockopt.texi: Doc fix.
21173         * doc/posix-functions/ioctl.texi: Doc fix.
21174         * doc/posix-functions/listen.texi: Doc fix.
21175         * doc/posix-functions/recv.texi: Doc fix.
21176         * doc/posix-functions/recvfrom.texi: Doc fix.
21177         * doc/posix-functions/send.texi: Doc fix.
21178         * doc/posix-functions/sendto.texi: Doc fix.
21179         * doc/posix-functions/setsockopt.texi: Doc fix.
21180         * doc/posix-functions/shutdown.texi: Doc fix.
21181         * doc/posix-functions/socket.texi: Doc fix.
21182
21183 2008-10-20  Bruno Haible  <bruno@clisp.org>
21184
21185         Take into account the role of SIGABRT_COMPAT on Windows 2008.
21186         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
21187         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
21188         as an alias for SIGABRT.
21189         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
21190         (sigaction): Map it to SIGABRT.
21191         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
21192
21193 2008-10-20  Bruno Haible  <bruno@clisp.org>
21194
21195         * lib/fts.c: Don't include lstat.h.
21196         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
21197
21198         Move the lstat() declaration to <sys/stat.h>.
21199         * lib/lstat.h: Remove file.
21200         * lib/sys_stat.in.h: Add special invocation convention.
21201         (lstat): New declaration.
21202         * lib/lstat.c (orig_lstat): New function.
21203         (rpl_lstat): Use orig_lstat instead of lstat.
21204         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
21205         AC_C_INLINE. Set REPLACE_LSTAT.
21206         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
21207         and REPLACE_LSTAT.
21208         * modules/lstat (Files): Remove lib/lstat.h.
21209         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
21210         (Include): Specify <sys/stat.h> instead of lstat.h.
21211         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
21212         REPLACE_LSTAT.
21213         * NEWS: Mention the change.
21214
21215 2008-10-20  Bruno Haible  <bruno@clisp.org>
21216
21217         * modules/posix_spawn-tests: New file.
21218         * tests/test-posix_spawn3.c: New file.
21219
21220 2008-10-20  Bruno Haible  <bruno@clisp.org>
21221
21222         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
21223         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
21224         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
21225         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
21226         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
21227
21228 2008-10-20  Bruno Haible  <bruno@clisp.org>
21229
21230         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
21231         of posix_spawn on AIX 5.3.
21232
21233 2008-10-20  Bruno Haible  <bruno@clisp.org>
21234
21235         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
21236
21237 2008-10-20  Bruno Haible  <bruno@clisp.org>
21238
21239         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
21240         of AC_LANG_PROGRAM.
21241
21242 2008-10-20  Simon Josefsson  <simon@josefsson.org>
21243
21244         * lib/netdb.in.h: Don't define GNU specific constants until they
21245         are supported or needed.  Reported by Bruno Haible
21246         <bruno@clisp.org>.
21247
21248 2008-10-20  Simon Josefsson  <simon@josefsson.org>
21249
21250         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
21251
21252 2008-10-20  Simon Josefsson  <simon@josefsson.org>
21253
21254         * lib/getaddrinfo.h: Remove file.
21255         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
21256         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
21257         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
21258         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
21259         * modules/netdb: Substitute GNULIB_GETADDRINFO.
21260         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
21261         * tests/test-getaddrinfo.c: Likewise.
21262         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
21263         * NEWS: Mention change.
21264
21265 2008-10-19  Bruno Haible  <bruno@clisp.org>
21266
21267         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
21268
21269 2008-10-19  Bruno Haible  <bruno@clisp.org>
21270
21271         * lib/wait-process.c: Include simply <sys/wait.h>.
21272         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
21273         WIFSTOPPED): Remove fallback definitions.
21274         * modules/wait-process (Depends-on): Add sys_wait.
21275
21276         New module 'sys_wait'.
21277         * modules/sys_wait: New file.
21278         * lib/sys_wait.in.h: New file, partially copied from
21279         lib/wait-process.c.
21280         * m4/sys_wait_h.m4: New file.
21281         * doc/posix-headers/sys_wait.texi: Mention the new module.
21282
21283 2008-10-19  Bruno Haible  <bruno@clisp.org>
21284
21285         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
21286
21287 2008-10-19  Bruno Haible  <bruno@clisp.org>
21288
21289         Assume that waitpid() fills an 'int' status, not a 'union wait'.
21290         * lib/wait-process.c (WAIT_T): Remove type.
21291         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
21292         (wait_subprocess): Update.
21293
21294 2008-10-19  Bruno Haible  <bruno@clisp.org>
21295
21296         New module 'atoll'.
21297         * modules/atoll: New file.
21298         * lib/stdlib.in.h (atoll): New declaration.
21299         * lib/atoll.c: New file, from glibc with modifications.
21300         * m4/atoll.m4: New file.
21301         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
21302         HAVE_ATOLL.
21303         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
21304         * doc/posix-functions/atoll.texi: Mention the new module.
21305
21306 2008-10-19  Bruno Haible  <bruno@clisp.org>
21307
21308         Add strtoull() declaration to <stdlib.h>.
21309         * lib/stdlib.in.h (strtoull): New declaration.
21310         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
21311         Set HAVE_STRTOULL.
21312         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
21313         HAVE_STRTOULL.
21314         * modules/strtoull (Depends-on): Add stdlib.
21315         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
21316         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
21317         HAVE_STRTOULL.
21318
21319 2008-10-19  Bruno Haible  <bruno@clisp.org>
21320
21321         Add strtoll() declaration to <stdlib.h>.
21322         * lib/stdlib.in.h (strtoll): New declaration.
21323         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
21324         Set HAVE_STRTOLL.
21325         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
21326         HAVE_STRTOLL.
21327         * modules/strtoll (Depends-on): Add stdlib.
21328         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
21329         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
21330
21331 2008-10-19  Bruno Haible  <bruno@clisp.org>
21332
21333         * modules/bcopy (Depends-on): Add strings.
21334         (Include): Specify <strings.h>.
21335
21336 2008-10-19  Bruno Haible  <bruno@clisp.org>
21337
21338         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
21339
21340 2008-10-19  Bruno Haible  <bruno@clisp.org>
21341
21342         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
21343         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
21344         mingw.
21345
21346 2008-10-19  Bruno Haible  <bruno@clisp.org>
21347
21348         * lib/atanl.c: Don't include isnanl.h.
21349         * lib/cosl.c: Likewise.
21350         * lib/ldexpl.c: Likewise.
21351         * lib/logl.c: Likewise.
21352         * lib/sinl.c: Likewise.
21353         * lib/sqrtl.c: Likewise.
21354         * lib/tanl.c: Likewise.
21355
21356         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
21357         * lib/isnanf.h: Remove file.
21358         * lib/isnand.h: Remove file.
21359         * lib/isnanl.h: Remove file.
21360         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
21361         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
21362         macros.
21363         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
21364         HAVE_ISNANF, don't define it as a C macro.
21365         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
21366         HAVE_ISNAND, don't define it as a C macro.
21367         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
21368         HAVE_ISNANL, don't define it as a C macro.
21369         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
21370         HAVE_ISNAN[FDL].
21371         * modules/isnanf (Files): Remove lib/isnanf.h.
21372         (Depends-on): Add math.
21373         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
21374         (Include): Specify <math.h> instead of isnanf.h.
21375         * modules/isnand (Files): Remove lib/isnand.h.
21376         (Depends-on): Add math.
21377         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
21378         (Include): Specify <math.h> instead of isnand.h.
21379         * modules/isnanl (Files): Remove lib/isnanl.h.
21380         (Depends-on): Add math.
21381         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
21382         (Include): Specify <math.h> instead of isnanl.h.
21383         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
21384         HAVE_ISNAN[FDL].
21385         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
21386         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
21387         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
21388         * NEWS: Mention the change.
21389
21390 2008-10-18  Bruno Haible  <bruno@clisp.org>
21391
21392         Add getusershell(), setusershell(), endusershell() declarations to
21393         <unistd.h>.
21394         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
21395         declarations.
21396         * lib/getusershell.c: Include unistd.h.
21397         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
21398         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
21399         HAVE_GETUSERSHELL.
21400         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
21401         and HAVE_GETUSERSHELL.
21402         * modules/getusershell (Depends-on): Add unistd, extensions.
21403         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
21404         (Include): Specify <unistd.h>.
21405         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
21406         HAVE_GETUSERSHELL.
21407
21408 2008-10-18  Bruno Haible  <bruno@clisp.org>
21409
21410         Add a getloadavg() declaration to <stdlib.h>.
21411         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
21412         getloadavg declaration.
21413         (getloadavg): New declaration.
21414         * lib/getloadavg.c: Include <stdlib.h> first.
21415         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
21416         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
21417         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
21418         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
21419         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
21420         * modules/getloadavg (Depends-on): Add stdlib, extensions.
21421         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
21422         (Include): Specify <stdlib.h>.
21423         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
21424         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
21425
21426 2008-10-18  Bruno Haible  <bruno@clisp.org>
21427
21428         * lib/dirchownmod.c: Don't include lchmod.h.
21429
21430         Move the lchmod() declaration to <sys/stat.h>.
21431         * lib/lchmod.h: Remove file.
21432         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
21433         (lchmod): New declaration, moved here from lib/lchown.h.
21434         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
21435         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
21436         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
21437         and HAVE_LCHMOD.
21438         * modules/lchmod (Files): Remove lib/lchmod.h.
21439         (Depends-on): Add sys_stat, extensions.
21440         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
21441         (Include): Specify <sys/stat.h> instead of lchmod.h.
21442         * modules/sys_stat (Depends-on): Add link-warning.
21443         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
21444         definition of GL_LINK_WARNING.
21445         * NEWS: Mention the change.
21446
21447 2008-10-18  Bruno Haible  <bruno@clisp.org>
21448
21449         * lib/fchdir.c: Don't include dirfd.h.
21450         * lib/fts.c: Likewise.
21451         * lib/getcwd.c: Likewise.
21452         * lib/glob.c: Likewise.
21453
21454         Move the dirfd() declaration to <dirent.h>.
21455         * lib/dirfd.h: Remove file.
21456         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
21457         (dirfd): New declaration.
21458         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
21459         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
21460         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
21461         HAVE_DECL_DIRFD.
21462         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
21463         HAVE_DECL_DIRFD.
21464         * modules/dirfd (Files): Remove lib/dirfd.h.
21465         (Depends-on): Add dirent, extensions.
21466         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
21467         (Include): Specify <dirent.h> instead of dirfd.h.
21468         * modules/dirent (Depends-on): Add link-warning.
21469         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
21470         definition of GL_LINK_WARNING.
21471         * NEWS: Mention the change.
21472
21473 2008-10-18  Bruno Haible  <bruno@clisp.org>
21474
21475         Move the euidaccess() declaration to <unistd.h>.
21476         * lib/euidaccess.h: Remove file.
21477         * lib/unistd.in.h (euidaccess): New declaration.
21478         * lib/euidaccess.c: Don't include euidaccess.h.
21479         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
21480         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
21481         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
21482         and HAVE_EUIDACCESS.
21483         * modules/euidaccess (Files): Remove lib/euidaccess.h.
21484         (Depends-on): Add unistd.
21485         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
21486         (Include): Specify <unistd.h> instead of euidaccess.h.
21487         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
21488         HAVE_EUIDACCESS.
21489         * NEWS: Mention the change.
21490
21491 2008-10-18  Bruno Haible  <bruno@clisp.org>
21492
21493         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
21494
21495         Move the getdomainname() declaration to <unistd.h>.
21496         * lib/getdomainname.h: Remove file.
21497         * lib/unistd.in.h (getdomainname): New declaration.
21498         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
21499         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
21500         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
21501         HAVE_GETDOMAINNAME.
21502         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
21503         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
21504         * modules/getdomainname (Files): Remove lib/getdomainname.h.
21505         (Depends-on): Add unistd, extensions.
21506         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
21507         (Includes): Specify <unistd.h> instead of getdomainname.h.
21508         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
21509         HAVE_GETDOMAINNAME.
21510         * NEWS: Mention the change.
21511
21512 2008-10-18  Bruno Haible  <bruno@clisp.org>
21513
21514         * modules/dirent: New file.
21515         * m4/dirent_h.m4: New file.
21516         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
21517         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
21518         * modules/fchdir (Files): Remove lib/dirent.in.h.
21519         (Depends-on): Add dirent.
21520         (Makefile.am): Move rules to modules/dirent.
21521         * doc/posix-headers/dirent.texi: Mention the new module.
21522
21523 2008-10-18  Bruno Haible  <bruno@clisp.org>
21524
21525         Avoid -Wunused-parameter warnings in public gnulib header files.
21526         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
21527         macro.
21528         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
21529
21530 2008-10-18  Bruno Haible  <bruno@clisp.org>
21531
21532         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
21533         * doc/glibc-functions/error.texi: Mention the module 'error'.
21534         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
21535         * doc/glibc-functions/getdomainname.texi: Mention the module
21536         'getdomainname'.
21537         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
21538         * doc/glibc-functions/getpagesize.texi: Mention the module
21539         'getpagesize'.
21540         * doc/glibc-functions/getusershell.texi: Mention the module
21541         'getusershell'.
21542         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
21543         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
21544         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
21545         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
21546         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
21547         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
21548         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
21549         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
21550         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
21551         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
21552         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
21553         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
21554         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
21555         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
21556
21557 2008-10-17  Bruno Haible  <bruno@clisp.org>
21558
21559         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
21560         HP-UX and IRIX, use -0.0L.
21561         * tests/test-ceill.c (minus_zero): Likewise.
21562         * tests/test-floorl.c (minus_zero): Likewise.
21563         * tests/test-frexpl.c (minus_zero): Likewise.
21564         * tests/test-isnan.c (minus_zerol): Likewise.
21565         * tests/test-isnanl.h (minus_zero): Likewise.
21566         * tests/test-ldexpl.c (minus_zero): Likewise.
21567         * tests/test-roundl.c (minus_zero): Likewise.
21568         * tests/test-signbit.c (minus_zerol): Likewise.
21569         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
21570         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
21571         * tests/test-truncl.c (minus_zero): Likewise.
21572         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
21573         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
21574         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
21575         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
21576
21577 2008-10-17  Bruno Haible  <bruno@clisp.org>
21578
21579         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
21580         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
21581         that it gets activated only for gcc >= 3.0.
21582         * lib/dirent.in.h: Likewise.
21583         * lib/errno.in.h: Likewise.
21584         * lib/fcntl.in.h: Likewise.
21585         * lib/float.in.h: Likewise.
21586         * lib/iconv.in.h: Likewise.
21587         * lib/inttypes.in.h: Likewise.
21588         * lib/locale.in.h: Likewise.
21589         * lib/math.in.h: Likewise.
21590         * lib/netdb.in.h: Likewise.
21591         * lib/netinet_in.in.h: Likewise.
21592         * lib/search.in.h: Likewise.
21593         * lib/signal.in.h: Likewise.
21594         * lib/spawn.in.h: Likewise.
21595         * lib/stdarg.in.h: Likewise.
21596         * lib/stdint.in.h: Likewise.
21597         * lib/stdio.in.h: Likewise.
21598         * lib/stdlib.in.h: Likewise.
21599         * lib/string.in.h: Likewise.
21600         * lib/strings.in.h: Likewise.
21601         * lib/sys_file.in.h: Likewise.
21602         * lib/sys_ioctl.in.h: Likewise.
21603         * lib/sys_select.in.h: Likewise.
21604         * lib/sys_socket.in.h: Likewise.
21605         * lib/sys_stat.in.h: Likewise.
21606         * lib/sys_time.in.h: Likewise.
21607         * lib/sysexits.in.h: Likewise.
21608         * lib/time.in.h: Likewise.
21609         * lib/unistd.in.h: Likewise.
21610         * lib/wchar.in.h: Likewise.
21611         * lib/wctype.in.h: Likewise.
21612         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
21613
21614 2008-10-17  Jim Meyering  <meyering@redhat.com>
21615
21616         ignore-value: don't depend on inline module
21617         * modules/ignore-value (Depends-on): Remove 'inline'.
21618         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
21619         Suggestion from Bruno Haible.
21620
21621 2008-10-17  Bruno Haible  <bruno@clisp.org>
21622
21623         New implementation of condition variables for Win32.
21624         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
21625         (gl_linked_waitqueue_t): New type.
21626         (gl_cond_t): Use it.
21627         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
21628         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
21629         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
21630         (glthread_cond_init_func, glthread_cond_wait_func,
21631         glthread_cond_timedwait_func, glthread_cond_signal_func,
21632         glthread_cond_broadcast_func, glthread_cond_destroy_func):
21633         Reimplemented on the basis of gl_linked_waitqueue_t.
21634         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
21635         gl_waitqueue_t.
21636         (gl_rwlock_t): Update.
21637         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
21638
21639 2008-10-17  Simon Josefsson  <simon@josefsson.org>
21640
21641         * modules/recvfrom (Depends-on): Add dependency on getpeername.
21642         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
21643
21644 2008-10-17  Jim Meyering  <meyering@redhat.com>
21645
21646         ignore-value: new module
21647         * modules/ignore-value: New file.
21648         * lib/ignore-value.h: New file.
21649         * MODULES.html.sh (Compiler warning management): New section,
21650         just for this module.  More to come.
21651
21652 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
21653
21654         open-safer.c: avoid 'signed and unsigned in conditional...' warning
21655         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
21656         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
21657
21658 2008-10-16  Jim Meyering  <meyering@redhat.com>
21659
21660         openat-die.c: avoid 'no previous prototype' warning
21661         * lib/openat-die.c: Include "openat.h".
21662         Reported by Reuben Thomas <rrt@sc3d.org>.
21663
21664 2008-10-16  Simon Josefsson  <simon@josefsson.org>
21665
21666         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
21667         * lib/netdb.in.h: Fix typo.
21668         Reported by Bruno Haible  <bruno@clisp.org>
21669
21670         * lib/netdb.in.h: Include sys/socket.h for platforms without
21671         netdb.h, to get structures like hostent on MinGW.
21672         * modules/netdb (Depends-on): Add sys_socket.
21673
21674 2008-10-15  Simon Josefsson  <simon@josefsson.org>
21675
21676         * modules/netdb, modules/netdb-tests: New file.
21677         * m4/netdb_h.m4: New file.
21678         * lib/netdb.in.h: Add, currently just an empty file pending
21679         definitions.
21680         * tests/test-netdb.c: New file.
21681         * doc/posix-headers/netdb.texi: Mention that we replace it if
21682         needed.
21683         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
21684         netdb.
21685
21686 2008-10-15  Simon Josefsson  <simon@josefsson.org>
21687
21688         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
21689         with code.
21690
21691 2008-10-13  Bruno Haible  <bruno@clisp.org>
21692
21693         * lib/glthread/cond.c (glthread_cond_wait_func,
21694         glthread_cond_timedwait_func): Add a comment.
21695
21696 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
21697
21698         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
21699         * tests/test-select.c: Likewise,
21700
21701 2008-10-13  Bruno Haible  <bruno@clisp.org>
21702
21703         * lib/glthread/cond.c (glthread_cond_wait_func,
21704         glthread_cond_timedwait_func): Fix variable name.
21705         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
21706
21707 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
21708
21709         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
21710         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
21711         struct sockaddr.sa_len.
21712         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
21713
21714 2008-10-13  Simon Josefsson  <simon@josefsson.org>
21715
21716         * build-aux/pmccabe2html: Add css and css_url parameters.
21717
21718 2008-10-12  Bruno Haible  <bruno@clisp.org>
21719
21720         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
21721         calling aclx_get.
21722         Reported by Rainer Tammer <tammer@tammer.net>.
21723
21724 2008-10-12  Bruno Haible  <bruno@clisp.org>
21725
21726         Use msvcrt aware primitives for creation/termination of Win32 threads.
21727         * lib/glthread/thread.c: Include <process.h>.
21728         (glthread_create_func): Use _beginthreadex instead of CreateThread.
21729         (wrapper_func): Update signature.
21730         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
21731
21732 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
21733             Bruno Haible  <bruno@clisp.org>
21734
21735         Provide a Win32 implementation of the 'cond' module.
21736         * lib/glthread/cond.h [USE_WIN32]: New implementation.
21737         * lib/glthread/cond.c (glthread_cond_init_func,
21738         glthread_cond_wait_func, glthread_cond_timedwait_func,
21739         glthread_cond_signal_func, glthread_cond_broadcast_func,
21740         glthread_cond_destroy_func) [USE_WIN32]: New functions.
21741         * modules/cond (Dependencies): Add gettimeofday.
21742
21743 2008-10-11  Bruno Haible  <bruno@clisp.org>
21744
21745         Make sleep work on older versions of mingw.
21746         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
21747         only whether it exists.
21748         * doc/posix-functions/sleep.texi: Mention the problem with older
21749         versions of mingw.
21750
21751 2008-10-11  Bruno Haible  <bruno@clisp.org>
21752
21753         New module 'shutdown'.
21754         * modules/shutdown: New file.
21755         * lib/sys_socket.in.h (shutdown): New declaration.
21756         * lib/winsock.c (shutdown): New function.
21757         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
21758         GNULIB_SHUTDOWN.
21759         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
21760         * doc/posix-functions/shutdown.texi: Document the new module.
21761
21762 2008-10-11  Jim Meyering  <meyering@redhat.com>
21763
21764         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
21765
21766 2008-10-11  Bruno Haible  <bruno@clisp.org>
21767
21768         New module 'fclose'.
21769         * modules/fclose: New file.
21770         * lib/stdio.in.h (fclose): New declaration.
21771         * lib/fclose.c: New file.
21772         * m4/fclose.m4: New file.
21773         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
21774         REPLACE_FCLOSE.
21775         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
21776         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
21777         REPLACE_FCLOSE.
21778         * modules/close (Depends-on): fclose.
21779         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
21780
21781 2008-10-11  Bruno Haible  <bruno@clisp.org>
21782
21783         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
21784         set errno and don't call _close.
21785
21786 2008-10-10  Bruno Haible  <bruno@clisp.org>
21787
21788         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
21789         ACL, not afterwards. Fixes test failure on Cygwin.
21790
21791 2008-10-09  Ben Pfaff  <blp@gnu.org>
21792
21793         * build-aux/announce-gen: Fix gnulib version related part of usage
21794         message.  Die with a useful error message if no tarballs are
21795         found.
21796
21797 2008-10-10  Jim Meyering  <meyering@redhat.com>
21798
21799         bootstrap: use git's --depth=N option only if it's supported
21800         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
21801         recognize the --depth option.  Reported by Pádraig Brady.
21802
21803 2008-10-09  Bruno Haible  <bruno@clisp.org>
21804
21805         New module 'ioctl'.
21806         * modules/ioctl: New file.
21807         * lib/sys_socket.in.h (ioctl): Remove declaration.
21808         * lib/winsock.c: Include <sys/ioctl.h>.
21809         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
21810         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
21811         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
21812         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
21813         * doc/posix-functions/ioctl.texi: Mention the new module.
21814
21815 2008-10-09  Bruno Haible  <bruno@clisp.org>
21816
21817         New module 'sys_ioctl'.
21818         * lib/sys_ioctl.in.h: New file.
21819         * m4/sys_ioctl_h.m4: New file.
21820         * modules/sys_ioctl: New file.
21821         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
21822
21823 2008-10-09  Bruno Haible  <bruno@clisp.org>
21824
21825         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
21826         * lib/winsock.c: Include <stdarg.h>.
21827         (rpl_ioctl): Change to second argument 'int' and then varargs.
21828
21829 2008-10-09  Bruno Haible  <bruno@clisp.org>
21830
21831         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
21832         when the sys_socket module is present and the system has <winsock2.h>.
21833
21834 2008-10-09  Bruno Haible  <bruno@clisp.org>
21835
21836         * doc/posix-functions/close.texi: Mention module 'close' instead of
21837         module 'sys_socket'.
21838
21839 2008-10-09  Bruno Haible  <bruno@clisp.org>
21840
21841         * doc/glibc-headers/sys_ioctl.texi: New file.
21842         * doc/gnulib.texi: Include it.
21843
21844 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
21845             Bruno Haible  <bruno@clisp.org>
21846
21847         Combine the two replacements of 'close'.
21848         * lib/sys_socket.in.h (close): Define to a reminder to include
21849         <unistd.h>.
21850         (_gl_close_fd_maybe_socket): New declaration.
21851         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
21852         * lib/winsock.c (close): Remove undefinition.
21853         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
21854         needed for the gnulib module 'close'.
21855         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
21856         define to an error symbol or to a warning, if suitable.
21857         * lib/close.c: Include <sys/socket.h>.
21858         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
21859         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
21860         UNISTD_H_HAVE_WINSOCK2_H.
21861         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
21862         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
21863         UNISTD_H_HAVE_WINSOCK2_H.
21864         * modules/sys_socket (Files): Add m4/unistd_h.m4.
21865         (configure.ac): Set a module indicator.
21866         (Makefile.am): Substitute GNULIB_CLOSE.
21867         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
21868         * modules/poll-tests (Depends-on): Add close.
21869         * modules/select-tests (Depends-on): Likewise.
21870
21871 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
21872             Bruno Haible  <bruno@clisp.org>
21873
21874         New module 'close'.
21875         * modules/close: New file.
21876         * lib/unistd.in.h (close): Move declaration out of the
21877         FCHDIR_REPLACEMENT scope.
21878         (_gl_unregister_fd): New declaration.
21879         * lib/close.c: New file.
21880         * lib/fchdir.c (rpl_close): Remove function.
21881         * m4/close.m4: New file.
21882         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
21883         close.
21884         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
21885         REPLACE_CLOSE.
21886         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
21887         REPLACE_CLOSE.
21888         * modules/fchdir (Depends-on): Add close.
21889
21890 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
21891             Bruno Haible  <bruno@clisp.org>
21892
21893         * lib/fcntl.in.h (open): Simplify conditionals.
21894         (_gl_register_fd): New declaration.
21895         * lib/fchdir.c (rpl_open): Remove function.
21896         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
21897         also.
21898         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
21899         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
21900         open.
21901
21902 2008-10-09  Jim Meyering  <meyering@redhat.com>
21903
21904         GNUmakefile: use the more name-space-friendly "_version"
21905         * top/GNUmakefile (_dummy): Update.
21906         (_version): Rename from "version".
21907
21908 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
21909             Bruno Haible  <bruno@clisp.org>
21910
21911         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
21912         rpl_close.
21913         (_gl_register_fd): New function, extracted from rpl_open.
21914         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
21915         (rpl_open, rpl_opendir): Use _gl_register_fd.
21916
21917 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
21918
21919         Fix organization of 'open' replacement.
21920         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
21921         (gl_FUNC_OPEN): Use it.
21922         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
21923
21924 2008-10-08  Bruno Haible  <bruno@clisp.org>
21925
21926         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
21927
21928 2008-10-08  Simon Josefsson  <simon@josefsson.org>
21929
21930         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
21931         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
21932         listen).
21933
21934 2008-10-08  Eric Blake  <ebb9@byu.net>
21935
21936         GNUmakefile: add 'make version' target
21937         * top/GNUmakefile (_curr-ver): Split version update rules...
21938         (version): ...into a target.
21939
21940 2008-10-07  Bruno Haible  <bruno@clisp.org>
21941
21942         Use a more portable replacement expression for -0.0L.
21943         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
21944         instead of -0.0L. Fix m4 quotation.
21945
21946         * tests/test-signbit.c: Include <float.h>.
21947         (minus_zero): New variable.
21948         (test_signbitl): Use minus_zero instead of -zero.
21949         * modules/signbit-tests (Depends-on): Add float.
21950
21951         * tests/test-ceill.c: Include <float.h>.
21952         (zero): Remove variable.
21953         (minus_zero): New variable.
21954         (main): Use minus_zero instead of -zero.
21955         * modules/ceill-tests (Depends-on): Add float.
21956
21957         * tests/test-floorl.c: Include <float.h>.
21958         (zero): Remove variable.
21959         (minus_zero): New variable.
21960         (main): Use minus_zero instead of -zero.
21961         * modules/floorl-tests (Depends-on): Add float.
21962
21963         * tests/test-roundl.c: Include <float.h>.
21964         (zero): Remove variable.
21965         (minus_zero): New variable.
21966         (main): Use minus_zero instead of -zero.
21967         * modules/roundl-tests (Depends-on): Add float.
21968
21969         * tests/test-truncl.c: Include <float.h>.
21970         (zero): Remove variable.
21971         (minus_zero): New variable.
21972         (main): Use minus_zero instead of -zero.
21973         * modules/truncl-tests (Depends-on): Add float.
21974
21975         * tests/test-frexpl.c (zero): Remove variable.
21976         (minus_zero): New variable.
21977         (main): Use minus_zero instead of -zero.
21978         * modules/frexpl-tests (Depends-on): Add float.
21979
21980         * tests/test-isnan.c (zerol): Remove variable.
21981         (minus_zerol): New variable.
21982         (test_long_double): Use minus_zerol instead of -zerol.
21983         * modules/isnan-tests (Depends-on): Add float.
21984
21985         * tests/test-isnanl.h (zero): Remove variable.
21986         (minus_zero): New variable.
21987         (main): Use minus_zero instead of -zero.
21988         * modules/isnanl-nolibm-tests (Depends-on): Add float.
21989         * modules/isnanl-tests (Depends-on): Add float.
21990
21991         * tests/test-ldexpl.c (zero): Remove variable.
21992         (minus_zero): New variable.
21993         (main): Use minus_zero instead of -zero.
21994         * modules/ldexpl-tests (Depends-on): Add float.
21995
21996         * tests/test-snprintf-posix.h (zerol): Remove variable.
21997         (minus_zerol): New variable.
21998         (test_function): Use minus_zerol instead of -zerol.
21999         * modules/snprintf-posix-tests (Depends-on): Add float.
22000         * modules/vsnprintf-posix-tests (Depends-on): Add float.
22001
22002         * tests/test-sprintf-posix.h (zerol): Remove variable.
22003         (minus_zerol): New variable.
22004         (test_function): Use minus_zerol instead of -zerol.
22005         * modules/sprintf-posix-tests (Depends-on): Add float.
22006         * modules/vsprintf-posix-tests (Depends-on): Add float.
22007
22008         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
22009         (minus_zerol): New variable.
22010         (test_function): Use minus_zerol instead of -zerol.
22011         * modules/vasnprintf-posix-tests (Depends-on): Add float.
22012
22013         * tests/test-vasprintf-posix.c (zerol): Remove variable.
22014         (minus_zerol): New variable.
22015         (test_function): Use minus_zerol instead of -zerol.
22016         * modules/vasprintf-posix-tests (Depends-on): Add float.
22017
22018 2008-10-07  Simon Josefsson  <simon@josefsson.org>
22019
22020         * MODULES.html.sh (Support for building documentation): Mention
22021         pmccabe2html.  Sort entries.
22022
22023         Add pmccabe2html module, from gnupdf.
22024         * build-aux/pmccabe.css: New file.
22025         * build-aux/pmccabe2html: New file.
22026         * m4/pmccabe2html.m4: New file.
22027         * modules/pmccabe2html: New file.
22028
22029 2008-10-07  Richard W.M. Jones <rjones@redhat.com>
22030
22031         flock: new module
22032         * MODULES.html.sh: Add to list of modules.
22033         * lib/flock.c: flock implementation for Windows and Unix systems
22034         which have fcntl.
22035         * doc/glibc-functions/flock.texi: Update documentation.
22036         * lib/sys_file.in.h: <sys/file.h> header file.
22037         * m4/flock.m4: M4 macros.
22038         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
22039         * modules/flock: flock module.
22040         * modules/flock-tests: flock tests module.
22041         * modules/sys_file: sys/file.h module.
22042         * tests/test-flock.c: test suite for flock.
22043
22044 2008-10-06  Jim Meyering  <meyering@redhat.com>
22045
22046         bootstrap: check for LT_INIT more portably still ;-)
22047         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
22048         Spotted by Bruno Haible.
22049
22050 2008-10-06  Eric Blake  <ebb9@byu.net>
22051
22052         test-signbit: avoid tripping Irix cc bug on -0.0L
22053         * tests/test-signbit.c (minus_zerol): Delete, and replace with
22054         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
22055         entire testsuite consistent and avoids an Irix 6.2 bug.
22056
22057 2008-10-05  Bruno Haible  <bruno@clisp.org>
22058             Jim Meyering  <jim@meyering.net>
22059
22060         Add an option for ignoring EPIPE during close_stdout.
22061         * lib/closeout.h: Include <stdbool.h>.
22062         (close_stdout_set_ignore_EPIPE): New declaration.
22063         * lib/closeout.c: Include <stdbool.h>.
22064         (ignore_EPIPE): New variable.
22065         (close_stdout_set_ignore_EPIPE): New function.
22066         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
22067         * lib/close-stream.c (close_stream): Mention the possible EPIPE
22068         failure.
22069         * modules/closeout (Depends-on): Add stdbool.
22070
22071 2008-10-05  Bruno Haible  <bruno@clisp.org>
22072
22073         * modules/accept: New file.
22074         * modules/bind: New file.
22075         * modules/connect: New file.
22076         * modules/getpeername: New file.
22077         * modules/getsockname: New file.
22078         * modules/getsockopt: New file.
22079         * modules/listen: New file.
22080         * modules/recv: New file.
22081         * modules/recvfrom: New file.
22082         * modules/send: New file.
22083         * modules/sendto: New file.
22084         * modules/setsockopt: New file.
22085         * modules/socket: New file.
22086         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
22087         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
22088         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
22089         the particular module is requested. Add a link warning when the
22090         particular module is not requested.
22091         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
22092         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
22093         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
22094         the particular module is requested.
22095         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
22096         gl_SYS_SOCKET_H_DEFAULTS): New macros.
22097         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
22098         * modules/sys_socket (Depends-on): Add link-warning.
22099         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
22100         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
22101         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
22102         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
22103         GL_LINK_WARNING.
22104         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
22105         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
22106         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
22107         * doc/posix-functions/getpeername.texi: Mention the new module
22108         'getpeername'.
22109         * doc/posix-functions/getsockname.texi: Mention the new module
22110         'getsockname'.
22111         * doc/posix-functions/getsockopt.texi: Mention the new module
22112         'getsockopt'.
22113         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
22114         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
22115         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
22116         * doc/posix-functions/send.texi: Mention the new module 'send'.
22117         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
22118         * doc/posix-functions/setsockopt.texi: Mention the new module
22119         'setsockopt'.
22120         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
22121         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
22122         listen, connect, accept.
22123         * modules/select-tests (Depends-on): Likewise.
22124
22125 2008-10-05  Bruno Haible  <bruno@clisp.org>
22126
22127         * lib/winsock.c (strerror): Remove unused #undef.
22128         (rpl_close): Remove unused local variable.
22129
22130         * modules/sys_socket (Depends-on); Add errno.
22131
22132 2008-10-05  Bruno Haible  <bruno@clisp.org>
22133
22134         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
22135         (select): Add a link warning when the 'select' module is not used.
22136         * modules/sys_select (Depends-on): Add link-warning.
22137         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
22138         Suggested by Paolo Bonzini.
22139
22140 2008-10-05  Jim Meyering  <meyering@redhat.com>
22141
22142         bootstrap: check for LT_INIT more portably
22143         * build-aux/bootstrap: Avoid using grep -E, since it's not
22144         portable enough.  Suggestion from Bruno Haible.
22145
22146 2008-10-05  Bruno Haible  <bruno@clisp.org>
22147
22148         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
22149         as being fixed by gnulib.
22150
22151 2008-10-05  Bruno Haible  <bruno@clisp.org>
22152
22153         * modules/select-tests: New file, mostly copied from
22154         modules/sys_select-tests.
22155         * tests/test-select.c: New file, mostly copied from
22156         tests/test-sys_select.c.
22157         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
22158         * modules/sys_select-tests (Depends-on): Remove all dependencies.
22159         (Makefile.am): Remove test_sys_select_LDADD.
22160
22161         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
22162         to an undefined symbol, for an error message.
22163         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
22164         (gl_SYS_SELECT_H_DEFAULTS): New macro.
22165         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
22166         winsock-select.c here.
22167         * modules/sys_select (Files): Remove lib/winsock-select.c.
22168         (Depends-on): Remove alloca.
22169         (Makefile.am): Substitute GNULIB_SELECT.
22170         * modules/select: New file.
22171         * doc/posix-functions/select.texi: Update.
22172
22173 2008-10-05  Bruno Haible  <bruno@clisp.org>
22174
22175         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
22176         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
22177         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
22178         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
22179         getdtablesize.
22180         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
22181         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
22182
22183 2008-10-05  Bruno Haible  <bruno@clisp.org>
22184
22185         * modules/getdtablesize-tests: New file.
22186         * tests/test-getdtablesize.c: New file.
22187
22188         New module 'getdtablesize'.
22189         * lib/unistd.in.h (getdtablesize): New declaration.
22190         * lib/getdtablesize.c: New file.
22191         * m4/getdtablesize.m4: New file.
22192         * modules/getdtablesize: New file.
22193         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
22194         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
22195         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
22196         HAVE_GETDTABLESIZE.
22197         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
22198
22199 2008-10-05  Bruno Haible  <bruno@clisp.org>
22200
22201         * modules/sched (Makefile.am): Fix typo.
22202         Reported by Simon Josefsson.
22203
22204 2008-10-05  Jim Meyering  <meyering@redhat.com>
22205
22206         bootstrap: check for LT_INIT, too
22207         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
22208         are deprecated.  Suggestion from Ralf Wildenhues.
22209
22210 2008-10-05  Bruno Haible  <bruno@clisp.org>
22211
22212         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
22213         overriding them by ours.
22214         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
22215
22216 2008-10-05  Jim Meyering  <meyering@redhat.com>
22217
22218         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
22219         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
22220         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
22221
22222 2008-10-04  Bruno Haible  <bruno@clisp.org>
22223
22224         * modules/dup2 (License): Change to LGPLv2+.
22225         * modules/sleep (License): Likewise.
22226         * modules/perror (License): Likewise.
22227         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
22228         Blake.
22229         * modules/signal (License): Likewise.
22230         * modules/sigprocmask (License): Likewise.
22231         * modules/raise (License): Change to LGPLv2+, with approval by Jim
22232         Meyering.
22233
22234 2008-10-04  Bruno Haible  <bruno@clisp.org>
22235
22236         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
22237         Reported by Rainer Tammer <tammer@tammer.net>.
22238
22239 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
22240             Bruno Haible  <bruno@clisp.org>
22241
22242         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
22243         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
22244         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
22245
22246 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
22247
22248         filevercmp: new module
22249         * lib/filevercmp.h: New function filevercmp comparing version strings.
22250         * lib/filevercmp.c: Implementation of filevercmp function.
22251         * modules/filevercmp: Module metadata.
22252         * tests/test-filevercmp.c: Unit test for new module.
22253         * modules/filevercmp-tests: Unit test metadata.
22254         * MODULES.html.sh: Add filevercmp module.
22255
22256 2008-10-03  Bruno Haible  <bruno@clisp.org>
22257
22258         * lib/c-ctype.h: Add comment.
22259         Reported by Jim Meyering.
22260
22261 2008-10-02  Bruno Haible  <bruno@clisp.org>
22262
22263         * modules/posix_spawn-internal (Depends-on): Add 'open'.
22264
22265 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
22266
22267         * build-aux/bootstrap: Allow renaming bootstrap, and change the
22268         name of bootstrap.conf accordingly.
22269
22270 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
22271
22272         * build-aux/bootstrap: Install git-merge-changelog configuration
22273         items into .gitconfig if needed.
22274
22275 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
22276
22277         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
22278         git repository, and initialize/update it accordingly.
22279
22280 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
22281
22282         * modules/fsync-tests: New file.
22283         * tests/test-fsync.c: New file.
22284
22285         New module 'fsync'.
22286         * lib/fsync.c: New file.
22287         * m4/fsync.m4: New file.
22288         * modules/fsync: New file.
22289         * lib/unistd.in.h (fsync): New declaration.
22290         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
22291         GNULIB_FSYNC and HAVE_FSYNC.
22292         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
22293         * MODULES.html.sh (posix_functions): Add fsync.
22294         * doc/posix-functions/fsync.texi: Mention the new module.
22295
22296 2008-10-02  Jim Meyering  <meyering@redhat.com>
22297
22298         fts.c: sync with similar code from coreutils' remove.c
22299         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
22300         Guard also with "#if defined __linux__", since for now at least,
22301         this code is Linux-kernel-specific.
22302
22303 2008-10-02  Jim Meyering  <meyering@redhat.com>
22304
22305         fts: bug fixes
22306         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
22307         Include <sys/vfs.h>, not <sys/statfs.h>.
22308
22309         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
22310         Include <sys/vfs.h>, not <sys/statfs.h>.
22311
22312 2008-10-01  Bruno Haible  <bruno@clisp.org>
22313
22314         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
22315         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
22316         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
22317         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
22318         * doc/posix-functions/posix_spawnp.texi: Likewise.
22319         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
22320         whether posix_spawn actually works.
22321         * m4/pipe.m4 (gl_PIPE): Likewise.
22322         * modules/execute (Files): Add m4/posix_spawn.m4.
22323         * modules/pipe (Files): Add m4/posix_spawn.m4.
22324         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
22325
22326 2008-10-01  Jim Meyering  <meyering@redhat.com>
22327
22328         remove trailing spaces
22329         * NEWS: Likewise.
22330         * lib/poll.c (poll): Likewise.
22331         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
22332         * lib/winsock.c (rpl_close): Likewise.
22333         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
22334         * modules/yield: Likewise.
22335         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
22336         * tests/test-sys_select.c (connect_to_socket): Likewise.
22337
22338         fts.c: adjust a new interface to be more generally useful
22339         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
22340         (fts_build): Adjust caller.
22341
22342 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
22343
22344         * modules/cond-tests: New file.
22345         * tests/test-cond.c: New file.
22346
22347 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
22348             Bruno Haible  <bruno@clisp.org>
22349
22350         * modules/cond (Dependencies): Add errno, time.
22351         * lib/glthread/cond.h: Include <time.h>.
22352         (gl_cond_define, gl_cond_define_initialized): Use the same definition
22353         across platforms.
22354
22355 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
22356             Bruno Haible  <bruno@clisp.org>
22357
22358         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
22359
22360 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
22361             Bruno Haible  <bruno@clisp.org>
22362
22363         * modules/tls-tests (Depends-on): Add thread, yield.
22364         (configure.ac): Remove all checks.
22365         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
22366         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
22367         gl_thread_self): Remove definitions. Include glthread/thread.h and
22368         glthread/yield.h instead.
22369         (test_tls): Pass an additional NULL argument to gl_thread_join.
22370
22371 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
22372             Bruno Haible  <bruno@clisp.org>
22373
22374         * modules/lock-tests (Depends-on): Add thread, yield.
22375         (configure.ac): Remove all checks.
22376         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
22377         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
22378         gl_thread_self): Remove definitions. Include glthread/thread.h and
22379         glthread/yield.h instead.
22380         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
22381         additional NULL argument to gl_thread_join.
22382
22383 2008-09-30  Bruno Haible  <bruno@clisp.org>
22384
22385         Fix the Win32 implementation of the 'thread' module.
22386         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
22387         pointer type.
22388         (gl_thread_self): Invoke gl_thread_self_func.
22389         (gl_thread_self_func): New declaration.
22390         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
22391         (do_init_self_key, init_self_key): New functions.
22392         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
22393         Remove some fields.
22394         (running_threads, running_lock): Remove variables.
22395         (get_current_thread_handle): New function.
22396         (gl_thread_self_func, wrapper_func, glthread_create_func,
22397         glthread_join_func, gl_thread_exit_func): Largely rewritten and
22398         simplified.
22399
22400 2008-09-30  Bruno Haible  <bruno@clisp.org>
22401
22402         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
22403         files.
22404
22405 2008-09-30  Jim Meyering  <meyering@redhat.com>
22406
22407         fts.m4: correct the test for statfs.f_type
22408         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
22409         when checking for statfs.f_type.
22410
22411 2008-09-15  Simon Josefsson  <simon@josefsson.org>
22412
22413         tests: avoid some compiler warnings
22414         * tests/test-memchr.c (main): Pass NULL indirectly.
22415         * tests/test-getdate.c (main): Remove unused variable 'ret'.
22416
22417 2008-09-29  OndÅ™ej Vašík  <ovasik@redhat.com>
22418
22419         getdate.y: disallow countable dayshifts like "4 yesterday ago"
22420         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
22421         exactly specified dayshifts.
22422         (dayshift): New rule.
22423         (rel): Add dayshift.
22424         (relative_time_table) [tomorrow, yesterday, today, now]:
22425         Use tDAY_SHIFT in place of tDAY_UNIT.
22426         * tests/test-getdate.c: Add tests for now-disallowed countable
22427         dayshifts, e.g., "4 yesterday ago".
22428
22429 2008-09-29  Bruno Haible  <bruno@clisp.org>
22430
22431         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
22432         * tests/test-posix_spawn1.in.sh: Renamed from
22433         tests/test-posix_spawn.in.sh.
22434         * tests/test-posix_spawn2.c: New file.
22435         * tests/test-posix_spawn2.in.sh: New file.
22436         * modules/posix_spawnp-tests (Files): Update.
22437         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
22438
22439 2008-09-29  Bruno Haible  <bruno@clisp.org>
22440
22441         Propagate effects of putenv/setenv/unsetenv to child processes.
22442         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
22443         * lib/pipe.c (create_pipe): Likewise.
22444
22445 2008-09-29  Bruno Haible  <bruno@clisp.org>
22446
22447         Enable use of shell scripts as executables in mingw.
22448         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
22449         run the program as a shell script.
22450         * lib/pipe.c (create_pipe): Likewise.
22451         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
22452         resulting array.
22453
22454 2008-09-29  Eric Blake  <ebb9@byu.net>
22455
22456         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
22457
22458 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
22459
22460         * doc/posix-functions/accept.texi: Update mingw problems.
22461         * doc/posix-functions/bind.texi: Update mingw problems.
22462         * doc/posix-functions/close.texi: Update mingw problems.
22463         * doc/posix-functions/connect.texi: Update mingw problems.
22464         * doc/posix-functions/getpeername.texi: Update mingw problems.
22465         * doc/posix-functions/getsockname.texi: Update mingw problems.
22466         * doc/posix-functions/getsockopt.texi: Update mingw problems.
22467         * doc/posix-functions/ioctl.texi: Update mingw problems.
22468         * doc/posix-functions/listen.texi: Update mingw problems.
22469         * doc/posix-functions/recv.texi: Update mingw problems.
22470         * doc/posix-functions/recvfrom.texi: Update mingw problems.
22471         * doc/posix-functions/select.texi: Update mingw problems.
22472         * doc/posix-functions/send.texi: Update mingw problems.
22473         * doc/posix-functions/sendto.texi: Update mingw problems.
22474         * doc/posix-functions/setsockopt.texi: Update mingw problems.
22475         * doc/posix-functions/socket.texi: Update mingw problems.
22476
22477 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
22478             Bruno Haible  <bruno@clisp.org>
22479
22480         * lib/sys_select.in.h: Include sys/time.h.
22481         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
22482         * modules/sys_select: Depend on sys_time.
22483         * tests/test-sys_select.c: Test that sys/select.h defines struct
22484         timeval fully.
22485
22486 2008-09-29  Bruno Haible  <bruno@clisp.org>
22487
22488         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
22489         * lib/sys_select.in.h: Likewise.
22490
22491 2008-09-29  Bruno Haible  <bruno@clisp.org>
22492
22493         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
22494
22495 2008-09-29  Bruno Haible  <bruno@clisp.org>
22496
22497         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
22498         Set LIBSOCKET instead of augmenting LIBS.
22499         * modules/sockets (Link): New section.
22500         * modules/sockets-tests (test_sockets_LDADD): New variable.
22501         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
22502         * modules/poll-tests (test_poll_LDADD): New variable.
22503         * NEWS: Document the change.
22504
22505 2008-09-29  Bruno Haible  <bruno@clisp.org>
22506
22507         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
22508         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
22509         ARPA_INET_H directly.
22510         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
22511
22512 2008-09-28  Bruno Haible  <bruno@clisp.org>
22513
22514         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
22515         from gl_HEADER_SYS_SOCKET.
22516         (gl_HEADER_SYS_SOCKET): Invoke it.
22517         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
22518
22519 2008-09-28  Bruno Haible  <bruno@clisp.org>
22520
22521         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
22522         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
22523         Needed on OSF/1 4.0.
22524
22525 2008-09-28  Bruno Haible  <bruno@clisp.org>
22526
22527         Override open more carefully.
22528         * lib/open.c (orig_open): New function.
22529         (rpl_open): Use orig_open instead of open.
22530         * lib/fcntl.in.h: Add special invocation convention.
22531         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
22532         (gl_FUNC_OPEN): Invoke it.
22533
22534         Override freopen more carefully.
22535         * lib/freopen.c (orig_freopen): New function.
22536         (rpl_freopen): Use orig_freopen instead of freopen.
22537         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
22538         (gl_FUNC_FREOPEN): Invoke it.
22539
22540         Override fopen more carefully.
22541         * lib/fopen.c (orig_fopen): New function.
22542         (rpl_fopen): Use orig_fopen instead of fopen.
22543         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
22544         (gl_FUNC_FOPEN): Invoke it.
22545         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
22546
22547 2008-09-28  Bruno Haible  <bruno@clisp.org>
22548
22549         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
22550         SIGPIPE.
22551
22552 2008-09-28  Bruno Haible  <bruno@clisp.org>
22553
22554         * tests/test-sigaction.c (handler, main): Disable the check whether
22555         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
22556         glibc systems with LinuxThreads.
22557
22558 2008-09-28  Bruno Haible  <bruno@clisp.org>
22559
22560         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
22561
22562         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
22563         with AIX xlc.
22564         * lib/fcntl.in.h (open): Likewise.
22565         Reported by Rainer Tammer <tammer@tammer.net>.
22566
22567 2008-09-28  Bruno Haible  <bruno@clisp.org>
22568
22569         * modules/posix_spawnp-tests: New file.
22570         * tests/test-posix_spawn.c: New file.
22571         * tests/test-posix_spawn.in.sh: New file.
22572
22573         New module 'posix_spawnp'.
22574         * modules/posix_spawnp: New file.
22575         * lib/spawnp.c: New file, from GNU libc with modifications.
22576         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
22577
22578         New module 'posix_spawn'.
22579         * modules/posix_spawn: New file.
22580         * lib/spawn.c: New file, from GNU libc with modifications.
22581         * doc/posix-functions/posix_spawn.texi: Mention the new module.
22582
22583         New module 'posix_spawnattr_destroy'.
22584         * modules/posix_spawnattr_destroy: New file.
22585         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
22586         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
22587         module.
22588
22589         New module 'posix_spawnattr_setsigmask'.
22590         * modules/posix_spawnattr_setsigmask: New file.
22591         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
22592         modifications.
22593         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
22594         new module.
22595
22596         New module 'posix_spawnattr_getsigmask'.
22597         * modules/posix_spawnattr_getsigmask: New file.
22598         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
22599         modifications.
22600         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
22601         new module.
22602
22603         New module 'posix_spawnattr_setsigdefault'.
22604         * modules/posix_spawnattr_setsigdefault: New file.
22605         * lib/spawnattr_setdefault.c: New file, from GNU libc with
22606         modifications.
22607         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
22608         new module.
22609
22610         New module 'posix_spawnattr_getsigdefault'.
22611         * modules/posix_spawnattr_getsigdefault: New file.
22612         * lib/spawnattr_getdefault.c: New file, from GNU libc with
22613         modifications.
22614         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
22615         new module.
22616
22617         New module 'posix_spawnattr_setschedpolicy'.
22618         * modules/posix_spawnattr_setschedpolicy: New file.
22619         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
22620         modifications.
22621         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
22622         new module.
22623
22624         New module 'posix_spawnattr_getschedpolicy'.
22625         * modules/posix_spawnattr_getschedpolicy: New file.
22626         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
22627         modifications.
22628         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
22629         new module.
22630
22631         New module 'posix_spawnattr_setschedparam'.
22632         * modules/posix_spawnattr_setschedparam: New file.
22633         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
22634         modifications.
22635         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
22636         new module.
22637
22638         New module 'posix_spawnattr_getschedparam'.
22639         * modules/posix_spawnattr_getschedparam: New file.
22640         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
22641         modifications.
22642         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
22643         new module.
22644
22645         New module 'posix_spawnattr_setpgroup'.
22646         * modules/posix_spawnattr_setpgroup: New file.
22647         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
22648         modifications.
22649         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
22650         module.
22651
22652         New module 'posix_spawnattr_getpgroup'.
22653         * modules/posix_spawnattr_getpgroup: New file.
22654         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
22655         modifications.
22656         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
22657         module.
22658
22659         New module 'posix_spawnattr_setflags'.
22660         * modules/posix_spawnattr_setflags: New file.
22661         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
22662         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
22663         module.
22664
22665         New module 'posix_spawnattr_getflags'.
22666         * modules/posix_spawnattr_getflags: New file.
22667         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
22668         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
22669         module.
22670
22671         New module 'posix_spawnattr_init'.
22672         * modules/posix_spawnattr_init: New file.
22673         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
22674         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
22675         module.
22676
22677         New module 'posix_spawn_file_actions_destroy'.
22678         * modules/posix_spawn_file_actions_destroy: New file.
22679         * lib/spawn_faction_destroy.c: New file, from GNU libc with
22680         modifications.
22681         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
22682         the new module.
22683
22684         New module 'posix_spawn_file_actions_addopen'.
22685         * modules/posix_spawn_file_actions_addopen: New file.
22686         * lib/spawn_faction_addopen.c: New file, from GNU libc with
22687         modifications.
22688         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
22689         the new module.
22690
22691         New module 'posix_spawn_file_actions_adddup2'.
22692         * modules/posix_spawn_file_actions_adddup2: New file.
22693         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
22694         modifications.
22695         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
22696         the new module.
22697
22698         New module 'posix_spawn_file_actions_addclose'.
22699         * modules/posix_spawn_file_actions_addclose: New file.
22700         * lib/spawn_faction_addclose.c: New file, from GNU libc with
22701         modifications.
22702         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
22703         the new module.
22704
22705         New module 'posix_spawn_file_actions_init'.
22706         * modules/posix_spawn_file_actions_init: New file.
22707         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
22708         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
22709         new module.
22710
22711         New module 'posix_spawn-internal'.
22712         * modules/posix_spawn-internal: New file.
22713         * lib/spawn_int.h: New file, from GNU libc with modifications.
22714         * lib/spawni.c: New file, from GNU libc with modifications.
22715         * m4/posix_spawn.m4: New file.
22716
22717         New module 'spawn'.
22718         * modules/spawn: New file.
22719         * lib/spawn.in.h: New file, from GNU libc with modifications.
22720         * m4/spawn_h.m4: New file.
22721         * doc/posix-headers/spawn.texi: Mention the new module.
22722
22723 2008-09-28  Bruno Haible  <bruno@clisp.org>
22724
22725         * modules/sched-tests: New file.
22726         * tests/test-sched.c: New file.
22727
22728         New module 'sched'.
22729         * modules/sched: New file.
22730         * lib/sched.in.h: New file.
22731         * m4/sched_h.m4: New file.
22732         * doc/posix-headers/sched.texi: Mention the new module.
22733
22734 2008-09-27  Eric Blake  <ebb9@byu.net>
22735
22736         Fix previous patch, and tweak references to $0.
22737         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
22738         (func_version, func_gnulib_dir): Don't call this program
22739         gnulib-tool.
22740         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
22741         with using $0 in function.
22742         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
22743         (func_fatal_error): Reuse the name the user invoked us with.
22744
22745 2008-09-27  Bruno Haible  <bruno@clisp.org>
22746
22747         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
22748         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
22749         (gl_ICONV_H): Not here.
22750         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
22751         instead of assigning ICONV_H directly.
22752
22753         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
22754         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
22755         WCHAR_H directly.
22756
22757 2008-09-27  Bruno Haible  <bruno@clisp.org>
22758
22759         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
22760         * modules/arpa_inet (Depends-on): Add link-warning.
22761         (Makefile.am): Insert the definition of GL_LINK-WARNING.
22762         * modules/unistd (Makefile.am): Likewise.
22763
22764 2008-09-26  Bruno Haible  <bruno@clisp.org>
22765
22766         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
22767         variables.
22768         (func_version): Essentially copied from gnulib-tool.
22769         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
22770         func_readlink): Copied from gnulib-tool.
22771
22772 2008-09-26  Bruno Haible  <bruno@clisp.org>
22773
22774         * gnulib-tool (func_version): Change directory to $gnulib_dir before
22775         invoking git-version-gen.
22776
22777 2008-09-26  Bruno Haible  <bruno@clisp.org>
22778
22779         * posix-modules: Update to directory names changed on 2008-01-19.
22780         Remove commas in output before splitting into words. No more need to
22781         avoid 'ftruncate' since 2007-02-19.
22782
22783 2008-09-26  Bruno Haible  <bruno@clisp.org>
22784
22785         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
22786
22787 2008-09-26  Bruno Haible  <bruno@clisp.org>
22788
22789         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
22790         * modules/fwriteerror (Depends-on): Add errno.
22791
22792 2008-09-26  Bruno Haible  <bruno@clisp.org>
22793
22794         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
22795         * tests/test-vc-list-files-cvs.sh: Likewise.
22796
22797 2008-09-26  Bruno Haible  <bruno@clisp.org>
22798
22799         * doc/posix-headers/sys_resource.texi: Reorder items.
22800
22801 2008-09-26  Jim Meyering  <meyering@redhat.com>
22802
22803         fts: tweak inode comparison function
22804         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
22805         inode numbers, as documented.
22806
22807         fts: sort dirent entries on inode number before traversing
22808         This avoids a quadratic, seek-related performance penalty when
22809         operating on a directory containing many entries (measurable at 10k;
22810         3.5 hours at 2 million entries with a cold cache) on certain types
22811         of file systems, including ext3 and ext4, but not tmpfs.
22812         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
22813         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
22814         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
22815         (fs_handles_readdir_ordered_dirents_efficiently): New function.
22816         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
22817         (fts_build): Set the stat.st_ino member from D_INO.
22818         If it is likely to be useful, sort dirent entries on inode number.
22819
22820         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
22821         and the struct statfs.f_type member.
22822         * modules/fts (Depends-on): Add d-ino.
22823
22824 2008-09-26  Bruno Haible  <bruno@clisp.org>
22825
22826         * modules/sigpipe-die (Depends-on): Add sigpipe.
22827
22828         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
22829         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
22830         and GNULIB_STDIO_H_SIGPIPE are set.
22831         * lib/stdio-write.c: New file.
22832         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
22833         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
22834         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
22835         REPLACE_STDIO_WRITE_FUNCS.
22836         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
22837         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
22838         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
22839         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
22840         * modules/stdio (Files): Add lib/stdio-write.c.
22841         (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
22842         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
22843         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
22844         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
22845         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
22846         REPLACE_FPRINTF_POSIX.
22847         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
22848         REPLACE_PRINTF_POSIX.
22849         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
22850         REPLACE_VFPRINTF_POSIX.
22851         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
22852         REPLACE_VPRINTF_POSIX.
22853         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
22854         SIGPIPE issue.
22855         * doc/posix-functions/fputc.texi: Likewise.
22856         * doc/posix-functions/fputs.texi: Likewise.
22857         * doc/posix-functions/fwrite.texi: Likewise.
22858         * doc/posix-functions/printf.texi: Likewise.
22859         * doc/posix-functions/putc.texi: Likewise.
22860         * doc/posix-functions/putchar.texi: Likewise.
22861         * doc/posix-functions/puts.texi: Likewise.
22862         * doc/posix-functions/vfprintf.texi: Likewise.
22863         * doc/posix-functions/vprintf.texi: Likewise.
22864
22865         * modules/safe-write (Depends-on): Add write.
22866
22867         * modules/sigpipe-tests: New file.
22868         * tests/test-sigpipe.c: New file.
22869         * tests/test-sigpipe.sh: New file.
22870
22871         * modules/write: New file.
22872         * lib/unistd.in.h: Include <sys/types.h>.
22873         (write): New declaration.
22874         * lib/write.c: New file.
22875         * m4/write.m4: New file.
22876         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
22877         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
22878         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
22879         GNULIB_WRITE, REPLACE_WRITE.
22880         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
22881         and the SIGPIPE issue.
22882
22883         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
22884         (raise): New declaration.
22885         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
22886         (ext_signal): New function.
22887         (rpl_raise): New function.
22888         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
22889         GNULIB_SIGNAL_H_SIGPIPE.
22890         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
22891         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
22892
22893         * modules/sigpipe: New file.
22894         * m4/sigpipe.m4: New file.
22895
22896 2008-09-25  Derek Price  <derek@ximbiot.com>
22897             Bruno Haible  <bruno@clisp.org>
22898
22899         * gnulib-tool (func_import): Report all license incompatibilities, not
22900         just the first one.
22901
22902 2008-09-25  Bruno Haible  <bruno@clisp.org>
22903
22904         * gnulib-tool (func_import): When computing the edits, consider not
22905         only the Makefile.ams that exist but also those that will be generated.
22906
22907 2008-09-25  Simon Josefsson  <simon@josefsson.org>
22908
22909         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
22910         fixes gnulib-tool --test warning about duplicate dependency.
22911
22912 2008-09-25  Bruno Haible  <bruno@clisp.org>
22913
22914         * gnulib-tool: Don't ask the user to perform edits in the generated
22915         Makefile.ams.
22916         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
22917         apply to the Makefile.am being generated.
22918         (func_emit_tests_Makefile_am): Execute edits that apply to the
22919         Makefile.am being generated.
22920         (func_import): Setup list of Makefile.am edits before emitting the
22921         Makefile.ams, not at the end.
22922         (func_create_testdir): Update.
22923         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
22924
22925 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
22926
22927         * gnulib-tool (func_import): Store the --tests-base option in the
22928         comment in gnulib-cache.m4.
22929
22930 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
22931
22932         * NEWS: Document increased portability that sys_select now provides.
22933
22934         * lib/sys_select.in.h: Install select wrapper.
22935         * lib/sys_socket.in.h: Use more descriptive name when there is no
22936         select wrapper.
22937         * lib/winsock-select.c: New.
22938         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
22939         Require gl_HEADER_SYS_SOCKET.
22940         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
22941         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
22942         * tests/test-sys_select.c: Add functional tests.
22943
22944 2008-09-24  Eric Blake  <ebb9@byu.net>
22945
22946         open, fopen: close fd leak in last patch
22947         * lib/open.c (rpl_open): Close fd before returning error.
22948         * lib/fopen.c (rpl_fopen): Close fd before returning error.
22949         * doc/posix-functions/open.texi (open): Document that Irix also
22950         has the bug.
22951         * doc/posix-functions/fopen.texi (fopen): Likewise.
22952         Reported by Paolo Bonzini.
22953
22954 2008-09-24  Bruno Haible  <bruno@clisp.org>
22955
22956         Ensure that a filename ending in a slash cannot be used to access a
22957         non-directory.
22958         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
22959         to check whether it's really a directory.
22960         * lib/fopen.c: Include fcntl.h, unistd.h.
22961         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
22962         and fdopen().
22963         * modules/fopen (Depends-on): Add unistd.
22964         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
22965         * tests/test-fopen.c (main): Likewise.
22966         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
22967         * doc/posix-functions/fopen.texi: Likewise.
22968         Reported by Eric Blake.
22969
22970 2008-09-23  Eric Blake  <ebb9@byu.net>
22971
22972         c-stack: avoid compiler optimizations when provoking overflow
22973         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
22974         recursion harder to optimize, to ensure a stack overflow occurs.
22975         * tests/test-c-stack.c (recurse): Likewise.
22976         Borrowed from libsigsegv.
22977
22978         c-stack: work around Irix sigaltstack bug
22979         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
22980         whether sigaltstack uses wrong end of stack_t (copied in part from
22981         libsigsegv).
22982         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
22983         Irix bug, without requiring an over-allocation.
22984         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
22985         bug.
22986
22987         fopen: document mingw bug on directories
22988         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
22989         not allowing a stream visiting a directory, even though reading
22990         from such a stream is not portable.
22991
22992 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
22993
22994         * lib/poll.c: Rewrite.
22995         * modules/poll: Depend on alloca.
22996
22997 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
22998
22999         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
23000         instead define prototypes for a full set of wrappers.  Ensure
23001         that Cygwin does not use the compatibility code, which is only
23002         for MinGW.
23003         * lib/winsock.c: New.
23004         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
23005         * modules/sys_socket: Add lib/winsock.c.
23006
23007         * modules/poll-tests: Add errno and perror.
23008         * tests/test-poll.c: Use ioctl, not ioctlsocket.
23009
23010 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
23011
23012         * tests/test-poll.c: Downgrade minimum needed Winsock version.
23013
23014 2008-09-23  Bruno Haible  <bruno@clisp.org>
23015
23016         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
23017         * doc/glibc-functions/*: Likewise.
23018
23019 2008-09-23  Simon Josefsson  <simon@josefsson.org>
23020
23021         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
23022         success.
23023
23024 2008-09-22  Eric Blake  <ebb9@byu.net>
23025             Bruno Haible  <bruno@clisp.org>
23026
23027         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
23028         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
23029         supply %A but mishandle pseudo-NaN.
23030         Reported by Simon Josefsson.
23031
23032 2008-09-21  Bruno Haible  <bruno@clisp.org>
23033
23034         * tests/test-lock.c (main): Tweak skip message.
23035         * tests/test-tls.c (main): Likewise.
23036
23037 2008-09-21  Bruno Haible  <bruno@clisp.org>
23038
23039         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
23040         whether 'struct sigaction' has sa_sigaction here...
23041         (gl_PREREQ_SIG_HANDLER_H): ... not here.
23042         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
23043
23044 2008-09-21  Bruno Haible  <bruno@clisp.org>
23045
23046         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
23047         section.
23048         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
23049         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
23050         the new section.
23051         (Support for obsolete systems lacking POSIX:2001): New section.
23052         (String handling <string.h>): Move strdup to the new section.
23053         Suggested by Simon Josefsson and Paolo Bonzini.
23054
23055 2008-09-21  Bruno Haible  <bruno@clisp.org>
23056
23057         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
23058         exponents in %e and %g results on 'long double'. Needed for mingw's
23059         improved *printf functions.
23060         * tests/test-vasprintf-posix.c (test_function): Likewise.
23061         * tests/test-snprintf-posix.h (test_function): Likewise.
23062         * tests/test-sprintf-posix.h (test_function): Likewise.
23063         Reported by Eric Blake.
23064
23065 2008-09-21  Bruno Haible  <bruno@clisp.org>
23066
23067         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
23068         * tests/test-sprintf-posix.h (test_function): Likewise.
23069
23070 2008-09-21  Bruno Haible  <bruno@clisp.org>
23071
23072         * modules/getpass (Depends-on): Add strdup-posix.
23073
23074         New module 'strdup-posix'.
23075         * modules/strdup-posix: New file.
23076         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
23077         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
23078         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
23079         REPLACE_STRDUP.
23080         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
23081         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
23082         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
23083         strdup-posix.
23084
23085         * modules/strdup (Depends-on): Remove malloc-posix.
23086
23087 2008-09-20  Bruno Haible  <bruno@clisp.org>
23088
23089         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
23090         Wildenhues.
23091
23092 2008-09-20  Bruno Haible  <bruno@clisp.org>
23093
23094         Ensure that wint_t gets defined on IRIX 5.3.
23095         * lib/wchar.in.h (wint_t): Define if not defined by the system.
23096         * lib/wctype.in.h (wint_t): Likewise.
23097         (__wctype_wint_t): Remove type.
23098         (isw*): Use wint_t instead of __wctype_wint_t.
23099         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
23100         * modules/wchar (Files): Add m4/wint_t.m4.
23101         (Makefile.am): Substitute HAVE_WINT_T.
23102         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
23103         * tests/test-wctype.c: Check that wint_t is defined.
23104         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
23105         * doc/posix-headers/wctype.texi: Likewise.
23106         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
23107
23108 2008-09-18  Bruno Haible  <bruno@clisp.org>
23109
23110         * gnulib-tool (func_exit): Update comment.
23111
23112 2008-09-18  Simon Josefsson  <simon@josefsson.org>
23113
23114         * modules/getaddrinfo (Depends-on): Remove strdup, this module
23115         assumes strdup exists and does not depend on strdup to return
23116         ENOMEM on out of memory conditions.
23117
23118 2008-09-18  Bruno Haible  <bruno@clisp.org>
23119
23120         * lib/vasnprintf.c (VASNPRINTF): When printing Â±0.0L in
23121         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
23122         digits for the exponent.
23123
23124 2008-09-18  Jim Meyering  <meyering@redhat.com>
23125             Bruno Haible  <bruno@clisp.org>
23126
23127         * lib/vasnprintf.c (decimal_point_char): Define also if
23128         NEED_PRINTF_INFINITE_LONG_DOUBLE.
23129
23130 2008-09-16  Bruno Haible  <bruno@clisp.org>
23131         and Eric Blake  <ebb9@byu.net>
23132
23133         vasnprintf: support Irix 5.3
23134         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
23135         that mishandle long double infinity.
23136         Reported by Tom G. Christensen.
23137
23138 2008-09-16  Bruno Haible  <bruno@clisp.org>
23139
23140         * doc/glibc-functions/scandir.texi: Mention the function is missing on
23141         Solaris 9.
23142         * doc/glibc-functions/alphasort.texi: Likewise.
23143         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
23144
23145 2008-09-16  Jim Meyering  <meyering@redhat.com>
23146
23147         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
23148         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
23149         a umask modification leak out of a subshell.  Otherwise, the
23150         opensolaris /bin/sh would be accepted and thus cause unwarranted
23151         failures in the coreutils test suite.
23152
23153 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
23154
23155         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
23156         to succeed.
23157
23158 2008-09-16  Jim Meyering  <meyering@redhat.com>
23159
23160         avoid spurious test failure when library is built without ACL support
23161         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
23162         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
23163         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
23164         * tests/test-copy-acl.sh: Likewise.
23165
23166 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
23167
23168         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
23169         based on character occurrence counts.
23170
23171 2008-09-15  Eric Blake  <ebb9@byu.net>
23172
23173         tests: avoid some compiler warnings
23174         * tests/test-memchr.c (main): Pass NULL indirectly.
23175         * tests/test-closein.c (main): Avoid unused variable.
23176
23177 2008-09-15  Bruno Haible  <bruno@clisp.org>
23178
23179         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
23180         are missing on OpenBSD 4.0 individually.
23181         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
23182
23183 2008-09-15  Bruno Haible  <bruno@clisp.org>
23184
23185         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
23186         * doc/posix-functions/strerror.texi: Mention also Cygwin.
23187         * doc/posix-functions/perror.texi: Likewise.
23188         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
23189         is missing.
23190         Reported by Eric Blake.
23191
23192         * lib/errno.in.h: Use replacement values >= 2000.
23193         Reported by Eric Blake.
23194
23195 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
23196
23197         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
23198         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
23199         limit.
23200         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
23201         compareseq was aborted.
23202
23203 2008-09-14  Bruno Haible  <bruno@clisp.org>
23204
23205         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
23206         yvec_edit_count.
23207         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
23208         (fstrcmp_bounded): Simplify result computation accordingly.
23209
23210 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
23211
23212         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
23213         (fstrcmp): Define in terms of fstrcmp_bounded.
23214         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
23215         lower_bound argument.
23216         Return quickly if the result is certainly < lower_bound.
23217         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
23218
23219 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
23220
23221         * lib/diffseq.h (EARLY_ABORT): New macro.
23222         (compareseq): Change return type to bool. Return true when EARLY_ABORT
23223         evaluates to true.
23224
23225 2008-09-14  Bruno Haible  <bruno@clisp.org>
23226
23227         * modules/perror-tests: New file.
23228         * tests/test-perror.sh: New file.
23229         * tests/test-perror.c: New file.
23230
23231         New module 'perror'.
23232         * lib/stdio.in.h (perror): New declaration.
23233         * lib/perror.c: New file.
23234         * m4/perror.m4: New file.
23235         * modules/perror: New file.
23236         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
23237         * doc/posix-functions/perror.texi: Mention the perror module.
23238         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
23239         REPLACE_PERROR.
23240         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
23241         REPLACE_PERROR.
23242
23243 2008-09-14  Bruno Haible  <bruno@clisp.org>
23244
23245         * modules/stdio (Makefile.am): Reorder to match the order in
23246         lib/stdio.in.h.
23247         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
23248
23249 2008-09-13  Bruno Haible  <bruno@clisp.org>
23250
23251         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
23252
23253 2008-09-13  Bruno Haible  <bruno@clisp.org>
23254
23255         Extend strerror to cover the added errno values.
23256         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
23257         (rpl_strerror): Provide error messages for the added errno values and
23258         for the WSA* values.
23259         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
23260         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
23261         strerror.
23262         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
23263         * modules/strerror (Depends-on): Add errno.
23264         * doc/posix-functions/strerror.texi: Document the change.
23265         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
23266         and EOVERFLOW.
23267
23268 2008-09-13  Bruno Haible  <bruno@clisp.org>
23269
23270         * modules/EOVERFLOW: Remove file.
23271         * m4/eoverflow.m4: Remove file.
23272         * modules/EOVERFLOW-tests: Remove file.
23273         * tests/test-EOVERFLOW.c: Remove file.
23274         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
23275         * modules/ftell (Depends-on): Likewise.
23276         * modules/getdelim (Depends-on): Likewise.
23277         * modules/getugroups (Depends-on): Likewise.
23278         * modules/poll (Depends-on): Likewise.
23279         * modules/snprintf (Depends-on): Likewise.
23280         * modules/sprintf-posix (Depends-on): Likewise.
23281         * modules/vasnprintf (Depends-on): Likewise.
23282         * modules/vasprintf (Depends-on): Likewise.
23283         * modules/vfprintf-posix (Depends-on): Likewise.
23284         * modules/vsnprintf (Depends-on): Likewise.
23285         * modules/vsprintf-posix (Depends-on): Likewise.
23286         * modules/xvasprintf (Depends-on): Likewise.
23287         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
23288         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
23289         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
23290         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
23291         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
23292         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
23293         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
23294         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
23295         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
23296         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
23297         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
23298         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
23299         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
23300         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
23301         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
23302         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
23303         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
23304         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
23305         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
23306         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
23307         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
23308         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
23309         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
23310         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
23311         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
23312         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
23313         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
23314         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
23315         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
23316         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
23317         * MODULES.html.sh: Remove EOVERFLOW.
23318         * NEWS: Mention the change.
23319
23320 2008-09-13  Bruno Haible  <bruno@clisp.org>
23321
23322         * modules/errno-tests: New file.
23323         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
23324
23325         * lib/errno.in.h: New file.
23326         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
23327         * modules/errno: New file.
23328         * doc/posix-headers/errno.texi: Update documentation.
23329         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
23330
23331 2008-09-13  Bruno Haible  <bruno@clisp.org>
23332
23333         * tests/test-poll.c: Use #if for native Windows, rather than testing
23334         __MSVCRT__.
23335
23336 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
23337             Bruno Haible  <bruno@clisp.org>
23338
23339         * lib/glob.c: Don't include <pwd.h> on native Windows.
23340         (WINDOWS32): New macro.
23341         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
23342
23343 2008-09-13  Bruno Haible  <bruno@clisp.org>
23344
23345         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
23346         (ETIMEDOUT): Remove macro.
23347         (glthread_cond_timedwait_multithreaded): New declaration.
23348         (glthread_cond_timedwait): Use it.
23349         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
23350         (glthread_cond_timedwait_multithreaded): New function.
23351
23352 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
23353
23354         * modules/poll-tests: Do not check for io.h.
23355         * tests/test-poll.c: Check for __MSVCRT__ instead.
23356
23357 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
23358
23359         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
23360         * modules/poll-tests: Add inet_pton, stdbool, sockets.
23361         * tests/test-poll.c: Use them.  Use _pipe on Windows.
23362
23363 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
23364
23365         * modules/poll-tests: New.
23366         * tests/test-poll.c: New.
23367
23368 2008-09-12  Eric Blake  <ebb9@byu.net>
23369
23370         frexp: test for NetBSD failure on -0.0
23371         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
23372         not all, bugs from NetBSD 3.0 have been fixed.
23373         * doc/posix-functions/frexp.texi (frexp): Document bug.
23374         Reported by Thomas Klausner.
23375
23376         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
23377         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
23378         literal -0.0.
23379         Reported by Jonathan C. Patschke <jp@centtech.com>.
23380
23381 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
23382
23383         * lib/glthread/cond.h: Use dummy implementation also if
23384         USE_WIN32_THREADS.
23385
23386 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
23387
23388         * modules/fnmatch-posix (License): Change to LGPLv2+.
23389         * modules/fnmatch-gnu (License): Likewise.
23390
23391 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
23392
23393         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
23394
23395 2008-09-11  Jim Meyering  <meyering@redhat.com>
23396
23397         * users.txt: Add gtk-vnc.
23398
23399 2008-09-08  Simon Josefsson  <simon@josefsson.org>
23400
23401         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
23402         rotate amounts.
23403
23404         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
23405         required for 16-bit and 8-bit rotates.
23406         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
23407         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
23408         UINT8_MAX instead of hard-coded constants.
23409         Suggested by Paul Eggert.
23410
23411 2008-09-07  Bruno Haible  <bruno@clisp.org>
23412
23413         * tests/test-striconveh.c (main): Check behaviour when converting from
23414         UTF-7.
23415
23416         Make striconveh work better with stateful encodings.
23417         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
23418         that iconv does not increment the inptr when returning -1/EINVAL.
23419
23420 2008-09-07  Bruno Haible  <bruno@clisp.org>
23421
23422         * build-aux/config.rpath: Update according to libtool-2.2.6.
23423         * build-aux/config.libpath: Likewise.
23424
23425 2008-09-06  Bruno Haible  <bruno@clisp.org>
23426
23427         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
23428         * lib/freadptr.c (freadptr): Likewise.
23429         * lib/freadseek.c (freadptrinc): Likewise.
23430         Reported by Simon Josefsson.
23431
23432 2008-09-06  Bruno Haible  <bruno@clisp.org>
23433
23434         * modules/freadptr (License): Change to LGPLv2+.
23435         * modules/freadseek (License): Likewise.
23436         Suggested by Eric Blake.
23437
23438         * modules/memchr2 (License): Change to LGPLv2+.
23439         Approved by Eric Blake.
23440
23441 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
23442             Bruno Haible  <bruno@clisp.org>
23443
23444         Make gnulib-tool work with native 'sed' on AIX.
23445         * gnulib-tool (sed_noop): New variable.
23446         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
23447         func_add_or_update, func_create_testdir): Use it to initialize sed
23448         script variables.
23449         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
23450
23451 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
23452             Bruno Haible  <bruno@clisp.org>
23453
23454         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
23455         also works after #include directives.
23456
23457 2008-09-04  OndÅ™ej Vašík  <ovasik@redhat.com>
23458
23459         getdate.y: reject an out-of-range timezone value
23460         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
23461         the range [-24...+24].  When specified with only one or two digits,
23462         * tests/test-getdate.c: Tests for the fix.
23463         * doc/getdate.texi: Document this change.
23464
23465 2008-09-03  Bruno Haible  <bruno@clisp.org>
23466
23467         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
23468
23469 2008-09-02  Simon Josefsson  <simon@josefsson.org>
23470
23471         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
23472         <bruce.korb@gmail.com> with ideas from Ben Pfaff
23473         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
23474         Blake <ebb9@byu.net>.
23475
23476         * tests/test-bitrotate.c: Add more test vectors.
23477
23478 2008-09-02  Eric Blake  <ebb9@byu.net>
23479
23480         vasnprintf-posix: handle large precision via %.*d
23481         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
23482         when handling it ourselves.
23483         * tests/test-vasnprintf-posix.c (test_function): Add test.
23484         * tests/test-snprintf-posix.h (test_function): Likewise.
23485         * tests/test-sprintf-posix.h (test_function): Likewise.
23486         * tests/test-vasprintf-posix.c (test_function): Likewise.
23487         Reported by Alain Guibert.
23488
23489 2008-09-01  Eric Blake  <ebb9@byu.net>
23490
23491         c-stack: make configure-time check more robust
23492         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
23493         successful sigaction call.
23494         Reported by Tom G. Christensen.
23495
23496 2008-09-01  Bruno Haible  <bruno@clisp.org>
23497
23498         New module 'findprog-lgpl'.
23499         * modules/findprog-lgpl: New file.
23500         * lib/findprog-lgpl.c: New file.
23501         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
23502         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
23503         to decide whether to use strdup or xstrdup, concatenated_filename or
23504         xconcatenated_filename.
23505
23506 2008-09-01  Bruno Haible  <bruno@clisp.org>
23507
23508         Split module 'concat-filename' into 'concat-filename' (LGPL) and
23509         'xconcat-filename' (GPL).
23510         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
23511         (License): Change to LGPLv2+.
23512         * modules/xconcat-filename: New file.
23513         * lib/concat-filename.h (concatenated_filename): Change specification.
23514         (xconcatenated_filename): New declaration.
23515         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
23516         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
23517         memory situations.
23518         * lib/xconcat-filename.c: New file.
23519         * NEWS: Mention the change.
23520         * lib/findprog.c: Include concat-filename.h, not filename.h.
23521         (find_in_path): Use xconcatenated_filename instead of
23522         concatenated_filename.
23523         * lib/javacomp.c: Include concat-filename.h, not filename.h.
23524         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
23525         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
23526         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
23527         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
23528         instead of concatenated_filename.
23529         * lib/javaexec.c: Include concat-filename.h, not filename.h.
23530         (execute_java_class): Use xconcatenated_filename instead of
23531         concatenated_filename.
23532         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
23533         * modules/javacomp (Depends-on): Likewise.
23534         * modules/javaexec (Depends-on): Likewise.
23535
23536 2008-09-01  Bruno Haible  <bruno@clisp.org>
23537
23538         Split module 'filename' into 'filename' and 'concat-filename'.
23539         * modules/filename: Keep only lib/filename.h.
23540         (License): Change to LGPLv2+.
23541         * modules/concat-filename: New file, extracted from modules/filename.
23542         * lib/filename.h (concatenated_filename): Remove declaration.
23543         * lib/concat-filename.h: New file, extracted from lib/filename.h.
23544         * lib/concat-filename.c: Include concat-filename.h.
23545         * NEWS: Mention the change.
23546
23547 2008-09-01  Simon Josefsson  <simon@josefsson.org>
23548
23549         * lib/bitrotate.h (rotl8, rotr8): Add.
23550
23551         * modules/bitrotate (configure.ac): Need
23552         AC_REQUIRE([AC_C_INLINE]).
23553         (Description): Mention stdint.h.  Reported by Bruno Haible
23554         <bruno@clisp.org>.
23555
23556         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
23557         Paolo Bonzini <bonzini@gnu.org>.
23558
23559 2008-08-31  Bruno Haible  <bruno@clisp.org>
23560
23561         Assume Solaris specific bi-arch conventions on Solaris systems.
23562         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
23563         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
23564         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
23565         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
23566         like acl_libdirstem.
23567         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
23568         acl_libdirstem.
23569         * NEWS: Mention the change.
23570         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
23571
23572 2008-08-31  Jim Meyering  <meyering@redhat.com>
23573
23574         * lib/strftime.h: Add comments describing the two added arguments.
23575
23576         remove duplicate #include directives
23577         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
23578         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
23579
23580 2008-08-31  Bruno Haible  <bruno@clisp.org>
23581
23582         New module 'sigpipe-die'.
23583         * modules/sigpipe-die: New file.
23584         * lib/sigpipe-die.h: New file.
23585         * lib/sigpipe-die.c: New file.
23586         * MODULES.html.sh (Signal handling): Add sigpipe-die.
23587
23588 2008-08-31  Bruno Haible  <bruno@clisp.org>
23589
23590         Don't override previously installed signal handlers.
23591         * lib/fatal-signal.c (saved_sigactions): New variable.
23592         (uninstall_handlers): Reset the signal to the saved handler, not
23593         to SIG_DFL (except when ignored).
23594         (install_handlers): Save the previous handlers.
23595
23596 2008-08-30  Bruno Haible  <bruno@clisp.org>
23597
23598         * gnulib-tool (func_reset_sigpipe): New function.
23599         (func_get_automake_snippet, func_modules_transitive_closure,
23600         func_import): Invoke it before a join command that reads from stdin,
23601         to avoid "echo: write error: Broken pipe" error messages on stderr.
23602         Reported by Sam Steingold <sds@gnu.org>.
23603
23604 2008-08-30  Bruno Haible  <bruno@clisp.org>
23605
23606         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
23607         Code copied from m4/open.m4.
23608         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
23609         access and the filename ends in a slash. Code copied from lib/open.c.
23610         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
23611         * tests/test-fopen.c (main): Check against bug with trailing slash.
23612
23613 2008-08-29  Bruno Haible  <bruno@clisp.org>
23614
23615         Avoid some "gcc -pedantic" warnings.
23616         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
23617         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
23618         * lib/dirent.in.h: Likewise.
23619         * lib/fcntl.in.h: Likewise.
23620         * lib/float.in.h: Likewise.
23621         * lib/iconv.in.h: Likewise.
23622         * lib/inttypes.in.h: Likewise.
23623         * lib/locale.in.h: Likewise.
23624         * lib/math.in.h: Likewise.
23625         * lib/netinet_in.in.h: Likewise.
23626         * lib/search.in.h: Likewise.
23627         * lib/signal.in.h: Likewise.
23628         * lib/stdarg.in.h: Likewise.
23629         * lib/stdint.in.h: Likewise.
23630         * lib/stdio.in.h: Likewise.
23631         * lib/stdlib.in.h: Likewise.
23632         * lib/string.in.h: Likewise.
23633         * lib/strings.in.h: Likewise.
23634         * lib/sys_select.in.h: Likewise.
23635         * lib/sys_socket.in.h: Likewise.
23636         * lib/sys_stat.in.h: Likewise.
23637         * lib/sys_time.in.h: Likewise.
23638         * lib/sysexits.in.h: Likewise.
23639         * lib/time.in.h: Likewise.
23640         * lib/unistd.in.h: Likewise.
23641         * lib/wchar.in.h: Likewise.
23642         * lib/wctype.in.h: Likewise.
23643         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
23644         * modules/fchdir (Makefile.am): Likewise.
23645         * modules/fcntl (Makefile.am): Likewise.
23646         * modules/float (Makefile.am): Likewise.
23647         * modules/iconv_open (Makefile.am): Likewise.
23648         * modules/inttypes (Makefile.am): Likewise.
23649         * modules/locale (Makefile.am): Likewise.
23650         * modules/math (Makefile.am): Likewise.
23651         * modules/netinet_in (Makefile.am): Likewise.
23652         * modules/search (Makefile.am): Likewise.
23653         * modules/signal (Makefile.am): Likewise.
23654         * modules/stdarg (Makefile.am): Likewise.
23655         * modules/stdint (Makefile.am): Likewise.
23656         * modules/stdio (Makefile.am): Likewise.
23657         * modules/stdlib (Makefile.am): Likewise.
23658         * modules/string (Makefile.am): Likewise.
23659         * modules/strings (Makefile.am): Likewise.
23660         * modules/sys_select (Makefile.am): Likewise.
23661         * modules/sys_socket (Makefile.am): Likewise.
23662         * modules/sys_stat (Makefile.am): Likewise.
23663         * modules/sys_time (Makefile.am): Likewise.
23664         * modules/sysexits (Makefile.am): Likewise.
23665         * modules/time (Makefile.am): Likewise.
23666         * modules/unistd (Makefile.am): Likewise.
23667         * modules/wchar (Makefile.am): Likewise.
23668         * modules/wctype (Makefile.am): Likewise.
23669         Reported by Reuben Thomas <rrt@sc3d.org>.
23670
23671 2008-08-29  Bruno Haible  <bruno@clisp.org>
23672
23673         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
23674         any more.
23675
23676 2008-08-29  Simon Josefsson  <simon@josefsson.org>
23677
23678         * MODULES.html.sh (Misc): Add bitrotate.
23679
23680         * modules/bitrotate: New file.
23681
23682         * lib/bitrotate.h: New file.
23683
23684         * modules/bitrotate-tests: New file.
23685
23686         * tests/test-bitrotate.c: New file.
23687
23688         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
23689         on the bitrotate module.
23690
23691         * lib/arctwo.c: Use new bitrotate module.
23692
23693 2008-08-29  Jim Meyering  <meyering@redhat.com>
23694
23695         bootstrap: merge changes from coreutils
23696         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
23697         of copied files.  Remove a kludge, now that this is fixed.
23698         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
23699         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
23700         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
23701
23702 2008-08-29  Bruno Haible  <bruno@clisp.org>
23703
23704         * MODULES.html.sh: Remove --cvs-urls option.
23705
23706 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
23707
23708         maint.mk: adjust to file name change
23709         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
23710
23711 2008-08-28  Jim Meyering  <meyering@redhat.com>
23712
23713         * modules/getndelim2 (License): Relicense to LGPLv2+.
23714         Approved by Richard Stallman for the version of 1995, and by
23715         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
23716
23717 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
23718
23719         * lib/getdelim.c (flockfile, funlockfile): Make all of them
23720         dummy if one is not available.  Do not touch them if
23721         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
23722         (getc_maybe_unlocked): New.
23723         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
23724
23725 2008-08-26  Eric Blake  <ebb9@byu.net>
23726
23727         doc/INSTALL: resync from autoconf
23728         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
23729         (INSTALL_PRELUDE): Delete; this is done more efficiently by
23730         moving...
23731         * install.texi [!autoconf]: ...here.  Resync from autoconf.
23732         * INSTALL: Regenerate.
23733         * INSTALL.ISO: New file.
23734         * INSTALL.UTF-8: Likewise.
23735
23736 2008-08-26  Jim Meyering  <meyering@redhat.com>
23737
23738         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
23739         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
23740         these definitions conditional, so that they may be overridden, too.
23741
23742 2008-08-26  Bruno Haible  <bruno@clisp.org>
23743
23744         Generate INSTALL file variants with prettier quotes.
23745         * doc/Makefile (INSTALL_PRELUDE): New macro.
23746         (INSTALL): Use it.
23747         (INSTALL.ISO, INSTALL.UTF-8): New rules.
23748
23749 2008-08-26  Bruno Haible  <bruno@clisp.org>
23750
23751         Run makeinfo in an English locale.
23752         * doc/Makefile (MAKEINFO): New variable.
23753
23754 2008-08-26  Bruno Haible  <bruno@clisp.org>
23755
23756         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
23757         Suggested by Eric Blake.
23758
23759 2008-08-25  Bruno Haible  <bruno@clisp.org>
23760
23761         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
23762
23763 2008-08-25  Eric Blake  <ebb9@byu.net>
23764
23765         c-stack: test that stack overflow can be caught
23766         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
23767         that platform allows handling stack overflow; at least OS/2 EMX
23768         has sigaltstack, but crashes before transferring control to
23769         handler on stack overflow.
23770         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
23771         check for HAVE_STACK_OVERFLOW_HANDLING.
23772         Reported by Elbert Pol.
23773
23774 2008-08-25  Bruno Haible  <bruno@clisp.org>
23775
23776         * doc/posix-functions/strftime.texi: Fix description of strftime
23777         module.
23778
23779 2008-08-24  Bruno Haible  <bruno@clisp.org>
23780
23781         * tests/uniwidth/test-uc_width2.c: New file.
23782         * tests/uniwidth/test-uc_width2.sh: New file.
23783         * modules/uniwidth/width-tests (Files): Add the new files.
23784         (TESTS): Add uniwidth/test-uc_width2.sh.
23785         (TESTS_ENVIRONMENT): New variable.
23786         (check_PROGRAMS): Add test-uc_width2.
23787         (test_uc_width2_SOURCES): New variable.
23788
23789         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
23790         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
23791         not 0x00AB.
23792         Reported by Alexander V. Lukyanov <lav@netis.ru>.
23793
23794 2008-08-22  Eric Blake  <ebb9@byu.net>
23795
23796         test-lock, test-tls: mention why a test is skipped
23797         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
23798         skipped.
23799         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
23800
23801         count-one-bits: relax license
23802         * modules/count-one-bits (License): Relicense to LGPLv2+.
23803         Suggested by Ludovic Courtès, approved by Ben Pfaff.
23804
23805 2008-08-22  Andreas Schwab  <schwab@suse.de>
23806
23807         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
23808         Remove spurious space in assignment.
23809
23810 2008-08-21  Simon Josefsson  <simon@josefsson.org>
23811
23812         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
23813         Paul Eggert <eggert@CS.UCLA.EDU>.
23814
23815 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
23816
23817         * modules/gettext: Add m4/threadlib.m4.
23818
23819 2008-08-19  Eric Blake  <ebb9@byu.net>
23820
23821         test-c-stack: fix compilation failure on FreeBSD 5.0
23822         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
23823         headers before <sys/resource.h>.
23824         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
23825         the bug.
23826         Reported by Nelson H. F. Beebe.
23827
23828         strverscmp: migrate from "strverscmp.h" to <string.h>
23829         * modules/string (Makefile.am): Add new hooks.
23830         * modules/strverscmp (Files): Remove strverscmp.h.
23831         (Depends-on): Add string.
23832         (configure.ac): Add indicator.
23833         (Include): Mention new header.
23834         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
23835         defaults.
23836         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
23837         results.
23838         * lib/strverscmp.h: Delete.
23839         * lib/string.in.h (strverscmp): Provide declaration, when needed.
23840         * tests/test-strverscmp.c (includes): Adjust client.
23841         * lib/check-version.c (includes): Likewise.
23842         * NEWS: Document the change.
23843
23844         strverscmp: add unit test
23845         * modules/strverscmp-tests: New file.
23846         * tests/test-strverscmp.c: Likewise.
23847
23848 2008-08-19  Simon Josefsson  <simon@josefsson.org>
23849
23850         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
23851         regarding Windows crypto stuff, from Mono.
23852
23853 2008-08-19  Adam Strzelecki <ono@java.pl>  (tiny change)
23854
23855         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
23856         if present, for intel RND.  Return error on failures.
23857
23858 2008-08-18  Ben Pfaff  <blp@gnu.org>
23859
23860         gitlog-to-changelog: give better diagnostic for failed pipe-open
23861         * build-aux/gitlog-to-changelog: Improve error message: suggest
23862         that the version of Git may be too old.
23863
23864 2008-08-18  Simon Josefsson  <simon@josefsson.org>
23865
23866         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
23867         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
23868
23869 2008-08-18  Bruno Haible  <bruno@clisp.org>
23870
23871         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
23872         pthread_in_use().
23873
23874 2008-08-18  Bruno Haible  <bruno@clisp.org>
23875
23876         * lib/glthread/threadlib.c: Include <pthread.h>.
23877
23878 2008-08-18  Bruno Haible  <bruno@clisp.org>
23879
23880         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
23881         glthread_recursive_lock_* macros.
23882         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
23883         Fix syntax error.
23884
23885 2008-08-18  Bruno Haible  <bruno@clisp.org>
23886
23887         * lib/glthread/thread.c: Avoid forcing a context switch right after
23888         thread creation.
23889
23890 2008-08-17  Bruno Haible  <bruno@clisp.org>
23891
23892         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
23893         * lib/glthread/thread.h: Provide Win32 specific implementation.
23894         * modules/thread (Files): Add lib/glthread/thread.c.
23895         (Depends-on): Add lock.
23896         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
23897
23898 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
23899
23900         New module 'yield'.
23901         * modules/yield: New file.
23902         * lib/glthread/yield.h: New file.
23903         * m4/yield.m4: New file.
23904         * MODULES.html.sh (Multithreading): Add yield.
23905
23906 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
23907
23908         New module 'thread'.
23909         * modules/thread: New file.
23910         * lib/glthread/thread.h: New file.
23911         * m4/thread.m4: New file.
23912         * MODULES.html.sh (Multithreading): Add thread.
23913
23914 2008-08-17  Bruno Haible  <bruno@clisp.org>
23915
23916         * lib/glthread/lock.h: Include <stdlib.h> always.
23917         * lib/glthread/tls.h: Likewise.
23918         * lib/glthread/cond.h: Likewise.
23919
23920 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
23921
23922         New module 'cond'.
23923         * modules/cond: New file.
23924         * lib/glthread/cond.h: New file.
23925         * lib/glthread/cond.c: New file.
23926         * m4/cond.m4: New file.
23927         * MODULES.html.sh (Multithreading): Add cond.
23928
23929 2008-08-16  Eric Blake  <ebb9@byu.net>
23930
23931         c-stack: fix regression on Irix 5.3 from 2008-06-21
23932         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
23933         sa_sigaction...
23934         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
23935         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
23936         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
23937         * modules/signal (Makefile.am): Use the value.
23938         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
23939         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
23940         * doc/posix-headers/signal.texi (signal.h): Document this
23941         portability issue.
23942         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
23943         Reported by Tom G. Christensen.
23944
23945 2008-08-17  Bruno Haible  <bruno@clisp.org>
23946
23947         New module 'threadlib'.
23948         * modules/threadlib: New file.
23949         * lib/glthread/threadlib.c: New file, extracted from
23950         lib/glthread/lock.c.
23951         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
23952         functions.
23953         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
23954         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
23955         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
23956         macros.
23957         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
23958         (gl_DISABLE_THREADS): Remove macro.
23959         * modules/lock (Files): Remove build-aux/config.rpath.
23960         (Depends-on): Remove havelib. Add threadlib.
23961         (configure.ac-early): Remove section.
23962         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
23963         * modules/tls (Depends-on): Remove lock. Add threadlib.
23964         (Link): New section, copied from threadlib.
23965         * MODULES.html.sh (Multithreading): Add threadlib.
23966
23967 2008-08-14  Bruno Haible  <bruno@clisp.org>
23968
23969         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
23970         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
23971         glthread_rwlock_unlock, glthread_rwlock_destroy,
23972         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
23973         glthread_recursive_lock_destroy): Define as macros always.
23974         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
23975         glthread_lock_lock.
23976         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
23977         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
23978         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
23979         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
23980         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
23981         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
23982         (glthread_recursive_lock_lock_func): Renamed from
23983         glthread_recursive_lock_lock.
23984         (glthread_recursive_lock_unlock_func): Renamed from
23985         glthread_recursive_lock_unlock.
23986         (glthread_recursive_lock_destroy_func): Renamed from
23987         glthread_recursive_lock_destroy.
23988
23989 2008-08-14  Bruno Haible  <bruno@clisp.org>
23990
23991         * lib/glthread/lock.h: Renamed from lib/lock.h.
23992         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
23993         * lib/glthread/tls.h: Renamed from lib/tls.h.
23994         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
23995         * lib/fstrcmp.c: Update includes.
23996         * lib/strsignal.c: Update includes.
23997         * modules/lock (Files, Makefile.am): Update.
23998         (Include): Change to "glthread/lock.h".
23999         * modules/tls (Files, Makefile.am): Update.
24000         (Include): Change to "glthread/tls.h".
24001         * tests/test-lock.c: Update includes.
24002         * tests/test-tls.c: Update includes.
24003         * NEWS: Mention the renamed header files.
24004
24005 2008-08-11  Jim Meyering  <meyering@redhat.com>
24006
24007         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
24008
24009 2008-08-11  Eric Blake  <ebb9@byu.net>
24010
24011         test-c-stack: avoid C99-ism
24012         * tests/test-c-stack.c (main): Fix whitespace, move declaration
24013         before statement.
24014         Reported by Alain Guibert.
24015
24016 2008-08-10  Jim Meyering  <meyering@redhat.com>
24017
24018         ensure that return value of uinttostr et al are not ignored
24019         * lib/inttostr.h (__GNUC_PREREQ): Define.
24020         (__attribute_warn_unused_result__): Define.
24021         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
24022
24023 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
24024
24025         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
24026         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
24027
24028 2008-08-07  Jim Meyering  <meyering@redhat.com>
24029
24030         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
24031
24032         * modules/mkstemp (License): Relicense under LGPLv2+.
24033         * modules/tempname (License): Likewise.
24034
24035 2008-08-06  Bruno Haible  <bruno@clisp.org>
24036
24037         * lib/poll.c (poll): Further micro-optimization.
24038
24039 2008-08-06  Jim Meyering  <meyering@redhat.com>
24040
24041         inet_pton.c: use locale-independent tolower
24042         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
24043         (inet_pton6): Use c_tolower rather than tolower.
24044         * modules/inet_pton (Depends-on): Add c-ctype.
24045
24046 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
24047
24048         * lib/poll.c (poll): Avoid division when timeout is 0, cache
24049         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
24050
24051 2008-08-06  Jim Meyering  <meyering@redhat.com>
24052
24053         * modules/inet_pton (License): Relicense under LGPLv2+.
24054
24055 2008-08-03  Bruno Haible  <bruno@clisp.org>
24056
24057         Additional non-aborting API for lock and tls.
24058         * lib/lock.h: Include <errno.h>.
24059         (glthread_lock_init): New macro/function.
24060         (gl_lock_init): Define as wrapper around glthread_lock_init.
24061         (glthread_lock_lock): New macro/function.
24062         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
24063         (glthread_lock_unlock): New macro/function.
24064         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
24065         (glthread_lock_destroy): New macro/function.
24066         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
24067         (glthread_rwlock_init): New macro/function.
24068         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
24069         (glthread_rwlock_rdlock): New macro/function.
24070         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
24071         (glthread_rwlock_wrlock): New macro/function.
24072         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
24073         (glthread_rwlock_unlock): New macro/function.
24074         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
24075         (glthread_rwlock_destroy): New macro/function.
24076         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
24077         (glthread_recursive_lock_init): New macro/function.
24078         (gl_recursive_lock_init): Define as wrapper around
24079         glthread_recursive_lock_init.
24080         (glthread_recursive_lock_lock): New macro/function.
24081         (gl_recursive_lock_lock): Define as wrapper around
24082         glthread_recursive_lock_lock.
24083         (glthread_recursive_lock_unlock): New macro/function.
24084         (gl_recursive_lock_unlock): Define as wrapper around
24085         glthread_recursive_lock_unlock.
24086         (glthread_recursive_lock_destroy): New macro/function.
24087         (gl_recursive_lock_destroy): Define as wrapper around
24088         glthread_recursive_lock_destroy.
24089         (glthread_once): New macro/function.
24090         (gl_once): Define as wrapper around glthread_once.
24091         Update function declarations.
24092         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
24093         glthread_rwlock_init. Return error code.
24094         (glthread_rwlock_rdlock_multithreaded): Renamed from
24095         glthread_rwlock_rdlock. Return error code.
24096         (glthread_rwlock_wrlock_multithreaded): Renamed from
24097         glthread_rwlock_wrlock. Return error code.
24098         (glthread_rwlock_unlock_multithreaded): Renamed from
24099         glthread_rwlock_unlock. Return error code.
24100         (glthread_rwlock_destroy_multithreaded): Renamed from
24101         glthread_rwlock_destroy. Return error code.
24102         (glthread_recursive_lock_init_multithreaded): Renamed from
24103         glthread_recursive_lock_init. Return error code.
24104         (glthread_recursive_lock_lock_multithreaded): Renamed from
24105         glthread_recursive_lock_lock. Return error code.
24106         (glthread_recursive_lock_unlock_multithreaded): Renamed from
24107         glthread_recursive_lock_unlock. Return error code.
24108         (glthread_recursive_lock_destroy_multithreaded): Renamed from
24109         glthread_recursive_lock_destroy. Return error code.
24110         (glthread_once_call): Make static.
24111         (glthread_once_multithreaded): Renamed from glthread_once.
24112         * lib/tls.h: Include <errno.h>.
24113         (glthread_tls_key_init): New macro/function.
24114         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
24115         (glthread_tls_set): New macro/function.
24116         (gl_tls_set): Define as wrapper around glthread_tls_set.
24117         (glthread_tls_key_destroy): New macro/function.
24118         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
24119         Update function declarations.
24120         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
24121         glthread_tls_get.
24122         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
24123
24124 2008-08-04  Eric Blake  <ebb9@byu.net>
24125
24126         gnumakefile: use space, not TAB, outside of targets
24127         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
24128
24129 2008-08-02  Jim Meyering  <meyering@redhat.com>
24130
24131         getdate.y: avoid locale-dependent date parsing failure
24132         In Turkish locales, getdate would fail to recognize keywords
24133         containing a lowercase "i".  The solution is not to rely on
24134         locale-sensitive case-conversion.
24135         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
24136         (lookup_word): Use c_toupper in place of toupper.
24137         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
24138         Reported by Vefa Bicakci <bicave@superonline.com> in
24139         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
24140         * modules/getdate (Depends-on): Add c-ctype.
24141
24142 2008-08-02  Bruno Haible  <bruno@clisp.org>
24143
24144         * gnulib-tool (func_import): When updating or creating a .gitignore
24145         file, prepend each added line with a slash, and ignore leading slashes
24146         from the existing lines.
24147         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
24148
24149 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
24150
24151         Portability fix for GNU make 3.79.1.
24152         * top/GNUmakefile: Avoid 'else COND', which older GNU make
24153         versions do not understand.
24154
24155 2008-08-01  Bruno Haible  <bruno@clisp.org>
24156
24157         Work around bug of HP-UX 10.20 cc with -0.0 literal.
24158         * tests/test-isnanf.h (zero): New variable.
24159         (main): Avoid literal -0.0f.
24160         * tests/test-isnand.h (zero): New variable.
24161         (main): Avoid literal -0.0.
24162         * tests/test-isnanl.h (zero): New variable.
24163         (main): Avoid literal -0.0L.
24164         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
24165         (test_float, test_double, test_long_double): Avoid literals -0.0f,
24166         -0.0, -0.0L.
24167         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
24168         (test_signbitd): Avoid literal -0.0.
24169         (test_signbitl): Avoid literal -0.0L.
24170         * tests/test-ceilf1.c (zero): New variable.
24171         (main): Avoid literal -0.0f.
24172         * tests/test-ceill.c (zero): New variable.
24173         (main): Avoid literal -0.0L.
24174         * tests/test-floorf1.c (zero): New variable.
24175         (main): Avoid literal -0.0f.
24176         * tests/test-floorl.c (zero): New variable.
24177         (main): Avoid literal -0.0L.
24178         * tests/test-roundf1.c (zero): New variable.
24179         (main): Avoid literal -0.0f.
24180         * tests/test-round1.c (zero): New variable.
24181         (main): Avoid literal -0.0.
24182         * tests/test-roundl.c (zero): New variable.
24183         (main): Avoid literal -0.0L.
24184         * tests/test-truncf1.c (zero): New variable.
24185         (main): Avoid literal -0.0f.
24186         * tests/test-trunc1.c (zero): New variable.
24187         (main): Avoid literal -0.0.
24188         * tests/test-truncl.c (zero): New variable.
24189         (main): Avoid literal -0.0L.
24190         * tests/test-frexp.c (zero): New variable.
24191         (main): Avoid literal -0.0.
24192         * tests/test-frexpl.c (zero): New variable.
24193         (main): Avoid literal -0.0L.
24194         * tests/test-ldexpl.c (zero): New variable.
24195         (main): Avoid literal -0.0L.
24196         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
24197         (zerod, zerol): New variables.
24198         (test_function): Avoid literals -0.0, -0.0L.
24199         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
24200         (zerod, zerol): New variables.
24201         (test_function): Avoid literals -0.0, -0.0L.
24202         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
24203         (zerod, zerol): New variables.
24204         (test_function): Avoid literals -0.0, -0.0L.
24205         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
24206         (zerod, zerol): New variables.
24207         (test_function): Avoid literals -0.0, -0.0L.
24208         * tests/test-strtod.c (zero): New variable.
24209         (main): Avoid literal -0.0.
24210         Reported by Jonathan C. Patschke <jp@centtech.com>.
24211
24212 2008-07-31  Jim Meyering  <meyering@redhat.com>
24213
24214         sha256.h: correct definition of SHA224_DIGEST_SIZE
24215         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
24216         Reported by Paulie Pena IV <paulie4@gmail.com>.
24217         Define as 224 / 8, rather than as a literal.
24218         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
24219         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
24220         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
24221
24222 2008-07-31  Bruno Haible  <bruno@clisp.org>
24223
24224         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
24225         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
24226         Reported by Jonathan Patschke <jp@centtech.com>.
24227
24228 2008-07-31  Bruno Haible  <bruno@clisp.org>
24229
24230         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
24231         Reported by Paolo Bonzini <bonzini@gnu.org>.
24232
24233 2008-07-30  Eric Blake  <ebb9@byu.net>
24234
24235         test-strtod: allow compilation without -lm
24236         * tests/test-strtod.c (main): Avoid link dependence on fabs.
24237         Reported by Dennis Clarke <blastwave@gmail.com>.
24238
24239 2008-07-28  Jim Meyering  <meyering@redhat.com>
24240
24241         bootstrap: work also when there are no .po files in po/
24242         * build-aux/bootstrap (update_po_files): Complete the change
24243         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
24244
24245 2008-07-27  Jim Meyering  <meyering@redhat.com>
24246
24247         * users.txt: Add zile.
24248
24249 2008-07-26  Ben Pfaff  <blp@gnu.org>
24250
24251         Add missing dependencies on new m4/exponent[fdl].m4 files.
24252         * modules/isnanf-nolibm: Add m4/exponentf.m4.
24253         * modules/isnand-nolibm: Add m4/exponentd.m4.
24254         * modules/isnanl-nolibm: Add m4/exponentl.m4.
24255         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
24256         m4/isnan[fdl].m4, because the macros actually used moved.
24257         Reported by Jim Meyering.
24258
24259 2008-07-14  Ben Pfaff  <blp@gnu.org>
24260
24261         Add isinf module.
24262         * lib/isinf.c: New file.
24263         * lib/math.in.h: Define isinf macro if we have decided to replace
24264         it.
24265         * m4/isinf.m4: New file.
24266         * m4/math_h.m4: Initialize and substitute variables for isinf
24267         module.
24268         * modules/isinf: New file.
24269         * modules/isinf-tests: New file.
24270         * modules/math: Add substitutions for new module.
24271         * tests/test-isinf.c: New file.
24272         * doc/posix-functions/isinf.texi: Mention new module.
24273         * MODULES.html.sh: Mention new module.
24274
24275 2008-07-14  Ben Pfaff  <blp@gnu.org>
24276
24277         Factor out some macros for use by additional modules.
24278         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
24279         exponentf.m4.
24280         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
24281         exponentd.m4.
24282         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
24283         file exponentl.m4.
24284         * m4/exponentf.m4: New file.
24285         * m4/exponentd.m4: New file.
24286         * m4/exponentl.m4: New file.
24287         * modules/isnanf: Use new file m4/exponentf.m4.
24288         * modules/isnand: Use new file m4/exponentd.m4.
24289         * modules/isnanl: Use new file m4/exponentl.m4.
24290
24291 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
24292
24293         mktime.c: normalize tp->tm_isdst value to -1/0/1.
24294         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
24295         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
24296         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
24297
24298         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
24299         readlink on platforms without PATH_MAX.
24300
24301 2008-07-21  Eric Blake  <ebb9@byu.net>
24302
24303         Warn, not fail, on stale version.
24304         * top/GNUmakefile (_curr-ver): Tone down previous patch.
24305
24306         Don't allow installation with stale devel version number.
24307         * top/GNUmakefile (_is-install-target): New macro.
24308         (_curr-ver): Forbid installation with stale version number.
24309
24310 2008-07-20  Bruno Haible  <bruno@clisp.org>
24311
24312         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
24313         TESTS_ENVIRONMENT.
24314         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
24315
24316 2008-07-20  Bruno Haible  <bruno@clisp.org>
24317
24318         * lib/c-stack.h (c_stack_action): Add documentation.
24319         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
24320
24321 2008-07-20  Bruno Haible  <bruno@clisp.org>
24322
24323         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
24324         * modules/readlink (License): Likewise.
24325
24326 2008-07-17  Eric Blake  <ebb9@byu.net>
24327
24328         * modules/c-stack (Link): Fix typo.
24329
24330         Make c-stack use libsigsegv, when available.
24331         * modules/c-stack (Depends-on): Add libsigsegv.
24332         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
24333         needed.
24334         * lib/c-stack.c (SIGSTKSZ): Define fallback.
24335         (segv_handler, overflow_handler, c_stack_action)
24336         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
24337         implementation when libsigsegv is available, but only when using
24338         the library is necessary.
24339         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
24340         comment, explaining why XSI check fails on Linux.
24341         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
24342         * tests/test-c-stack2.sh: Tweak skip message.
24343         * NEWS: Document new link-time requirements.
24344
24345 2008-07-16  Eric Blake  <ebb9@byu.net>
24346
24347         c-stack: Expose false positives when not using libsigsegv.
24348         * modules/c-stack-tests (Files): Expand test.
24349         * tests/test-c-stack.c (main): Add means to conditionally trigger
24350         non-overflow SIGSEGV.
24351         * tests/test-c-stack2.sh: New file.
24352
24353 2008-07-14  Bruno Haible  <bruno@clisp.org>
24354
24355         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
24356         Reported by Eric Blake.
24357
24358 2008-07-14  Sam Steingold  <sds@gnu.org>
24359             Bruno Haible  <bruno@clisp.org>
24360
24361         New module libsigsegv.
24362         * modules/libsigsegv: New file.
24363         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
24364         modifications.
24365         * MODULES.html.sh (Signal handling): New section.
24366
24367 2008-07-14  Bruno Haible  <bruno@clisp.org>
24368
24369         * modules/unictype/ctype-* (Description): Add the word "function".
24370         Improves the resulting doc in MODULES.html.
24371
24372 2008-07-12  Ben Pfaff  <blp@gnu.org>
24373
24374         Add longlong module.
24375         * modules/longlong: New file.
24376
24377 2008-07-12  Bruno Haible  <bruno@clisp.org>
24378
24379         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
24380         to empty.
24381
24382 2008-07-10  Ben Pfaff  <blp@gnu.org>
24383
24384         Add isnan module.
24385         * doc/posix-functions/isnan.texi: Mention new module.
24386         * lib/math.in.h: Define isnan macro if we have decided to replace
24387         it.
24388         * m4/isnan.m4: New file.
24389         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
24390         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
24391         also.
24392         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
24393         redundancy.
24394         * m4/math_h.m4: Initialize and substitute variables for isnan
24395         module.
24396         * modules/isnan: New file.
24397         * modules/isnan-tests: New file.
24398         * modules/math: Add substitutions for new module.
24399         * tests/test-isnan.c: New file.
24400         * MODULES.html.sh: Mention new module.
24401
24402 2008-07-10  Ben Pfaff  <blp@gnu.org>
24403
24404         Add isnanf module.
24405         * lib/isnanf.m4: New file.
24406         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
24407         (gl_HAVE_ISNANF_IN_LIBM): New macro.
24408         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
24409         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
24410         * modules/isnanf: New file.
24411         * modules/isnanf-tests: New file.
24412         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
24413         files.
24414         * tests/test-isnanf-nolibm.c: factored most of its contents into
24415         new file tests/test-isnanf.h.
24416         * tests/test-isnanf.h: New file.
24417         * tests/test-isnanf.c: New file.
24418         * MODULES.html.sh: Mention new module.
24419         * doc/glibc-functions/isnanf.texi: Mention new module.
24420
24421 2008-07-10  Ben Pfaff  <blp@gnu.org>
24422
24423         Add isnand module.
24424         * lib/isnand.h: New file.
24425         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
24426         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
24427         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
24428         functionality also.
24429         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
24430         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
24431         (gl_HAVE_ISNAND_IN_LIBM): New macro.
24432         * modules/isnand: New file.
24433         * modules/isnand-tests: New file.
24434         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
24435         files.
24436         * tests/test-isnand-nolibm.c: factored most of its contents into
24437         new file tests/test-isnand.h.
24438         * tests/test-isnand.h: New file.
24439         * tests/test-isnand.c: New file.
24440         * MODULES.html.sh: Mention new module.
24441
24442 2008-07-10  Ben Pfaff  <blp@gnu.org>
24443
24444         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
24445         * lib/isnand.h: Rename lib/isnand-nolibm.h.
24446         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
24447         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
24448         * modules/isnanf-nolibm: Update references to renamed files.
24449         * modules/isnand-nolibm: Likewise.
24450         * modules/isnanf-nolibm-tests: Likewise.
24451         * modules/isnand-nolibm-tests: Likewise.
24452         * lib/frexp.c: Likewise.
24453         * lib/isfinite.c: Likewise.
24454         * lib/signbitd.c: Likewise.
24455         * lib/signbitf.c: Likewise.
24456         * lib/vasnprintf.c: Likewise.
24457         * tests/test-ceilf1.c: Likewise.
24458         * tests/test-ceilf2.c: Likewise.
24459         * tests/test-floorf1.c: Likewise.
24460         * tests/test-floorf2.c: Likewise.
24461         * tests/test-frexp.c: Likewise.
24462         * tests/test-round1.c: Likewise.
24463         * tests/test-round2.c: Likewise.
24464         * tests/test-roundf1.c: Likewise.
24465         * tests/test-strtod.c: Likewise.
24466         * tests/test-trunc1.c: Likewise.
24467         * tests/test-trunc2.c: Likewise.
24468         * tests/test-truncf1.c: Likewise.
24469         * tests/test-truncf2.c: Likewise.
24470         * NEWS: Mention the renamed header files.
24471
24472 2008-07-11  Jim Meyering  <meyering@redhat.com>
24473
24474         vc-list-files: make the last-resort awk code more portable
24475         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
24476         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
24477         does not support it.
24478
24479 2008-07-10  Eric Blake  <ebb9@byu.net>
24480
24481         Work with tar's bootstrap.
24482         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
24483         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
24484         an m4 comment.
24485
24486 2008-07-09  Jim Meyering  <meyering@redhat.com>
24487
24488         posix-shell.m4: fix typo that made this test malfunction
24489         * m4/posix-shell.m4: Remove capitalization in variable name.
24490
24491 2008-07-08  Bruno Haible  <bruno@clisp.org>
24492
24493         * m4/onceonly.m4: Update comments.
24494         Reported by Ben Pfaff <blp@cs.stanford.edu>.
24495
24496 2008-07-04  Jim Meyering  <meyering@redhat.com>
24497
24498         * users.txt: Add vc-dwim.
24499         (bison, coreutils): Use the gitweb URL.
24500
24501 2008-07-03  Jim Meyering  <meyering@redhat.com>
24502
24503         * users.txt: Add libffcall.  From Sam Steingold.
24504
24505 2008-07-03  OndÅ™ej Vašík  <ovasik@redhat.com>
24506
24507         getdate.y: do not ignore TZ with relative day, month or year offset
24508         * lib/getdate.y (get_date): Move the tz-handling block to follow the
24509         relative-date-handling, since otherwise, the latter would clobber the
24510         sole output (an updated Start value) of the tz-handling block.
24511         * tests/test-getdate.c: Tests for the fix
24512
24513 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
24514
24515         Recognize 'foo_LIBRARIES += libgnu.a'.
24516         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
24517         makefile snippet has already specified an installation location,
24518         also using '+='.
24519
24520 2008-07-02  OndÅ™ej Vašík  <ovasik@redhat.com>
24521
24522         getdate.y: factor out common actions
24523         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
24524         Use them in place of open-coded actions.
24525
24526 2008-07-01  Simon Josefsson  <simon@josefsson.org>
24527
24528         Add self-test for getdate module.
24529         * modules/getdate-tests: New file.
24530         * tests/test-getdate.c: New file.
24531
24532 2008-06-29  Bruno Haible  <bruno@clisp.org>
24533
24534         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
24535         .gitignore.
24536         Reported by Sylvain Beucler <beuc@beuc.net>.
24537
24538 2008-06-29  Bruno Haible  <bruno@clisp.org>
24539
24540         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
24541         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
24542
24543 2008-06-29  Bruno Haible  <bruno@clisp.org>
24544
24545         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
24546         EXTRA_DIST.
24547         Reported by Sylvain Beucler <beuc@beuc.net>.
24548
24549 2008-06-26  Jim Meyering  <meyering@redhat.com>
24550
24551         make several modules depend on the "open" module
24552         This provides slightly increased consistency when opening-for-write
24553         the name of a non-directory spelled with a trailing slash.
24554         * modules/chdir-safer: Likewise.
24555         * modules/chown: Likewise.
24556         * modules/clean-temp: Likewise.
24557         * modules/copy-file: Likewise.
24558         * modules/fchdir: Likewise.
24559         * modules/fcntl-safer: Likewise.
24560         * modules/pipe: Likewise.
24561         * modules/utime: Likewise.
24562         Prompted by Eric Blake and Bruno Haible.
24563
24564 2008-06-24  Andreas Schwab  <schwab@suse.de>
24565
24566         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
24567         literals can be used as initializers for global variables.
24568
24569 2008-06-23  Eric Blake  <ebb9@byu.net>
24570
24571         Make gnulib-cache.m4 easier to diff.
24572         * gnulib-tool (func_import): Allow newlines when reading cached
24573         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
24574
24575 2008-06-23  Bruno Haible  <bruno@clisp.org>
24576
24577         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
24578         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
24579         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
24580         m4/signalblocking.m4.
24581         (gl_PREREQ_SIGACTION): Don't invoke it.
24582         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
24583         gl_PREREQ_SIG_HANDLER_H.
24584         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
24585         Don't check for sigaction here.
24586
24587 2008-06-23  Bruno Haible  <bruno@clisp.org>
24588
24589         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
24590         (install_handlers): Don't set the SA_RESETHAND flag.
24591
24592 2008-06-23  Bruno Haible  <bruno@clisp.org>
24593
24594         * m4/sigaction.m4: Comment fixes.
24595         * lib/signal.in.h: Likewise.
24596
24597 2008-06-23  Eric Blake  <ebb9@byu.net>
24598
24599         Fix typo.
24600         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
24601
24602         Avoid SA_ namespace.
24603         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
24604         Reported by Ralf Wildenhues.
24605
24606         Avoid test failure due to SA_RESTORER.
24607         * tests/test-sigaction.c (SA_MASK): New macro.
24608         (main): Avoid failing due to extension flags being set.
24609         Reported by Jim Meyering.
24610
24611         Revert use of sig-handler.h in sigprocmask.c.
24612         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
24613         it requires the existence of struct sigaction.
24614         * lib/sigprocmask.c (handler_t): Restore typedef.
24615         (rpl_signal, old_handlers): Use local type.
24616
24617 2008-06-22  Bruno Haible  <bruno@clisp.org>
24618
24619         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
24620         conditionally.
24621         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
24622
24623 2008-06-22  Bruno Haible  <bruno@clisp.org>
24624
24625         * doc/posix-functions/siginterrupt.texi: Move note.
24626
24627         * lib/signal.in.h (SA_RESTART): New macro.
24628         * lib/sigaction.c: Update comment.
24629
24630         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
24631
24632         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
24633         (gl_PREREQ_SIGPROCMASK): Invoke it.
24634         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
24635
24636         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
24637
24638         * lib/sigprocmask.c: Update a comment.
24639
24640 2008-06-21  Eric Blake  <ebb9@byu.net>
24641
24642         Use sigaction module rather than signal().
24643         * modules/c-stack (Depends-on): Add sigaction.
24644         * modules/fatal-signal (Depends-on): Likewise.
24645         * modules/nanosleep (Depends-on): Likewise.
24646         * modules/sigprocmask (Files): Add sig-handler.h.
24647         * modules/sigaction (Files): Likewise.
24648         * lib/sig-handler.h (get_handler): New file, suggested by Paul
24649         Eggert.
24650         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
24651         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
24652         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
24653         (init_fatal_signals): Likewise.
24654         * lib/nanosleep.c (rpl_nanosleep): Likewise.
24655         (siginterrupt): Delete fallback.
24656         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
24657         instead.
24658         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
24659         siginterrupt.
24660
24661         New module sigaction, for mingw.
24662         * modules/sigaction: New module...
24663         * modules/sigaction-tests: ...and its test.
24664         * m4/sigaction.m4: New file.
24665         * lib/sigaction.c: Likewise.
24666         * tests/test-sigaction.c: Likewise.
24667         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
24668         * modules/signal (Makefile.am): Likewise.
24669         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
24670         needed.
24671         * doc/posix-headers/signal.texi (signal.h): Mention provided
24672         types.
24673         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
24674         that sigaction is preferable.
24675         * doc/posix-functions/sigaction.texi (sigaction): Mention new
24676         module.
24677         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
24678         sigaction.
24679
24680         Improve robustness of sigprocmask by overriding signal.
24681         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
24682         is in use.
24683         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
24684         (SIGKILL, SIGSTOP): Provide fallbacks.
24685         (rpl_signal): Implement.
24686         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
24687         signal can be called inside handlers.
24688
24689         Fix nanosleep module on mingw.
24690         * modules/nanosleep (Depends-on): Add sys_select.
24691         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
24692
24693         Fix licensing of sigprocmask.
24694         * modules/raise (License): Relicense as LGPL.
24695
24696 2008-06-21  Bruno Haible  <bruno@clisp.org>
24697
24698         * lib/propername.c (proper_name_utf8): Don't use the transliterated
24699         result if it contains question marks.
24700         Reported by Michael Geng <linux@michaelgeng.de>.
24701
24702 2008-06-19  Bruno Haible  <bruno@clisp.org>
24703
24704         Fix CVS-ism.
24705         * doc/gnulib.texi: Include updated-stamp.texi.
24706         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
24707         (updated-stamp.texi): New rule.
24708         (gnulib.info): Depend on it.
24709         * doc/.gitignore: Add updated-stamp.texi.
24710         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
24711
24712 2008-06-19  Bruno Haible  <bruno@clisp.org>
24713
24714         * doc/Makefile (gnulib.info): Update and simplify dependencies.
24715         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
24716
24717 2008-06-19  Eric Blake  <ebb9@byu.net>
24718
24719         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
24720         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
24721         Reported by Stepan Kasal.
24722
24723 2008-06-18  Bruno Haible  <bruno@clisp.org>
24724
24725         * lib/fatal-signal.c (init_fatal_signals): Add comment.
24726         Reported by Eric Blake.
24727
24728 2008-06-18  Eric Blake  <ebb9@byu.net>
24729
24730         Work around cygwin 1.5.25 strsignal bug.
24731         * tests/test-strsignal.c: Allow for const char *.
24732         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
24733
24734 2008-06-18  Simon Josefsson  <simon@josefsson.org>
24735
24736         * users.txt: Update URL to article and add author/date
24737         information.
24738
24739 2008-06-17  Bruno Haible  <bruno@clisp.org>
24740
24741         New macro gl_DISABLE_THREADS.
24742         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
24743         if the user did not pass --enable-threads or --disable-threads option.
24744         (gl_DISABLE_THREADS): New macro.
24745         Reported by Eric Blake <ebb9@byu.net>.
24746
24747 2008-06-17  Bruno Haible  <bruno@clisp.org>
24748
24749         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
24750         when the macro ignores it.
24751         Based on a patch by Eric Blake <ebb9@byu.net>.
24752
24753 2008-06-17  Bruno Haible  <bruno@clisp.org>
24754
24755         * modules/tls (License): Change to LGPLv2+.
24756         Reported by Eric Blake.
24757
24758 2008-06-17  Eric Blake  <ebb9@byu.net>
24759
24760         Simplify c-stack prerequisites.
24761         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
24762         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
24763         no longer requires <ucontext.h> to exist.  Optimize setrlimit
24764         check.
24765         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
24766         <sys/resource.h>.
24767
24768         Move c-stack test into testsuite.
24769         * modules/c-stack-tests: New file.
24770         * lib/c-stack.c [DEBUG]: Move test program...
24771         * tests/test-c-stack.c: ...into this new file.  Skip rather than
24772         fail test if sigaltstack is lacking.
24773         * tests/test-c-stack.sh: New driver file.
24774
24775 2008-06-16  Eric Blake  <ebb9@byu.net>
24776
24777         Use raise module consistently.
24778         * modules/fatal-signal (Depends-on): Add raise.
24779         * modules/sigprocmask (Depends-on): Likewise.
24780         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
24781         * lib/sigprocmask.c (sigprocmask): Likewise.
24782         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
24783         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
24784
24785         Fix compliance bug in sigpending.
24786         * lib/sigprocmask.c (sigpending): Return pending array via
24787         parameter, not return value.
24788
24789 2008-06-14  Eric Blake  <ebb9@byu.net>
24790
24791         Improve obstack-printf test code.
24792         * tests/test-obstack-printf.c (test_function): Fix comment, and
24793         simplify usage of obstack_* in macros.  Add a test for coverage.
24794         Reported by Bruno Haible.
24795
24796 2008-06-14  Bruno Haible  <bruno@clisp.org>
24797
24798         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
24799         array size as a constant, not as a const variable.
24800         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
24801         AC_USE_SYSTEM_EXTENSIONS.
24802         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
24803         Test whether the obstack_printf function actually exists.
24804         * modules/obstack-printf (Depends-on): Add extensions.
24805         (Include): Remove obstack.h.
24806         * modules/obstack-printf-posix (Depends-on): Add extensions.
24807         (Include): Remove obstack.h.
24808
24809 2008-06-13  Eric Blake  <ebb9@byu.net>
24810
24811         Add obstack-printf and obstack-printf-posix modules.
24812         * modules/obstack-printf: New file.
24813         * modules/obstack-printf-posix: Likewise.
24814         * MODULES.html.sh (Misc): Mention them.
24815         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
24816         Likewise.
24817         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
24818         Likewise.
24819         * modules/stdio (Makefile.am): Accomodate new modules.
24820         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
24821         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
24822         Declare.
24823         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
24824         functions.
24825         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
24826         (gl_REPLACE_OBSTACK_PRINTF): New macros
24827         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
24828         * tests/test-obstack-printf.c: New file.
24829         * modules/obstack-printf-tests: Likewise.
24830         * modules/obstack-printf-posix-tests: Likewise.
24831
24832 2008-06-11  Bruno Haible  <bruno@clisp.org>
24833
24834         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
24835         * lib/open.c: Include errno.h.
24836         (open): Fail when attempting to write to a file that has a trailing
24837         slash.
24838         * tests/test-open.c (main): Test against trailing slash bug.
24839         * doc/posix-functions/open.texi: Mention the trailing slash bug.
24840
24841 2008-06-10  Bruno Haible  <bruno@clisp.org>
24842
24843         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
24844         for $? to work inside the trap command, with various /bin/sh-s.
24845         * tests/test-vc-list-files-cvs.sh: Likewise.
24846
24847 2008-06-10  Bruno Haible  <bruno@clisp.org>
24848
24849         * lib/acl-internal.h: Don't include gettext.h here.
24850         * lib/set-mode-acl.c: Include gettext.h here.
24851         * lib/copy-acl.c: Likewise.
24852
24853 2008-06-10  Bruno Haible  <bruno@clisp.org>
24854
24855         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
24856         * lib/wait-process.c (wait_subprocess): Likewise.
24857         * lib/execute.h (execute): Add termsigp argument.
24858         * lib/execute.c (execute): Likewise.
24859         * lib/csharpcomp.c (compile_csharp_using_pnet,
24860         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
24861         * lib/csharpexec.c (execute_csharp_using_pnet,
24862         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
24863         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
24864         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
24865         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
24866         is_jikes_present): Update.
24867         * lib/javaexec.c (execute_java_class): Update.
24868         * lib/javaversion.c (execute_and_read_line): Update.
24869         * NEWS: Document the changes.
24870         Reported by Eric Blake.
24871
24872 2008-06-10  Eric Blake  <ebb9@byu.net>
24873
24874         Add missing include.
24875         * tests/test-strstr.c (includes): Add <signal.h>.
24876         * tests/test-strcasestr.c (includes): Likewise.
24877         * tests/test-memmem.c (includes): Likewise.
24878
24879 2008-06-10  Bruno Haible  <bruno@clisp.org>
24880
24881         * lib/wait-process.c (wait_subprocess): Add an assertion.
24882
24883 2008-06-10  Bruno Haible  <bruno@clisp.org>
24884
24885         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
24886
24887 2008-06-10  Bruno Haible  <bruno@clisp.org>
24888
24889         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
24890         using alarm().
24891         * tests/test-strcasestr.c (main): Likewise.
24892         * tests/test-strstr.c (main): Likewise.
24893
24894 2008-06-09  Bruno Haible  <bruno@clisp.org>
24895
24896         Work around the Solaris 10 ACE ACLs ABI change.
24897         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
24898         declare if ACL_NO_TRIVIAL is present.
24899         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
24900         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
24901         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
24902         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
24903         define if ACL_NO_TRIVIAL is present.
24904         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
24905         and use the current ABI.
24906         (file_has_acl): Use same #if condition as elsewhere.
24907         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
24908         in use, and use the current ABI.
24909         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
24910         Reported by Jim Meyering.
24911
24912 2008-06-09  Eric Blake  <ebb9@byu.net>
24913
24914         Work around environments that (stupidly) ignore SIGALRM.
24915         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
24916         before using alarm().
24917         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
24918         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
24919         Reported by Ian Beckwith <ianb@erislabs.net>.
24920
24921         Produce autobuild blurb earlier in log.
24922         * modules/autobuild (configure.ac-early): Move AB_INIT here.
24923
24924 2008-06-09  Jim Meyering  <meyering@redhat.com>
24925         and OndÅ™ej Vašík  <ovasik@redhat.com>
24926
24927         utimens.c: correct kernel bug work-around
24928         OndÅ™ej Vašík found that the invalid return value of 280 indicates
24929         failure, not success, and the kernel bug we're trying to work
24930         around affects not just the utimensat call, but also the fallback
24931         futimens call.
24932         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
24933         not success.
24934         [HAVE_FUTIMENS]: Use the same work-around, here.
24935
24936 2008-06-09  Jim Meyering  <meyering@redhat.com>
24937
24938         add more guards around definition of ACE_-related code
24939         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
24940         ALLOW and ACE_OWNER are also defined.
24941
24942 2008-06-08  Bruno Haible  <bruno@clisp.org>
24943
24944         * lib/acl-internal.h: Add me as co-author.
24945         * lib/file-has-acl.c: Likewise.
24946         * lib/set-mode-acl.c: Likewise.
24947         * lib/copy-acl.c: Likewise.
24948
24949 2008-06-08  Bruno Haible  <bruno@clisp.org>
24950
24951         Add support for AIX ACLs.
24952         * lib/acl-internal.h (acl_nontrivial): New declaration.
24953         * lib/file-has-acl.c (acl_nontrivial): New function.
24954         (file_has_acl): Add implementation using AIX 4 ACL API.
24955         * lib/set-mode-acl.c (qset_acl): Likewise.
24956         * lib/copy-acl.c (qcopy_acl): Likewise.
24957
24958 2008-06-08  Bruno Haible  <bruno@clisp.org>
24959
24960         Add support for HP-UX ACLs.
24961         * lib/acl-internal.h (acl_nontrivial): New declaration.
24962         * lib/file-has-acl.c (acl_nontrivial): New function.
24963         (file_has_acl): Add implementation using HP-UX 11 ACL API.
24964         * lib/set-mode-acl.c (qset_acl): Likewise.
24965         * lib/copy-acl.c (qcopy_acl): Likewise.
24966
24967 2008-06-08  Bruno Haible  <bruno@clisp.org>
24968
24969         Add support for Cygwin ACLs.
24970         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
24971         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
24972         the chmod_or_fchmod call.
24973         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
24974
24975 2008-06-08  Bruno Haible  <bruno@clisp.org>
24976
24977         Fix bug with setuid modes in Solaris 10+ code.
24978         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
24979         succeeded, when the mode contains some special bits.
24980
24981 2008-06-08  Bruno Haible  <bruno@clisp.org>
24982
24983         Add support for Solaris 7..10 ACLs.
24984         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
24985         declarations.
24986         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
24987         functions.
24988         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
24989         * lib/set-mode-acl.c (qset_acl): Likewise.
24990         * lib/copy-acl.c (qcopy_acl): Likewise.
24991
24992 2008-06-08  Bruno Haible  <bruno@clisp.org>
24993
24994         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
24995         declaration.
24996         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
24997         (acl_access_nontrivial): Remove MacOS X case.
24998         (file_has_acl): Use acl_extended_nontrivial.
24999         * lib/copy-acl.c (qcopy_acl): Likewise.
25000
25001 2008-06-08  Bruno Haible  <bruno@clisp.org>
25002
25003         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
25004
25005 2008-06-08  Jim Meyering  <meyering@redhat.com>
25006
25007         * modules/acl (Maintainer): Add Bruno Haible.
25008
25009 2008-06-07  Bruno Haible  <bruno@clisp.org>
25010
25011         Improve support for Tru64 ACLs.
25012         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
25013         ACL on OSF/1.
25014
25015 2008-06-07  Bruno Haible  <bruno@clisp.org>
25016
25017         Add support for MacOS X ACLs.
25018         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
25019         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
25020         * lib/set-mode-acl.c (qset_acl): Likewise.
25021         * lib/copy-acl.c (qcopy_acl): Likewise.
25022
25023 2008-06-07  Bruno Haible  <bruno@clisp.org>
25024
25025         Fix memory leak introduced on 2008-05-22.
25026         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
25027         use.
25028
25029 2008-06-07  Bruno Haible  <bruno@clisp.org>
25030
25031         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
25032         to construct an empty ACL.
25033
25034 2008-06-07  Bruno Haible  <bruno@clisp.org>
25035
25036         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
25037         precisely.
25038         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
25039
25040 2008-06-07  Bruno Haible  <bruno@clisp.org>
25041
25042         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
25043         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
25044
25045 2008-06-07  Bruno Haible  <bruno@clisp.org>
25046
25047         * doc/posix-functions/_setjmp.texi: Explain the use of this function
25048         regardless of POSIX.
25049         * doc/posix-functions/_longjmp.texi: Likewise.
25050         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
25051         SystemV platform in this case.
25052
25053 2008-06-06  Eric Blake  <ebb9@byu.net>
25054
25055         Document abort() bugs.
25056         * doc/posix-functions/abort.texi (abort): Mention anomalies.
25057
25058         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
25059         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
25060         sigsetjmp.
25061         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
25062         siglongjmp, but only as a macro.
25063         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
25064         is obsolete.
25065         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
25066
25067         Tweak documentation to cover cygwin argz bugs.
25068         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
25069         argz bug fix; no code change needed since no cygwin releases
25070         occurred between the last fix and the bug being tested.
25071         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
25072         module and recently fixed cygwin bugs.
25073         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
25074         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
25075         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
25076         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
25077         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
25078         Likewise.
25079         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
25080         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
25081         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
25082         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
25083         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
25084         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
25085         Likewise.
25086
25087         Avoid gcc warning on cygwin.
25088         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
25089         !ACL_NO_TRIVIAL]: Avoid unused variable.
25090
25091 2008-06-05  Eric Blake  <ebb9@byu.net>
25092
25093         Be tolerant of UNKNOWN version in gnulib-tool test dir.
25094         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
25095         git-version-gen fails to come up with a version.
25096         Reported by Simon Josefsson.
25097
25098 2008-06-05  Jim Meyering  <meyering@redhat.com>
25099             Paul Eggert  <eggert@cs.ucla.edu>
25100
25101         utimens.c: work around a probable Linux kernel bug
25102         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
25103         appears to be a kernel bug that causes utimensat to return 280
25104         instead of 0, indicating success.
25105
25106 2008-06-04  Bruno Haible  <bruno@clisp.org>
25107
25108         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
25109         2008-06-01 commit.
25110
25111 2008-06-04  Bruno Haible  <bruno@clisp.org>
25112
25113         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
25114         * lib/file-has-acl.c (acl_access_nontrivial): New function.
25115         (file_has_acl): Use it. Save errno afterwards.
25116         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
25117
25118 2008-06-03  Bruno Haible  <bruno@clisp.org>
25119
25120         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
25121         draft code. Simplify #ifs.
25122         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
25123         Put Solaris code after POSIX-draft code. Fix comments regarding
25124         Solaris 10, HP-UX. Mention Cygwin.
25125         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
25126
25127 2008-06-03  Eric Blake  <ebb9@byu.net>
25128
25129         Provide fallback for older kernels.
25130         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
25131         Provide runtime fallback if kernel lacks support.
25132         Reported by Mike Frysinger.
25133
25134 2008-06-02  Bruno Haible  <bruno@clisp.org>
25135
25136         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
25137         it exists.
25138
25139 2008-06-02  Bruno Haible  <bruno@clisp.org>
25140
25141         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
25142         * lib/copy-acl.c (qcopy_acl): Update comment.
25143
25144 2008-06-02  Bruno Haible  <bruno@clisp.org>
25145
25146         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
25147         like ACL APIs.
25148
25149 2008-06-02  Bruno Haible  <bruno@clisp.org>
25150
25151         * tests/test-file-has-acl.sh: Use different code for Cygwin.
25152         * tests/test-set-mode-acl.sh: Likewise.
25153         * tests/test-copy-acl.sh: Likewise.
25154         * tests/test-copy-file.sh: Likewise.
25155
25156 2008-06-02  Bruno Haible  <bruno@clisp.org>
25157
25158         * tests/test-file-has-acl.sh: Remove unused code.
25159
25160 2008-06-01  Bruno Haible  <bruno@clisp.org>
25161
25162         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
25163         (copy_acl): Just a wrapper around qcopy_acl that emits the error
25164         messages.
25165         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
25166
25167 2008-06-01  Bruno Haible  <bruno@clisp.org>
25168
25169         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
25170         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
25171         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
25172         APIs.
25173         * modules/acl-tests (configure.ac): Remove tests now contained in
25174         m4/acl.m4.
25175
25176 2008-06-02  Jim Meyering  <meyering@redhat.com>
25177
25178         announce-gen: use a better key-server host name
25179         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
25180         it may be more consistently reliable.  Suggested by Werner Koch
25181         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
25182
25183 2008-06-01  Bruno Haible  <bruno@clisp.org>
25184
25185         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
25186         Reported by Voroskoi Andras <voroskoi@gmail.com>.
25187
25188 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
25189
25190         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
25191
25192 2008-06-01  Bruno Haible  <bruno@clisp.org>
25193
25194         New ACL tests.
25195         * tests/test-file-has-acl.sh: New file.
25196         * tests/test-file-has-acl.c: New file.
25197         * tests/test-set-mode-acl.sh: New file.
25198         * tests/test-set-mode-acl.c: New file.
25199         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
25200         * tests/test-copy-acl.c: New file.
25201         * modules/acl-tests: New file, based on modules/copy-file-tests.
25202         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
25203         (Depends-on): Add acl-tests.
25204         (configure.ac): Remove checks.
25205         (Makefile.am): Don't create test-sameacls program here any more.
25206
25207 2008-06-01  Bruno Haible  <bruno@clisp.org>
25208
25209         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
25210         * tests/test-sameacls.c: Include progname.h.
25211         (main): Invoke set_program_name. Portability fixes for MacOS X,
25212         Solaris, HP-UX.
25213
25214 2008-06-01  Bruno Haible  <bruno@clisp.org>
25215
25216         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
25217         function.
25218         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
25219
25220 2008-06-01  Bruno Haible  <bruno@clisp.org>
25221
25222         * modules/rpmatch (Depends-on): Add strdup.
25223
25224 2008-06-01  Bruno Haible  <bruno@clisp.org>
25225
25226         * lib/pipe.c: Include unistd-safer.h.
25227         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
25228         * modules/pipe (Depends-on): Add unistd-safer.
25229
25230 2008-05-30  Simon Josefsson  <simon@josefsson.org>
25231
25232         * modules/autobuild (configure.ac): Call AB_INIT.
25233
25234 2008-05-30  Simon Josefsson  <simon@josefsson.org>
25235
25236         * tests/test-getaddrinfo.c: Don't print debug messages by default.
25237         Suggested by Bruno Haible <bruno@clisp.org>.
25238
25239 2008-05-30  Simon Josefsson  <simon@josefsson.org>
25240
25241         * tests/test-base64.c: Cast size_t to unsigned long when invoking
25242         printf.  Use %lu instead of %d.  Reported by Bruno Haible
25243         <bruno@clisp.org>.
25244
25245 2008-05-29  Eric Blake  <ebb9@byu.net>
25246
25247         Prefer new POSIX 200x interfaces over futimesat.
25248         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
25249         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
25250         when available.
25251         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
25252
25253 2008-05-28  Bruno Haible  <bruno@clisp.org>
25254
25255         * modules/stpcpy (License): Change to LGPLv2+.
25256         Requested by David Lutterkort <dlutter@redhat.com>.
25257
25258 2008-05-27  Bruno Haible  <bruno@clisp.org>
25259
25260         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
25261         current mingw.
25262         Reported by Jose E. Marchesi <jemarch@gnu.org>.
25263
25264 2008-05-27  Bruno Haible  <bruno@clisp.org>
25265
25266         * modules/iconv_open (Link): New section, from module 'iconv'.
25267         * modules/striconv (Link): Likewise.
25268         * modules/striconveh (Link): Likewise.
25269         * modules/xstriconv (Link): Likewise.
25270         * modules/unicodeio (Link): Likewise.
25271         * modules/propername (Link): Likewise.
25272         Reported by Jim Meyering.
25273
25274 2008-05-26  Jim Meyering  <meyering@redhat.com>
25275
25276         sha256: do not artificially restrict buffer length to be < 2^32
25277         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
25278         uint32_t to size_t.
25279         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
25280         to match.
25281
25282         avoid unaligned access errors, e.g., on sparc
25283         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
25284         direct access through a possibly-unaligned uint64* pointer.
25285         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
25286         direct access through a possibly-unaligned uint32* pointer.
25287         Prompted by this patch from Tom "spot" Callaway:
25288         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
25289
25290         sha512.c: fix typo in comment
25291         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
25292
25293 2008-05-25  Bruno Haible  <bruno@clisp.org>
25294
25295         * lib/set-mode-acl.c: Renamed from lib/acl.c.
25296         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
25297         (Makefile.am): Update lib_SOURCES.
25298
25299 2008-05-25  Bruno Haible  <bruno@clisp.org>
25300
25301         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
25302
25303 2008-05-25  Jim Meyering  <meyering@redhat.com>
25304
25305         useless-if-before-free: freed expr may have white-space differences
25306         * build-aux/useless-if-before-free: Recognize cases in which the
25307         freed expression differs from the tested one in embedded white
25308         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
25309         $1 was used, so we can't make any regexp shy.  Improved tests now
25310         detect this.
25311
25312         useless-if-before-free: accept white space in the expression.
25313         * build-aux/useless-if-before-free: For now, any white space
25314         in the expression must be identical in the free argument.
25315
25316         useless-if-before-free: efficiency tweak
25317         * build-aux/useless-if-before-free: Make the expression-matching
25318         regexp "shy".
25319         Make the *outer* regexp shy, not the expr-matching one.
25320
25321         update code-in-comment to accept cast of free arg
25322         * build-aux/useless-if-before-free: Update regexp.
25323
25324 2008-05-25  Bruno Haible  <bruno@clisp.org>
25325
25326         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
25327         * modules/copy-file-tests (Files, Makefile.am): Update.
25328         * tests/test-copy-file.c (func_test_copy): Update.
25329
25330 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
25331
25332         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
25333
25334 2008-05-23  Bruno Haible  <bruno@clisp.org>
25335
25336         Improve support for ACLs on OSF/1.
25337         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
25338         Remove fallback for unknown flavors of ACLs.
25339
25340 2008-05-22  Bruno Haible  <bruno@clisp.org>
25341
25342         Add support for ACLs on OSF/1.
25343         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
25344         replacements.
25345         (acl_free_text): New macro fallback.
25346         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
25347         acl_free.
25348         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
25349         acl_free_text function. Require AC_C_INLINE.
25350
25351 2008-05-22  Bruno Haible  <bruno@clisp.org>
25352
25353         Make copy_acl work on MacOS X 10.5.
25354         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
25355         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
25356         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
25357         If MODE_INSIDE_ACL, don't assume that every system has the same text
25358         representation for ACLs as FreeBSD.
25359         * lib/copy-acl.c (copy_acl): Add support for platforms with
25360         !MODE_INSIDE_ACL.
25361         * lib/file-has-acl.c (file_has_acl): Likewise.
25362         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
25363         FreeBSD, MacOS X, or IRIX, respectively.
25364
25365 2008-05-22  Bruno Haible  <bruno@clisp.org>
25366
25367         * lib/acl.h: Don't include <sys/acl.h>.
25368         (GETACLCNT): Move fallback to lib/acl-internal.h.
25369         * lib/acl-internal.h: Include <sys/acl.h> here.
25370         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
25371
25372 2008-05-22  Bruno Haible  <bruno@clisp.org>
25373
25374         Split off copy_acl function to separate file.
25375         * lib/copy-acl.c: New file, extracted from lib/acl.c.
25376         * lib/acl.c (copy_acl): Moved function to separate file.
25377         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
25378         * modules/acl (Files): Add lib/copy-acl.c.
25379         (Makefiles.am): Augment lib_SOURCES.
25380
25381 2008-05-22  Bruno Haible  <bruno@clisp.org>
25382
25383         * modules/copy-file-tests: New file.
25384         * tests/test-copy-file.sh: New file.
25385         * tests/test-copy-file.c: New file.
25386         * tests/test-copy-file-sameacls.c: New file.
25387
25388 2008-05-22  Eric Blake  <ebb9@byu.net>
25389
25390         Avoid gcc warning.
25391         * tests/test-memcmp.c (main): Pass NULL indirectly.
25392
25393 2008-05-21  Bruno Haible  <bruno@clisp.org>
25394
25395         Add reference doc about ACLs.
25396         * doc/acl-resources.txt: New file.
25397         * doc/acl-cygwin.txt: New file.
25398
25399 2008-05-21  Bruno Haible  <bruno@clisp.org>
25400
25401         Avoid one more warning from gcc.
25402         * lib/vasnprintf.c (IF_LINT): Update comments.
25403         (VASNPRINTF): Use it also for the 'prefix' array initializer.
25404
25405 2008-05-21  Jim Meyering  <meyering@redhat.com>
25406
25407         avoid a warning from gcc
25408         * lib/vasnprintf.c (IF_LINT): Define.
25409         (scale10_round_decimal_long_double):
25410         Use it to avoid a "may be used uninitialized" warning.
25411         (scale10_round_decimal_double): Likewise.
25412
25413 2008-05-21  Simon Josefsson  <simon@josefsson.org>
25414
25415         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
25416         declared.
25417
25418 2008-05-20  Bruno Haible  <bruno@clisp.org>
25419
25420         * tests/test-memcmp.c (main): Test also the sign of the result. Test
25421         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
25422
25423 2008-05-20  Simon Josefsson  <simon@josefsson.org>
25424
25425         * modules/memcmp-tests: New file.
25426         * tests/test-memcmp.c: New file.
25427
25428 2008-05-19  Bruno Haible  <bruno@clisp.org>
25429
25430         * modules/propername (Notice, configure.ac): Put quoted "..." into
25431         --keyword option.
25432         * lib/propername.h: Update comments accordingly.
25433         Reported by Eric Blake.
25434
25435 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
25436
25437         * modules/getpass-gnu (Depends-on): Add fseeko.
25438
25439 2008-05-19  Simon Josefsson  <simon@josefsson.org>
25440
25441         * modules/base64-tests: New file.
25442
25443 2008-05-19  Bo Borgerson <gigabo@gmail.com>
25444
25445         * lib/base64.c (base64_decode_ctx): If a decode context structure
25446         was passed in use it to ignore newlines.  If a context structure
25447         was _not_ passed in, continue to treat newlines as garbage (this
25448         is the historical behavior).  Formerly base64_decode.
25449         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
25450         takes a decode context structure.
25451         * lib/base64.h (base64_decode): Macro for four-argument calls.
25452         (base64_decode_alloc): Likewise.
25453         * lib/base64.c (base64_decode_ctx): If a decode context structure
25454         was passed in use it to ignore newlines.  If a context structure
25455         was _not_ passed in, continue to treat newlines as garbage (this
25456         is the historical behavior).  Formerly base64_decode.
25457         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
25458         takes a decode context structure.
25459         * lib/base64.h (base64_decode): Macro for four-argument calls.
25460         (base64_decode_alloc): Likewise.
25461
25462 2008-05-19  Jim Meyering  <meyering@redhat.com>
25463
25464         avoid a warning from gcc
25465         * lib/trim.c (IF_LINT): Define.
25466         (trim2): Use it to avoid a "may be used uninitialized" warning.
25467
25468         Fix doc typo.
25469         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
25470
25471 2008-05-19  Bruno Haible  <bruno@clisp.org>
25472
25473         * doc/glibc-functions/getpass.texi: Document limits of other
25474         implementations.
25475
25476 2008-05-19  Simon Josefsson  <simon@josefsson.org>
25477             Bruno Haible <bruno@clisp.org>
25478
25479         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
25480
25481 2008-05-18  Bruno Haible  <bruno@clisp.org>
25482
25483         * modules/propername: New file, from GNU gettext.
25484         * lib/propername.h: New file, from GNU gettext.
25485         * lib/propername.c: New file, from GNU gettext.
25486         * MODULES.html.sh (Internationalization functions): Add propername.
25487
25488 2008-05-16  Jim Meyering  <meyering@redhat.com>
25489             Bruno Haible  <bruno@clisp.org>
25490
25491         Avoid some warnings from "gcc -Wshadow".
25492         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
25493
25494 2008-05-15  Eric Blake  <ebb9@byu.net>
25495
25496         Extend previous patch to cygwin 1.7.0.
25497         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
25498         fast implementation in cygwin >= 1.7.0.
25499         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
25500         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
25501
25502 2008-05-15  Bruno Haible  <bruno@clisp.org>
25503
25504         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
25505         implementation in glibc >= 2.9.
25506         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
25507         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
25508
25509 2008-05-15  Bruno Haible  <bruno@clisp.org>
25510
25511         * MODULES.html.sh (Internationalization functions): Remove linebreak.
25512         (Unicode string functions): Add unilbrk/*.
25513         Reported by Karl Berry.
25514
25515 2008-05-15  Eric Blake  <ebb9@byu.net>
25516
25517         Fix violation of <stdbool.h> replacement in regex.
25518         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
25519         * lib/regexec.c (re_search_internal): Likewise.
25520         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
25521
25522 2008-05-15  Jim Meyering  <meyering@redhat.com>
25523
25524         avoid distracting test output when git or cvs is not found
25525         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
25526         * tests/test-vc-list-files-git.sh: Likewise.
25527
25528 2008-05-15  Eric Blake  <ebb9@byu.net>
25529
25530         Glibc finally accepted the memmem speedup code, bugzilla #5514.
25531         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
25532         glibc version.
25533         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
25534         * doc/posix-functions/strstr.texi (strstr): Likewise.
25535         * lib/str-two-way.h (MAX): Sychronize with glibc.
25536
25537 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
25538
25539         * lib/regcomp.c (optimize_utf8): Add a note on why we test
25540         opr.ctx_type.
25541         (calc_first): Initialize constraint field.
25542         (duplicate_node_closure): Use it instead of special casing ANCHORS.
25543         Fix grammar.
25544         (duplicate_node): Merge constraint field for all node types.
25545         (calc_eclosure_iter): Look at constraint field for all node types.
25546         * lib/regex_internal.c (create_cd_newstate): Don't look at
25547         opr.ctx_type.
25548
25549 2008-05-14  Bruno Haible  <bruno@clisp.org>
25550
25551         Help GCC to do better code generation.
25552         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
25553         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
25554         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
25555         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
25556         Declare with attribute 'malloc' if supported.
25557
25558 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
25559
25560         use "echo STR|wc -c" rather than unportable "expr length STR"
25561         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
25562         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
25563
25564 2008-05-14  Jim Meyering  <meyering@redhat.com>
25565
25566         use dd ibs=$n count=1 ... rather than less-portable head -c$n
25567         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
25568         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
25569         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
25570         via Collin Lasse.
25571
25572 2008-05-14  Eric Blake  <ebb9@byu.net>
25573
25574         Avoid quadratic growth in gl_LIBSOURCES.
25575         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
25576         Suggested by Bruno Haible.
25577
25578         Test xmemdup0.
25579         * modules/xmemdup0-tests: New file.
25580         * tests/test-xmemdup0.c: Likewise.
25581
25582 2008-05-13  Eric Blake  <ebb9@byu.net>
25583
25584         Split xmemdup0 into its own module.
25585         * modules/xmemdup0: New file.
25586         * lib/xmemdup0.h: Likewise.
25587         * lib/xmemdup0.c: Likewise.
25588         * MODULES.html.sh (Memory management functions): Add xmemdup0.
25589         * lib/xalloc.h (xmemdup0): Remove.
25590         * lib/xmalloc.c (xmemdup0): Likewise.
25591
25592 2008-05-13  Eric Blake  <ebb9@byu.net>
25593             Bruno Haible  <bruno@clisp.org>
25594
25595         Reduce number of forks required during autoconf.
25596         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
25597         and gl_LIBSOURCES_DIR.
25598         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
25599         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
25600         m4_syscmd per file.
25601         <m4_foreach_w>: Move...
25602         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
25603
25604 2008-05-13  Eric Blake  <ebb9@byu.net>
25605
25606         * gnulib-tool: Fix various comment typos.
25607
25608 2008-05-12  Bruno Haible  <bruno@clisp.org>
25609
25610         Tailor the linebreaking algorithm.
25611         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
25612
25613 2008-05-12  Bruno Haible  <bruno@clisp.org>
25614
25615         Update to Unicode 5.0.0.
25616         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
25617         LBP_JV, LBP_JT. Redistribute values.
25618         (unilbrk_table): Change size.
25619         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
25620         Unicode TR#14 rev. 22.
25621         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
25622         LBP_JV, LBP_JT. Redistribute values.
25623         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
25624         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
25625         Update.
25626         * lib/unilbrk/lbrkprop1.h: Regenerated.
25627         * lib/unilbrk/lbrkprop2.h: Regenerated.
25628         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
25629         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
25630         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
25631         Likewise.
25632         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
25633         Likewise.
25634         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
25635         result.
25636         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
25637         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
25638         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
25639         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
25640         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
25641         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
25642
25643 2008-05-11  Bruno Haible  <bruno@clisp.org>
25644
25645         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
25646
25647 2008-05-11  Bruno Haible  <bruno@clisp.org>
25648
25649         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
25650         * modules/unilbrk/gen-lbrk: New file.
25651
25652 2008-05-11  Bruno Haible  <bruno@clisp.org>
25653
25654         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
25655         * m4/sha512.m4 (gl_SHA512): Likewise.
25656
25657 2008-05-11  Jim Meyering  <meyering@redhat.com>
25658
25659         New modules: crypto/sha256, crypto/sha512 (from coreutils)
25660         * modules/crypto/sha256: New file.
25661         * modules/crypto/sha512: Likewise.
25662         * lib/sha256.c: Likewise.
25663         * lib/sha256.h: Likewise.
25664         * lib/sha512.c: Likewise.
25665         * lib/sha512.h: Likewise.
25666         * lib/u64.h: Likewise.
25667         * m4/sha256.m4: Likewise.
25668         * m4/sha512.m4: Likewise.
25669         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
25670
25671 2008-05-10  Bruno Haible  <bruno@clisp.org>
25672
25673         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
25674         (Input/Output <stdio.h>): Add xprintf.
25675         (Signal handling <signal.h>): Add strsignal.
25676         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
25677         (Core language properties): Add func.
25678         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
25679         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
25680         strings.
25681         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
25682         (Input/output): New section.
25683         (File system functions): Add openat-die, stat-macros.
25684         (Networking functions): Add sockets.
25685         (Unicode string functions): Add unictype/*.
25686         (Support for building libraries and executables): Add gperf.
25687         (Support for building documentation): Add agpl-3.0.
25688         (Misc): Add nocrash.
25689
25690 2008-05-10  Bruno Haible  <bruno@clisp.org>
25691
25692         * modules/unictype/gen-ctype: New file.
25693
25694 2008-05-10  Jim Meyering  <meyering@redhat.com>
25695
25696         Make chdir-safer.c more efficient on a system with no symlinks.
25697         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
25698         also if ELOOP is zero.  Suggested by Bruno Haible.
25699
25700         Make chdir-safer.c slightly safer.
25701         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
25702         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
25703
25704         Avoid compile failure on systems without ELOOP (like mingw).
25705         * lib/chdir-safer.c (ELOOP): Define if not already defined.
25706         Reported by Bruno Haible.
25707
25708 2008-05-10  Bruno Haible  <bruno@clisp.org>
25709
25710         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
25711         (is_utf8_encoding): Use a case-insensitive comparison.
25712         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
25713         streq.
25714
25715 2008-05-10  Bruno Haible  <bruno@clisp.org>
25716
25717         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
25718         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
25719         * lib/unilbrk/ulc-common.h (iconv_string_length,
25720         iconv_string_keeping_offsets): Remove declarations.
25721         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
25722         Don't include <iconv.h>, streq.h, xsize.h.
25723         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
25724         conversion.
25725         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
25726         <iconv.h>, streq.h, xsize.h.
25727         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
25728         conversion.
25729         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
25730         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
25731         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
25732         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
25733
25734 2008-05-10  Bruno Haible  <bruno@clisp.org>
25735
25736         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
25737         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
25738
25739         * modules/unilbrk/u32-width-linebreaks-tests: New file.
25740         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
25741
25742         * modules/unilbrk/u16-width-linebreaks-tests: New file.
25743         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
25744
25745         * modules/unilbrk/u8-width-linebreaks-tests: New file.
25746         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
25747
25748         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
25749         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
25750
25751         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
25752         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
25753
25754         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
25755         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
25756
25757         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
25758         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
25759
25760 2008-05-10  Bruno Haible  <bruno@clisp.org>
25761
25762         Split up 'linebreak' module.
25763         * lib/unilbrk.h: New file, based on lib/linebreak.h.
25764         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
25765         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
25766         modifications.
25767         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
25768         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
25769         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
25770         lib/linebreak.c.
25771         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
25772         lib/linebreak.c.
25773         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
25774         lib/linebreak.c.
25775         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
25776         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
25777         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
25778         lib/linebreak.c.
25779         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
25780         lib/linebreak.c.
25781         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
25782         lib/linebreak.c.
25783         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
25784         lib/linebreak.c.
25785         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
25786         lib/linebreak.c.
25787         * modules/unilbrk/base: New file.
25788         * modules/unilbrk/tables: New file.
25789         * modules/unilbrk/u8-possible-linebreaks: New file.
25790         * modules/unilbrk/u16-possible-linebreaks: New file.
25791         * modules/unilbrk/u32-possible-linebreaks: New file.
25792         * modules/unilbrk/ulc-common: New file.
25793         * modules/unilbrk/ulc-possible-linebreaks: New file.
25794         * modules/unilbrk/u8-width-linebreaks: New file.
25795         * modules/unilbrk/u16-width-linebreaks: New file.
25796         * modules/unilbrk/u32-width-linebreaks: New file.
25797         * modules/unilbrk/ulc-width-linebreaks: New file.
25798         * lib/linebreak.h: Remove file.
25799         * lib/linebreak.c: Remove file.
25800         * m4/linebreak.m4: Remove file.
25801         * modules/linebreak: Remove file.
25802         * NEWS: Mention the changes.
25803
25804 2008-05-09  Eric Blake  <ebb9@byu.net>
25805
25806         Add xmemdup0.
25807         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
25808         implementation.
25809         * lib/xmalloc.c (xmemdup0): New C implementation.
25810
25811 2008-05-08  Bruno Haible  <bruno@clisp.org>
25812
25813         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
25814
25815 2008-05-07  Eric Blake  <ebb9@byu.net>
25816
25817         Support cross-compilation of <wctype.h>.
25818         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
25819         AC_CACHE_CHECK.
25820
25821 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
25822
25823         * build-aux/vc-list-files: Add support for bzr.
25824
25825 2008-05-03  Jim Meyering  <meyering@redhat.com>
25826
25827         avoid failed assertion with tight malloc
25828         * tests/test-getndelim2.c: Correct an off-by-one assertion.
25829
25830 2008-05-03  Simon Josefsson  <simon@josefsson.org>
25831
25832         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
25833         are needed from arpa/inet.h.
25834         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
25835         Reported by Bruno Haible.
25836
25837 2008-05-02  Jim Meyering  <meyering@redhat.com>
25838
25839         avoid compilation error on FreeBSD 6
25840         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
25841
25842 2008-05-01  Jim Meyering  <meyering@redhat.com>
25843
25844         useless-if-before-free: correct --help's exit status description
25845         * build-aux/useless-if-before-free (usage): Like grep, exit 0
25846         for one or more matches, etc.  Reported by Bruno Haible.
25847
25848         vc-list-files: make the stand-alone gnulib test work
25849         * modules/vc-list-files-tests (configure.ac):
25850         Define and AC_SUBST abs_aux_dir.
25851         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
25852         $(abs_top_srcdir) to each script and having each of them
25853         duplicate the work of setting PATH, set PATH here, using
25854         the new variable, abs_aux_dir instead.
25855         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
25856         * tests/test-vc-list-files-git.sh: Likewise.
25857         Reported by Bruno Haible.
25858
25859 2008-05-01  Bruno Haible  <bruno@clisp.org>
25860
25861         * lib/getndelim2.c (getndelim2): Fix newsize computation during
25862         reallocation. Rename 'done' to 'found_delimiter'.
25863
25864 2008-05-01  Jim Meyering  <meyering@redhat.com>
25865
25866         vc-list-files: accommodate /bin/sh like the one from Solaris 10
25867         * build-aux/vc-list-files: Use `...`, not $(...).
25868
25869 2008-04-30  Jim Meyering  <meyering@redhat.com>
25870
25871         add tests for vc-list-files
25872         * modules/vc-list-files-tests: New module.
25873         * tests/test-vc-list-files-cvs.sh: New file.
25874         * tests/test-vc-list-files-git.sh: New file.
25875
25876         avoid a warning from gcc
25877         * lib/getndelim2.c (IF_LINT): Define.
25878         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
25879
25880         vc-list-files: work properly with build-aux/cvsu, too
25881         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
25882         to all cvs-based clauses.
25883
25884         vc-list-files: work properly in the CVS+awk case, too
25885         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
25886
25887         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
25888         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
25889         take more than one file argument, so .  Add quotes, just in case $dir
25890         ever contains a shell meta-character.  Prompted by Soren Hansen in
25891         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
25892
25893 2008-04-29  Eric Blake  <ebb9@byu.net>
25894
25895         Optimize getndelim2 to use block operations when possible.
25896         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
25897         freadseek, and memchr2.
25898         * lib/getndelim2.c (getndelim2): Use them for block reads.
25899
25900 2008-04-29  Bruno Haible  <bruno@clisp.org>
25901
25902         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
25903         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
25904         * modules/inet_ntop (Depends-on): Add extensions.
25905         * modules/inet_pton (Depends-on): Likewise.
25906         Reported by Simon Josefsson.
25907
25908 2008-04-29  Jim Meyering  <meyering@redhat.com>
25909
25910         When the is more than one match in a block, match all of them.
25911         * build-aux/useless-if-before-free: Iterate through each block
25912         until there are no more matches.
25913
25914         Fix broken useless-if-before-free script.
25915         * build-aux/useless-if-before-free: Fix typo: missing "?" after
25916         the expression to match cast of argument to free-like function.
25917
25918 2008-04-29  Eric Blake  <ebb9@byu.net>
25919
25920         Use new header.
25921         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
25922
25923 2008-04-29  Jim Meyering  <meyering@redhat.com>
25924
25925         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
25926         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
25927         by gnulib to exist and to declare e.g., inet_ntop.
25928         Don't include "inet_ntop.h", now removed.
25929
25930         * m4/arpa_inet_h.m4: Remove trailing blanks.
25931
25932 2008-04-29  Eric Blake  <ebb9@byu.net>
25933
25934         Silence valgrind on safe reads beyond potential array bounds.
25935         * lib/rawmemchr.valgrind: New file.
25936         * lib/strchrnul.valgrind: Likewise.
25937         * modules/rawmemchr (Files): Distribute new file.
25938         * modules/strchrnul (Files): Likewise.
25939         Suggested by Bruno Haible.
25940
25941 2008-04-29  Bruno Haible  <bruno@clisp.org>
25942
25943         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
25944         (inet_ntop, inet_pton): Change portability warning's wording.
25945         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
25946         Invoke gl_CHECK_NEXT_HEADERS.
25947         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
25948         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
25949         set ARPA_INET_H.
25950         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
25951         * modules/arpa_inet (Description): No longer only for systems that
25952         lack it.
25953         (Depends-on): Add include_next.
25954         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
25955         HAVE_ARPA_INET_H.
25956
25957 2008-04-29  Jim Meyering  <meyering@redhat.com>
25958
25959         * modules/mkdir (License): Re-license as LGPLv2+.
25960
25961 2008-04-29  Bruno Haible  <bruno@clisp.org>
25962
25963         * modules/rawmemchr (Maintainer): Set to Eric.
25964         * modules/strchrnul (Maintainer): Likewise.
25965
25966 2008-04-29  Simon Josefsson  <simon@josefsson.org>
25967
25968         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
25969         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
25970
25971         * modules/arpa_inet (arpa/inet.h): Use them.
25972
25973 2008-04-28  Eric Blake  <ebb9@byu.net>
25974
25975         Test getndelim2.
25976         * modules/getndelim2-tests: New file.
25977         * tests/test-getndelim2.c: Likewise.
25978         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
25979         stream.
25980         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
25981
25982         * MODULES.html.sh: Document new module.
25983
25984 2008-04-20  Bruno Haible  <bruno@clisp.org>
25985
25986         * lib/c-stack.c (die): Use raise.
25987         * modules/c-stack (Depends-on): Add raise.
25988
25989 2008-04-28  Bruno Haible  <bruno@clisp.org>
25990
25991         Expect rpmatch to be declared.
25992         * lib/yesno.c (rpmatch): Remove declaration.
25993
25994         Declare rpmatch.
25995         * lib/stdlib.in.h (rpmatch): New declaration.
25996         * lib/rpmatch.c: Include <stdlib.h> first.
25997         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
25998         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
25999         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
26000         HAVE_RPMATCH.
26001         * modules/rpmatch (Depends-on): Add stdlib, extensions.
26002         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
26003         (Include): Set to <stdlib.h>.
26004         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
26005         HAVE_RPMATCH.
26006         * NEWS: Document the change.
26007
26008 2008-04-28  Bruno Haible  <bruno@clisp.org>
26009
26010         Change rpmatch to use nl_langinfo when appropriate.
26011         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
26012         (N_): New macro.
26013         (localized_pattern): New function/macro.
26014         (try): Remove match, nomatch arguments. Copy the pattern into safe
26015         memory before caching it.
26016         (rpmatch): Use localized_pattern. Add translator comments.
26017         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
26018         Suggested by Eric Blake.
26019         * modules/rpmatch (Depends-on): Add stdbool.
26020
26021 2008-04-28  Eric Blake  <ebb9@byu.net>
26022
26023         Add rawmemchr module, matching glibc.
26024         * modules/string (Makefile.am): New indicator.
26025         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
26026         * lib/string.in.h (rawmemchr): Declare when appropriate.
26027         * modules/rawmemchr: New file.
26028         * m4/rawmemchr.m4: Likewise.
26029         * lib/rawmemchr.c: Likewise.
26030         * modules/rawmemchr-tests: Likewise.
26031         * tests/test-rawmemchr.c: Likewise.
26032         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
26033         module.
26034         * modules/strchrnul (Depends-on): Add rawmemchr.
26035         * lib/strchrnul.c (strchrnul): Optimize a corner case.
26036
26037         Whitespace cleanup.
26038         * tests/test-strchrnul.c: Reindent.
26039         * lib/strchrnul.c: Likewise.
26040
26041         Optimize and test strchrnul.
26042         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
26043         * modules/strchrnul-tests: New file.
26044         * tests/test-strchrnul.c: Likewise.
26045
26046         Remove intprops dependency.
26047         * modules/memchr (Depends-on): Remove intprops.
26048         * modules/memrchr (Depends-on): Likewise.
26049         * modules/memchr2 (Depends-on): Likewise.
26050         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
26051         * lib/memrchr.c (__memrchr): Likewise.
26052         * lib/memrchr2.c (memchr2): Likewise.
26053         Reported by Simon Josefsson.
26054
26055 2008-04-28  Simon Josefsson  <simon@josefsson.org>
26056
26057         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
26058         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
26059
26060 2008-04-28  Simon Josefsson  <simon@josefsson.org>
26061
26062         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
26063
26064         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
26065
26066         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
26067
26068         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
26069         declarations.
26070         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
26071
26072         * m4/inet_pton.m4: Don't check for header files.
26073
26074         * m4/inet_ntop.m4: Don't check for header files.
26075
26076 2008-04-28  Simon Josefsson  <simon@josefsson.org>
26077
26078         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
26079         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
26080         trigger for cygwin).
26081         Reported by Bruno Haible  <bruno@clisp.org>.
26082
26083 2008-04-28  Bruno Haible  <bruno@clisp.org>
26084
26085         * doc/posix-functions/strdup.texi: Mention mingw problem.
26086
26087 2008-04-27  Bruno Haible  <bruno@clisp.org>
26088
26089         * modules/stat-time-tests (Depends-on): Add sleep.
26090         * tests/test-stat-time.c (force_unlink): New function.
26091         (cleanup): Use it.
26092         (test_mtime): Remove the ctime related tests.
26093         (test_ctime): New function, containing the ctime related tests.
26094         (main): Call test_ctime, except on native Windows platforms.
26095
26096 2008-04-27  Bruno Haible  <bruno@clisp.org>
26097
26098         * lib/rpmatch.c (rpmatch): Add some comments.
26099         Reported by James Youngman <jay@gnu.org>.
26100
26101 2008-04-27  Bruno Haible  <bruno@clisp.org>
26102
26103         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
26104         quiet NaNs.
26105
26106 2008-04-27  Bruno Haible  <bruno@clisp.org>
26107
26108         Make test-yesno.sh work on mingw.
26109         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
26110         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
26111         (main): Set stdin to binary mode.
26112         * modules/yesno-tests (Depends-on): Add binary-io.
26113
26114 2008-04-27  Bruno Haible  <bruno@clisp.org>
26115
26116         Fix 'isfinite' on x86, x86_64, ia64 platforms.
26117         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
26118         argument that lie outside the IEEE 854 domain.
26119         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
26120         (gl_ISFINITE): Use it.
26121         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
26122
26123 2008-04-27  Bruno Haible  <bruno@clisp.org>
26124
26125         Allow local renaming in config.h.
26126         * lib/memrchr.c (memrchr): Don't undefine outside libc.
26127
26128 2008-04-27  Bruno Haible  <bruno@clisp.org>
26129
26130         * lib/memchr.c (__memchr): Change type of 'i'.
26131         * lib/memchr2.c (memchr2): Likewise.
26132
26133 2008-04-26  Eric Blake  <ebb9@byu.net>
26134         and Bruno Haible  <bruno@clisp.org>
26135
26136         Optimize and test memrchr.
26137         * modules/memrchr (Depends-on): Add intprops.
26138         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
26139         * modules/memrchr-tests: New file.
26140         * tests/test-memrchr.c: New file.
26141
26142 2008-04-26  Bruno Haible  <bruno@clisp.org>
26143
26144         Add tentative support for DragonFly BSD.
26145         * lib/stdio-impl.h: Add macros for DragonFly BSD.
26146         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
26147         fp.
26148         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
26149         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
26150         * lib/fpurge.c (fpurge): Likewise.
26151         * lib/freadable.c (freaadable): Likewise.
26152         * lib/freadahead.c (freadahead): Likewise.
26153         * lib/freading.c (freading): Likewise.
26154         * lib/freadptr.c (freadptr): Likewise.
26155         * lib/freadseek.c (freadptrinc): Likewise.
26156         * lib/fseeko.c (fseeko): Likewise.
26157         * lib/fseterr.c (fseterr): Likewise.
26158         * lib/fwritable.c (fwritable): Likewise.
26159         * lib/fwriting.c (fwriting): Likewise.
26160
26161 2008-04-26  Bruno Haible  <bruno@clisp.org>
26162
26163         * lib/stdio-impl.h: New file.
26164         * lib/fbufmode.c: Include stdio-impl.h.
26165         (fbufmode): Use fp_, remove redundant #defines.
26166         * lib/fflush.c: Include stdio-impl.h.
26167         (clear_ungetc_buffer): Remove redundant #defines.
26168         * lib/fpurge.c: Include stdio-impl.h.
26169         (fpurge): Remove redundant #defines.
26170         * lib/freadable.c: Include stdio-impl.h.
26171         (freadable): Remove redundant #defines.
26172         * lib/freadahead.c: Include stdio-impl.h.
26173         (freadahead): Remove redundant #defines.
26174         * lib/freading.c: Include stdio-impl.h.
26175         (freading): Remove redundant #defines.
26176         * lib/freadptr.c: Include stdio-impl.h.
26177         (freadptr): Remove redundant #defines.
26178         * lib/freadseek.c: Include stdio-impl.h.
26179         (freadptrinc): Remove redundant #defines.
26180         * lib/fseeko.c: Include stdio-impl.h.
26181         (rpl_fseeko): Remove redundant #defines.
26182         * lib/fseterr.c: Include stdio-impl.h.
26183         (fseterr): Remove redundant #defines.
26184         * lib/fwritable.c: Include stdio-impl.h.
26185         (fwritable: Remove redundant #defines.
26186         * lib/fwriting.c: Include stdio-impl.h.
26187         (fwriting): Remove redundant #defines.
26188         * modules/fbufmode (Files): Add lib/stdio-impl.h.
26189         * modules/fflush (Files): Likewise.
26190         * modules/fpurge (Files): Likewise.
26191         * modules/freadable (Files): Likewise.
26192         * modules/freadahead (Files): Likewise.
26193         * modules/freading (Files): Likewise.
26194         * modules/freadptr (Files): Likewise.
26195         * modules/freadseek (Files): Likewise.
26196         * modules/fseeko (Files): Likewise.
26197         * modules/fseterr (Files): Likewise.
26198         * modules/fwritable (Files): Likewise.
26199         * modules/fwriting (Files): Likewise.
26200
26201 2008-04-26  Bruno Haible  <bruno@clisp.org>
26202
26203         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
26204         restore_seek_optimization, update_fpos_cache): New functions, extracted
26205         from rpl_fflush.
26206         (rpl_fflush): Use them.
26207         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
26208         (gl_REPLACE_FFLUSH): Use it.
26209
26210 2008-04-26  Bruno Haible  <bruno@clisp.org>
26211
26212         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
26213         on Solaris.
26214         * tests/test-xstrtoimax.sh: Likewise.
26215         * tests/test-xstrtoumax.sh: Likewise.
26216         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
26217
26218 2008-04-26  Bruno Haible  <bruno@clisp.org>
26219
26220         * modules/memchr-tests: New file.
26221         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
26222
26223 2008-04-26  Eric Blake  <ebb9@byu.net>
26224             Bruno Haible  <bruno@clisp.org>
26225
26226         * lib/memchr.c: Include intprops.h.
26227         (__memchr): Optimize parallel detection of matching bytes. Rename local
26228         variables. Add explanatory comments.
26229
26230 2008-04-26  Bruno Haible  <bruno@clisp.org>
26231
26232         Fix module 'memchr', broken since 2000-10-28.
26233         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
26234
26235 2008-04-26  Bruno Haible  <bruno@clisp.org>
26236
26237         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
26238         comments.
26239
26240 2008-04-25  Eric Blake  <ebb9@byu.net>
26241
26242         Use native fstatat on cygwin 1.7.0.
26243         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
26244         first.
26245
26246 2008-04-23  Eric Blake  <ebb9@byu.net>
26247
26248         Improve memchr2 performance.
26249         * lib/memchr2.c (memchr2): Further optimize parallel detection of
26250         NUL bytes.
26251         * modules/memchr2 (Depends-on): Use intprops.h.
26252
26253 2008-04-23  Simon Josefsson  <simon@josefsson.org>
26254
26255         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
26256         an inline function instead of a CPP macro.  Patch by Ben Pfaff
26257         <blp@cs.stanford.edu>.
26258
26259 2008-04-23  Simon Josefsson  <simon@josefsson.org>
26260
26261         * lib/arpa_inet.in.h: New file.
26262
26263         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
26264         (Makefile.am): Sed in substitute header file.
26265
26266         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
26267         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
26268
26269         * modules/inet_ntop (configure.ac): Use
26270         gl_ARPA_INET_MODULE_INDICATOR.
26271
26272         * modules/inet_pton (configure.ac): Use
26273         gl_ARPA_INET_MODULE_INDICATOR.
26274
26275 2008-04-22  Jim Meyering  <meyering@redhat.com>
26276
26277         * modules/verify (License): Re-license as LGPLv2+.
26278
26279 2008-04-22  Simon Josefsson  <simon@josefsson.org>
26280
26281         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
26282         parameter to void* as per POSIX standard (MinGW uses char*).
26283
26284 2008-04-21  Bruno Haible  <bruno@clisp.org>
26285
26286         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
26287         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
26288         Define to replacements if REPLACE_ISWCNTRL is 1.
26289         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
26290         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
26291         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
26292         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
26293         what it fixes.
26294         * doc/posix-functions/iswalpha.texi: Likewise.
26295         * doc/posix-functions/iswblank.texi: Likewise.
26296         * doc/posix-functions/iswcntrl.texi: Likewise.
26297         * doc/posix-functions/iswdigit.texi: Likewise.
26298         * doc/posix-functions/iswgraph.texi: Likewise.
26299         * doc/posix-functions/iswlower.texi: Likewise.
26300         * doc/posix-functions/iswprint.texi: Likewise.
26301         * doc/posix-functions/iswpunct.texi: Likewise.
26302         * doc/posix-functions/iswspace.texi: Likewise.
26303         * doc/posix-functions/iswupper.texi: Likewise.
26304         * doc/posix-functions/iswxdigit.texi: Likewise.
26305         Reported by Alain Guibert.
26306
26307 2008-04-21  Bruno Haible  <bruno@clisp.org>
26308
26309         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
26310         Patch by Alain Guibert.
26311
26312 2008-04-21  Bruno Haible  <bruno@clisp.org>
26313
26314         Fix test failures on mingw.
26315         * tests/test-xstrtol.c (print_no_progname): New function.
26316         (main): Install it in error_print_progname hook.
26317         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
26318         * tests/test-xstrtoimax.sh: Likewise.
26319         * tests/test-xstrtoumax.sh: Likewise.
26320
26321 2008-04-21  Bruno Haible  <bruno@clisp.org>
26322
26323         Fix test failure on mingw.
26324         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
26325
26326 2008-04-21  Bruno Haible  <bruno@clisp.org>
26327
26328         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
26329         Actually assign a value.
26330
26331 2008-04-20  Bruno Haible  <bruno@clisp.org>
26332
26333         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
26334         take 2.
26335         * lib/canonicalize.c (canonicalize_file_name): Elide if the
26336         'canonicalize-lgpl' module is also used.
26337         * lib/canonicalize-lgpl.c: Undo last change.
26338         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
26339
26340 2008-04-20  Bruno Haible  <bruno@clisp.org>
26341
26342         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
26343         config.h. Provide _mkdir based fallback for mingw.
26344         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
26345         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
26346         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
26347         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
26348         rather than defining mkdir in config.h.
26349         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
26350         (gl_SYS_STAT_H_DEFAULTS): New macro.
26351         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
26352         HAVE_IO_H any more.
26353         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
26354         HAVE_DECL_MKDIR and HAVE_IO_H.
26355
26356 2008-04-20  Bruno Haible  <bruno@clisp.org>
26357
26358         * lib/isapipe.c: Port to native Windows platforms.
26359
26360 2008-04-20  Bruno Haible  <bruno@clisp.org>
26361
26362         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
26363
26364 2008-04-21  Eric Blake  <ebb9@byu.net>
26365
26366         Work around preprocessors that don't handle UINTMAX_MAX.
26367         * lib/memchr2.c (memchr2): Avoid embedded #if.
26368         Reported by Alain Guibert, fix suggested by Bruno Haible.
26369
26370 2008-04-21  Simon Josefsson  <simon@josefsson.org>
26371
26372         * doc/posix-functions/strftime.texi (strftime): Explain better
26373         Windows incompatibility.  Suggested by Micah Cowan
26374         <micah@cowan.name>.
26375
26376 2008-04-20  Bruno Haible  <bruno@clisp.org>
26377
26378         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
26379         unistr/u8-mblen.
26380
26381 2008-04-20  Bruno Haible  <bruno@clisp.org>
26382
26383         Fix test failure on platforms with non-GNU iconv.
26384         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
26385         (U_TO_U8): Use it, rather than u16_to_u8.
26386         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
26387         units at the end of the input string.
26388         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
26389
26390 2008-04-20  Bruno Haible  <bruno@clisp.org>
26391
26392         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
26393         when the resulting length is 0.
26394         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
26395
26396 2008-04-20  Bruno Haible  <bruno@clisp.org>
26397
26398         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
26399         works.
26400         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
26401
26402 2008-04-20  Bruno Haible  <bruno@clisp.org>
26403
26404         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
26405         * modules/tsearch-tests (configure.ac): Test for initstate function.
26406
26407 2008-04-20  Bruno Haible  <bruno@clisp.org>
26408
26409         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
26410         for nlink_t if missing.
26411         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
26412
26413 2008-04-19  Bruno Haible  <bruno@clisp.org>
26414
26415         Work around snprintf bug on Linux libc5.
26416         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
26417         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
26418         gl_SNPRINTF_SIZE1.
26419         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
26420         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
26421         that test failed.
26422         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
26423         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
26424         * modules/snprintf (Files): Add m4/printf.m4.
26425         * modules/vsnprintf (Files): Likewise.
26426         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
26427         * doc/posix-functions/vsnprintf.texi: Likewise.
26428
26429 2008-04-19  Bruno Haible  <bruno@clisp.org>
26430
26431         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
26432         from 0.0058 to less than 10^-7.
26433
26434 2008-04-19  Bruno Haible  <bruno@clisp.org>
26435
26436         Fix rounding when a precision is given.
26437         * lib/vasnprintf.c (is_borderline): New function.
26438         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
26439         9...9x.
26440         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
26441         %e, %g.
26442         * tests/test-vasprintf-posix.c (test_function): Likewise.
26443         * tests/test-snprintf-posix.h (test_function): Likewise.
26444         * tests/test-sprintf-posix.h (test_function): Likewise.
26445         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
26446         * tests/test-printf-posix.h (test_function): Likewise.
26447         * tests/test-printf-posix.output: Update.
26448         Reported by John Darrington <john@darrington.wattle.id.au> via
26449         Ben Pfaff <blp@cs.stanford.edu>.
26450
26451 2008-04-18  Simon Josefsson  <simon@josefsson.org>
26452
26453         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
26454         Suggested by Bruno Haible <bruno@clisp.org>.
26455
26456 2008-04-17  Bruno Haible  <bruno@clisp.org>
26457
26458         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
26459         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
26460         implementation.
26461         Patch by Bruce Merry <bmerry@gmail.com>.
26462
26463 2008-04-17  Simon Josefsson  <simon@josefsson.org>
26464
26465         * doc/posix-functions/strftime.texi (strftime): Mention that %e
26466         doesn't work under Windows.
26467
26468 2008-04-16  Bruno Haible  <bruno@clisp.org>
26469
26470         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
26471         New macros.
26472         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
26473         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
26474         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
26475         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
26476         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
26477         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
26478         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
26479         macros.
26480         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
26481         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
26482         Northern Sotho, Uighur.
26483
26484 2008-04-16  Bruno Haible  <bruno@clisp.org>
26485
26486         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
26487         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
26488         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
26489         Reported by Daniel Bergström <daniel@octocode.com>.
26490
26491 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
26492             Bruno Haible  <bruno@clisp.org>
26493
26494         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
26495         function.
26496         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
26497         New functions, mostly extracted from gl_locale_name_default.
26498         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
26499
26500 2008-04-16  Eric Blake  <ebb9@byu.net>
26501
26502         Adjust strtod detection to catch glibc 2.7 bug.
26503         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
26504         Reported by John Gatewood Ham.
26505
26506 2008-04-16  Bruno Haible  <bruno@clisp.org>
26507
26508         Add tentative support for Linux libc5.
26509         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
26510         * lib/fpurge.c (fpurge): Likewise.
26511         * lib/freadable.c (freadable): Likewise.
26512         * lib/freadahead.c (freadahead): Likewise.
26513         * lib/freading.c (freading): Likewise.
26514         * lib/freadptr.c (freadptr): Likewise.
26515         * lib/freadseek.c (freadptrinc): Likewise.
26516         * lib/fseeko.c (rpl_fseeko): Likewise.
26517         * lib/fseterr.c (fseterr): Likewise.
26518         * lib/fwritable.c (fwritable): Likewise.
26519         * lib/fwriting.c (fwriting): Likewise.
26520         Reported by Alain Guibert <alguibert+bts@free.fr>.
26521
26522 2008-04-15  Bruno Haible  <bruno@clisp.org>
26523
26524         * modules/mathl (configure.ac): Define module indicator.
26525
26526 2008-04-15  Bruno Haible  <bruno@clisp.org>
26527
26528         * lib/logl.c (logl): Remove unused variables.
26529
26530 2008-04-15  Bruno Haible  <bruno@clisp.org>
26531
26532         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
26533         fails.
26534
26535 2008-04-15  Bruno Haible  <bruno@clisp.org>
26536
26537         * lib/trim.c (trim2): Fix argument of isspace() macro.
26538
26539 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
26540
26541         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
26542         to 0.
26543         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
26544
26545 2008-04-14  Bruno Haible  <bruno@clisp.org>
26546
26547         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
26548         AC_LANG_PROGRAM argument.
26549         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
26550         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
26551         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
26552         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
26553         * m4/math_h.m4 (gl_MATH_H): Likewise.
26554         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
26555         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
26556         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
26557         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
26558         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
26559         * m4/regex.m4 (gl_REGEX): Likewise.
26560         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
26561         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
26562         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
26563         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
26564         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
26565         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
26566         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
26567         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
26568
26569 2008-04-14  Jim Meyering  <meyering@redhat.com>
26570
26571         test-strtod: fix typos: s/abs/fabs/
26572         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
26573
26574 2008-04-13  Bruno Haible  <bruno@clisp.org>
26575
26576         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
26577         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
26578         module is also used and while not building the reloc-wrapper.
26579
26580 2008-04-13  Bruno Haible  <bruno@clisp.org>
26581
26582         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
26583
26584 2008-04-13  Bruno Haible  <bruno@clisp.org>
26585
26586         Fix AIX compilation failure introduced on 2008-04-02.
26587         * tests/test-frexp.c (exp): Undefine before redefining.
26588         * tests/test-frexpl.c (exp): Likewise.
26589
26590 2008-04-13  Bruno Haible  <bruno@clisp.org>
26591
26592         Work around a HP-UX stdio bug.
26593         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
26594         * tests/test-ftello.c (main): Likewise.
26595         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
26596         * doc/posix-functions/ftello.texi: Likewise.
26597
26598 2008-04-13  Bruno Haible  <bruno@clisp.org>
26599
26600         Make test-signbit pass on HP-UX/hppa.
26601         * tests/test-signbit.c (minus_zerol): New variable.
26602         (test_signbitl): Use it.
26603
26604 2008-04-13  Bruno Haible  <bruno@clisp.org>
26605
26606         Make truncl work on OSF/1 4.0.
26607         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
26608         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
26609         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
26610         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
26611         HAVE_DECL_TRUNCL.
26612         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
26613         HAVE_DECL_TRUNCL.
26614         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
26615
26616 2008-04-13  Bruno Haible  <bruno@clisp.org>
26617
26618         * lib/unictype.h: Remove trailing comma from enumeration definitions.
26619
26620 2008-04-13  Bruno Haible  <bruno@clisp.org>
26621
26622         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
26623         expression, so as to avoid HP-UX 11 cc compiler bug.
26624
26625 2008-04-13  Bruno Haible  <bruno@clisp.org>
26626
26627         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
26628
26629 2008-04-13  Bruno Haible  <bruno@clisp.org>
26630
26631         * lib/git-merge-changelog.c: Remove empty declaration outside of
26632         functions.
26633
26634 2008-04-13  Bruno Haible  <bruno@clisp.org>
26635
26636         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
26637
26638 2008-04-13  Bruno Haible  <bruno@clisp.org>
26639
26640         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
26641         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
26642         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
26643         also if it exists but lacks definitions of the SHUT_* macros.
26644         * modules/sys_socket (Description): Update.
26645         Reported by Elbert Pol <e.pol@chello.nl>.
26646
26647 2008-04-13  Bruno Haible  <bruno@clisp.org>
26648
26649         * lib/localcharset.c (OS2): Don't redefine if already defined.
26650         Reported by Elbert Pol <e.pol@chello.nl>.
26651
26652 2008-04-13  Bruno Haible  <bruno@clisp.org>
26653
26654         * lib/binary-io.h [__EMX__]: Include <io.h>.
26655         Reported by Elbert Pol <e.pol@chello.nl>.
26656
26657 2008-04-12  Bruno Haible  <bruno@clisp.org>
26658
26659         * lib/fpucw.h: Enable the definitions also for x86_64.
26660         Needed for NetBSD/x86_64.
26661         Reported by Thomas Klausner <tk@giga.or.at>.
26662
26663 2008-04-12  Bruno Haible  <bruno@clisp.org>
26664
26665         * tests/test-strtod.c: Include isnand.h.
26666         (main): Use isnand instead of isnan.
26667         Reported by Jim Meyering.
26668
26669 2008-04-12  Bruno Haible  <bruno@clisp.org>
26670
26671         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
26672         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
26673
26674 2008-04-12  Jim Meyering  <meyering@redhat.com>
26675
26676         * m4/math_h.m4 (gl_MATH_H): Fix typos.
26677
26678 2008-04-12  Bruno Haible  <bruno@clisp.org>
26679
26680         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
26681         Reported by Elbert Pol <e.pol@chello.nl>.
26682
26683 2008-04-12  Eric Blake  <ebb9@byu.net>
26684
26685         Work around Solaris 10 math.h bug.
26686         * m4/math_h.m4 (gl_MATH_H): Check for bug.
26687         (gl_MATH_H_DEFAULTS): Set up default.
26688         * modules/math (Makefile.am): Replace new indicators.
26689         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
26690         * tests/test-math.c (main): Test this.
26691         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
26692         * doc/posix-headers/math.texi (math.h): Mention bug.
26693         Reported by Nelson H. F. Beebe and Jim Meyering.
26694
26695 2008-04-11  Bruno Haible  <bruno@clisp.org>
26696
26697         Adapt to future versions of Apple GCC.
26698         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
26699         Reported by Peter O'Gorman <peter@pogma.com>.
26700
26701 2008-04-11  Bruno Haible  <bruno@clisp.org>
26702
26703         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
26704
26705 2008-04-11  Bruno Haible  <bruno@clisp.org>
26706
26707         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
26708
26709         * modules/getaddrinfo-tests (Makefile.am): Define
26710         test_getaddrinfo_LDADD.
26711
26712 2008-04-11  Bruno Haible  <bruno@clisp.org>
26713
26714         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
26715         (init): Fix syntax error.
26716         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
26717         is declared.
26718
26719 2008-04-11  Bruno Haible  <bruno@clisp.org>
26720
26721         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
26722         * modules/glob (Depends-on): Add stdbool.
26723
26724 2008-04-11  Bruno Haible  <bruno@clisp.org>
26725
26726         * lib/trim.c: Include <string.h>.
26727
26728 2008-04-11  Eric Blake  <ebb9@byu.net>
26729
26730         Avoid compile failure on OS/2.
26731         * lib/regex_internal.h (internal_function): Disable optimization
26732         on OS/2 (__EMX__), where it caused compiler error.
26733         Reported by Elbert Pol.
26734
26735 2008-04-11  Bruno Haible  <bruno@clisp.org>
26736
26737         Flush the standard error stream before aborting. Needed on mingw.
26738         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
26739         * tests/test-array_list.c (ASSERT): Likewise.
26740         * tests/test-array_oset.c (ASSERT): Likewise.
26741         * tests/test-avltree_list.c (ASSERT): Likewise.
26742         * tests/test-avltree_oset.c (ASSERT): Likewise.
26743         * tests/test-avltreehash_list.c (ASSERT): Likewise.
26744         * tests/test-binary-io.c (ASSERT): Likewise.
26745         * tests/test-byteswap.c (ASSERT): Likewise.
26746         * tests/test-c-ctype.c (ASSERT): Likewise.
26747         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
26748         * tests/test-c-strcasestr.c (ASSERT): Likewise.
26749         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
26750         * tests/test-c-strstr.c (ASSERT): Likewise.
26751         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
26752         * tests/test-canonicalize.c (ASSERT): Likewise.
26753         * tests/test-carray_list.c (ASSERT): Likewise.
26754         * tests/test-ceilf1.c (ASSERT): Likewise.
26755         * tests/test-ceilf2.c (ASSERT): Likewise.
26756         * tests/test-ceill.c (ASSERT): Likewise.
26757         * tests/test-count-one-bits.c (ASSERT): Likewise.
26758         * tests/test-fbufmode.c (ASSERT): Likewise.
26759         * tests/test-fflush2.c (ASSERT): Likewise.
26760         * tests/test-floorf1.c (ASSERT): Likewise.
26761         * tests/test-floorf2.c (ASSERT): Likewise.
26762         * tests/test-floorl.c (ASSERT): Likewise.
26763         * tests/test-fopen.c (ASSERT): Likewise.
26764         * tests/test-fpending.c (ASSERT): Likewise.
26765         * tests/test-fprintf-posix.c (ASSERT): Likewise.
26766         * tests/test-fpurge.c (ASSERT): Likewise.
26767         * tests/test-freadable.c (ASSERT): Likewise.
26768         * tests/test-freadahead.c (ASSERT): Likewise.
26769         * tests/test-freading.c (ASSERT): Likewise.
26770         * tests/test-freadptr.c (ASSERT): Likewise.
26771         * tests/test-freadptr2.c (ASSERT): Likewise.
26772         * tests/test-freadseek.c (ASSERT): Likewise.
26773         * tests/test-freopen.c (ASSERT): Likewise.
26774         * tests/test-frexp.c (ASSERT): Likewise.
26775         * tests/test-frexpl.c (ASSERT): Likewise.
26776         * tests/test-fseek.c (ASSERT): Likewise.
26777         * tests/test-fseeko.c (ASSERT): Likewise.
26778         * tests/test-fstrcmp.c (ASSERT): Likewise.
26779         * tests/test-ftell.c (ASSERT): Likewise.
26780         * tests/test-ftello.c (ASSERT): Likewise.
26781         * tests/test-func.c (ASSERT): Likewise.
26782         * tests/test-fwritable.c (ASSERT): Likewise.
26783         * tests/test-fwriting.c (ASSERT): Likewise.
26784         * tests/test-getdelim.c (ASSERT): Likewise.
26785         * tests/test-getline.c (ASSERT): Likewise.
26786         * tests/test-i-ring.c (ASSERT): Likewise.
26787         * tests/test-iconv-utf.c (ASSERT): Likewise.
26788         * tests/test-iconv.c (ASSERT): Likewise.
26789         * tests/test-isfinite.c (ASSERT): Likewise.
26790         * tests/test-isnand.c (ASSERT): Likewise.
26791         * tests/test-isnanf.c (ASSERT): Likewise.
26792         * tests/test-isnanl.h (ASSERT): Likewise.
26793         * tests/test-ldexpl.c (ASSERT): Likewise.
26794         * tests/test-linked_list.c (ASSERT): Likewise.
26795         * tests/test-linkedhash_list.c (ASSERT): Likewise.
26796         * tests/test-localename.c (ASSERT): Likewise.
26797         * tests/test-lseek.c (ASSERT): Likewise.
26798         * tests/test-mbscasecmp.c (ASSERT): Likewise.
26799         * tests/test-mbscasestr1.c (ASSERT): Likewise.
26800         * tests/test-mbscasestr2.c (ASSERT): Likewise.
26801         * tests/test-mbscasestr3.c (ASSERT): Likewise.
26802         * tests/test-mbscasestr4.c (ASSERT): Likewise.
26803         * tests/test-mbschr.c (ASSERT): Likewise.
26804         * tests/test-mbscspn.c (ASSERT): Likewise.
26805         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
26806         * tests/test-mbspbrk.c (ASSERT): Likewise.
26807         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
26808         * tests/test-mbsrchr.c (ASSERT): Likewise.
26809         * tests/test-mbsspn.c (ASSERT): Likewise.
26810         * tests/test-mbsstr1.c (ASSERT): Likewise.
26811         * tests/test-mbsstr2.c (ASSERT): Likewise.
26812         * tests/test-mbsstr3.c (ASSERT): Likewise.
26813         * tests/test-memchr2.c (ASSERT): Likewise.
26814         * tests/test-memmem.c (ASSERT): Likewise.
26815         * tests/test-open.c (ASSERT): Likewise.
26816         * tests/test-printf-frexp.c (ASSERT): Likewise.
26817         * tests/test-printf-frexpl.c (ASSERT): Likewise.
26818         * tests/test-printf-posix.c (ASSERT): Likewise.
26819         * tests/test-quotearg.c (ASSERT): Likewise.
26820         * tests/test-rbtree_list.c (ASSERT): Likewise.
26821         * tests/test-rbtree_oset.c (ASSERT): Likewise.
26822         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
26823         * tests/test-round1.c (ASSERT): Likewise.
26824         * tests/test-roundf1.c (ASSERT): Likewise.
26825         * tests/test-roundl.c (ASSERT): Likewise.
26826         * tests/test-signbit.c (ASSERT): Likewise.
26827         * tests/test-sleep.c (ASSERT): Likewise.
26828         * tests/test-snprintf-posix.c (ASSERT): Likewise.
26829         * tests/test-snprintf.c (ASSERT): Likewise.
26830         * tests/test-sprintf-posix.c (ASSERT): Likewise.
26831         * tests/test-stat-time.c (ASSERT): Likewise.
26832         * tests/test-strcasestr.c (ASSERT): Likewise.
26833         * tests/test-strerror.c (ASSERT): Likewise.
26834         * tests/test-striconv.c (ASSERT): Likewise.
26835         * tests/test-striconveh.c (ASSERT): Likewise.
26836         * tests/test-striconveha.c (ASSERT): Likewise.
26837         * tests/test-strsignal.c (ASSERT): Likewise.
26838         * tests/test-strstr.c (ASSERT): Likewise.
26839         * tests/test-strtod.c (ASSERT): Likewise.
26840         * tests/test-trunc1.c (ASSERT): Likewise.
26841         * tests/test-trunc2.c (ASSERT): Likewise.
26842         * tests/test-truncf1.c (ASSERT): Likewise.
26843         * tests/test-truncf2.c (ASSERT): Likewise.
26844         * tests/test-truncl.c (ASSERT): Likewise.
26845         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
26846         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
26847         * tests/test-vasnprintf.c (ASSERT): Likewise.
26848         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
26849         * tests/test-vasprintf.c (ASSERT): Likewise.
26850         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
26851         * tests/test-vprintf-posix.c (ASSERT): Likewise.
26852         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
26853         * tests/test-vsnprintf.c (ASSERT): Likewise.
26854         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
26855         * tests/test-wcwidth.c (ASSERT): Likewise.
26856         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
26857         * tests/test-xprintf-posix.c (ASSERT): Likewise.
26858         * tests/test-xvasprintf.c (ASSERT): Likewise.
26859         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
26860         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
26861         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
26862         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
26863         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
26864         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
26865         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
26866         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
26867         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
26868         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
26869         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
26870         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
26871         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
26872         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
26873         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
26874         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
26875         * tests/unictype/test-block_list.c (ASSERT): Likewise.
26876         * tests/unictype/test-block_of.c (ASSERT): Likewise.
26877         * tests/unictype/test-block_test.c (ASSERT): Likewise.
26878         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
26879         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
26880         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
26881         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
26882         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
26883         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
26884         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
26885         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
26886         * tests/unictype/test-combining.c (ASSERT): Likewise.
26887         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
26888         * tests/unictype/test-digit.c (ASSERT): Likewise.
26889         * tests/unictype/test-mirror.c (ASSERT): Likewise.
26890         * tests/unictype/test-numeric.c (ASSERT): Likewise.
26891         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
26892         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
26893         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
26894         * tests/unictype/test-scripts.c (ASSERT): Likewise.
26895         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
26896         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
26897         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
26898         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
26899         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
26900         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
26901         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
26902         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
26903         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
26904         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
26905         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
26906         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
26907         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
26908         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
26909         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
26910         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
26911         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
26912         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
26913         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
26914         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
26915         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
26916         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
26917         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
26918         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
26919         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
26920         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
26921         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
26922         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
26923         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
26924         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
26925         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
26926         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
26927         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
26928         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
26929         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
26930         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
26931         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
26932         Reported by Eric Blake.
26933
26934 2008-04-11  Bruno Haible  <bruno@clisp.org>
26935
26936         * lib/wchar.in.h: Tweak comment.
26937
26938 2008-04-11  Bruno Haible  <bruno@clisp.org>
26939
26940         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
26941         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
26942         gl_COMMON.
26943         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
26944
26945 2008-04-11  Bruno Haible  <bruno@clisp.org>
26946
26947         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
26948
26949 2008-04-11  Simon Josefsson  <simon@josefsson.org>
26950
26951         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
26952         of attempting to use non-existing /dev/*random.  Based on patch
26953         from Adam Strzelecki <ono@java.pl> in
26954         <http://lists.gnu.org/archive/html/help-gsasl/2008-02/msg00000.html>.
26955
26956 2008-04-08  Bruno Haible  <bruno@clisp.org>
26957
26958         Add tentative support for emx+gcc.
26959         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
26960         * lib/fpurge.c (fpurge): Likewise.
26961         * lib/freadable.c (freadable): Likewise.
26962         * lib/freadahead.c (freadahead): Likewise.
26963         * lib/freading.c (freading): Likewise.
26964         * lib/freadptr.c (freadptr): Likewise.
26965         * lib/freadseek.c (freadptrinc): Likewise.
26966         * lib/fseeko.c (rpl_fseeko): Likewise.
26967         * lib/fseterr.c (fseterr): Likewise.
26968         * lib/fwritable.c (fwritable): Likewise.
26969         * lib/fwriting.c (fwriting): Likewise.
26970         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
26971
26972 2008-04-09  Eric Blake  <ebb9@byu.net>
26973
26974         Avoid some autoconf warnings.
26975         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
26976         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
26977         * m4/afs.m4 (gl_AFS): Likewise.
26978         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
26979         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
26980         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
26981         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
26982         (gl_INTEGER_TYPE_SUFFIX): Likewise.
26983         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
26984         (AC_CHECK_DECLS_ONCE): Likewise.
26985         Rename file...
26986         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
26987         gnulib-tool requires autoconf 2.59 or better.
26988         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
26989
26990 2008-04-08  Eric Blake  <ebb9@byu.net>
26991
26992         Use 'git describe --match' if present (added in git 1.5.5).
26993         * build-aux/git-version-gen: Limit result to tags that match 'v*'
26994         if possible.
26995
26996 2008-04-08  Bruno Haible  <bruno@clisp.org>
26997
26998         Add tentative support for OpenServer.
26999         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
27000         _ptr, _cnt.
27001         * lib/fpurge.c (fpurge): Likewise.
27002         * lib/freadable.c (freadable): Likewise.
27003         * lib/freadahead.c (freadahead): Likewise.
27004         * lib/freading.c (freading): Likewise.
27005         * lib/freadptr.c (freadptr): Likewise.
27006         * lib/freadseek.c (freadptrinc): Likewise.
27007         * lib/fseeko.c (rpl_fseeko): Likewise.
27008         * lib/fseterr.c (fseterr): Likewise.
27009         * lib/fwritable.c (fwritable): Likewise.
27010         * lib/fwriting.c (fwriting): Likewise.
27011         Reported by Roger Cornelius <rac@tenzing.org> and
27012         Brian K. White <brian@aljex.com>.
27013
27014 2008-04-06  Jim Meyering  <meyering@redhat.com>
27015
27016         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
27017
27018 2008-04-06  Bruno Haible  <bruno@clisp.org>
27019
27020         Avoid possible error with non-ASCII bytes in UTF-8 locales.
27021         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
27022         * tests/test-printf-posix.sh: Likewise.
27023         * tests/test-vfprintf-posix.sh: Likewise.
27024         * tests/test-vprintf-posix.sh: Likewise.
27025         * tests/test-xprintf-posix.sh: Likewise.
27026
27027 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
27028
27029         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
27030         hide error from 'ls', needed on OS/2.
27031         Report by Elbert Pol <elbert.pol@gmail.com>.
27032
27033 2008-04-04  Eric Blake  <ebb9@byu.net>
27034
27035         Make test-fseeko.c failures meaningful.
27036         * tests/test-fseeko.c: Print line number on failure.
27037         * tests/test-fseek.c: Likewise.
27038         Reported by Nelson H. F. Beebe.
27039
27040         Improve strtod bug detection check.
27041         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
27042         required for Solaris 10.
27043         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
27044
27045 2008-04-04  Bruno Haible  <bruno@clisp.org>
27046
27047         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
27048         by m4/setenv.m4.
27049
27050 2008-04-03  Eric Blake  <ebb9@byu.net>
27051
27052         Ensure sane .version contents.
27053         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
27054         version string.
27055         * build-aux/git-version-gen: Improve documentation.
27056
27057         Make GNU make output nicer.
27058         * top/GNUmakefile [!_have-Makefile]: Add dependency on
27059         MAKECMDGOALS to enforce message for all command line targets.  Set
27060         srcdir for use in maint.mk.
27061
27062         Another maintainer tweak.
27063         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
27064         a target that regenerates version.
27065
27066 2008-04-03  Jim Meyering  <meyering@redhat.com>
27067
27068         vc-list-files: don't cause coreutils "make po-check" failure
27069         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
27070
27071 2008-04-03  Eric Blake  <ebb9@byu.net>
27072
27073         Allow VPATH usage of vc-list-files.
27074         * build-aux/vc-list-files (scriptversion): Add timestamp.
27075         (options): Add --help, --version, -C.
27076         (CVS): Support installed cvsu.
27077
27078 2008-04-02  Bruno Haible  <bruno@clisp.org>
27079
27080         Avoid some "statement with no effect" warnings from gcc.
27081         * tests/test-wctype.c (main): Explicitly ignore unused values.
27082         Reported by Jim Meyering.
27083
27084 2008-04-02  Jim Meyering  <meyering@redhat.com>
27085
27086         Avoid some warnings from "gcc -Wshadow".
27087         * tests/test-frexp.c (exp): Define to a different identifier.
27088         * tests/test-frexpl.c (exp): Likewise.
27089
27090 2008-04-03  Jim Meyering  <meyering@redhat.com>
27091
27092         bootstrap: remove dangling *.[ch] symlinks from lib
27093         * build-aux/bootstrap [dangling symlink removal]: Move find's
27094         -depth option to precede all others, to avoid a warning.
27095         Remove *.[ch] files too, and from "$source_base" (usually lib/).
27096
27097 2008-04-02  Bruno Haible  <bruno@clisp.org>
27098
27099         Avoid some warnings from "gcc -Wshadow".
27100         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
27101         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
27102         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
27103         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
27104         Reported by Jim Meyering.
27105
27106 2008-04-01  Bruno Haible  <bruno@clisp.org>
27107
27108         Fix test to work on IRIX 6.5 with cc.
27109         * tests/test-math.c (numeric_equal): New function.
27110         (main): Use it.
27111
27112 2008-04-01  Bruno Haible  <bruno@clisp.org>
27113
27114         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
27115
27116 2008-04-01  Bruno Haible  <bruno@clisp.org>
27117
27118         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
27119         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
27120         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
27121         (Depends-on): Remove math.
27122
27123         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
27124         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
27125         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
27126         (Depends-on): Remove math.
27127
27128         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
27129         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
27130         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
27131         (Depends-on): Remove math.
27132         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
27133         (Depends-on): Remove math.
27134
27135         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
27136         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
27137         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
27138         (Depends-on): Remove math.
27139         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
27140         (Depends-on): Remove math.
27141
27142         * tests/test-round1.c: Include nan.h.
27143         (main): Use NaNd instead of NAN.
27144         * modules/round-tests (Files): Add tests/nan.h.
27145
27146         * tests/test-trunc1.c: Include nan.h.
27147         (main): Use NaNd instead of NAN.
27148         * modules/trunc-tests (Files): Add tests/nan.h.
27149
27150         * tests/test-roundf1.c: Include nan.h.
27151         (main): Use NaNf instead of NAN.
27152         * modules/roundf-tests (Files): Add tests/nan.h.
27153
27154         * tests/test-truncf1.c: Include nan.h.
27155         (main): Use NaNf instead of NAN.
27156         * modules/truncf-tests (Files): Add tests/nan.h.
27157
27158         * tests/test-ceilf1.c: Include nan.h.
27159         (main): Use NaNf instead of NAN.
27160         * modules/ceilf-tests (Files): Add tests/nan.h.
27161
27162         * tests/test-floorf1.c: Include nan.h.
27163         (main): Use NaNf instead of NAN.
27164         * modules/floorf-tests (Files): Add tests/nan.h.
27165
27166         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
27167         (main): Use NaNf instead of NAN.
27168         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
27169
27170         * tests/test-isnand.c: Include nan.h instead of <math.h>.
27171         (main): Use NaNd instead of NAN.
27172         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
27173
27174         * tests/test-frexp.c: Include nan.h.
27175         (main): Use NaNd instead of NAN.
27176         * modules/frexp-tests (Files): Add tests/nan.h.
27177
27178         * lib/isnan.c: Don't include <math.h>.
27179         (FUNC): Don't use NAN macro.
27180         * modules/isnand-nolibm (Depends-on): Remove math.
27181         * modules/isnanf-nolibm (Depends-on): Remove math.
27182         * modules/isnanl (Depends-on): Remove math.
27183         * modules/isnanl-nolibm (Depends-on): Remove math.
27184
27185         * tests/nan.h: New file.
27186
27187 2008-04-01  Eric Blake  <ebb9@byu.net>
27188
27189         Fix typos.
27190         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
27191         values to be the right type.
27192
27193         For now, cater to gnulib strtod inaccuracies.
27194         * tests/test-strtod.c (main): Allow 1-ulp error on expected
27195         fractional results.  While not as nice from a QoI perspective, it
27196         is a quicker patch than correctly implementing decimal to binary
27197         rounding.
27198
27199 2008-03-31  Eric Blake  <ebb9@byu.net>
27200
27201         Guarantee a definition of NAN.
27202         * lib/math.in.h (NAN): Define if missing.
27203         * tests/test-math.c (main): Test it.
27204         * doc/posix-headers/math.texi (math.h): Document this.
27205         * lib/isnan.c (rpl_isnand): Use it.
27206         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
27207         * tests/test-floorf1.c (NaN): Likewise.
27208         * tests/test-frexp.c (NaN): Likewise.
27209         * tests/test-isnand.c (NaN): Likewise.
27210         * tests/test-isnanf.c (NaN): Likewise.
27211         * tests/test-round1.c (NaN): Likewise.
27212         * tests/test-roundf1.c (NaN): Likewise.
27213         * tests/test-snprintf-posix.h (NaN): Likewise.
27214         * tests/test-sprintf-posix.h (NaN): Likewise.
27215         * tests/test-trunc1.c (NaN): Likewise.
27216         * tests/test-truncf1.c (NaN): Likewise.
27217         * tests/test-vasnprintf-posix.c (NaN): Likewise.
27218         * tests/test-vasprintf-posix.c (NaN): Likewise.
27219         * modules/isnand-nolibm (Depends-on): Add math.
27220         * modules/isnanf-nolibm (Depends-on): Likewise.
27221         * modules/isnanl (Depends-on): Likewise.
27222         * modules/isnanl-nolibm (Depends-on): Likewise.
27223         * modules/snprintf-posix-tests (Depends-on): Likewise.
27224         * modules/sprintf-posix-tests (Depends-on): Likewise.
27225         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
27226         * modules/vsprintf-posix-tests (Depends-on): Likewise.
27227         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
27228         * modules/vasprintf-posix-tests (Depends-on): Likewise.
27229
27230 2008-03-31  Bruno Haible  <bruno@clisp.org>
27231
27232         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
27233         * doc/posix-functions/strtod.texi: Likewise.
27234
27235 2008-03-31  Bruno Haible  <bruno@clisp.org>
27236
27237         * tests/test-strtod.c (main): Don't use C99 syntax.
27238
27239 2008-03-31  Bruno Haible  <bruno@clisp.org>
27240
27241         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
27242         Reported by Eric Blake.
27243
27244 2008-03-31  Jim Meyering  <meyering@redhat.com>
27245
27246         Don't compare actual signbit return values.
27247         * tests/test-strtod.c (main): Rather, compare only their
27248         zero/non-zero nature.
27249
27250 2008-03-31  Eric Blake  <ebb9@byu.net>
27251
27252         More strtod documentation.
27253         * doc/posix-functions/strtod.texi (strtod): Interpret more test
27254         failures as distinct bugs.
27255
27256 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
27257
27258         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
27259         Problem reported by Erik Benada in
27260         <http://lists.gnu.org/archive/html/bug-gnulib/2008-03/msg00249.html>.
27261
27262 2008-03-30  Bruno Haible  <bruno@clisp.org>
27263
27264         * tests/test-strtod.c: Add comments about which assertion fails on which
27265         platform.
27266         * doc/posix-functions/strtod.texi: Add info about many more platforms.
27267
27268 2008-03-30  Eric Blake  <ebb9@byu.net>
27269
27270         Test signbit behavior on zeros.
27271         * tests/test-signbit.c (test_signbitf): Add tests for zero.
27272         (test_signbitd, test_signbitl): Likewise.
27273
27274         More strtod touchups.
27275         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
27276         sign of negative underflow, for now.  Use .5, not .1.
27277         * doc/posix-functions/strtod.texi (strtod): Mention these
27278         limitations.
27279         Reported by Jim Meyering.
27280
27281 2008-03-30  Bruno Haible  <bruno@clisp.org>
27282
27283         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
27284         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
27285
27286 2008-03-30  Bruno Haible  <bruno@clisp.org>
27287
27288         Avoid failure when attempting to return empty iconv results on some
27289         platforms.
27290         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
27291         allocation, don't report ENOMEM when the resulting string is empty.
27292
27293 2008-03-30  Bruno Haible  <bruno@clisp.org>
27294
27295         Fix buffer overrun.
27296         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
27297         Don't consider the width for tmp_length. Check count against tmp_length
27298         before doing the padding. Ensure enough allocation during padding.
27299
27300 2008-03-30  Eric Blake  <ebb9@byu.net>
27301
27302         strtod touchups.
27303         * lib/strtod.c (strtod): Avoid compiler warnings.
27304         Reported by Jim Meyering.
27305
27306 2008-03-30  Bruno Haible  <bruno@clisp.org>
27307
27308         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
27309         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
27310         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
27311         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
27312         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
27313         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
27314         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
27315         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
27316
27317         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
27318         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
27319         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
27320         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
27321         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
27322         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
27323         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
27324         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
27325
27326         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
27327         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
27328         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
27329         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
27330         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
27331         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
27332         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
27333         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
27334
27335         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
27336         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
27337
27338         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
27339         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
27340
27341         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
27342         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
27343
27344         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
27345         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
27346         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
27347
27348         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
27349         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
27350         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
27351
27352         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
27353         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
27354         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
27355
27356         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
27357         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
27358         * modules/vasprintf (Depends-on): Add EOVERFLOW.
27359
27360         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
27361         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
27362         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
27363         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
27364         (Depends-on): Add EOVERFLOW.
27365         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
27366         (Depends-on): Add EOVERFLOW.
27367         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
27368         (Depends-on): Add EOVERFLOW.
27369         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
27370         (Depends-on): Add EOVERFLOW.
27371         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
27372         (Depends-on): Add EOVERFLOW.
27373         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
27374         (Depends-on): Add EOVERFLOW.
27375         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
27376         (Depends-on): Add EOVERFLOW.
27377         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
27378         (Depends-on): Add EOVERFLOW.
27379
27380         * lib/sprintf.c (EOVERFLOW): Remove fallback.
27381         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
27382         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
27383
27384         * lib/snprintf.c (EOVERFLOW): Remove fallback.
27385         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
27386         * modules/snprintf (Depends-on): Add EOVERFLOW.
27387
27388         * lib/poll.c (EOVERFLOW): Remove fallback.
27389         * modules/poll (Depends-on): Add EOVERFLOW.
27390
27391         * lib/getugroups.c (EOVERFLOW): Remove fallback.
27392         * modules/getugroups (Depends-on): Add EOVERFLOW.
27393
27394         * lib/getdelim.c (EOVERFLOW): Remove fallback.
27395         * modules/getdelim (Depends-on): Add EOVERFLOW.
27396
27397         * lib/ftell.c (EOVERFLOW): Remove fallback.
27398         * modules/ftell (Depends-on): Add EOVERFLOW.
27399
27400         * lib/fprintf.c (EOVERFLOW): Remove fallback.
27401         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
27402         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
27403
27404         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
27405
27406         * modules/EOVERFLOW-tests: New file.
27407         * tests/test-EOVERFLOW.c: New file.
27408
27409         * modules/EOVERFLOW: New file.
27410         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
27411
27412 2008-03-30  Bruno Haible  <bruno@clisp.org>
27413
27414         Fix bug introduced on 2007-06-10.
27415         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
27416         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
27417
27418 2008-03-30  Bruno Haible  <bruno@clisp.org>
27419
27420         Improve freadseek's efficiency after ungetc.
27421         * lib/freadseek.c: Include freadahead.h.
27422         (freadptrinc): New function, extracted from freadseek.
27423         (freadseek): Use it in a loop. Use freadahead to determine the number
27424         of loop iterations.
27425         * modules/freadseek (Depends-on): Add freadahead.
27426         (configure.ac): Require AC_C_INLINE.
27427
27428 2008-03-30  Bruno Haible  <bruno@clisp.org>
27429
27430         * lib/freadseek.c (freadseek): Don't ignore the return value of
27431         freadptr.
27432
27433 2008-03-29  Eric Blake  <ebb9@byu.net>
27434
27435         Add hex float support.
27436         * modules/strtod (Depends-on): Add c-ctype.
27437         (Link): Mention POW_LIB.
27438         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
27439         whitespace between 'e' and exponent.
27440         * tests/test-strtod.c (main): Enable hex float tests.
27441         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
27442         now provides.
27443
27444         Document various strtod bugs, with some fixes.
27445         * doc/posix-functions/strtod.texi (strtod): Document bugs with
27446         "-0x", "inf", "nan", and hex constants.
27447         * doc/posix-functions/atof.texi (atof): Likewise.
27448         * modules/stdlib (Makefile.am): Support strtod.
27449         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
27450         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
27451         detect additional strtod bugs.
27452         * lib/stdlib.in.h (rpl_strtod): Add declarations.
27453         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
27454         bool where appropriate.  Parse 'inf' and 'nan'.
27455         * tests/test-strtod.c: New file.
27456         * modules/strtod (Depends-on): Add stdbool, stdlib.
27457         (configure.ac): Turn on module indicator.
27458         * modules/strtod-tests: New module.
27459
27460 2008-03-29  Eric Blake  <ebb9@byu.net>
27461
27462         Fix ftell on mingw.
27463         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
27464         * modules/ftell-tests (Depends-on): Add binary-io.
27465         * modules/ftello-tests (Depends-on): Likewise.
27466         * tests/test-ftell.c (main): Enhance test to cover behavior after
27467         ungetc.  Enforce binary mode.
27468         * tests/test-ftello.c (main): Likewise.
27469
27470         Pass test-freadseek on cygwin.
27471         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
27472         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
27473         ungetc buffer.
27474
27475         * tests/test-fflush2.c (main): Fix typo.
27476
27477 2008-03-29  Bruno Haible  <bruno@clisp.org>
27478
27479         * tests/test-fflush2.c (main): Temporarily disable the contents of
27480         this test.
27481         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
27482         Reported by Eric Blake.
27483
27484 2008-03-28  Simon Josefsson  <simon@josefsson.org>
27485
27486         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
27487         (GC_SHA224_DIGEST_SIZE): Add.
27488
27489         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
27490         (gc_hash_digest_length): Likewise.
27491         (gc_hash_buffer): Likewise.
27492
27493 2008-03-25  Bruno Haible  <bruno@clisp.org>
27494
27495         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
27496         detail which gettext release to use.
27497         Reported by Simon Josefsson.
27498
27499 2008-03-26  Jim Meyering  <meyering@redhat.com>
27500
27501         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
27502         * modules/gnumakefile (clean-GNUmakefile): Also, use
27503         test ... && ... || : syntax rather than if-then ... fi.
27504
27505         gnumakefile: Don't double-quote-expand $(VPATH) value.
27506         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
27507
27508 2008-03-24  Eric Blake  <ebb9@byu.net>
27509
27510         Alter GNUmakefile to install into top directory.
27511         * modules/maintainer-makefile: Split, and add dependency...
27512         * modules/gnumakefile: to this new module.
27513         * build-aux/GNUmakefile: Move...
27514         * top/GNUmakefile: ...here.
27515         * build-aux/maint.mk: Move...
27516         * top/maint.mk: ...here.
27517         * MODULES.html.sh (Support for maintaining...): Document new
27518         module.
27519
27520 2008-03-23  Bruno Haible  <bruno@clisp.org>
27521
27522         * gnulib-tool: New options --vc-files, --no-vc-files.
27523         (func_usage): Document them.
27524         (vc_files): New variable.
27525         (func_import): Consider vc_files.
27526         (func_create_testdir): Set vc_files to empty.
27527         Suggested by Jim Meyering and Karl Berry.
27528
27529 2008-03-23  Bruno Haible  <bruno@clisp.org>
27530
27531         Fix regex compilation error on HP-UX 11.
27532         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
27533         * modules/regex (Files): Add m4/mbstate_t.m4.
27534         Reported by Ton Voon <ton.voon@altinity.com>.
27535
27536 2008-03-23  Bruno Haible  <bruno@clisp.org>
27537
27538         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
27539
27540 2008-03-23  Eric Blake  <ebb9@byu.net>
27541             Bruno Haible  <bruno@clisp.org>
27542
27543         Install files from top/ in the destination directory.
27544         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
27545         augmentation also for the files from top/.
27546         (func_import, func_create_testdir): Rewrite file names:
27547         top/filename -> filename.
27548
27549 2008-03-23  Bruno Haible  <bruno@clisp.org>
27550
27551         Tweak "gnulib --version" output.
27552         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
27553
27554 2008-03-23  Bruno Haible  <bruno@clisp.org>
27555
27556         Tweak "gnulib --version" output.
27557         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
27558         rather than contents of ChangeLog, when possible.
27559
27560 2008-03-21  Eric Blake  <ebb9@byu.net>
27561
27562         More --version tweaks.
27563         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
27564         date of last ChangeLog entry.
27565
27566 2008-03-21  Jim Meyering  <meyering@redhat.com>
27567
27568         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
27569
27570 2008-03-20  Eric Blake  <ebb9@byu.net>
27571
27572         VPATH fix.
27573         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
27574
27575 2008-03-20  Simon Josefsson  <simon@josefsson.org>
27576
27577         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
27578         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
27579
27580 2008-03-20  Eric Blake  <ebb9@byu.net>
27581
27582         Sync GNUmakefile with coreutils.
27583         * build-aux/GNUmakefile (have-Makefile): Rename...
27584         (_have-Makefile): ...to this, for namespace consideration.
27585         (GNUmakefile.cfg): Include, if present.
27586         (_autoreconf): Define a default.
27587         (_is-dist-target): New rule for rebuilds to pick up intra-release
27588         version.
27589         (maint-cfg.mk): Rename...
27590         (cfg.mk): ...to this.
27591
27592 2008-03-18  Jim Meyering  <meyering@redhat.com>
27593
27594         New script and module: mktempd
27595         * MODULES.html.sh (maint+release support): Add mktempd.
27596         * build-aux/mktempd: New file.
27597         * modules/mktempd: New file.
27598
27599 2008-03-15  Jim Meyering  <meyering@redhat.com>
27600
27601         Undo last change.
27602         * lib/sha1.c, lib/md5.c: 63 != ~63.
27603         Reported by Andreas Schwab.
27604
27605         sha1.c, md5.c: Hoist a redundant expression.
27606         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
27607         "ctx->buflen" only once, before calling *_process_block.
27608         * lib/md5.c (md5_process_bytes): Likewise.
27609
27610 2008-03-14  Eric Blake  <ebb9@byu.net>
27611
27612         Bump copyright year in files generated by gnulib-tool.
27613         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
27614         gnulib-tool, rather than hard-coding it.
27615
27616         Fix 'gnulib-tool --version' output to work with git.
27617         * gnulib-tool (func_gnulib_dir): New function, extracted from...
27618         (startup): ...here.
27619         (func_version): Use it to invoke git-version-gen, rather than
27620         relying on CVS keyword expansion.  Modernize wording.
27621         (cvsdatestamp, last_checkin_date, version): Kill unused
27622         variables.
27623
27624 2008-03-12  Jim Meyering  <meyering@redhat.com>
27625
27626         Recognize optional cast of the argument to free.
27627         * build-aux/useless-if-before-free: Update regexps.
27628
27629         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
27630
27631 2008-03-11  Bruno Haible  <bruno@clisp.org>
27632
27633         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
27634         by a single package.
27635         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
27636         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
27637         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
27638         Reported by Sam Steingold <sds@gnu.org>.
27639
27640 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
27641
27642         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
27643         repositories.
27644
27645 2008-03-11  Bruno Haible  <bruno@clisp.org>
27646
27647         Avoid conflicts between local macro definitions.
27648         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
27649         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
27650
27651 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
27652             Bruno Haible  <bruno@clisp.org>
27653
27654         Make va_copy work with some version of xlc on AIX 5.1.
27655         * lib/stdarg.in.h: New file.
27656         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
27657         On AIX, use a <stdarg.h> file substitute.
27658         * modules/stdarg (Files): Add lib/stdarg.in.h.
27659         (Depends-on): Add include_next.
27660         (Makefile.am): Build a stdarg.h substitute if requested.
27661         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
27662
27663 2008-03-10  Bruno Haible  <bruno@clisp.org>
27664
27665         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
27666         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
27667         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
27668
27669 2008-03-10  Bruno Haible  <bruno@clisp.org>
27670
27671         * modules/stdlib (Depends-on): Add include_next, remove
27672         absolute-header.
27673
27674 2008-03-09  Bruno Haible  <bruno@clisp.org>
27675
27676         * lib/freadahead.h (freadahead): Document more precisely.
27677         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
27678         the sum of both buffer sizes.
27679         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
27680         * NEWS: Document the change.
27681
27682 2008-03-09  Bruno Haible  <bruno@clisp.org>
27683
27684         Extend freadptr to return also the buffer size.
27685         * lib/freadptr.h (freadptr): Add sizep argument.
27686         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
27687         (freadptr): Add sizep argument. Determine buffer size like freadahead
27688         does.
27689         * tests/test-freadptr.c: Don't include freadahead.h.
27690         (main): Adapt for new calling convention of freadptr.
27691         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
27692         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
27693         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
27694         tests/test-freadptr2.sh.
27695         (Depends): Remove freadahead.
27696         (TESTS): Add test-freadptr2.sh.
27697         (check_PROGRAMS): Add test-freadptr2.
27698
27699 2008-03-09  Bruno Haible  <bruno@clisp.org>
27700
27701         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
27702         Report and solution by Simon Josefsson.
27703
27704 2008-03-06  Bruno Haible  <bruno@clisp.org>
27705
27706         Make fflush after ungetc work on BSD platforms.
27707         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
27708         * tests/test-fflush2.c: New file.
27709         * tests/test-fflush2.sh: New file.
27710         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
27711         tests/test-fflush2.c.
27712         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
27713         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
27714
27715 2008-03-06  Eric Blake  <ebb9@byu.net>
27716
27717         Likewise for ftello.
27718         * modules/ftello (Dependencies): Add extensions.
27719         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
27720
27721 2008-03-06  Bruno Haible  <bruno@clisp.org>
27722
27723         * modules/fseeko (Dependencies): Add extensions.
27724         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
27725         Needed on glibc systems.
27726
27727 2008-03-06  Bruno Haible  <bruno@clisp.org>
27728
27729         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
27730         email address.
27731         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
27732
27733 2008-03-06  Bruno Haible  <bruno@clisp.org>
27734
27735         * users.txt: Add libgnupdf.
27736
27737 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
27738
27739         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
27740         (Header File Substitutes, Function Substitutes,
27741         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
27742         (Build robot for gnulib): Fix typo.
27743
27744 2008-03-06  Bruno Haible  <bruno@clisp.org>
27745
27746         * doc/gnulib-tool.texi (VCS Issues): Small updates.
27747         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
27748
27749 2008-03-06  Bruno Haible  <bruno@clisp.org>
27750
27751         * doc/func.texi: New file, extracted from doc/gnulib.texi.
27752         * doc/gnulib.texi: Include it.
27753
27754 2008-03-06  Simon Josefsson  <simon@josefsson.org>
27755
27756         * modules/func (License): Change license to unlimited; there was
27757         no LGPL parts in the module anyway.
27758
27759 2008-03-06  Simon Josefsson  <simon@josefsson.org>
27760
27761         * modules/__func__: Renamed to modules/func.
27762         * modules/__func__-tests: Renamed to modules/func-tests.
27763         * tests/test-__func__.c: Renamed to tests/test-func.c.
27764         * m4/__func__.m4: Renamed to m4/func.m4.
27765         * doc/gnulib.texi (__func__): Section renamed to func.
27766         Suggested by Eric Blake <ebb9@byu.net>.
27767
27768 2008-03-06  Simon Josefsson  <simon@josefsson.org>
27769
27770         * doc/gnulib.texi (__func__): Use C99 terminology when talking
27771         about __func__.  Make example self-contained.  Suggested by Eric
27772         Blake <ebb9@byu.net>.
27773
27774         * tests/test-__func__.c (main): Avoid extraneous () around __func.
27775         Suggested by Eric Blake <ebb9@byu.net>.
27776
27777 2008-03-06  Simon Josefsson  <simon@josefsson.org>
27778
27779         * modules/__func__: New file.
27780         * modules/__func__-tests: New file.
27781         * tests/test-__func__.c: New file.
27782         * m4/__func__.m4: New file.
27783         * doc/gnulib.texi (__func__): Document __func__ module.
27784
27785 2008-03-05  Simon Josefsson  <simon@josefsson.org>
27786
27787         * modules/byteswap (License): Re-license as LGPLv2+.
27788
27789 2008-03-05  Simon Josefsson  <simon@josefsson.org>
27790
27791         * doc/Makefile: Add pdf target.
27792
27793 2008-03-05  Simon Josefsson  <simon@josefsson.org>
27794
27795         * modules/inline (License): Use 'unlimited', since there are only
27796         *.m4 files in this module.
27797
27798 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
27799             Bruno Haible  <bruno@clisp.org>
27800
27801         Add support for HP C 7.1 on OpenVMS 8.3.
27802         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
27803
27804 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
27805
27806         Update VMS specifics.
27807         * lib/getopt.c [VMS]: Remove include of unixlib.h.
27808
27809 2008-03-02  Jim Meyering  <meyering@redhat.com>
27810
27811         Remove the last dependency on the "free" module.
27812         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
27813         Reported by Bob Proulx.
27814
27815         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
27816
27817         Remove useless "if" tests before free.  Deprecate "free" module.
27818         * doc/posix-functions/free.texi: Mention that this
27819         module is no longer useful.
27820         * modules/free (Notice): Say this module is obsolete.
27821         * modules/readutmp (Depends-on): Remove free.
27822         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
27823         * lib/putenv.c (putenv): Likewise.
27824         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
27825         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
27826         * tests/test-c-strcasestr.c (main): Likewise.
27827         * tests/test-c-strstr.c (main): Likewise.
27828         * tests/test-mbscasestr1.c (main): Likewise.
27829         * tests/test-mbscasestr2.c (main): Likewise.
27830         * tests/test-mbsstr1.c (main): Likewise.
27831         * tests/test-mbsstr2.c (main): Likewise.
27832         * tests/test-memmem.c (main): Likewise.
27833         * tests/test-strcasestr.c (main): Likewise.
27834         * tests/test-striconv.c (main): Likewise.
27835         * tests/test-striconveh.c (main): Likewise.
27836         * tests/test-striconveha.c (main): Likewise.
27837         * tests/test-strstr.c (main): Likewise.
27838
27839         * build-aux/git-version-gen: Adjust a comment and the Usage string.
27840
27841         bootstrap: sync from coreutils again
27842         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
27843
27844 2008-03-01  Jim Meyering  <meyering@redhat.com>
27845
27846         bootstrap: sync from coreutils
27847         * build-aux/bootstrap (update_po_files): Copy a .po file into place
27848         also when the target doesn't exist.
27849
27850 2008-03-01  Eric Blake  <ebb9@byu.net>
27851
27852         Fix bugs in last patch.
27853         * lib/memchr2.c (memchr2): Fix typo.
27854         * tests/test-memchr2.c: Test previous bug, and don't use GNU
27855         extension.
27856         Reported by Bruce Korb.
27857
27858         New module 'memchr2'.
27859         * modules/memchr2: New file.
27860         * modules/memchr2-tests: Likewise.
27861         * lib/memchr2.h: Likewise.
27862         * lib/memchr2.c: Likewise, based on memchr.c.
27863         * tests/test-memchr2.c: New test.
27864         * MODULES.html.sh (String handling): Add memchr2.
27865
27866 2008-02-29  Bruno Haible  <bruno@clisp.org>
27867
27868         * modules/freadseek-tests: New file.
27869         * tests/test-freadseek.sh: New file.
27870         * tests/test-freadseek.c: New file.
27871
27872         New module 'freadseek'.
27873         * modules/freadseek: New file.
27874         * lib/freadseek.h: New file.
27875         * lib/freadseek.c: New file.
27876         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
27877
27878 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
27879
27880         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
27881         wydawca.
27882
27883         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
27884         program_invocation_name and program_invocation_short_name are
27885         present.
27886
27887 2008-02-28  Bruno Haible  <bruno@clisp.org>
27888
27889         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
27890         * tests/test-freadptr.sh: Also test non-seekable stdin.
27891
27892 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
27893
27894         * build-aux/bootstrap (source_base, m4_base)
27895         (doc_base, tests_base): New variables.
27896         (gnulib_tool_options): Do not hardcode base directories, use
27897         the above variables instead.
27898
27899 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
27900
27901         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
27902
27903 2008-02-28  Bruno Haible  <bruno@clisp.org>
27904
27905         * modules/freadptr-tests: New file.
27906         * tests/test-freadptr.sh: New file.
27907         * tests/test-freadptr.c: New file.
27908
27909         New module 'freadptr'.
27910         * modules/freadptr: New file.
27911         * lib/freadptr.h: New file.
27912         * lib/freadptr.c: New file.
27913         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
27914
27915 2008-02-26  Karl Berry  <karl@freefriends.org>
27916
27917         Sync from Libtool:
27918         * libltdl/argz.c (argz_add, argz_count): New functions.
27919         * libltdl/argz.in.h: Declare them.
27920         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
27921
27922 2008-02-22  Bruno Haible  <bruno@clisp.org>
27923
27924         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
27925         is a pointer type.  Needed for HP-UX 10.
27926         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
27927         * doc/posix-functions/gmtime_r.texi: Likewise.
27928         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
27929
27930 2008-02-24  Bruno Haible  <bruno@clisp.org>
27931
27932         * modules/environ-tests: New file.
27933         * tests/test-environ.c: New file.
27934
27935         New module 'environ'.
27936         * modules/environ: New file.
27937         * lib/unistd.in.h (environ): New declaration.
27938         * m4/environ.m4: New file.
27939         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
27940         after use.
27941         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
27942         HAVE_DECL_ENVIRON.
27943         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
27944         HAVE_DECL_ENVIRON.
27945         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
27946         wrong claim that 'environ' is missing on some systems.
27947         * modules/execute (Depends-on): Add environ.
27948         * lib/execute.c (environ): Remove fallback declaration.
27949         * modules/pipe (Depends-on): Add environ.
27950         * lib/pipe.c (environ): Remove fallback declaration.
27951         * modules/setenv (Depends-on): Add environ.
27952         * lib/setenv.c (environ): Remove fallback declaration.
27953         * modules/unsetenv (Depends-on): Add environ.
27954         * lib/unsetenv.c (environ): Remove fallback declaration.
27955         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
27956         m4/environ.m4.
27957         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
27958         (gl_PREREQ_UNSETENV): Likewise.
27959
27960 2008-02-24  Bruno Haible  <bruno@clisp.org>
27961
27962         * doc/posix-functions/environ.texi: Document the MacOS X problem.
27963
27964 2008-02-20  Bob Proulx  <bob@proulx.com>
27965
27966         Enable use of older two part flavor 'git describe'.
27967         * build-aux/git-version-gen: If using the older two part flavor of
27968         git version then recreate the third part now present in the
27969         newer three part flavor of git describe.
27970
27971 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
27972
27973         * lib/fts.c (fts_build): Typo correction to comment.
27974
27975 2008-02-17  Bruno Haible  <bruno@clisp.org>
27976
27977         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
27978         generating no-op conflicts.
27979
27980 2008-02-17  Bruno Haible  <bruno@clisp.org>
27981
27982         Speed up by 10%.
27983         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
27984         result_entries, rather than an index-based loop.
27985
27986 2008-02-17  Bruno Haible  <bruno@clisp.org>
27987
27988         Speed up by 25%.
27989         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
27990         'hashcode_cached'.
27991         (entry_create): New function.
27992         (entry_hashcode): Use the cached hashcode if possible.
27993         (read_changelog_file, try_split_merged_entry): Use entry_create.
27994
27995 2008-02-17  Bruno Haible  <bruno@clisp.org>
27996
27997         Speed up from O(n^2) to O(n) for long ChangeLog files.
27998         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
27999         (read_changelog_file): Change implementation of entries_reversed list
28000         to rbtreehash.
28001         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
28002
28003 2008-02-17  Bruno Haible  <bruno@clisp.org>
28004
28005         New option --split-merged-entry.
28006         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
28007         (find_paragraph_end, try_split_merged_entry): New functions.
28008         (long_options): Add option --split-merged-entry.
28009         (usage): Document option --split-merged-entry.
28010         (main): Implement option --split-merged-entry.
28011         Reported by Eric Blake.
28012
28013 2008-02-17  Bruno Haible  <bruno@clisp.org>
28014
28015         * lib/git-merge-changelog.c: Include c-strstr.h.
28016         (main): Support the "git pull --rebase" situation.
28017         * modules/git-merge-changelog (Depends-on): Add c-strstr.
28018         Reported by Eric Blake.
28019
28020 2008-02-16  Eric Blake  <ebb9@byu.net>
28021
28022         Avoid doubling \ in common case of "c-maybe" quoting style.
28023         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
28024         eliding outer quotes.
28025         * lib/quotearg.h: Document this.
28026         * tests/test-quotearg.c (result_strings, inputs, results_g)
28027         (flag_results, locale_results): Test it by adding a new string to
28028         each test group.
28029         (compare_strings): Test new string.
28030
28031 2008-02-13  Eric Blake  <ebb9@byu.net>
28032
28033         Avoid trigraph quoting in default output.
28034         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
28035         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
28036         unless explicitly requested.
28037         * tests/test-quotearg.c (flag_results, main): Add additional tests.
28038
28039 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
28040
28041         Don't rely on signed integer overflowing to negative value.
28042         * lib/getugroups.c (getugroups): Include <limits.h>.
28043         Instead, compare against INT_MAX, and increment only if the test passes.
28044
28045 2008-02-13  Jim Meyering  <meyering@redhat.com>
28046         and Eric Blake  <ebb9@byu.net>
28047
28048         Avoid shadowing warning and compile errors on Linux.
28049         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
28050         forwarding macros on Linux.
28051         (dcgettext): Define a stub, for Linux.
28052         (results_g, main): Avoid warnings.
28053
28054 2008-02-12  Eric Blake  <ebb9@byu.net>
28055
28056         Silence warning in last patch.
28057         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
28058
28059         Quotearg part 4: add tests, fix c-maybe colon quoting.
28060         * lib/quotearg.h: Improve documentation.
28061         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
28062         escapes when adding outer quotes.  When quoting trigraphs, use
28063         valid C notation.  When quoting NUL, omit extra characters if next
28064         character is not digit.  Alter prototype.
28065         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
28066         callers.
28067         * modules/quotearg-tests: New module.
28068         * tests/test-quotearg.c: New test.
28069
28070 2008-02-07  Eric Blake  <ebb9@byu.net>
28071
28072         Quotearg part 3: add flag to control outer quote elision.
28073         * lib/quotearg.h (c_maybe_quoting_style): New style.
28074         (enum quoting_flags): Better documentation of flags.
28075         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
28076         c-maybe style.
28077         (quotearg_buffer_restyled): Handle new flag to elide outer
28078         quotes.
28079
28080         Quotearg part 2: add flag that can control NUL elision.
28081         * lib/quotearg.h (set_quoting_flags): New prototype.
28082         * lib/quotearg.c (struct quoting_options): Add flag field.
28083         (set_quoting_flags): New function.
28084         (quotearg_buffer_restyled): Add flags parameter.
28085         (quotearg_alloc_mem): Set the flag if length cannot be returned.
28086         (quotearg_n_options): Set the flag, since length cannot be
28087         returned.
28088         (quoting_options_from_style): Default flags correctly.
28089
28090         Quotearg part 1: more wrappers, restore quotearg_char state.
28091         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
28092         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
28093         (quotearg_colon_mem): New wrappers.
28094         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
28095         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
28096         functions.
28097         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
28098         (quotearg_colon_mem): New functions.
28099
28100 2008-02-11  Bruno Haible  <bruno@clisp.org>
28101
28102         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
28103         library in the current directory: it does not work with parallel make.
28104         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
28105
28106 2008-02-11  Bruno Haible  <bruno@clisp.org>
28107
28108         * .gitattributes: New file.
28109
28110 2008-02-11  Jim Meyering  <meyering@redhat.com>
28111
28112         useless-if-before-free: Fix reversed exit values.
28113         * build-aux/useless-if-before-free: Use correct values
28114         for EXIT_MATCH and EXIT_NO_MATCH.
28115
28116         * build-aux/useless-if-before-free: Close stdout carefully.
28117
28118 2008-02-10  Bruno Haible  <bruno@clisp.org>
28119
28120         New module 'git-merge-changelog'.
28121         * modules/git-merge-changelog: New file.
28122         * lib/git-merge-changelog.c: New file.
28123
28124 2008-02-10  Jim Meyering  <meyering@redhat.com>
28125
28126         useless-if-before-free: New option: --list (-l).
28127
28128         useless-if-before-free: Don't exit immediately upon open failure.
28129         * build-aux/useless-if-before-free: Exit 2 for errors.
28130         Upon failure to open a file, don't exit immediately.
28131         Rather, just warn and continue with any remaining files.
28132
28133 2008-02-10  Bruno Haible  <bruno@clisp.org>
28134
28135         New abstract list operation 'node_set_value'.
28136         * lib/gl_list.h (gl_list_node_set_value): New function.
28137         (struct gl_list_implementation): New field node_set_value.
28138         * lib/gl_list.c (gl_list_node_set_value): New function.
28139         * lib/gl_array_list.c (gl_array_node_set_value): New function.
28140         (gl_array_list_implementation): Update.
28141         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
28142         (gl_carray_list_implementation): Update.
28143         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
28144         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
28145         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
28146         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
28147         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
28148         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
28149         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
28150         Update.
28151         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
28152         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
28153         (gl_sublist_list_implementation): Update.
28154
28155 2008-02-10  Bruno Haible  <bruno@clisp.org>
28156
28157         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
28158         Needed when ELEMENT is #defined to 'some_type *'.
28159
28160 2008-02-10  Jim Meyering  <meyering@redhat.com>
28161
28162         New script and module: useless-if-before-free
28163         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
28164         * build-aux/useless-if-before-free: New file.
28165         * modules/useless-if-before-free: New file.
28166
28167         * build-aux/gitlog-to-changelog: Use committer date, not author date.
28168
28169         xstrtol_error: Fix typo.
28170         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
28171         s/exit_failure/exit_status/.
28172
28173 2008-02-09  Jim Meyering  <meyering@redhat.com>
28174
28175         New script and module: gitlog-to-changelog
28176         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
28177         * modules/gitlog-to-changelog: New file.
28178         * build-aux/gitlog-to-changelog: New file.
28179
28180 2008-02-08  Jim Meyering  <meyering@redhat.com>
28181
28182         Avoid two "parameter unused" warnings.
28183         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
28184         Mark "st" as used.
28185
28186         Use "git COMMAND", not "git-COMMAND".
28187         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
28188         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
28189         * build-aux/git-version-gen: Use "git status", not "git-status".
28190
28191 2008-02-07  Bruno Haible  <bruno@clisp.org>
28192
28193         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
28194         Avoids a crash on Windows Vista.
28195         Reported by Adam Strzelecki <ono@java.pl> via
28196         Simon Josefsson <simon@josefsson.org>.
28197
28198 2008-02-06  Bruno Haible  <bruno@clisp.org>
28199
28200         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
28201         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
28202         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
28203         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
28204         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
28205         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
28206         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
28207         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
28208         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
28209         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
28210         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
28211         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
28212         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
28213         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
28214         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
28215         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
28216         left-adjust flag.
28217         * tests/test-snprintf-posix.h (test_function): Likewise.
28218         * tests/test-sprintf-posix.h (test_function): Likewise.
28219         * tests/test-vasprintf-posix.c (test_function): Likewise.
28220         * doc/posix-functions/fprintf.texi: Update.
28221         * doc/posix-functions/printf.texi: Update.
28222         * doc/posix-functions/snprintf.texi: Update.
28223         * doc/posix-functions/sprintf.texi: Update.
28224         * doc/posix-functions/vfprintf.texi: Update.
28225         * doc/posix-functions/vprintf.texi: Update.
28226         * doc/posix-functions/vsnprintf.texi: Update.
28227         * doc/posix-functions/vsprintf.texi: Update.
28228         Reported by Peter Fales <psfales@alcatel-lucent.com>.
28229
28230 2008-02-06  Bruno Haible  <bruno@clisp.org>
28231
28232         Fix bug introduced on 2008-01-26.
28233         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
28234
28235 2008-02-06  Bruno Haible  <bruno@clisp.org>
28236
28237         Fix bug introduced on 2007-06-10.
28238         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
28239         !NEED_PRINTF_FLAG_ZERO.
28240
28241 2008-02-05  Peter O'Gorman <pogma@thewrittenword.com>
28242
28243         getloadavg: use libperfstat on AIX5
28244         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
28245
28246 2008-02-03  Bruno Haible  <bruno@clisp.org>
28247
28248         * lib/diffseq.h: Add comments about required #includes.
28249         Reported by Michael Biggs <gnulib@doubleplum.net>.
28250
28251 2008-02-01  Bruno Haible  <bruno@clisp.org>
28252
28253         * users.txt: Add gnuit.
28254
28255 2008-01-31  Bruno Haible  <bruno@clisp.org>
28256
28257         * lib/md4.c (set_uint32): Mark as inline.
28258         * lib/md5.c (set_uint32): Likewise.
28259         * lib/sha1.c (set_uint32): Likewise.
28260         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
28261         * m4/md5.m4 (gl_MD5): Likewise.
28262         * m4/sha1.m4 (gl_SHA1): Likewise.
28263
28264 2008-01-31  Jim Meyering  <meyering@redhat.com>
28265
28266         Use "sizeof VAR", rather than a literal "4".
28267         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
28268         * lib/md4.c (md4_read_ctx): Likewise.
28269         * lib/sha1.c (sha1_read_ctx): Likewise.
28270
28271 2008-01-31  Simon Josefsson  <simon@josefsson.org>
28272
28273         * tests/test-sha1.c: New file, based on test-md5.c.
28274
28275         * modules/crypto/sha1-tests: New file.
28276
28277 2008-01-31  Simon Josefsson  <simon@josefsson.org>
28278
28279         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
28280
28281 2008-01-31  Jim Meyering  <meyering@redhat.com>
28282
28283         Prefer "sizeof v" over the equivalent "4".
28284         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
28285         * lib/md5.c (set_uint32): Likewise.
28286         * lib/sha1.c (set_uint32): Likewise.
28287
28288 2008-01-31  Simon Josefsson  <simon@josefsson.org>
28289
28290         * lib/sha1.c (set_uint32): Mark function as static.
28291
28292 2008-01-31  Simon Josefsson  <simon@josefsson.org>
28293
28294         md2: clarify comments to say that alignment is not required.
28295         * lib/md2.h: Remove warning about alignment in comment.
28296         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
28297         never been required.
28298
28299 2008-01-31  Simon Josefsson  <simon@josefsson.org>
28300
28301         md4: adapt alignment constraint fix from sha1.
28302         * lib/md4.c (set_uint32): New function, from sha1.c
28303         (md4_read_ctx): Use it.
28304         (md4_finish_ctx): Doc fix.
28305         * lib/md4.h: Doc fix.
28306
28307 2008-01-31  Simon Josefsson  <simon@josefsson.org>
28308
28309         md5: adapt alignment constraint fix from sha1.
28310         * lib/md5.c (set_uint32): New function, from sha1.c
28311         (md5_read_ctx): Use it.
28312         (md5_finish_ctx): Doc fix.
28313         * lib/md5.h: Doc fix.
28314
28315 2008-01-30  Peter Palfrader  <weasel@debian.org>
28316
28317         sha1: remove the result buffer alignment constraint
28318         * lib/sha1.c (set_uint32): New function.
28319         (sha1_read_ctx): Rewrite to remove the result buffer alignment
28320         constraint.
28321         (sha1_finish_ctx): Remove comment warning about alignment constraint.
28322         * lib/sha1.h: Likewise.
28323
28324 2008-01-30  Andreas Schwab  <schwab@suse.de>
28325             Bruno Haible  <bruno@clisp.org>
28326
28327         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
28328         correct definition of LDBL_MIN_EXP.
28329
28330 2008-01-30  Karl Berry  <karl@gnu.org>
28331
28332         * config/srclist-update: try to preserve x bit on updates.
28333         * config/srclistvars.sh: update for karl.
28334
28335 2008-01-29  Jim Meyering  <meyering@redhat.com>
28336
28337         vasnprintf.c: Avoid warning about unused label
28338         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
28339         "overflow" label definition and associated code with the
28340         same cpp condition that guards the sole use of that label.
28341
28342 2008-01-26  Bruno Haible  <bruno@clisp.org>
28343
28344         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
28345         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
28346         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
28347         * lib/isnanl-nolibm.h (isnanl): Likewise.
28348         Reported by Paul Eggert <eggert@cs.ucla.edu>.
28349
28350 2008-01-26  Bruno Haible  <bruno@clisp.org>
28351
28352         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
28353         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
28354
28355 2008-01-26  Bruno Haible  <bruno@clisp.org>
28356
28357         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
28358         GCC >= 4.0 built-in.
28359         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
28360
28361 2008-01-26  Bruno Haible  <bruno@clisp.org>
28362
28363         Rename isnan, applicable to 'double' only, to isnand.
28364         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
28365         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
28366         (configure.ac): Update.
28367         (Include): Replace "isnan.h" with "isnand.h".
28368         * m4/isnand.m4: Renamed from m4/isnan.m4.
28369         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
28370         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
28371         instead of isnan.c.
28372         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
28373         instead of HAVE_ISNAN_IN_LIBC.
28374         (isnand): Renamed from isnan.
28375         * lib/isnand.c: New file.
28376         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
28377         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
28378         (Makefile.am): Update.
28379         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
28380         Include isnand.h instead of isnan.h.
28381         (main): Test isnand instead of isnan.
28382         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
28383         isnan-nolibm.
28384         * modules/frexp (Depends-on): Likewise.
28385         * modules/frexp-tests (Depends-on): Likewise.
28386         * modules/frexp-nolibm (Depends-on): Likewise.
28387         * modules/frexp-nolibm-tests (Depends-on): Likewise.
28388         * modules/isfinite (Depends-on): Likewise.
28389         * modules/round-tests (Depends-on): Likewise.
28390         * modules/signbit (Depends-on): Likewise.
28391         * modules/signbit-tests (Depends-on): Likewise.
28392         * modules/snprintf-posix (Depends-on): Likewise.
28393         * modules/sprintf-posix (Depends-on): Likewise.
28394         * modules/trunc-tests (Depends-on): Likewise.
28395         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
28396         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
28397         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
28398         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
28399         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
28400         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
28401         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
28402         * modules/vasnprintf-posix (Depends-on): Likewise.
28403         * modules/vasprintf-posix (Depends-on): Likewise.
28404         * modules/vfprintf-posix (Depends-on): Likewise.
28405         * modules/vsnprintf-posix (Depends-on): Likewise.
28406         * modules/vsprintf-posix (Depends-on): Likewise.
28407         * lib/frexp.c: Include isnand.h instead of isnan.h.
28408         (ISNAN): Set to isnand instead of isnan.
28409         * lib/isfinite.c: Include isnand.h instead of isnan.h.
28410         (gl_isfinited): Use isnand instead of isnan.
28411         * lib/signbitd.c: Include isnand.h instead of isnan.h.
28412         (gl_signbitd): Use isnand instead of isnan.
28413         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
28414         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
28415         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
28416         (main): Use isnand instead of isnan.
28417         * tests/test-round1.c: Include isnand.h.
28418         (main): Use isnand instead of isnan.
28419         * tests/test-round2.c: Include isnand.h instead of isnan.h.
28420         (ISNAN): Set to isnand instead of isnan.
28421         * tests/test-trunc1.c: Include isnand.h.
28422         (main): Use isnand instead of isnan.
28423         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
28424         (equal): Use isnand instead of isnan.
28425         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
28426         isnand-nolibm.
28427         * NEWS: Mention the change.
28428
28429 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
28430             Bruno Haible  <bruno@clisp.org>
28431
28432         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
28433         the GCC builtins for signbits are present and set
28434         REPLACE_SIGNBIT_USING_GCC if so.
28435         * lib/math.in.h (signbit): Define using GCC builtins if
28436         REPLACE_SIGNBIT_USING_GCC is set.
28437         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
28438         REPLACE_SIGNBIT_USING_GCC.
28439         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
28440
28441 2008-01-25  Jim Meyering  <meyering@redhat.com>
28442
28443         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
28444         * lib/poll.c: Include <config.h>, not "config.h".
28445         * tests/test-getaddrinfo.c: Likewise.
28446
28447 2008-01-25  Simon Josefsson  <simon@josefsson.org>
28448
28449         * modules/sockets-tests: New file.
28450
28451 2008-01-24  Simon Josefsson  <simon@josefsson.org>
28452
28453         * modules/sockets: New module, can be used to call WSA_Startup and
28454         WSA_Cleanup when needed.
28455
28456         * lib/sockets.h, lib/sockets.c: New files.
28457
28458         * m4/sockets.m4: New file.
28459
28460         * tests/test-sockets.c: New file.
28461
28462 2008-01-19  Bruno Haible  <bruno@clisp.org>
28463
28464         * doc/posix-headers: Renamed from doc/headers.
28465         * doc/posix-functions: Renamed from doc/functions.
28466         * doc/gnulib.texi: Update.
28467
28468 2008-01-19  Bruno Haible  <bruno@clisp.org>
28469
28470         * doc/glibc-functions/strcasestr.texi: Include contents of
28471         doc/functions/strcasestr.texi, fixing the list of platforms.
28472         * doc/functions/strcasestr.texi: Remove file.
28473
28474 2008-01-19  Bruno Haible  <bruno@clisp.org>
28475
28476         * doc/glibc-functions/memmem.texi: Include contents of
28477         doc/functions/memmem.texi.
28478         * doc/functions/memmem.texi: Remove file.
28479
28480 2008-01-18  Bruno Haible  <bruno@clisp.org>
28481
28482         * doc/glibc-functions/*.texi: New files.
28483         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
28484         to use the new files.
28485
28486 2008-01-17  Bruno Haible  <bruno@clisp.org>
28487
28488         * tests/test-gethostname.c (main): Fix printf statement.
28489
28490 2008-01-17  Simon Josefsson  <simon@josefsson.org>
28491
28492         * modules/gethostname-tests: New file.
28493
28494         * tests/test-gethostname.c: New file.
28495
28496 2008-01-17  Simon Josefsson  <simon@josefsson.org>
28497
28498         * lib/gethostname.c: Include string.h unconditionally, strncpy is
28499         used by the UNAME case.  Reported by Bruno Haible
28500         <bruno@clisp.org>.
28501
28502 2008-01-17  Eric Blake  <ebb9@byu.net>
28503
28504         Convert c-strcasestr to be more efficient.
28505         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
28506         (Depends-on): Add c-strcase, remove malloca, strnlen.
28507         * tests/test-c-strcasestr.c (main): Enhance test.
28508         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
28509
28510 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
28511
28512         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
28513         Use it in creating po/Makevars.
28514
28515 2008-01-15  Simon Josefsson  <simon@josefsson.org>
28516
28517         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
28518         Applications that requires it should initialize libgcrypt
28519         manually.
28520
28521 2008-01-16  Simon Josefsson  <simon@josefsson.org>
28522
28523         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
28524
28525 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
28526
28527         Fix problem with getdate on mingw32 reported by Simon Josefsson
28528         in <http://lists.gnu.org/archive/html/bug-gnulib/2008-01/msg00192.html>.
28529         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
28530         tzname", when deciding whether to declare tzname.
28531         * lib/strftime.c (tzname): Likewise.
28532
28533 2008-01-15  Bruno Haible  <bruno@clisp.org>
28534
28535         Work around a MacOS X 10.5 bug in frexpl().
28536         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
28537         * doc/functions/frexpl.texi: Document the bug.
28538         Reported by Elias Pipping <pipping@gentoo.org>.
28539
28540 2008-01-14  Eric Blake  <ebb9@byu.net>
28541
28542         Touch up previous patch.
28543         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
28544         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
28545
28546         Convert strcasestr module to use Two-Way algorithm.
28547         * modules/strcasestr-simple: New module, based on the old
28548         strcasestr, but with Two-Way rather than KMP.
28549         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
28550         * lib/string.in.h (rpl_strcasestr): Declare.
28551         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
28552         performance.
28553         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
28554         * modules/string (Makefile.am): Support strcasestr.
28555         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
28556         * modules/strcasestr-tests (Depends-on): Check for alarm.
28557         * tests/test-strcasestr.c: Augment test.
28558         * lib/str-two-way.h: Clean up stray macro.
28559         * NEWS: Document new module.
28560         * MODULES.html.sh (string handling): Likewise.
28561         * doc/functions/strcasestr.texi: New file.
28562         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
28563         here, since it is not a POSIX function.
28564
28565 2008-01-14  Colin Watson  <cjwatson@debian.org>
28566             Bruno Haible  <bruno@clisp.org>
28567
28568         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
28569         works fine; if not, set REPLACE_STRSIGNAL.
28570         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
28571         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
28572         REPLACE_STRSIGNAL.
28573         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
28574         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
28575         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
28576
28577 2008-01-14  Bruno Haible  <bruno@clisp.org>
28578
28579         * modules/strsignal (Include): Change to <string.h>.
28580
28581 2008-01-14  Colin Watson  <cjwatson@debian.org>
28582
28583         * modules/argp (Notice): Add a notice recommending to change
28584         XGETTEXT_OPTIONS.
28585         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
28586
28587 2008-01-13  Colin Watson  <cjwatson@debian.org>
28588
28589         * modules/strsignal-tests: New file.
28590         * tests/test-strsignal.c: New file.
28591
28592         * lib/strsignal.c: New file, from glibc with modifications.
28593         * lib/siglist.h: New file, from glibc with modifications.
28594         * lib/string.in.h (strsignal): New declaration.
28595         * m4/strsignal.m4: New file.
28596         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
28597         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
28598         * modules/strsignal: New file.
28599         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
28600         HAVE_DECL_STRSIGNAL.
28601
28602 2008-01-13  Bruno Haible  <bruno@clisp.org>
28603
28604         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
28605         locale encoding is not ASCII. Needed for OpenBSD 4.0.
28606         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
28607         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
28608
28609 2008-01-13  Bruno Haible  <bruno@clisp.org>
28610
28611         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
28612         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
28613         * lib/argp.h (__attribute__): Likewise.
28614         * lib/c-stack.c (__attribute__): Likewise.
28615         * lib/error.h (__attribute__): Likewise.
28616         * lib/fts.c (__attribute__): Likewise.
28617         * lib/openat.h (__attribute__): Likewise.
28618         * lib/stdio.in.h (__attribute__): Likewise.
28619         * lib/string.in.h (__attribute__): Likewise.
28620         * lib/utimens.c (__attribute__): Likewise.
28621         * lib/vasnprintf.h (__attribute__): Likewise.
28622         * lib/xalloc.h (__attribute__): Likewise.
28623         * lib/xprintf.h (__attribute__): Likewise.
28624         * lib/xstrtol.h (__attribute__): Likewise.
28625         * lib/xvasprintf.h (__attribute__): Likewise.
28626
28627 2008-01-12  Bruno Haible  <bruno@clisp.org>
28628
28629         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
28630         * doc/glibc-headers/a.out.texi: New file.
28631         * doc/glibc-headers/aliases.texi: New file.
28632         * doc/glibc-headers/alloca.texi: New file.
28633         * doc/glibc-headers/ar.texi: New file.
28634         * doc/glibc-headers/argp.texi: New file.
28635         * doc/glibc-headers/argz.texi: New file.
28636         * doc/glibc-headers/byteswap.texi: New file.
28637         * doc/glibc-headers/crypt.texi: New file.
28638         * doc/glibc-headers/endian.texi: New file.
28639         * doc/glibc-headers/envz.texi: New file.
28640         * doc/glibc-headers/err.texi: New file.
28641         * doc/glibc-headers/error.texi: New file.
28642         * doc/glibc-headers/execinfo.texi: New file.
28643         * doc/glibc-headers/fpu_control.texi: New file.
28644         * doc/glibc-headers/fstab.texi: New file.
28645         * doc/glibc-headers/fts.texi: New file.
28646         * doc/glibc-headers/getopt.texi: New file.
28647         * doc/glibc-headers/ieee754.texi: New file.
28648         * doc/glibc-headers/ifaddrs.texi: New file.
28649         * doc/glibc-headers/libintl.texi: New file.
28650         * doc/glibc-headers/mcheck.texi: New file.
28651         * doc/glibc-headers/mntent.texi: New file.
28652         * doc/glibc-headers/obstack.texi: New file.
28653         * doc/glibc-headers/paths.texi: New file.
28654         * doc/glibc-headers/printf.texi: New file.
28655         * doc/glibc-headers/pty.texi: New file.
28656         * doc/glibc-headers/resolv.texi: New file.
28657         * doc/glibc-headers/shadow.texi: New file.
28658         * doc/glibc-headers/sysexits.texi: New file.
28659         * doc/glibc-headers/ttyent.texi: New file.
28660
28661 2008-01-12  Jim Meyering  <meyering@redhat.com>
28662
28663         announce-gen: emit Gnulib's git-based version string.
28664         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
28665         New option --gnulib-version=V, where V is expected to be
28666         the output of running git describe in the gnulib directory.
28667         (get_tool_versions): Request feedback on xdelta.  I suspect it's
28668         not useful, and plan to stop publishing an xdelta file with each
28669         coreutils release.
28670
28671         * build-aux/announce-gen: Also check for lzma-compressed files.
28672
28673 2008-01-11  Bruno Haible  <bruno@clisp.org>
28674
28675         * tests/test-memmem.c (main): Increase maximum allowed time.
28676         * tests/test-strstr.c (main): Likewise.
28677
28678 2008-01-11  Bruno Haible  <bruno@clisp.org>
28679
28680         * doc/functions/memmem.texi: Add more precisions about platforms.
28681         * doc/functions/strstr.texi: Likewise.
28682
28683 2008-01-10  Eric Blake  <ebb9@byu.net>
28684
28685         * m4/strstr.m4: Delete cruft from copy-n-paste.
28686         Reported by Bruno Haible.
28687
28688 2008-01-10  Bruno Haible  <bruno@clisp.org>
28689
28690         Make c-strstr rely on strstr.
28691         * lib/c-strstr.c: Don't include str-kmp.h.
28692         (c_strstr): Define in terms of strstr.
28693         * modules/c-strstr (Files): Remove lib/str-kmp.h.
28694         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
28695
28696 2008-01-10  Bruno Haible  <bruno@clisp.org>
28697
28698         * doc/gnulib.texi (String Functions in C Locale): New section.
28699         * doc/c-ctype.texi: New file.
28700         * doc/c-strcase.texi: New file.
28701         * doc/c-strcaseeq.texi: New file.
28702         * doc/c-strcasestr.texi: New file.
28703         * doc/c-strstr.texi: New file.
28704         * doc/c-strtod.texi: New file.
28705         * doc/c-strtold.texi: New file.
28706
28707 2008-01-10  Eric Blake  <ebb9@byu.net>
28708
28709         * lib/relocatable.h: Fix a comment.
28710
28711 2008-01-10  Eric Blake  <ebb9@byu.net>
28712
28713         Share two-way algorithm.
28714         * lib/str-two-way.h: New file, merged from...
28715         * lib/memmem.c: ...here...
28716         * lib/strstr.c: ...and here.
28717         * modules/memmem (Files): Use it.
28718         * modules/strstr (Files): Likewise.
28719
28720         Avoid quadratic strstr implementations.
28721         * lib/strstr.c: New file.
28722         * m4/strstr.m4: Likewise.
28723         * modules/strstr: Likewise.
28724         * modules/strstr-tests: Likewise.
28725         * tests/test-strstr.c: Likewise.
28726         * lib/string.in.h (rpl_strstr): Declare.
28727         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
28728         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
28729         * modules/string (Makefile.am): Likewise.
28730         * MODULES.html.sh (string handling): Mention new module.
28731         * doc/functions/strstr.texi (strstr): Document the bug.
28732
28733 2008-01-10  Bruno Haible  <bruno@clisp.org>
28734
28735         * lib/relocatable.h (relocate): State whether result is freshly
28736         allocated or not.
28737         * lib/relocatable.c (relocate): Return a freshly allocated string
28738         instead of a pointer to a privately held string.
28739         Reported by Sylvain Beucler <beuc@gnu.org>.
28740
28741 2008-01-10  Colin Watson  <cjwatson@debian.org>
28742
28743         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
28744         s/S_ISNLK/S_ISLNK/.
28745
28746 2008-01-09  Bruno Haible  <bruno@clisp.org>
28747
28748         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
28749         and other files.
28750         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
28751         if it's only a guess.
28752         * modules/memmem: Simplify by depending on memmem-simple.
28753
28754 2008-01-09  Bruno Haible  <bruno@clisp.org>
28755
28756         Work around OpenBSD 4.0 tdelete() bug.
28757         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
28758         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
28759         macros and don't redefine the enum values.
28760         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
28761         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
28762         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
28763
28764 2008-01-09  Bruno Haible  <bruno@clisp.org>
28765
28766         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
28767         (main): Don't perform the tests if setlocale did not install a UTF-8
28768         locale. Needed on OpenBSD 4.0.
28769         * modules/wcwidth-tests (Depends-on): Add localcharset.
28770
28771 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
28772
28773         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
28774         See <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00149.html>.
28775         * NEWS: announce this.
28776         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
28777
28778 2008-01-09  Simon Josefsson  <simon@josefsson.org>
28779         and Eric Blake  <ebb9@byu.net>
28780
28781         Add memmem-simple module.
28782         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
28783         (gl_FUNC_MEMMEM): Separate performance from presence checks.
28784         * modules/memmem-simple: New file.
28785         * modules/memmem (Description): Tweak.
28786         * MODULES.html.sh (string handling): Mention new module.
28787         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
28788         addressed by memmem-simple.
28789         * NEWS: Document the difference.
28790
28791 2008-01-09  Eric Blake  <ebb9@byu.net>
28792
28793         Give gcc some memmem optimization hints.
28794         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
28795         (strcasestr): Declare as pure.
28796         * modules/memmem (Maintainer): Claim my implementation.
28797
28798 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28799
28800         Support AIX 6.1 and higher.
28801         * build-aux/config.libpath: Likewise.
28802         * build-aux/config.rpath: Likewise.
28803
28804 2008-01-08  Jim Meyering  <meyering@redhat.com>
28805             Bruno Haible  <bruno@clisp.org>
28806
28807         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
28808         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
28809         Reported by Peter Fales in
28810         <http://lists.gnu.org/archive/html/bug-coreutils/2007-12/msg00148.html>.
28811
28812 2008-01-08  Bruno Haible  <bruno@clisp.org>
28813
28814         * modules/unictype/category-of (Depends-on): Add
28815         unictype/category-none.
28816         * modules/unictype/category-and-tests (Depends-on): Add
28817         unictype/category-{L,N,Lu,Nd}.
28818         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
28819         * modules/unictype/category-or-tests (Depends-on): Add
28820         unictype/category-{L,N}.
28821         * modules/unictype/category-name-tests (Depends-on): Add
28822         unictype/category-{Z,Nl}.
28823         Reported by Simon Josefsson.
28824
28825 2008-01-08  Bruno Haible  <bruno@clisp.org>
28826
28827         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
28828         convention better.
28829         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
28830         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
28831         Reported by Peter Miller <millerp@canb.auug.org.au>.
28832
28833 2008-01-08  Eric Blake  <ebb9@byu.net>
28834
28835         Rewrite memmem to guarantee linear complexity without malloc.
28836         * lib/memmem.c (memmem): Use Two-Way rather than
28837         Knuth-Morris-Pratt, to allow O(1) space usage.
28838         (critical_factorization, two_way_short_needle)
28839         (two_way_long_needle): New functions.
28840         (knuth_morris_pratt): Delete.
28841         * modules/memmem (Depends-on): No longer need malloca or stdbool.
28842         Add stdint.
28843         * tests/test-memmem.c (main): Add tests for periodic needle and
28844         sublinear performance.
28845         * doc/functions/memmem.texi (memmem): Document other deficiencies
28846         in cygwin and older glibc.
28847
28848 2008-01-08  Bruno Haible  <bruno@clisp.org>
28849
28850         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
28851         augmentation.
28852
28853 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
28854
28855         Add a configure time option: --disable-acl.
28856         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
28857         AC_ARG_ENABLE(acl).
28858
28859 2008-01-06  Simon Josefsson  <simon@josefsson.org>
28860
28861         * tests/test-localename.c: Don't include obsolete "setenv.h".
28862
28863         * modules/localename-tests (Depends-on): Need unsetenv.
28864
28865 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28866
28867         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
28868
28869 2008-01-06  Colin Watson  <cjwatson@debian.org>
28870
28871         * users.txt: Add man-db.
28872
28873 2008-01-07  Bruno Haible  <bruno@clisp.org>
28874
28875         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
28876         previous section name.
28877
28878 2008-01-07  Bruno Haible  <bruno@clisp.org>
28879
28880         * lib/progname.c (set_program_name): Don't strip off a leading
28881         "lt-" prefix outside a .libs directory.
28882         Suggested by Paul Eggert.
28883
28884 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
28885             Bruno Haible  <bruno@clisp.org>
28886
28887         Improve memory cleanup in 'relocatable' module.
28888         * lib/relocatable.h (compute_curr_prefix): Change return type to
28889         'char *'.
28890         * lib/relocatable.c (compute_curr_prefix): Change return type to
28891         'char *'. Free curr_installdir after use.
28892         (relocate): Free curr_prefix_better after use.
28893         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
28894
28895 2008-01-01  Bruno Haible  <bruno@clisp.org>
28896
28897         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
28898         failure on older glibc systems.
28899         Reported by Peter Fales <psfales@alcatel-lucent.com>.
28900
28901 2008-01-05  Eric Blake  <ebb9@byu.net>
28902
28903         Avoid quadratic system memmem.
28904         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
28905         Reported by Ralf Wildenhues.
28906
28907         Fix memmem test for mingw.
28908         * modules/memmem-tests (configure.ac): Check for alarm.
28909         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
28910         it.
28911         * doc/functions/memmem.texi: New file.
28912         * doc/gnulib.texi (Function Substitutes): Add memmem.
28913         Reported by Bruno Haible.
28914
28915 2008-01-04  Bruno Haible  <bruno@clisp.org>
28916
28917         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
28918         Require gl_HEADER_STRINGS_H_DEFAULTS, not
28919         gl_HEADER_STRING_H_DEFAULTS.
28920
28921 2008-01-04  Eric Blake  <ebb9@byu.net>
28922
28923         Shorten duration of memmem test.
28924         * tests/test-memmem.c (main): Use alarm to declare failure if test
28925         is taking too long.
28926         Reported by Ralf Wildenhues.
28927
28928 2007-12-21  Simon Josefsson  <simon@josefsson.org>
28929
28930         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
28931         string, needed by strerror.
28932
28933 2008-01-03  Colin Watson  <cjwatson@debian.org>
28934             Bruno Haible  <bruno@clisp.org>
28935
28936         * doc/gnulib-tool.texi (Localization): New section.
28937
28938 2008-01-02  Bruno Haible  <bruno@clisp.org>
28939
28940         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
28941         variables to 'unsigned char *' type.
28942         Reported by Paul Eggert.
28943
28944 2008-01-02  Jim Meyering  <jim@meyering.net>
28945
28946         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
28947
28948 2007-12-31  Jim Meyering  <jim@meyering.net>
28949
28950         Avoid use of private FTS type name.
28951         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
28952
28953 2007-12-30  Karl Berry  <karl@gnu.org>
28954
28955         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
28956         work around defect in Texinfo and/or the standalone Info browser.
28957
28958 2007-12-30  Bruno Haible  <bruno@clisp.org>
28959
28960         Unify 5 copies of the KMP code.
28961         * lib/str-kmp.h: New file.
28962         * lib/c-strcasestr.c: Include str-kmp.h.
28963         (knuth_morris_pratt): Remove function.
28964         (c_strcasestr): Update.
28965         * lib/c-strstr.c: Include str-kmp.h.
28966         (knuth_morris_pratt): Remove function.
28967         (c_strcasestr): Update.
28968         * lib/mbscasestr.c: Include str-kmp.h.
28969         (knuth_morris_pratt_unibyte): Remove function.
28970         * lib/mbsstr.c: Include str-kmp.h.
28971         (knuth_morris_pratt_unibyte): Remove function.
28972         * lib/strcasestr.c: Include str-kmp.h.
28973         (knuth_morris_pratt): Remove function.
28974         (strcasestr): Update.
28975         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
28976         * modules/c-strstr (Files): Likewise.
28977         * modules/mbscasestr (Files): Likewise.
28978         * modules/mbsstr (Files): Likewise.
28979         * modules/strcasestr (Files): Likewise.
28980         Suggested by Paul Eggert.
28981
28982 2007-12-30  Bruno Haible  <bruno@clisp.org>
28983
28984         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
28985         defined.
28986
28987 2007-12-30  Bruno Haible  <bruno@clisp.org>
28988
28989         * lib/xmalloca.h: Include xalloc.h.
28990         (xnmalloca): New macro.
28991
28992 2007-12-30  Bruno Haible  <bruno@clisp.org>
28993
28994         * lib/malloca.h (nmalloca): New macro.
28995         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
28996         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
28997         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
28998         knuth_morris_pratt_multibyte): Likewise.
28999         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
29000         knuth_morris_pratt_multibyte): Likewise.
29001         * lib/memmem.c (knuth_morris_pratt): Likewise.
29002         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
29003
29004 2007-12-25  Bruno Haible  <bruno@clisp.org>
29005
29006         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
29007         * lib/glob.c: Don't include openat.h.
29008         (link_exists2_p): Add back the code that deals with the
29009         !GLOB_ALTDIRFUNC case.
29010         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
29011         let it do the filename concatenation.
29012         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
29013         * modules/glob (Depends-on): Remove openat.
29014
29015 2007-12-31  Bruno Haible  <bruno@clisp.org>
29016
29017         * modules/dirfd (License): Change to LGPLv2+.
29018         Approved by Jim Meyering.
29019
29020 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
29021
29022         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
29023         when multiplying M by sizeof (size_t).
29024
29025 2007-12-10  Martin Lambers  <marlam@marlam.de>
29026
29027         Override getpagesize on mingw.
29028         * lib/getpagesize.c: New file.
29029         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
29030         * modules/getpagesize (Files): Add lib/getpagesize.c.
29031         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
29032         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
29033         REPLACE_GETPAGESIZE.
29034         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
29035
29036 2007-12-25  Bruno Haible  <bruno@clisp.org>
29037
29038         * modules/localcharset (Notice): New field.
29039         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
29040         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
29041
29042 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
29043             Bruno Haible  <bruno@clisp.org>
29044
29045         Avoid using the syntax symbol() in formatted documentation.
29046         * MODULES.html.sh (func_module): When replacing symbol() with a
29047         hyperlink, remove the parentheses. Show an error if some remain.
29048         Recognize and render the '...' syntax.
29049         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
29050         Rework. Add paragraph about GCC's inlining.
29051         * doc/alloca.texi: Likewise.
29052         * doc/error.texi: Remove parentheses from symbol reference.
29053         * doc/gnulib-intro.texi: Likewise.
29054         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
29055         * modules/fnmatch (Description): Reword to say "the ... function".
29056         * modules/full-read (Description): Likewise.
29057         * modules/full-write (Description): Likewise.
29058         * modules/safe-read (Description): Likewise.
29059         * modules/safe-write (Description): Likewise.
29060         * modules/strchrnul (Description): Likewise.
29061         * modules/trim (Description): Likewise.
29062         * modules/error (Description): Remove parentheses from symbol
29063         references.
29064         * modules/verror (Description): Likewise.
29065         Reported by Karl Berry.
29066
29067 2007-12-25  Bruno Haible  <bruno@clisp.org>
29068
29069         Fixup after 2007-10-16 commit.
29070         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
29071
29072 2007-12-24  Bruno Haible  <bruno@clisp.org>
29073
29074         Make --enable-relocatable work with DESTDIR.
29075         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
29076         to compute installdir from destprog.
29077         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
29078         also set the RELOC_DESTDIR variable.
29079         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
29080
29081 2007-12-24  Bruno Haible  <bruno@clisp.org>
29082
29083         Fix link error due to xalloc_die().
29084         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
29085         of xreadlink.
29086         * lib/relocwrapper.c: Update comments.
29087         * build-aux/install-reloc: Remove xreadlink.c from file list.
29088         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
29089         xreadlink.c.
29090         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
29091
29092 2007-12-24  Bruno Haible  <bruno@clisp.org>
29093
29094         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
29095         * lib/setenv.h: Remove file.
29096         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
29097         lib/setenv.h.
29098         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
29099         (Depends-on): Add stdlib.
29100         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
29101         gl_FUNC_UNSETENV.
29102         (Include): Replace setenv.h with <stdlib.h>.
29103         * modules/unsetenv: New file.
29104         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
29105         * lib/unsetenv.c: Include <stdlib.h> first.
29106         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
29107         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
29108         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
29109         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
29110         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
29111         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
29112         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
29113         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
29114         * doc/functions/unsetenv.texi: Update.
29115         * modules/xsetenv (Depends-on): Add unsetenv.
29116         * modules/getdate (Depends-on): Likewise.
29117         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
29118         * lib/xsetenv.c: Don't include setenv.h.
29119         * lib/getdate.y: Likewise.
29120         * lib/relocwrapper.c: Likewise.
29121         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
29122         (Depends-on): Add stdlib.
29123         * NEWS: Mention the changes.
29124         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
29125
29126 2007-12-23  Bruno Haible  <bruno@clisp.org>
29127
29128         * lib/memmem.c (memmem): Use lowercase variable names. Tab
29129         indentation.
29130
29131 2007-12-23  Bruno Haible  <bruno@clisp.org>
29132
29133         * lib/c-strcasestr.c: Add more comments.
29134         * lib/c-strstr.c: Likewise.
29135         * lib/mbscasestr.c: Likewise.
29136         * lib/mbsstr.c: Likewise.
29137         * lib/strcasestr.c: Likewise.
29138         * lib/memmem.c: Likewise.
29139
29140 2007-12-23  Bruno Haible  <bruno@clisp.org>
29141
29142         * tests/test-memmem.c: Include <string.h> first.
29143
29144 2007-12-22  Bruno Haible  <bruno@clisp.org>
29145
29146         * gnulib-tool (func_create_testdir): Change $auxdir while generating
29147         the contents of $testsbase.
29148         Reported by Ralf Wildenhues.
29149
29150 2007-12-22  Bruno Haible  <bruno@clisp.org>
29151
29152         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
29153         two variables local_ldadd_before, local_ldadd_last.
29154
29155 2007-12-20  Eric Blake  <ebb9@byu.net>
29156
29157         Work around circular library issue when cross-compiling.
29158         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
29159         that progname.o does not need to pull in rpl_memcmp.
29160
29161 2007-12-19  Eric Blake  <ebb9@byu.net>
29162
29163         Fix memmem to avoid O(n^2) worst-case complexity.
29164         * lib/memmem.c (knuth_morris_pratt): New function.
29165         (memmem): Use it if first few naive iterations fail.
29166         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
29167         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
29168         * modules/memchr (License): Likewise.
29169         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
29170         malloca.
29171         * tests/test-memmem.c: Rewrite, borrowing ideas from
29172         test-mbsstr1.c; the old version wouldn't even compile!
29173         * modules/memmem-tests: New file.
29174         * lib/string.in.h (rpl_memmem): Add declaration.
29175         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
29176         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
29177         REPLACE_MEMMEM.
29178
29179 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
29180
29181         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
29182         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
29183         before any system include files, and undef after them all.  This
29184         should fix a problem on VMS reported by John E. Malmberg in
29185         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00118.html>.
29186
29187 2007-12-17  Eric Blake  <ebb9@byu.net>
29188
29189         Revert addition of verify, for BSD/OS.
29190         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
29191         can't handle large files, for the sake of obsolete platforms.
29192         * modules/fseeko (Depends-on): Remove verify.
29193         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
29194         * doc/functions/ftello.texi (ftello): Likewise.
29195         * doc/functions/fgetpos.texi (fgetpos): Likewise.
29196         Reported by Larry Jones.
29197
29198 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
29199
29200         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
29201         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
29202
29203 2007-12-17  Jim Meyering  <meyering@redhat.com>
29204
29205         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
29206         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
29207         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
29208         * modules/getcwd (Depends-on): Add openat.
29209         Reported by Petr Salinger.
29210
29211 2007-12-17  Bruno Haible  <bruno@clisp.org>
29212
29213         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
29214         avoid a segmentation fault of the configure test on x86_64 systems.
29215
29216 2007-12-15  Jim Meyering  <meyering@redhat.com>
29217
29218         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
29219
29220 2007-12-13  Eric Blake  <ebb9@byu.net>
29221
29222         Another fseek test.
29223         * tests/test-fseek.c (main): Also test ungetc handling.
29224         * tests/test-fseeko.c (main): Likewise.
29225         * modules/fseeko (Depends-on): Add verify.
29226         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
29227         large.
29228         Reported by Larry Jones.
29229
29230         Fix fseeko on mingw.
29231         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
29232         seek.
29233
29234         Beef up fseek tests.
29235         * tests/test-fseek.c (main): Also test eof handling.
29236         * tests/test-fseeko.c (main): Likewise.
29237         Reported by Larry Jones.
29238
29239 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
29240
29241         Fix fseeko on BSD-based platforms.
29242         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
29243         successful seek.
29244
29245 2007-12-12  Eric Blake  <ebb9@byu.net>
29246
29247         Allow circular dependency of separate libtests.a
29248         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
29249         when use_libtests.
29250
29251 2007-12-11  Eric Blake  <ebb9@byu.net>
29252
29253         Fix bug with -0.0L in previous patch.
29254         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
29255         * tests/test-isnan.c (main): Also test on zeroes.
29256         * tests/test-isnanf.c (main): Likewise.
29257         * tests/test-isnanl.h (main): Likewise.
29258
29259         Detect pseudo-denormals on x86 even when cross-compiling.
29260         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
29261         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
29262         invalid bit patterns that happen to satisfy ==.
29263
29264         Avoid link failures with separate libtests.a.
29265         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
29266         last, to satisfy circular dependencies.
29267
29268 2007-12-11  Eric Blake  <ebb9@byu.net>
29269         and Bruno Haible  <bruno@clisp.org>
29270
29271         Fix OpenBSD 4.0 <float.h> handling of long double.
29272         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
29273         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
29274         * doc/headers/float.texi (float.h): Document OpenBSD bug.
29275
29276 2007-12-11  Jim Meyering  <meyering@redhat.com>
29277
29278         * users.txt: Add libvirt.
29279
29280         Support versions of autoconf prior to 2.59c.
29281         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
29282         if it is not already defined.
29283
29284 2007-12-09  Bruno Haible  <bruno@clisp.org>
29285
29286         Let 'gnulib-tool --import' collect sources needed for the tests in
29287         tests/ rather than in lib/.
29288         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
29289         argument. If true, add rules to generate libtests.a, and put libtests.a
29290         into $(LDADD). Consider source files in subdirectories and set
29291         uses_subdirs.
29292         (func_emit_initmacro_start, func_emit_initmacro_end,
29293         func_emit_initmacro_done): Pass all arguments explicitly.
29294         (func_import): Determine two module lists main_modules,
29295         testsrelated_modules. Determine use_libtests. Determine two variables
29296         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
29297         instead of just sed_transform_lib_file. Determine two variables
29298         main_files and testsrelated_files. Compute 'files' as the union of
29299         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
29300         func_add_or_update. In the generated gnulib-comp.m4, collect the
29301         object files for tests/ in different variables than those for lib/.
29302         Substitute LIBTESTS_LIBDEPS.
29303         (func_create_testdir): Combine the uses_subdirs results from
29304         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
29305
29306 2007-12-09  Bruno Haible  <bruno@clisp.org>
29307
29308         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
29309         the build-aux directory.
29310
29311 2007-12-09  Bruno Haible  <bruno@clisp.org>
29312
29313         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
29314         introduced on 2006-09-09.
29315
29316 2007-12-07  Jim Meyering  <meyering@redhat.com>
29317
29318         Let these macros work also with autoconf-2.59.
29319         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
29320         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
29321         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
29322
29323 2007-12-06  Jim Meyering  <meyering@redhat.com>
29324
29325         Avoid a configure-time syntax error in gl_FUNC_ACL.
29326         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
29327         function in each branch, before testing the cache variable.
29328
29329 2007-12-04  Eric Blake  <ebb9@byu.net>
29330
29331         Make scripts executable.
29332         * build-aux/config.guess: Add execute permissions.
29333         * build-aux/config.sub: Likewise.
29334         * build-aux/gendocs.sh: Likewise.
29335
29336         Fix frexp on mingw.
29337         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
29338         cross-compiling.
29339         * doc/functions/frexp.texi (frexp): Document the bug.
29340
29341         Make cygwin fseeko check more reliable.
29342         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
29343         version numbers, rather than unrelated feature check.
29344         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
29345         * doc/functions/ftello.texi (ftello): Likewise.
29346         Reported by Bruno Haible.
29347
29348         * m4/strerror.m4: Bump version number.
29349
29350 2007-12-03  Bruno Haible  <bruno@clisp.org>
29351
29352         * doc/functions/mprotect.texi: Mention the mingw problem.
29353
29354 2007-12-03  Eric Blake  <ebb9@byu.net>
29355
29356         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
29357         REPLACE_STRERROR is initialized before this macro.
29358
29359 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
29360
29361         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
29362         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
29363         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
29364         put -lsec in even for programs other than 'ls'.  This fixes a problem
29365         for gettext reported by Bruno Haible in
29366         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00007.html>.
29367         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
29368         Add support for Solaris 10.  This isn't efficient, but should get the
29369         job done for now.
29370
29371 2007-12-03  James Youngman  <jay@gnu.org>
29372
29373         * doc/regexprops-generic.texi: change "an close-group" to "a
29374         close-group" and "illegal" to "not allowed".
29375
29376 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
29377
29378         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
29379         pr_byname.h. Needed for the rare case when the maintainer has done
29380         "make maintainer-clean" in the source directory and then attempts a
29381         build outside the source directory.
29382         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
29383         scripts_byname.h.
29384
29385 2007-12-02  Martin Lambers <marlam@marlam.de>
29386             Bruno Haible  <bruno@clisp.org>
29387
29388         * lib/getpagesize.h: Remove file.
29389         * lib/unistd.in.h: Include declaration of getpagesize here.
29390         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
29391         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
29392         HAVE_SYS_PARAM_H.
29393         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
29394         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
29395         * modules/getpagesize (Files): Remove lib/getpagesize.h.
29396         (Depends-on): Add unistd.
29397         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
29398         (Include): Use <unistd.h> instead of getpagesize.h.
29399         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
29400         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
29401         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
29402         gl_GETPAGESIZE invocation, already handled by module dependency.
29403         * lib/pagealign_alloc.c: Don't include getpagesize.h.
29404
29405 2007-12-02  Bruno Haible  <bruno@clisp.org>
29406
29407         * modules/strings-tests: New file.
29408         * tests/test-strings.c: New file.
29409
29410         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
29411         * lib/strings.in.h: New file.
29412         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
29413         * m4/strings_h.m4: New file.
29414         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
29415         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
29416         * modules/strings: New file.
29417         * modules/string (Makefile.am): Update.
29418         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
29419         Reported by Karl Berry.
29420
29421 2007-12-01  Eric Blake  <ebb9@byu.net>
29422
29423         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
29424         accomodate fix in cygwin 1.5.25.
29425
29426 2007-12-01  Jim Meyering  <meyering@redhat.com>
29427
29428         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
29429         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
29430         that would inhibit utf8-optimization of a regexp containing line-
29431         or buffer-anchors, e.g., `^', `$'.
29432
29433 2007-11-30  Bruno Haible  <bruno@clisp.org>
29434
29435         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
29436         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
29437         glthread_recursive_lock_init.
29438         * lib/lock.c (glthread_recursive_lock_init)
29439         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
29440         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
29441
29442 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
29443
29444         New function qset_acl, like set_acl but with syscall semantics.
29445         * lib/acl.h (qset_acl): New decl.
29446         * lib/acl.c (qset_acl): New function.
29447         (set_acl): Use new function.  Use more-consistent diagnostics.
29448
29449 2007-11-28  Jim Meyering  <meyering@redhat.com>
29450
29451         * modules/physmem (License): Change from GPL to LGPLv2+.
29452
29453 2007-11-26  Bruno Haible  <bruno@clisp.org>
29454
29455         * lib/vasnprintf.c (decode_long_double): Don't abort if the
29456         'long double' type has excess precision.
29457         Reported by Jim Meyering in
29458         <http://lists.gnu.org/archive/html/bug-gnulib/2007-11/msg00120.html>.
29459
29460 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
29461
29462         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
29463         Sync from <http://gnu.org/licenses>.
29464         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
29465         with license text from same location.
29466         * doc/maintain.texi, doc/standards.texi:  Sync from
29467         <http://savannah.gnu.org/projects/gnustandards>.
29468
29469 2007-11-22  OndÅ™ej Vašík  <ovasik@redhat.com>
29470         and Jim Meyering  <meyering@redhat.com>
29471
29472         Adjust getdate' grammar to accept a slightly more regular language.
29473         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
29474         Before, the former was rejected.
29475         * lib/getdate.y (digits_to_date_time): New function, factored
29476         out of ...
29477         (number): ...here.  Just call digits_to_date_time.
29478         (hybrid): New non-terminal to handle an <unsigned number,
29479         signed relative offset> sequence consistently.
29480
29481 2007-11-18  Jim Meyering  <meyering@redhat.com>
29482
29483         Pull my changes from coreutils:
29484         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
29485         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
29486         use of $gnulib_tool_option_extras, so that it's separated from the
29487         preceding argument.
29488
29489         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
29490         * build-aux/bootstrap (cp_mark_as_generated): Create any required
29491         parent destination directories before copying a file into place.
29492
29493 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
29494
29495         bootstrap: work also with 4-argument variant of AC_INIT
29496         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
29497
29498 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
29499
29500         Port test-getaddrinfo to Solaris.
29501         Problem reported by Bruno Haible in
29502         <http://lists.gnu.org/archive/html/bug-gnulib/2007-03/msg00171.html>.
29503         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
29504         explanation of setting 'hints'.
29505         Don't reject an implementation merely because it returns EAI_SERVICE.
29506         (EAI_SERVICE): Define to 0 if not defined.
29507
29508 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
29509
29510         The license of gnu-make and posix-shell is now "GPLed build tool".
29511         * modules/gnu-make (License): Likewise.
29512         * modules/posix-shell (License): Likewise.
29513
29514         New module posix-shell, for determining a POSIX shell
29515         or perhaps something that is close enough to a POSIX shell.
29516         * m4/posix-shell.m4: New file.
29517         * modules/posix-shell: New file.
29518
29519         * MODULES.html.sh: Mention new module.
29520
29521         New module gnu-make, for determining whether we're using GNU Make.
29522         * m4/gnu-make.m4: New file.
29523         * modules/gnu-make: New file.
29524         * MODULES.html.sh: Mention new module.
29525
29526 2007-11-14  Jim Meyering  <meyering@redhat.com>
29527
29528         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
29529         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
29530         use this macro to create a function _definition_.
29531         Remove useless "#undef ARGMATCH_DIE".
29532
29533 2007-11-14  Bruno Haible  <bruno@clisp.org>
29534
29535         * lib/config.charset: Update for OpenBSD 4.1.
29536         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
29537
29538 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
29539
29540         Document 64-bit #if problems in stdint.texi.
29541         * doc/headers/stdint.texi (stdint.h): Mention problems with
29542         64-bit-#if, and how to work around them.
29543
29544         Don't insist on 'long long int' support in the preprocessor.  It
29545         breaks too many things.  For example, PRIdMAX still uses a 'long
29546         long int' format with the latest Sun compiler, even though
29547         HAVE_LONG_LONG_INT isn't defined due to that compiler's
29548         preprocessor problem.  This causes the latest coreutils to dump
29549         core on Solaris 10 sparc with the Sun C compiler.
29550         Instead, fix the 2007-10-16 problem in a different way, by evaluating
29551         the troublesome expressions at configure-time, not at #if-time.
29552         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
29553         preprocessor.
29554         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
29555         compile-time C checks, done at 'configure'-time.
29556         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
29557         * modules/inttypes (Makefile): Substitute the new symbols that
29558         gl_INTTYPES_H now generates.
29559         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
29560
29561 2007-11-12  Bruno Haible  <bruno@clisp.org>
29562
29563         Tests for Unicode character classification functions.
29564
29565         * modules/unictype/bidicategory-byname-tests: New file.
29566         * modules/unictype/bidicategory-name-tests: New file.
29567         * modules/unictype/bidicategory-of-tests: New file.
29568         * modules/unictype/bidicategory-test-tests: New file.
29569         * modules/unictype/block-list-tests: New file.
29570         * modules/unictype/block-of-tests: New file.
29571         * modules/unictype/block-test-tests: New file.
29572         * modules/unictype/category-C-tests: New file.
29573         * modules/unictype/category-Cc-tests: New file.
29574         * modules/unictype/category-Cf-tests: New file.
29575         * modules/unictype/category-Cn-tests: New file.
29576         * modules/unictype/category-Co-tests: New file.
29577         * modules/unictype/category-Cs-tests: New file.
29578         * modules/unictype/category-L-tests: New file.
29579         * modules/unictype/category-Ll-tests: New file.
29580         * modules/unictype/category-Lm-tests: New file.
29581         * modules/unictype/category-Lo-tests: New file.
29582         * modules/unictype/category-Lt-tests: New file.
29583         * modules/unictype/category-Lu-tests: New file.
29584         * modules/unictype/category-M-tests: New file.
29585         * modules/unictype/category-Mc-tests: New file.
29586         * modules/unictype/category-Me-tests: New file.
29587         * modules/unictype/category-Mn-tests: New file.
29588         * modules/unictype/category-N-tests: New file.
29589         * modules/unictype/category-Nd-tests: New file.
29590         * modules/unictype/category-Nl-tests: New file.
29591         * modules/unictype/category-No-tests: New file.
29592         * modules/unictype/category-P-tests: New file.
29593         * modules/unictype/category-Pc-tests: New file.
29594         * modules/unictype/category-Pd-tests: New file.
29595         * modules/unictype/category-Pe-tests: New file.
29596         * modules/unictype/category-Pf-tests: New file.
29597         * modules/unictype/category-Pi-tests: New file.
29598         * modules/unictype/category-Po-tests: New file.
29599         * modules/unictype/category-Ps-tests: New file.
29600         * modules/unictype/category-S-tests: New file.
29601         * modules/unictype/category-Sc-tests: New file.
29602         * modules/unictype/category-Sk-tests: New file.
29603         * modules/unictype/category-Sm-tests: New file.
29604         * modules/unictype/category-So-tests: New file.
29605         * modules/unictype/category-Z-tests: New file.
29606         * modules/unictype/category-Zl-tests: New file.
29607         * modules/unictype/category-Zp-tests: New file.
29608         * modules/unictype/category-Zs-tests: New file.
29609         * modules/unictype/category-and-not-tests: New file.
29610         * modules/unictype/category-and-tests: New file.
29611         * modules/unictype/category-byname-tests: New file.
29612         * modules/unictype/category-name-tests: New file.
29613         * modules/unictype/category-none-tests: New file.
29614         * modules/unictype/category-of-tests: New file.
29615         * modules/unictype/category-or-tests: New file.
29616         * modules/unictype/category-test-withtable-tests: New file.
29617         * modules/unictype/combining-class-tests: New file.
29618         * modules/unictype/ctype-alnum-tests: New file.
29619         * modules/unictype/ctype-alpha-tests: New file.
29620         * modules/unictype/ctype-blank-tests: New file.
29621         * modules/unictype/ctype-cntrl-tests: New file.
29622         * modules/unictype/ctype-digit-tests: New file.
29623         * modules/unictype/ctype-graph-tests: New file.
29624         * modules/unictype/ctype-lower-tests: New file.
29625         * modules/unictype/ctype-print-tests: New file.
29626         * modules/unictype/ctype-punct-tests: New file.
29627         * modules/unictype/ctype-space-tests: New file.
29628         * modules/unictype/ctype-upper-tests: New file.
29629         * modules/unictype/ctype-xdigit-tests: New file.
29630         * modules/unictype/decimal-digit-tests: New file.
29631         * modules/unictype/digit-tests: New file.
29632         * modules/unictype/mirror-tests: New file.
29633         * modules/unictype/numeric-tests: New file.
29634         * modules/unictype/property-alphabetic-tests: New file.
29635         * modules/unictype/property-ascii-hex-digit-tests: New file.
29636         * modules/unictype/property-bidi-arabic-digit-tests: New file.
29637         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
29638         * modules/unictype/property-bidi-block-separator-tests: New file.
29639         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
29640         * modules/unictype/property-bidi-common-separator-tests: New file.
29641         * modules/unictype/property-bidi-control-tests: New file.
29642         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
29643         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
29644         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
29645         * modules/unictype/property-bidi-european-digit-tests: New file.
29646         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
29647         * modules/unictype/property-bidi-left-to-right-tests: New file.
29648         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
29649         * modules/unictype/property-bidi-other-neutral-tests: New file.
29650         * modules/unictype/property-bidi-pdf-tests: New file.
29651         * modules/unictype/property-bidi-segment-separator-tests: New file.
29652         * modules/unictype/property-bidi-whitespace-tests: New file.
29653         * modules/unictype/property-byname-tests: New file.
29654         * modules/unictype/property-combining-tests: New file.
29655         * modules/unictype/property-composite-tests: New file.
29656         * modules/unictype/property-currency-symbol-tests: New file.
29657         * modules/unictype/property-dash-tests: New file.
29658         * modules/unictype/property-decimal-digit-tests: New file.
29659         * modules/unictype/property-default-ignorable-code-point-tests: New file.
29660         * modules/unictype/property-deprecated-tests: New file.
29661         * modules/unictype/property-diacritic-tests: New file.
29662         * modules/unictype/property-extender-tests: New file.
29663         * modules/unictype/property-format-control-tests: New file.
29664         * modules/unictype/property-grapheme-base-tests: New file.
29665         * modules/unictype/property-grapheme-extend-tests: New file.
29666         * modules/unictype/property-grapheme-link-tests: New file.
29667         * modules/unictype/property-hex-digit-tests: New file.
29668         * modules/unictype/property-hyphen-tests: New file.
29669         * modules/unictype/property-id-continue-tests: New file.
29670         * modules/unictype/property-id-start-tests: New file.
29671         * modules/unictype/property-ideographic-tests: New file.
29672         * modules/unictype/property-ids-binary-operator-tests: New file.
29673         * modules/unictype/property-ids-trinary-operator-tests: New file.
29674         * modules/unictype/property-ignorable-control-tests: New file.
29675         * modules/unictype/property-iso-control-tests: New file.
29676         * modules/unictype/property-join-control-tests: New file.
29677         * modules/unictype/property-left-of-pair-tests: New file.
29678         * modules/unictype/property-line-separator-tests: New file.
29679         * modules/unictype/property-logical-order-exception-tests: New file.
29680         * modules/unictype/property-lowercase-tests: New file.
29681         * modules/unictype/property-math-tests: New file.
29682         * modules/unictype/property-non-break-tests: New file.
29683         * modules/unictype/property-not-a-character-tests: New file.
29684         * modules/unictype/property-numeric-tests: New file.
29685         * modules/unictype/property-other-alphabetic-tests: New file.
29686         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
29687         * modules/unictype/property-other-grapheme-extend-tests: New file.
29688         * modules/unictype/property-other-id-continue-tests: New file.
29689         * modules/unictype/property-other-id-start-tests: New file.
29690         * modules/unictype/property-other-lowercase-tests: New file.
29691         * modules/unictype/property-other-math-tests: New file.
29692         * modules/unictype/property-other-uppercase-tests: New file.
29693         * modules/unictype/property-paired-punctuation-tests: New file.
29694         * modules/unictype/property-paragraph-separator-tests: New file.
29695         * modules/unictype/property-pattern-syntax-tests: New file.
29696         * modules/unictype/property-pattern-white-space-tests: New file.
29697         * modules/unictype/property-private-use-tests: New file.
29698         * modules/unictype/property-punctuation-tests: New file.
29699         * modules/unictype/property-quotation-mark-tests: New file.
29700         * modules/unictype/property-radical-tests: New file.
29701         * modules/unictype/property-sentence-terminal-tests: New file.
29702         * modules/unictype/property-soft-dotted-tests: New file.
29703         * modules/unictype/property-space-tests: New file.
29704         * modules/unictype/property-terminal-punctuation-tests: New file.
29705         * modules/unictype/property-test-tests: New file.
29706         * modules/unictype/property-titlecase-tests: New file.
29707         * modules/unictype/property-unassigned-code-value-tests: New file.
29708         * modules/unictype/property-unified-ideograph-tests: New file.
29709         * modules/unictype/property-uppercase-tests: New file.
29710         * modules/unictype/property-variation-selector-tests: New file.
29711         * modules/unictype/property-white-space-tests: New file.
29712         * modules/unictype/property-xid-continue-tests: New file.
29713         * modules/unictype/property-xid-start-tests: New file.
29714         * modules/unictype/property-zero-width-tests: New file.
29715         * modules/unictype/scripts-tests: New file.
29716         * modules/unictype/syntax-c-ident-tests: New file.
29717         * modules/unictype/syntax-c-whitespace-tests: New file.
29718         * modules/unictype/syntax-java-ident-tests: New file.
29719         * modules/unictype/syntax-java-whitespace-tests: New file.
29720         * tests/unictype/test-bidi_byname.c: New file.
29721         * tests/unictype/test-bidi_name.c: New file.
29722         * tests/unictype/test-bidi_of.c: New file.
29723         * tests/unictype/test-bidi_test.c: New file.
29724         * tests/unictype/test-block_list.c: New file.
29725         * tests/unictype/test-block_of.c: New file.
29726         * tests/unictype/test-block_test.c: New file.
29727         * tests/unictype/test-categ_and.c: New file.
29728         * tests/unictype/test-categ_and_not.c: New file.
29729         * tests/unictype/test-categ_byname.c: New file.
29730         * tests/unictype/test-categ_name.c: New file.
29731         * tests/unictype/test-categ_none.c: New file.
29732         * tests/unictype/test-categ_of.c: New file.
29733         * tests/unictype/test-categ_or.c: New file.
29734         * tests/unictype/test-categ_test_withtable.c: New file.
29735         * tests/unictype/test-combining.c: New file.
29736         * tests/unictype/test-decdigit.c: New file.
29737         * tests/unictype/test-digit.c: New file.
29738         * tests/unictype/test-mirror.c: New file.
29739         * tests/unictype/test-numeric.c: New file.
29740         * tests/unictype/test-pr_byname.c: New file.
29741         * tests/unictype/test-pr_test.c: New file.
29742         * tests/unictype/test-predicate-part1.h: New file.
29743         * tests/unictype/test-predicate-part2.h: New file.
29744         * tests/unictype/test-scripts.c: New file.
29745         * tests/unictype/test-sy_c_ident.c: New file.
29746         * tests/unictype/test-sy_java_ident.c: New file.
29747
29748         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
29749         for Unicode 5.0.0.
29750         * tests/unictype/test-categ_Cc.c: Likewise.
29751         * tests/unictype/test-categ_Cf.c: Likewise.
29752         * tests/unictype/test-categ_Cn.c: Likewise.
29753         * tests/unictype/test-categ_Co.c: Likewise.
29754         * tests/unictype/test-categ_Cs.c: Likewise.
29755         * tests/unictype/test-categ_L.c: Likewise.
29756         * tests/unictype/test-categ_Ll.c: Likewise.
29757         * tests/unictype/test-categ_Lm.c: Likewise.
29758         * tests/unictype/test-categ_Lo.c: Likewise.
29759         * tests/unictype/test-categ_Lt.c: Likewise.
29760         * tests/unictype/test-categ_Lu.c: Likewise.
29761         * tests/unictype/test-categ_M.c: Likewise.
29762         * tests/unictype/test-categ_Mc.c: Likewise.
29763         * tests/unictype/test-categ_Me.c: Likewise.
29764         * tests/unictype/test-categ_Mn.c: Likewise.
29765         * tests/unictype/test-categ_N.c: Likewise.
29766         * tests/unictype/test-categ_Nd.c: Likewise.
29767         * tests/unictype/test-categ_Nl.c: Likewise.
29768         * tests/unictype/test-categ_No.c: Likewise.
29769         * tests/unictype/test-categ_P.c: Likewise.
29770         * tests/unictype/test-categ_Pc.c: Likewise.
29771         * tests/unictype/test-categ_Pd.c: Likewise.
29772         * tests/unictype/test-categ_Pe.c: Likewise.
29773         * tests/unictype/test-categ_Pf.c: Likewise.
29774         * tests/unictype/test-categ_Pi.c: Likewise.
29775         * tests/unictype/test-categ_Po.c: Likewise.
29776         * tests/unictype/test-categ_Ps.c: Likewise.
29777         * tests/unictype/test-categ_S.c: Likewise.
29778         * tests/unictype/test-categ_Sc.c: Likewise.
29779         * tests/unictype/test-categ_Sk.c: Likewise.
29780         * tests/unictype/test-categ_Sm.c: Likewise.
29781         * tests/unictype/test-categ_So.c: Likewise.
29782         * tests/unictype/test-categ_Z.c: Likewise.
29783         * tests/unictype/test-categ_Zl.c: Likewise.
29784         * tests/unictype/test-categ_Zp.c: Likewise.
29785         * tests/unictype/test-categ_Zs.c: Likewise.
29786         * tests/unictype/test-ctype_alnum.c: Likewise.
29787         * tests/unictype/test-ctype_alpha.c: Likewise.
29788         * tests/unictype/test-ctype_blank.c: Likewise.
29789         * tests/unictype/test-ctype_cntrl.c: Likewise.
29790         * tests/unictype/test-ctype_digit.c: Likewise.
29791         * tests/unictype/test-ctype_graph.c: Likewise.
29792         * tests/unictype/test-ctype_lower.c: Likewise.
29793         * tests/unictype/test-ctype_print.c: Likewise.
29794         * tests/unictype/test-ctype_punct.c: Likewise.
29795         * tests/unictype/test-ctype_space.c: Likewise.
29796         * tests/unictype/test-ctype_upper.c: Likewise.
29797         * tests/unictype/test-ctype_xdigit.c: Likewise.
29798         * tests/unictype/test-decdigit.h: Likewise.
29799         * tests/unictype/test-digit.h: Likewise.
29800         * tests/unictype/test-numeric.h: Likewise.
29801         * tests/unictype/test-pr_alphabetic.c: Likewise.
29802         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
29803         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
29804         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
29805         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
29806         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
29807         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
29808         * tests/unictype/test-pr_bidi_control.c: Likewise.
29809         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
29810         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
29811         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
29812         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
29813         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
29814         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
29815         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
29816         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
29817         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
29818         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
29819         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
29820         * tests/unictype/test-pr_combining.c: Likewise.
29821         * tests/unictype/test-pr_composite.c: Likewise.
29822         * tests/unictype/test-pr_currency_symbol.c: Likewise.
29823         * tests/unictype/test-pr_dash.c: Likewise.
29824         * tests/unictype/test-pr_decimal_digit.c: Likewise.
29825         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
29826         * tests/unictype/test-pr_deprecated.c: Likewise.
29827         * tests/unictype/test-pr_diacritic.c: Likewise.
29828         * tests/unictype/test-pr_extender.c: Likewise.
29829         * tests/unictype/test-pr_format_control.c: Likewise.
29830         * tests/unictype/test-pr_grapheme_base.c: Likewise.
29831         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
29832         * tests/unictype/test-pr_grapheme_link.c: Likewise.
29833         * tests/unictype/test-pr_hex_digit.c: Likewise.
29834         * tests/unictype/test-pr_hyphen.c: Likewise.
29835         * tests/unictype/test-pr_id_continue.c: Likewise.
29836         * tests/unictype/test-pr_id_start.c: Likewise.
29837         * tests/unictype/test-pr_ideographic.c: Likewise.
29838         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
29839         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
29840         * tests/unictype/test-pr_ignorable_control.c: Likewise.
29841         * tests/unictype/test-pr_iso_control.c: Likewise.
29842         * tests/unictype/test-pr_join_control.c: Likewise.
29843         * tests/unictype/test-pr_left_of_pair.c: Likewise.
29844         * tests/unictype/test-pr_line_separator.c: Likewise.
29845         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
29846         * tests/unictype/test-pr_lowercase.c: Likewise.
29847         * tests/unictype/test-pr_math.c: Likewise.
29848         * tests/unictype/test-pr_non_break.c: Likewise.
29849         * tests/unictype/test-pr_not_a_character.c: Likewise.
29850         * tests/unictype/test-pr_numeric.c: Likewise.
29851         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
29852         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
29853         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
29854         * tests/unictype/test-pr_other_id_continue.c: Likewise.
29855         * tests/unictype/test-pr_other_id_start.c: Likewise.
29856         * tests/unictype/test-pr_other_lowercase.c: Likewise.
29857         * tests/unictype/test-pr_other_math.c: Likewise.
29858         * tests/unictype/test-pr_other_uppercase.c: Likewise.
29859         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
29860         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
29861         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
29862         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
29863         * tests/unictype/test-pr_private_use.c: Likewise.
29864         * tests/unictype/test-pr_punctuation.c: Likewise.
29865         * tests/unictype/test-pr_quotation_mark.c: Likewise.
29866         * tests/unictype/test-pr_radical.c: Likewise.
29867         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
29868         * tests/unictype/test-pr_soft_dotted.c: Likewise.
29869         * tests/unictype/test-pr_space.c: Likewise.
29870         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
29871         * tests/unictype/test-pr_titlecase.c: Likewise.
29872         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
29873         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
29874         * tests/unictype/test-pr_uppercase.c: Likewise.
29875         * tests/unictype/test-pr_variation_selector.c: Likewise.
29876         * tests/unictype/test-pr_white_space.c: Likewise.
29877         * tests/unictype/test-pr_xid_continue.c: Likewise.
29878         * tests/unictype/test-pr_xid_start.c: Likewise.
29879         * tests/unictype/test-pr_zero_width.c: Likewise.
29880         * tests/unictype/test-sy_c_whitespace.c: Likewise.
29881         * tests/unictype/test-sy_java_whitespace.c: Likewise.
29882
29883 2007-11-12  Bruno Haible  <bruno@clisp.org>
29884
29885         Unicode character classification functions.
29886         * lib/unictype.h: New file.
29887         * modules/unictype/base: New file.
29888         * modules/unictype/category-L: New file.
29889         * modules/unictype/category-Lu: New file.
29890         * modules/unictype/category-Ll: New file.
29891         * modules/unictype/category-Lt: New file.
29892         * modules/unictype/category-Lm: New file.
29893         * modules/unictype/category-Lo: New file.
29894         * modules/unictype/category-M: New file.
29895         * modules/unictype/category-Mn: New file.
29896         * modules/unictype/category-Mc: New file.
29897         * modules/unictype/category-Me: New file.
29898         * modules/unictype/category-N: New file.
29899         * modules/unictype/category-Nd: New file.
29900         * modules/unictype/category-Nl: New file.
29901         * modules/unictype/category-No: New file.
29902         * modules/unictype/category-P: New file.
29903         * modules/unictype/category-Pc: New file.
29904         * modules/unictype/category-Pd: New file.
29905         * modules/unictype/category-Ps: New file.
29906         * modules/unictype/category-Pe: New file.
29907         * modules/unictype/category-Pi: New file.
29908         * modules/unictype/category-Pf: New file.
29909         * modules/unictype/category-Po: New file.
29910         * modules/unictype/category-S: New file.
29911         * modules/unictype/category-Sm: New file.
29912         * modules/unictype/category-Sc: New file.
29913         * modules/unictype/category-Sk: New file.
29914         * modules/unictype/category-So: New file.
29915         * modules/unictype/category-Z: New file.
29916         * modules/unictype/category-Zs: New file.
29917         * modules/unictype/category-Zl: New file.
29918         * modules/unictype/category-Zp: New file.
29919         * modules/unictype/category-C: New file.
29920         * modules/unictype/category-Cc: New file.
29921         * modules/unictype/category-Cf: New file.
29922         * modules/unictype/category-Cs: New file.
29923         * modules/unictype/category-Co: New file.
29924         * modules/unictype/category-Cn: New file.
29925         * modules/unictype/category-or: New file.
29926         * modules/unictype/category-of: New file.
29927         * modules/unictype/category-test: New file.
29928         * modules/unictype/category-test-withtable: New file.
29929         * modules/unictype/category-byname: New file.
29930         * modules/unictype/category-none: New file.
29931         * modules/unictype/category-and: New file.
29932         * modules/unictype/category-and-not: New file.
29933         * modules/unictype/category-name: New file.
29934         * modules/unictype/combining-class: New file.
29935         * modules/unictype/category-all: New file.
29936         * modules/unictype/bidicategory-all: New file.
29937         * modules/unictype/bidicategory-byname: New file.
29938         * modules/unictype/bidicategory-name: New file.
29939         * modules/unictype/bidicategory-of: New file.
29940         * modules/unictype/bidicategory-test: New file.
29941         * modules/unictype/decimal-digit: New file.
29942         * modules/unictype/digit: New file.
29943         * modules/unictype/numeric: New file.
29944         * modules/unictype/mirror: New file.
29945         * modules/unictype/property-white-space: New file.
29946         * modules/unictype/property-alphabetic: New file.
29947         * modules/unictype/property-other-alphabetic: New file.
29948         * modules/unictype/property-not-a-character: New file.
29949         * modules/unictype/property-default-ignorable-code-point: New file.
29950         * modules/unictype/property-other-default-ignorable-code-point: New
29951         file.
29952         * modules/unictype/property-deprecated: New file.
29953         * modules/unictype/property-logical-order-exception: New file.
29954         * modules/unictype/property-variation-selector: New file.
29955         * modules/unictype/property-private-use: New file.
29956         * modules/unictype/property-unassigned-code-value: New file.
29957         * modules/unictype/property-uppercase: New file.
29958         * modules/unictype/property-other-uppercase: New file.
29959         * modules/unictype/property-lowercase: New file.
29960         * modules/unictype/property-other-lowercase: New file.
29961         * modules/unictype/property-titlecase: New file.
29962         * modules/unictype/property-soft-dotted: New file.
29963         * modules/unictype/property-id-start: New file.
29964         * modules/unictype/property-other-id-start: New file.
29965         * modules/unictype/property-id-continue: New file.
29966         * modules/unictype/property-other-id-continue: New file.
29967         * modules/unictype/property-xid-start: New file.
29968         * modules/unictype/property-xid-continue: New file.
29969         * modules/unictype/property-pattern-white-space: New file.
29970         * modules/unictype/property-pattern-syntax: New file.
29971         * modules/unictype/property-join-control: New file.
29972         * modules/unictype/property-grapheme-base: New file.
29973         * modules/unictype/property-grapheme-extend: New file.
29974         * modules/unictype/property-other-grapheme-extend: New file.
29975         * modules/unictype/property-grapheme-link: New file.
29976         * modules/unictype/property-bidi-control: New file.
29977         * modules/unictype/property-bidi-left-to-right: New file.
29978         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
29979         * modules/unictype/property-bidi-arabic-right-to-left: New file.
29980         * modules/unictype/property-bidi-european-digit: New file.
29981         * modules/unictype/property-bidi-eur-num-separator: New file.
29982         * modules/unictype/property-bidi-eur-num-terminator: New file.
29983         * modules/unictype/property-bidi-arabic-digit: New file.
29984         * modules/unictype/property-bidi-common-separator: New file.
29985         * modules/unictype/property-bidi-block-separator: New file.
29986         * modules/unictype/property-bidi-segment-separator: New file.
29987         * modules/unictype/property-bidi-whitespace: New file.
29988         * modules/unictype/property-bidi-non-spacing-mark: New file.
29989         * modules/unictype/property-bidi-boundary-neutral: New file.
29990         * modules/unictype/property-bidi-pdf: New file.
29991         * modules/unictype/property-bidi-embedding-or-override: New file.
29992         * modules/unictype/property-bidi-other-neutral: New file.
29993         * modules/unictype/property-hex-digit: New file.
29994         * modules/unictype/property-ascii-hex-digit: New file.
29995         * modules/unictype/property-ideographic: New file.
29996         * modules/unictype/property-unified-ideograph: New file.
29997         * modules/unictype/property-radical: New file.
29998         * modules/unictype/property-ids-binary-operator: New file.
29999         * modules/unictype/property-ids-trinary-operator: New file.
30000         * modules/unictype/property-zero-width: New file.
30001         * modules/unictype/property-space: New file.
30002         * modules/unictype/property-non-break: New file.
30003         * modules/unictype/property-iso-control: New file.
30004         * modules/unictype/property-format-control: New file.
30005         * modules/unictype/property-dash: New file.
30006         * modules/unictype/property-hyphen: New file.
30007         * modules/unictype/property-punctuation: New file.
30008         * modules/unictype/property-line-separator: New file.
30009         * modules/unictype/property-paragraph-separator: New file.
30010         * modules/unictype/property-quotation-mark: New file.
30011         * modules/unictype/property-sentence-terminal: New file.
30012         * modules/unictype/property-terminal-punctuation: New file.
30013         * modules/unictype/property-currency-symbol: New file.
30014         * modules/unictype/property-math: New file.
30015         * modules/unictype/property-other-math: New file.
30016         * modules/unictype/property-paired-punctuation: New file.
30017         * modules/unictype/property-left-of-pair: New file.
30018         * modules/unictype/property-combining: New file.
30019         * modules/unictype/property-composite: New file.
30020         * modules/unictype/property-decimal-digit: New file.
30021         * modules/unictype/property-numeric: New file.
30022         * modules/unictype/property-diacritic: New file.
30023         * modules/unictype/property-extender: New file.
30024         * modules/unictype/property-ignorable-control: New file.
30025         * modules/unictype/property-test: New file.
30026         * modules/unictype/property-byname: New file.
30027         * modules/unictype/property-all: New file.
30028         * modules/unictype/scripts: New file.
30029         * modules/unictype/scripts-all: New file.
30030         * modules/unictype/block-of: New file.
30031         * modules/unictype/block-test: New file.
30032         * modules/unictype/block-list: New file.
30033         * modules/unictype/block-all: New file.
30034         * modules/unictype/syntax-c-whitespace: New file.
30035         * modules/unictype/syntax-java-whitespace: New file.
30036         * modules/unictype/syntax-c-ident: New file.
30037         * modules/unictype/syntax-java-ident: New file.
30038         * modules/unictype/ctype-alnum: New file.
30039         * modules/unictype/ctype-alpha: New file.
30040         * modules/unictype/ctype-cntrl: New file.
30041         * modules/unictype/ctype-digit: New file.
30042         * modules/unictype/ctype-graph: New file.
30043         * modules/unictype/ctype-lower: New file.
30044         * modules/unictype/ctype-print: New file.
30045         * modules/unictype/ctype-punct: New file.
30046         * modules/unictype/ctype-space: New file.
30047         * modules/unictype/ctype-upper: New file.
30048         * modules/unictype/ctype-xdigit: New file.
30049         * modules/unictype/ctype-blank: New file.
30050         * lib/unictype/bidi_byname.c: New file.
30051         * lib/unictype/bidi_name.c: New file.
30052         * lib/unictype/bidi_of.c: New file.
30053         * lib/unictype/bidi_test.c: New file.
30054         * lib/unictype/bitmap.h: New file.
30055         * lib/unictype/block_test.c: New file.
30056         * lib/unictype/blocks.c: New file.
30057         * lib/unictype/categ_C.c: New file.
30058         * lib/unictype/categ_Cc.c: New file.
30059         * lib/unictype/categ_Cf.c: New file.
30060         * lib/unictype/categ_Cn.c: New file.
30061         * lib/unictype/categ_Co.c: New file.
30062         * lib/unictype/categ_Cs.c: New file.
30063         * lib/unictype/categ_L.c: New file.
30064         * lib/unictype/categ_Ll.c: New file.
30065         * lib/unictype/categ_Lm.c: New file.
30066         * lib/unictype/categ_Lo.c: New file.
30067         * lib/unictype/categ_Lt.c: New file.
30068         * lib/unictype/categ_Lu.c: New file.
30069         * lib/unictype/categ_M.c: New file.
30070         * lib/unictype/categ_Mc.c: New file.
30071         * lib/unictype/categ_Me.c: New file.
30072         * lib/unictype/categ_Mn.c: New file.
30073         * lib/unictype/categ_N.c: New file.
30074         * lib/unictype/categ_Nd.c: New file.
30075         * lib/unictype/categ_Nl.c: New file.
30076         * lib/unictype/categ_No.c: New file.
30077         * lib/unictype/categ_P.c: New file.
30078         * lib/unictype/categ_Pc.c: New file.
30079         * lib/unictype/categ_Pd.c: New file.
30080         * lib/unictype/categ_Pe.c: New file.
30081         * lib/unictype/categ_Pf.c: New file.
30082         * lib/unictype/categ_Pi.c: New file.
30083         * lib/unictype/categ_Po.c: New file.
30084         * lib/unictype/categ_Ps.c: New file.
30085         * lib/unictype/categ_S.c: New file.
30086         * lib/unictype/categ_Sc.c: New file.
30087         * lib/unictype/categ_Sk.c: New file.
30088         * lib/unictype/categ_Sm.c: New file.
30089         * lib/unictype/categ_So.c: New file.
30090         * lib/unictype/categ_Z.c: New file.
30091         * lib/unictype/categ_Zl.c: New file.
30092         * lib/unictype/categ_Zp.c: New file.
30093         * lib/unictype/categ_Zs.c: New file.
30094         * lib/unictype/categ_and.c: New file.
30095         * lib/unictype/categ_and_not.c: New file.
30096         * lib/unictype/categ_byname.c: New file.
30097         * lib/unictype/categ_name.c: New file.
30098         * lib/unictype/categ_none.c: New file.
30099         * lib/unictype/categ_of.c: New file.
30100         * lib/unictype/categ_or.c: New file.
30101         * lib/unictype/categ_test.c: New file.
30102         * lib/unictype/combining.c: New file.
30103         * lib/unictype/ctype_alnum.c: New file.
30104         * lib/unictype/ctype_alpha.c: New file.
30105         * lib/unictype/ctype_blank.c: New file.
30106         * lib/unictype/ctype_cntrl.c: New file.
30107         * lib/unictype/ctype_digit.c: New file.
30108         * lib/unictype/ctype_graph.c: New file.
30109         * lib/unictype/ctype_lower.c: New file.
30110         * lib/unictype/ctype_print.c: New file.
30111         * lib/unictype/ctype_punct.c: New file.
30112         * lib/unictype/ctype_space.c: New file.
30113         * lib/unictype/ctype_upper.c: New file.
30114         * lib/unictype/ctype_xdigit.c: New file.
30115         * lib/unictype/decdigit.c: New file.
30116         * lib/unictype/digit.c: New file.
30117         * lib/unictype/identsyntaxmap.h: New file.
30118         * lib/unictype/mirror.c: New file.
30119         * lib/unictype/numeric.c: New file.
30120         * lib/unictype/pr_alphabetic.c: New file.
30121         * lib/unictype/pr_ascii_hex_digit.c: New file.
30122         * lib/unictype/pr_bidi_arabic_digit.c: New file.
30123         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
30124         * lib/unictype/pr_bidi_block_separator.c: New file.
30125         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
30126         * lib/unictype/pr_bidi_common_separator.c: New file.
30127         * lib/unictype/pr_bidi_control.c: New file.
30128         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
30129         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
30130         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
30131         * lib/unictype/pr_bidi_european_digit.c: New file.
30132         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
30133         * lib/unictype/pr_bidi_left_to_right.c: New file.
30134         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
30135         * lib/unictype/pr_bidi_other_neutral.c: New file.
30136         * lib/unictype/pr_bidi_pdf.c: New file.
30137         * lib/unictype/pr_bidi_segment_separator.c: New file.
30138         * lib/unictype/pr_bidi_whitespace.c: New file.
30139         * lib/unictype/pr_byname.c: New file.
30140         * lib/unictype/pr_byname.gperf: New file.
30141         * lib/unictype/pr_combining.c: New file.
30142         * lib/unictype/pr_composite.c: New file.
30143         * lib/unictype/pr_currency_symbol.c: New file.
30144         * lib/unictype/pr_dash.c: New file.
30145         * lib/unictype/pr_decimal_digit.c: New file.
30146         * lib/unictype/pr_default_ignorable_code_point.c: New file.
30147         * lib/unictype/pr_deprecated.c: New file.
30148         * lib/unictype/pr_diacritic.c: New file.
30149         * lib/unictype/pr_extender.c: New file.
30150         * lib/unictype/pr_format_control.c: New file.
30151         * lib/unictype/pr_grapheme_base.c: New file.
30152         * lib/unictype/pr_grapheme_extend.c: New file.
30153         * lib/unictype/pr_grapheme_link.c: New file.
30154         * lib/unictype/pr_hex_digit.c: New file.
30155         * lib/unictype/pr_hyphen.c: New file.
30156         * lib/unictype/pr_id_continue.c: New file.
30157         * lib/unictype/pr_id_start.c: New file.
30158         * lib/unictype/pr_ideographic.c: New file.
30159         * lib/unictype/pr_ids_binary_operator.c: New file.
30160         * lib/unictype/pr_ids_trinary_operator.c: New file.
30161         * lib/unictype/pr_ignorable_control.c: New file.
30162         * lib/unictype/pr_iso_control.c: New file.
30163         * lib/unictype/pr_join_control.c: New file.
30164         * lib/unictype/pr_left_of_pair.c: New file.
30165         * lib/unictype/pr_line_separator.c: New file.
30166         * lib/unictype/pr_logical_order_exception.c: New file.
30167         * lib/unictype/pr_lowercase.c: New file.
30168         * lib/unictype/pr_math.c: New file.
30169         * lib/unictype/pr_non_break.c: New file.
30170         * lib/unictype/pr_not_a_character.c: New file.
30171         * lib/unictype/pr_numeric.c: New file.
30172         * lib/unictype/pr_other_alphabetic.c: New file.
30173         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
30174         * lib/unictype/pr_other_grapheme_extend.c: New file.
30175         * lib/unictype/pr_other_id_continue.c: New file.
30176         * lib/unictype/pr_other_id_start.c: New file.
30177         * lib/unictype/pr_other_lowercase.c: New file.
30178         * lib/unictype/pr_other_math.c: New file.
30179         * lib/unictype/pr_other_uppercase.c: New file.
30180         * lib/unictype/pr_paired_punctuation.c: New file.
30181         * lib/unictype/pr_paragraph_separator.c: New file.
30182         * lib/unictype/pr_pattern_syntax.c: New file.
30183         * lib/unictype/pr_pattern_white_space.c: New file.
30184         * lib/unictype/pr_private_use.c: New file.
30185         * lib/unictype/pr_punctuation.c: New file.
30186         * lib/unictype/pr_quotation_mark.c: New file.
30187         * lib/unictype/pr_radical.c: New file.
30188         * lib/unictype/pr_sentence_terminal.c: New file.
30189         * lib/unictype/pr_soft_dotted.c: New file.
30190         * lib/unictype/pr_space.c: New file.
30191         * lib/unictype/pr_terminal_punctuation.c: New file.
30192         * lib/unictype/pr_test.c: New file.
30193         * lib/unictype/pr_titlecase.c: New file.
30194         * lib/unictype/pr_unassigned_code_value.c: New file.
30195         * lib/unictype/pr_unified_ideograph.c: New file.
30196         * lib/unictype/pr_uppercase.c: New file.
30197         * lib/unictype/pr_variation_selector.c: New file.
30198         * lib/unictype/pr_white_space.c: New file.
30199         * lib/unictype/pr_xid_continue.c: New file.
30200         * lib/unictype/pr_xid_start.c: New file.
30201         * lib/unictype/pr_zero_width.c: New file.
30202         * lib/unictype/scripts.c: New file.
30203         * lib/unictype/sy_c_ident.c: New file.
30204         * lib/unictype/sy_c_whitespace.c: New file.
30205         * lib/unictype/sy_java_ident.c: New file.
30206         * lib/unictype/sy_java_whitespace.c: New file.
30207
30208         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
30209         Unicode 5.0.0.
30210         * lib/unictype/blocks.h: Likewise.
30211         * lib/unictype/categ_C.h: Likewise.
30212         * lib/unictype/categ_Cc.h: Likewise.
30213         * lib/unictype/categ_Cf.h: Likewise.
30214         * lib/unictype/categ_Cn.h: Likewise.
30215         * lib/unictype/categ_Co.h: Likewise.
30216         * lib/unictype/categ_Cs.h: Likewise.
30217         * lib/unictype/categ_L.h: Likewise.
30218         * lib/unictype/categ_Ll.h: Likewise.
30219         * lib/unictype/categ_Lm.h: Likewise.
30220         * lib/unictype/categ_Lo.h: Likewise.
30221         * lib/unictype/categ_Lt.h: Likewise.
30222         * lib/unictype/categ_Lu.h: Likewise.
30223         * lib/unictype/categ_M.h: Likewise.
30224         * lib/unictype/categ_Mc.h: Likewise.
30225         * lib/unictype/categ_Me.h: Likewise.
30226         * lib/unictype/categ_Mn.h: Likewise.
30227         * lib/unictype/categ_N.h: Likewise.
30228         * lib/unictype/categ_Nd.h: Likewise.
30229         * lib/unictype/categ_Nl.h: Likewise.
30230         * lib/unictype/categ_No.h: Likewise.
30231         * lib/unictype/categ_P.h: Likewise.
30232         * lib/unictype/categ_Pc.h: Likewise.
30233         * lib/unictype/categ_Pd.h: Likewise.
30234         * lib/unictype/categ_Pe.h: Likewise.
30235         * lib/unictype/categ_Pf.h: Likewise.
30236         * lib/unictype/categ_Pi.h: Likewise.
30237         * lib/unictype/categ_Po.h: Likewise.
30238         * lib/unictype/categ_Ps.h: Likewise.
30239         * lib/unictype/categ_S.h: Likewise.
30240         * lib/unictype/categ_Sc.h: Likewise.
30241         * lib/unictype/categ_Sk.h: Likewise.
30242         * lib/unictype/categ_Sm.h: Likewise.
30243         * lib/unictype/categ_So.h: Likewise.
30244         * lib/unictype/categ_Z.h: Likewise.
30245         * lib/unictype/categ_Zl.h: Likewise.
30246         * lib/unictype/categ_Zp.h: Likewise.
30247         * lib/unictype/categ_Zs.h: Likewise.
30248         * lib/unictype/categ_of.h: Likewise.
30249         * lib/unictype/combining.h: Likewise.
30250         * lib/unictype/ctype_alnum.h: Likewise.
30251         * lib/unictype/ctype_alpha.h: Likewise.
30252         * lib/unictype/ctype_blank.h: Likewise.
30253         * lib/unictype/ctype_cntrl.h: Likewise.
30254         * lib/unictype/ctype_digit.h: Likewise.
30255         * lib/unictype/ctype_graph.h: Likewise.
30256         * lib/unictype/ctype_lower.h: Likewise.
30257         * lib/unictype/ctype_print.h: Likewise.
30258         * lib/unictype/ctype_punct.h: Likewise.
30259         * lib/unictype/ctype_space.h: Likewise.
30260         * lib/unictype/ctype_upper.h: Likewise.
30261         * lib/unictype/ctype_xdigit.h: Likewise.
30262         * lib/unictype/decdigit.h: Likewise.
30263         * lib/unictype/digit.h: Likewise.
30264         * lib/unictype/mirror.h: Likewise.
30265         * lib/unictype/numeric.h: Likewise.
30266         * lib/unictype/pr_alphabetic.h: Likewise.
30267         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
30268         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
30269         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
30270         * lib/unictype/pr_bidi_block_separator.h: Likewise.
30271         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
30272         * lib/unictype/pr_bidi_common_separator.h: Likewise.
30273         * lib/unictype/pr_bidi_control.h: Likewise.
30274         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
30275         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
30276         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
30277         * lib/unictype/pr_bidi_european_digit.h: Likewise.
30278         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
30279         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
30280         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
30281         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
30282         * lib/unictype/pr_bidi_pdf.h: Likewise.
30283         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
30284         * lib/unictype/pr_bidi_whitespace.h: Likewise.
30285         * lib/unictype/pr_combining.h: Likewise.
30286         * lib/unictype/pr_composite.h: Likewise.
30287         * lib/unictype/pr_currency_symbol.h: Likewise.
30288         * lib/unictype/pr_dash.h: Likewise.
30289         * lib/unictype/pr_decimal_digit.h: Likewise.
30290         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
30291         * lib/unictype/pr_deprecated.h: Likewise.
30292         * lib/unictype/pr_diacritic.h: Likewise.
30293         * lib/unictype/pr_extender.h: Likewise.
30294         * lib/unictype/pr_format_control.h: Likewise.
30295         * lib/unictype/pr_grapheme_base.h: Likewise.
30296         * lib/unictype/pr_grapheme_extend.h: Likewise.
30297         * lib/unictype/pr_grapheme_link.h: Likewise.
30298         * lib/unictype/pr_hex_digit.h: Likewise.
30299         * lib/unictype/pr_hyphen.h: Likewise.
30300         * lib/unictype/pr_id_continue.h: Likewise.
30301         * lib/unictype/pr_id_start.h: Likewise.
30302         * lib/unictype/pr_ideographic.h: Likewise.
30303         * lib/unictype/pr_ids_binary_operator.h: Likewise.
30304         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
30305         * lib/unictype/pr_ignorable_control.h: Likewise.
30306         * lib/unictype/pr_iso_control.h: Likewise.
30307         * lib/unictype/pr_join_control.h: Likewise.
30308         * lib/unictype/pr_left_of_pair.h: Likewise.
30309         * lib/unictype/pr_line_separator.h: Likewise.
30310         * lib/unictype/pr_logical_order_exception.h: Likewise.
30311         * lib/unictype/pr_lowercase.h: Likewise.
30312         * lib/unictype/pr_math.h: Likewise.
30313         * lib/unictype/pr_non_break.h: Likewise.
30314         * lib/unictype/pr_not_a_character.h: Likewise.
30315         * lib/unictype/pr_numeric.h: Likewise.
30316         * lib/unictype/pr_other_alphabetic.h: Likewise.
30317         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
30318         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
30319         * lib/unictype/pr_other_id_continue.h: Likewise.
30320         * lib/unictype/pr_other_id_start.h: Likewise.
30321         * lib/unictype/pr_other_lowercase.h: Likewise.
30322         * lib/unictype/pr_other_math.h: Likewise.
30323         * lib/unictype/pr_other_uppercase.h: Likewise.
30324         * lib/unictype/pr_paired_punctuation.h: Likewise.
30325         * lib/unictype/pr_paragraph_separator.h: Likewise.
30326         * lib/unictype/pr_pattern_syntax.h: Likewise.
30327         * lib/unictype/pr_pattern_white_space.h: Likewise.
30328         * lib/unictype/pr_private_use.h: Likewise.
30329         * lib/unictype/pr_punctuation.h: Likewise.
30330         * lib/unictype/pr_quotation_mark.h: Likewise.
30331         * lib/unictype/pr_radical.h: Likewise.
30332         * lib/unictype/pr_sentence_terminal.h: Likewise.
30333         * lib/unictype/pr_soft_dotted.h: Likewise.
30334         * lib/unictype/pr_space.h: Likewise.
30335         * lib/unictype/pr_terminal_punctuation.h: Likewise.
30336         * lib/unictype/pr_titlecase.h: Likewise.
30337         * lib/unictype/pr_unassigned_code_value.h: Likewise.
30338         * lib/unictype/pr_unified_ideograph.h: Likewise.
30339         * lib/unictype/pr_uppercase.h: Likewise.
30340         * lib/unictype/pr_variation_selector.h: Likewise.
30341         * lib/unictype/pr_white_space.h: Likewise.
30342         * lib/unictype/pr_xid_continue.h: Likewise.
30343         * lib/unictype/pr_xid_start.h: Likewise.
30344         * lib/unictype/pr_zero_width.h: Likewise.
30345         * lib/unictype/scripts.h: Likewise.
30346         * lib/unictype/scripts_byname.gperf: Likewise.
30347         * lib/unictype/sy_c_ident.h: Likewise.
30348         * lib/unictype/sy_c_whitespace.h: Likewise.
30349         * lib/unictype/sy_java_ident.h: Likewise.
30350         * lib/unictype/sy_java_whitespace.h: Likewise.
30351
30352         * lib/unictype/Makefile: New file.
30353         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
30354         glibc.
30355         * lib/unictype/3level.h: New file, copied from glibc.
30356         * lib/unictype/3levelbit.h: New file.
30357
30358 2007-11-11  Bruno Haible  <bruno@clisp.org>
30359
30360         * modules/gperf: New file.
30361         * modules/iconv_open (Depends-on): Add it.
30362         (Makefile.am): Remove the GPERF definition.
30363
30364 2007-11-11  Bruno Haible  <bruno@clisp.org>
30365
30366         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
30367         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
30368
30369 2007-11-11  Bruno Haible  <bruno@clisp.org>
30370
30371         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
30372         (usage): Remove function.
30373
30374 2007-11-11  Bruno Haible  <bruno@clisp.org>
30375
30376         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
30377         gl_FUNC_CEILF_LIBS.
30378         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
30379         gl_FUNC_CEIL_LIBS.
30380         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
30381         gl_FUNC_CEILL_LIBS.
30382         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
30383         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
30384         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
30385
30386 2007-11-11  Bruno Haible  <bruno@clisp.org>
30387
30388         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
30389         roundf were declared but do not exist on functions.
30390         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
30391         roundl were declared but do not exist on functions.
30392         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
30393         HAVE_FLOORL_AND_CEILL, respectively.
30394         Needed for Sun C on Solaris 10.
30395
30396 2007-11-11  Bruno Haible  <bruno@clisp.org>
30397
30398         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
30399         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
30400         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
30401         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
30402         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
30403         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
30404         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
30405         HAVE_DECL_ROUNDF.
30406         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
30407         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
30408         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
30409         of HAVE_DECL_ROUND*.
30410         * modules/math (Makefile.am): Update.
30411
30412 2007-11-10  Bruno Haible  <bruno@clisp.org>
30413
30414         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
30415         ptrdiff_t as m4/intl.m4.
30416
30417 2007-11-10  Jim Meyering  <meyering@redhat.com>
30418
30419         Avoid link failure for the argmatch test.
30420         * tests/test-argmatch.c (usage): Define function to avoid a link
30421         failure: argmatch_die requires a usage function.
30422
30423 2007-11-09  Bruno Haible  <bruno@clisp.org>
30424
30425         * doc/functions/snprintf.texi: Mention BeOS deficiency.
30426         * doc/functions/vsnprintf.texi: Likewise.
30427         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
30428         with a size argument < 2.
30429
30430 2007-11-09  Bruno Haible  <bruno@clisp.org>
30431
30432         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
30433         buffer. Fixes an inefficiency introduced on 2007-11-03.
30434
30435 2007-11-09  Bruno Haible  <bruno@clisp.org>
30436
30437         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
30438         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
30439
30440 2007-11-08  Jim Meyering  <meyering@redhat.com>
30441
30442         Change cache variable name prefix "jm_" to "gl_" everywhere.
30443         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
30444         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
30445         * m4/uptime.m4: s/gl_/jm_/
30446
30447 2007-11-07  Bruno Haible  <bruno@clisp.org>
30448
30449         Update to GNU gettext 0.17.
30450         * m4/intl.m4: Update to GNU gettext 0.17.
30451         * m4/po.m4: Likewise.
30452         * modules/gettext (Files): Remove m4/ulonglong.m4.
30453         (configure.ac): Require gettext infrastructure from version 0.17.
30454
30455 2007-11-06  Bruno Haible  <bruno@clisp.org>
30456
30457         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
30458         symbolic values are not defined in a public header.
30459         * lib/freadable.c (freadable) [QNX]: Likewise.
30460         * lib/freadahead.c (freadahead) [QNX]: Likewise.
30461         * lib/freading.c (freading) [QNX]: Likewise.
30462         * lib/fseterr.c (fseterr) [QNX]: Likewise.
30463         * lib/fwritable.c (fwritable) [QNX]: Likewise.
30464         * lib/fwriting.c (fwriting) [QNX]: Likewise.
30465         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
30466         Reported by Alain Magloire.
30467
30468         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
30469
30470 2007-11-05  Bruno Haible  <bruno@clisp.org>
30471
30472         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
30473         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
30474         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
30475         Reported by Eric Blake.
30476
30477 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30478             Bruno Haible  <bruno@clisp.org>
30479
30480         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
30481         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
30482         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
30483         (malloc): Undefine also before including <stdlib.h>.
30484         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
30485         Needed on OSF/1 4.0.
30486
30487 2007-11-05  Jim Meyering  <meyering@redhat.com>
30488
30489         git-version-gen: sync from coreutils.
30490         * build-aux/git-version-gen: Add comments.
30491         Change the first '-' to '.' in the snapshot version string,
30492         e.g., 6.9-377-08144 -> 6.9.377-08144
30493         Remove first parameter.
30494         Don't declare a version "-dirty" merely because a time
30495         stamp has changed.
30496
30497 2007-11-04  Bruno Haible  <bruno@clisp.org>
30498
30499         * lib/lock.h: Protect all macro definitions containing an 'if'
30500         statement through a "do { ... } while (0)".
30501         * lib/tls.h: Likewise.
30502
30503 2007-11-04  Bruno Haible  <bruno@clisp.org>
30504
30505         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
30506
30507 2007-11-04  Bruno Haible  <bruno@clisp.org>
30508
30509         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
30510         * modules/fprintf-posix (Depends-on): Add nocrash.
30511         * modules/snprintf-posix (Depends-on): Likewise.
30512         * modules/sprintf-posix (Depends-on): Likewise.
30513         * modules/vasnprintf-posix (Depends-on): Likewise.
30514         * modules/vasprintf-posix (Depends-on): Likewise.
30515         * modules/vfprintf-posix (Depends-on): Likewise.
30516         * modules/vsnprintf-posix (Depends-on): Likewise.
30517         * modules/vsprintf-posix (Depends-on): Likewise.
30518         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
30519         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
30520         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
30521         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
30522         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
30523         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
30524         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
30525
30526 2007-11-04  Bruno Haible  <bruno@clisp.org>
30527
30528         * modules/nocrash: New file.
30529         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
30530         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
30531
30532 2007-11-04  Bruno Haible  <bruno@clisp.org>
30533
30534         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
30535         precision handling.
30536         * tests/test-vasprintf-posix.c (test_function): Likewise.
30537         * tests/test-snprintf-posix.h (test_function): Likewise.
30538         * tests/test-sprintf-posix.h (test_function): Likewise.
30539
30540         Fix *printf behaviour for large precisions on mingw and BeOS.
30541         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
30542         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
30543         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
30544         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
30545         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
30546         gl_PRINTF_PRECISION and test its result. Invoke
30547         gl_PREREQ_VASNPRINTF_PRECISION.
30548         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
30549         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
30550         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
30551         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
30552         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
30553         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
30554         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
30555         * doc/functions/fprintf.texi: Update.
30556         * doc/functions/printf.texi: Update.
30557         * doc/functions/snprintf.texi: Update.
30558         * doc/functions/sprintf.texi: Update.
30559         * doc/functions/vfprintf.texi: Update.
30560         * doc/functions/vprintf.texi: Update.
30561         * doc/functions/vsnprintf.texi: Update.
30562         * doc/functions/vsprintf.texi: Update.
30563
30564 2007-11-04  Bruno Haible  <bruno@clisp.org>
30565
30566         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
30567
30568 2007-11-04  Bruno Haible  <bruno@clisp.org>
30569
30570         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
30571         Reported by Sylvain Beucler <beuc@gnu.org>.
30572
30573 2007-11-03  Bruno Haible  <bruno@clisp.org>
30574
30575         * tests/test-fprintf-posix2.sh: New file.
30576         * tests/test-fprintf-posix2.c: New file.
30577         * modules/fprintf-posix-tests (Files): Add them.
30578         (TESTS): Add test-fprintf-posix2.sh.
30579         (configure.ac): Check for getrlimit and setrlimit.
30580         (check_PROGRAMS): Add test-fprintf-posix2.
30581
30582         * tests/test-printf-posix2.sh: New file.
30583         * tests/test-printf-posix2.c: New file.
30584         * modules/printf-posix-tests (Files): Add them.
30585         (TESTS): Add test-printf-posix2.sh.
30586         (configure.ac): Check for getrlimit and setrlimit.
30587         (check_PROGRAMS): Add test-printf-posix2.
30588
30589         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
30590         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
30591         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
30592         (decode_double): New function, copied from decode_long_double.
30593         (scale10_round_decimal_decoded): New function, extracted from
30594         scale10_round_decimal_long_double.
30595         (scale10_round_decimal_long_double): Use it.
30596         (scale10_round_decimal_double): New function.
30597         (floorlog10): New function.
30598         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
30599         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
30600         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
30601         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
30602         gl_PRINTF_ENOMEM and test its result. Invoke
30603         gl_PREREQ_VASNPRINTF_ENOMEM.
30604         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
30605         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
30606         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
30607         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
30608         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
30609         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
30610         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
30611         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
30612         * modules/snprintf-posix (Depends-on): Likewise.
30613         * modules/sprintf-posix (Depends-on): Likewise.
30614         * modules/vasnprintf-posix (Depends-on): Likewise.
30615         * modules/vasprintf-posix (Depends-on): Likewise.
30616         * modules/vfprintf-posix (Depends-on): Likewise.
30617         * modules/vsnprintf-posix (Depends-on): Likewise.
30618         * modules/vsprintf-posix (Depends-on): Likewise.
30619         * doc/functions/fprintf.texi: Update.
30620         * doc/functions/printf.texi: Update.
30621         * doc/functions/snprintf.texi: Update.
30622         * doc/functions/sprintf.texi: Update.
30623         * doc/functions/vfprintf.texi: Update.
30624         * doc/functions/vprintf.texi: Update.
30625         * doc/functions/vsnprintf.texi: Update.
30626         * doc/functions/vsprintf.texi: Update.
30627
30628 2007-11-03  Bruno Haible  <bruno@clisp.org>
30629
30630         * modules/frexp-nolibm-tests: New file.
30631
30632         * modules/frexp-nolibm: New file.
30633         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
30634
30635 2007-11-03  Bruno Haible  <bruno@clisp.org>
30636
30637         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
30638         value is C99 compliant.
30639         Needed for OSF/1 5.1.
30640
30641 2007-11-03  Bruno Haible  <bruno@clisp.org>
30642
30643         Fix out-of-memory handling of vasnprintf.
30644         * lib/printf-parse.c: Include <errno.h>.
30645         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
30646         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
30647         is already set.
30648
30649 2007-11-02  Eric Blake  <ebb9@byu.net>
30650
30651         Fix tests on cygwin.
30652         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
30653
30654 2007-11-01  Bruno Haible  <bruno@clisp.org>
30655
30656         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
30657         warning.
30658         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
30659         needed for POSIX compatibility.
30660
30661 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
30662
30663         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
30664         for compatibility with GNU.
30665
30666 2007-11-01  Bruno Haible  <bruno@clisp.org>
30667
30668         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
30669         (putenv): Renamed from rpl_putenv. Change argument type from
30670         'const char *' to 'char *'.
30671         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
30672         of defining putenv in config.h, just set REPLACE_PUTENV.
30673         * modules/putenv (Depends-on): Add stdlib.
30674         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
30675         (Include): Use <stdlib.h>.
30676         * lib/stdlib.in.h (putenv): New declaration.
30677         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
30678         REPLACE_PUTENV.
30679         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
30680         REPLACE_PUTENV.
30681         Needed for MacOS X 10.5.0.
30682         Reported by Peter O'Gorman <peter@pogma.com>.
30683
30684 2007-11-01  Jim Meyering  <meyering@redhat.com>
30685
30686         Treat an empty date string exactly like "0".
30687         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
30688         if the remaining date string (to be parsed) is empty, use "0".
30689         Reported by Mischa Molhoek and discussed in this thread:
30690         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
30691
30692 2007-10-31  Bruno Haible  <bruno@clisp.org>
30693
30694         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
30695         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
30696         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
30697         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
30698         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
30699         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
30700
30701 2007-10-31  Bruno Haible  <bruno@clisp.org>
30702
30703         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
30704         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
30705         (AC_TYPE_LONG_LONG_INT): Use it.
30706         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
30707         it as well.
30708         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
30709         to m4/longlong.m4.
30710         * modules/stdint (Files): Remove m4/ulonglong.m4.
30711         * modules/strtoull (Files): Use m4/longlong.m4 instead of
30712         m4/ulonglong.m4.
30713         * modules/strtoumax (Files): Likewise.
30714
30715 2007-10-30  Bruno Haible  <bruno@clisp.org>
30716
30717         * modules/xvasprintf-posix: New file.
30718         Suggested by Eric Blake.
30719
30720 2007-10-30  Bruno Haible  <bruno@clisp.org>
30721
30722         * modules/xprintf-posix-tests: New file.
30723         * tests/test-xprintf-posix.sh: New file.
30724         * tests/test-xprintf-posix.c: New file.
30725         * tests/test-xfprintf-posix.c: New file.
30726
30727         * modules/xprintf-posix: New file.
30728
30729 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30730
30731         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
30732         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
30733         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
30734
30735 2007-10-29  Bruno Haible  <bruno@clisp.org>
30736
30737         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
30738         contain the special marker '_cv_'.
30739         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
30740         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
30741         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
30742         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
30743         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
30744         Reported by Ralf Wildenhues.
30745
30746 2007-10-29  Bruno Haible  <bruno@clisp.org>
30747
30748         * gnulib-tool (func_import): When --lgpl is not specified, set
30749         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
30750         GPLv3.
30751         Reported by Simon Josefsson.
30752
30753 2007-10-28  Bruno Haible  <bruno@clisp.org>
30754
30755         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
30756         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
30757         HAVE_DECL_ISFINITE.
30758         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
30759         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
30760         HAVE_DECL_ISFINITE.
30761
30762 2007-10-28  Bruno Haible  <bruno@clisp.org>
30763
30764         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
30765         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
30766
30767 2007-10-28  Bruno Haible  <bruno@clisp.org>
30768
30769         Fix link errors with Sun C 5.0 on Solaris 10.
30770         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
30771         function is declared but not present in the compiler's libm.
30772         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
30773         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
30774         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
30775         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
30776         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
30777         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
30778         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
30779         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
30780         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
30781         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
30782         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
30783         HAVE_DECL_FLOORL.
30784
30785 2007-10-28  Bruno Haible  <bruno@clisp.org>
30786
30787         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
30788         gl_FUNC_FLOORL. Cache the result.
30789         (gl_FUNC_FLOORL): Use it.
30790         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
30791         gl_FUNC_CEILL. Cache the result.
30792         (gl_FUNC_CEILL): Use it.
30793
30794         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
30795         gl_FUNC_FLOOR. Cache the result.
30796         (gl_FUNC_FLOOR): Use it.
30797         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
30798         gl_FUNC_CEIL. Cache the result.
30799         (gl_FUNC_CEIL): Use it.
30800
30801         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
30802         gl_FUNC_FLOORF. Cache the result.
30803         (gl_FUNC_FLOORF): Use it.
30804         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
30805         gl_FUNC_CEILF. Cache the result.
30806         (gl_FUNC_CEILF): Use it.
30807
30808 2007-10-28  Bruno Haible  <bruno@clisp.org>
30809
30810         * gnulib-tool: Allow specifying the LGPL version number through
30811         --lgpl=2 or --lgpl=3.
30812         (func_usage): Document --lgpl with argument.
30813         Handle --lgpl=... arguments.
30814         (func_import): Recognize also gl_LGPL calls with an argument. When
30815         --lgpl=2 is used and the module's license is just LGPL, report an
30816         error. Set sed_transform_lib_file according to the lgpl variable. In
30817         the generated files, use --lgpl or gl_LGPL invocations with argument,
30818         if necessary.
30819         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
30820         an LGPv2+ license.
30821         * doc/gnulib-tool.texi (Modified imports): Update explanation of
30822         gl_LGPL macro.
30823
30824 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30825             Bruno Haible  <bruno@clisp.org>
30826
30827         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
30828         (u16_uctomb_aux): Likewise.
30829         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
30830         !HAVE_INLINE.
30831         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
30832
30833 2007-10-28  Bruno Haible  <bruno@clisp.org>
30834
30835         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
30836         Invoke AM_GETTEXT_OPTION if it exists.
30837         * modules/vasprintf: Likewise.
30838         * modules/verror: Likewise.
30839         * modules/xprintf: Likewise.
30840         * modules/xvasprintf: Likewise.
30841
30842 2007-10-27  Ben Pfaff  <blp@gnu.org>
30843
30844         * lib/math.in.h: Define isfinite macro and prototypes for
30845         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
30846         implementations.
30847         * m4/math_h.m4: New substitutions for isfinite module.
30848         * lib/isfinite.c: New file.
30849         * m4/isfinite.m4: New file.
30850         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
30851         * modules/isfinite: New file.
30852         * modules/isfinite-tests: New file.
30853         * tests/tests-isfinite.c: New file.
30854         * doc/functions/isfinite.texi: Mention isfinite module.
30855         * MODULES.html.sh: Mention new module.
30856
30857 2007-10-27  Ben Pfaff  <blp@gnu.org>
30858
30859         Ralf Wildenhues reported that Tru64 4.0D declares the round
30860         functions but does not have definitions.
30861         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
30862         cannot be found in any library, set the output variable to
30863         "missing" instead of "".
30864         * m4/round.m4: Also use our substitute if we cannot find round in
30865         any library, even if it is declared.
30866         * m4/roundf.m4: Likewise for roundf.
30867         * m4/roundl.m4: Likewise for roundl.
30868         * lib/math.in.h: Undefine roundf, round, roundl before defining
30869         their replacements, to allow for hypothetical systems where these
30870         may be defined as macros but not available in libraries.
30871
30872 2007-10-27  Bruno Haible  <bruno@clisp.org>
30873
30874         * doc/gnulib.texi: Invoke @firstparagraphindent.
30875         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
30876         changes in gnulib.
30877         (Source changes): New section.
30878
30879 2007-10-26  Bruno Haible  <bruno@clisp.org>
30880
30881         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
30882         borrowed from autoconf.
30883
30884 2007-10-26  Bruno Haible  <bruno@clisp.org>
30885
30886         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
30887         strerror returned the empty string. Needed on HP-UX 11.00.
30888
30889 2007-10-24  Micah Cowan  <micah@cowan.name>
30890
30891         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
30892         * build-aux/bootstrap: Remove support for now-unnecessary option,
30893         --cvs-user, and envvars CVS_USER, CVS_RSH.
30894
30895 2007-10-24  Jim Meyering  <meyering@redhat.com>
30896
30897         Avoid diagnostics from sha1sum when there is no cached checksum.
30898         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
30899         if the po.s1 file hasn't been created yet.
30900
30901         * build-aux/bootstrap: Sync from coreutils:
30902         2007-10-24  Jim Meyering  <meyering@redhat.com>
30903         Get gnulib from the git repository, not from an obsolete cvs one.
30904         * build-aux/bootstrap: Suggestion from Micah Cowan.
30905         2007-10-04  Jim Meyering  <jim@meyering.net>
30906         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
30907         (update_po_files): Work also when there are no .po files in po/.
30908
30909 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
30910
30911         * README: Append ".git" to git and cg examples.
30912         Problem reported by Benoit Sigoure.
30913
30914 2007-10-23  Micah Cowan  <micah@cowan.name>
30915
30916         * users.txt: Add wget.
30917
30918 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30919
30920         Fix linking of some unistdio tests on FreeBSD.
30921         * modules/unistdio/u16-vsnprintf-tests
30922         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
30923         * modules/unistdio/u16-vsprintf-tests
30924         (test_u16_vsnprintf1_LDADD): Likewise.
30925         * modules/unistdio/u32-vsnprintf-tests
30926         (test_u32_vsnprintf1_LDADD): Likewise.
30927         * modules/unistdio/u32-vsprintf-tests
30928         (test_u32_vsprintf1_LDADD): Likewise.
30929         * modules/unistdio/u8-vsnprintf-tests
30930         (test_u8_vsnprintf1_LDADD): Likewise.
30931         * modules/unistdio/u8-vsprintf-tests
30932         (test_u8_vsprintf1_LDADD): Likewise.
30933         * modules/unistdio/ulc-vsnprintf-tests
30934         (test_ulc_vsnprintf1_LDADD): Likewise.
30935         * modules/unistdio/ulc-vsprintf-tests
30936         (test_ulc_vsprintf1_LDADD): Likewise.
30937
30938         Fix linking of some uniconv tests on FreeBSD.
30939         * modules/uniconv/u16-conv-from-enc-tests
30940         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
30941         * modules/uniconv/u16-conv-to-enc-tests
30942         (test_u16_conv_to_enc_LDADD): Likewise.
30943         * modules/uniconv/u16-strconv-from-enc-tests
30944         (test_u16_strconv_from_enc_LDADD): Likewise.
30945         * modules/uniconv/u16-strconv-to-enc-tests
30946         (test_u16_strconv_to_enc_LDADD): Likewise.
30947         * modules/uniconv/u32-conv-from-enc-tests
30948         (test_u32_conv_from_enc_LDADD): Likewise.
30949         * modules/uniconv/u32-conv-to-enc-tests
30950         (test_u32_conv_to_enc_LDADD): Likewise.
30951         * modules/uniconv/u32-strconv-from-enc-tests
30952         (test_u32_strconv_from_enc_LDADD): Likewise.
30953         * modules/uniconv/u32-strconv-to-enc-tests
30954         (test_u32_strconv_to_enc_LDADD): Likewise.
30955         * modules/uniconv/u8-conv-from-enc-tests
30956         (test_u8_conv_from_enc_LDADD): Likewise.
30957         * modules/uniconv/u8-conv-to-enc-tests
30958         (test_u8_conv_to_enc_LDADD): Likewise.
30959         * modules/uniconv/u8-strconv-from-enc-tests
30960         (test_u8_strconv_from_enc_LDADD): Likewise.
30961         * modules/uniconv/u8-strconv-to-enc-tests
30962         (test_u8_strconv_to_enc_LDADD): Likewise.
30963
30964 2007-10-22  Bruno Haible  <bruno@clisp.org>
30965
30966         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
30967         size.
30968
30969 2007-10-22  Eric Blake  <ebb9@byu.net>
30970
30971         Tweak x*printf documentation.
30972         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
30973         variable name and comments.
30974         Suggested by Bruno Haible.
30975
30976 2007-10-22  Bruno Haible  <bruno@clisp.org>
30977
30978         * lib/acl.c (copy_acl): Fix file name in comment.
30979
30980 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
30981
30982         Fix Tru64 problem with stdbool.h.
30983         * lib/stdbool.in.h (false, true):
30984         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
30985         Don't declare as an enum in this situation; it runs afoul of Tru64.
30986         Problem reported by Steven M. Schweda in
30987         <http://lists.gnu.org/archive/html/bug-autoconf/2007-10/msg00019.html>.
30988
30989 2007-10-22  Eric Blake  <ebb9@byu.net>
30990
30991         Also wrap vf?printf.
30992         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
30993         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
30994         (xvprintf, xvfprintf): New functions.
30995
30996 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30997
30998         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
30999         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
31000
31001         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
31002         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
31003
31004 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
31005
31006         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
31007         by Bruno Haible.
31008
31009 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31010
31011         * lib/getloadavg.c
31012         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
31013         Undef `sys' after including sys/table.h, for Tru64 4.0D.
31014
31015         * tests/test-i-ring.c: Work for C89.
31016
31017 2007-10-22  Bruno Haible  <bruno@clisp.org>
31018
31019         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
31020         -1u, in preprocessor expression, so that we don't test for the bug
31021         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
31022         <http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00329.html>.
31023
31024 2007-10-22  Eric Blake  <ebb9@byu.net>
31025
31026         * tests/test-yesno.sh: Silence stderr during test.
31027
31028 2007-10-22  Simon Josefsson  <simon@josefsson.org>
31029
31030         * modules/crypto/gc-camellia: New file.
31031
31032         * m4/gc-camellia.m4: New file.
31033
31034         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
31035
31036         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
31037
31038 2007-10-22  Simon Josefsson  <simon@josefsson.org>
31039
31040         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
31041         --help to stdout.  Reported by sms@antinode.org (Steven
31042         M. Schweda).
31043
31044 2007-10-22  Simon Josefsson  <simon@josefsson.org>
31045
31046         * users.txt: Fix link to libksba.
31047
31048 2007-10-21  Ben Pfaff  <blp@gnu.org>
31049
31050         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
31051         round.c roundf implementation that depends on floorf and ceilf to
31052         be tested unconditionally.
31053
31054 2007-10-21  Ben Pfaff  <blp@gnu.org>
31055
31056         * m4/check-libm-func.m4: Removed.
31057         * m4/check-math-lib.m4: New file.
31058         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
31059         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
31060         definition and lack of AC_LIBOBJ([roundf]).
31061         * m4/roundl.m4: Ditto, and similarly for roundl.
31062         * modules/round: Reference new m4 file.
31063         * modules/roundf: Ditto.
31064         * modules/roundl: Ditto.
31065         * tests/test-round2.c (main): Use ROUND instead of round.
31066         Bug report from Bruno Haible.
31067
31068 2007-10-21  Bruno Haible  <bruno@clisp.org>
31069
31070         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
31071         context.
31072
31073 2007-10-21  Bruno Haible  <bruno@clisp.org>
31074
31075         * tests/test-wcwidth.c (main): Allow negative result for some control
31076         characters.
31077
31078         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
31079         Needed on OSF/1 5.1.
31080
31081 2007-10-21  Bruno Haible  <bruno@clisp.org>
31082
31083         * tests/test-floorf1.c: Include isnanf.h.
31084         (main): Use isnanf() instead of isnan().
31085         * tests/test-ceilf1.c: Include isnanf.h.
31086         (main): Use isnanf() instead of isnan().
31087         * tests/test-truncf1.c: Include isnanf.h.
31088         (main): Use isnanf() instead of isnan().
31089         * tests/test-roundf1.c: Include isnanf.h.
31090         (main): Use isnanf() instead of isnan().
31091
31092 2007-10-21  Eric Blake  <ebb9@byu.net>
31093
31094         * users.txt: Update URL for m4.
31095
31096 2007-10-21  Bruno Haible  <bruno@clisp.org>
31097
31098         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
31099
31100 2007-10-21  Bruno Haible  <bruno@clisp.org>
31101
31102         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
31103         Git's management files if the CVS files are not present.
31104
31105 2007-10-20  Bruno Haible  <bruno@clisp.org>
31106
31107         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
31108         gcc-3.4.x.
31109
31110 2007-10-20  Ben Pfaff  <blp@gnu.org>
31111
31112         * lib/math.in.h: Declare round, roundf, roundl if we are providing
31113         implementations.
31114         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
31115         * lib/round.c: New file.
31116         * lib/roundf.c: New file.
31117         * lib/roundl.c: New file.
31118         * m4/round.m4: New file.
31119         * m4/roundf.m4: New file.
31120         * m4/roundl.m4: New file.
31121         * m4/check-libm-func-m4: New file.
31122         * modules/math: Replace round, roundf, roundl related @VARS@ in
31123         math.in.h.
31124         * modules/round: New file.
31125         * modules/round-tests: New file.
31126         * modules/roundf: New file.
31127         * modules/roundf-tests: New file.
31128         * modules/roundl: New file.
31129         * modules/roundl-tests: New file.
31130         * tests/test-round1.c: New file.
31131         * tests/test-round2.c: New file.
31132         * tests/test-roundf1.c: New file.
31133         * tests/test-roundf2.c: New file.
31134         * tests/test-roundl.c: New file.
31135         * doc/functions/round.texi: Mention round module.
31136         * doc/functions/roundf.texi: Mention roundf module.
31137         * doc/functions/roundl.texi: Mention roundl module.
31138         * MODULES.html.sh: Mention new modules.
31139         Thanks to Bruno Haible for suggestions.
31140
31141 2007-10-20  Jim Meyering  <meyering@redhat.com>
31142
31143         * lib/xprintf.c: Include <config.h> unconditionally.
31144
31145         Change xprintf's license to GPL.
31146         * modules/xprintf (License): s/LGPL/GPL/, since this module
31147         depends on modules (exit and exitfail) which are GPL.
31148         Suggestion from Bruno Haible.
31149
31150         xprintf fixes.
31151         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
31152         Use a clearer diagnostic.
31153         Patch from Bruno Haible.
31154
31155 2007-10-20  Bruno Haible  <bruno@clisp.org>
31156
31157         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
31158         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
31159         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
31160
31161 2007-10-20  Bruno Haible  <bruno@clisp.org>
31162
31163         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
31164         precision in the comparison result > x - 1 or similar.
31165         * tests/test-ceilf2.c (correct_result_p): Likewise.
31166         * tests/test-truncf2.c (correct_result_p): Likewise.
31167         * tests/test-trunc2.c (correct_result_p): Likewise.
31168         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
31169
31170 2007-10-20  Bruno Haible  <bruno@clisp.org>
31171
31172         * modules/ceil: New file.
31173         * m4/ceil.m4: New file.
31174         * doc/functions/ceil.texi: Mention the 'ceil' module.
31175
31176 2007-10-20  Bruno Haible  <bruno@clisp.org>
31177
31178         * modules/floor: New file.
31179         * m4/floor.m4: New file.
31180         * doc/functions/floor.texi: Mention the 'floor' module.
31181
31182 2007-10-20  Bruno Haible  <bruno@clisp.org>
31183
31184         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
31185         of %a.
31186         * modules/floorf-tests (Depends-on): Likewise.
31187         * modules/truncf-tests (Depends-on): Likewise.
31188         * modules/trunc-tests (Depends-on): Likewise.
31189         Reported by Ben Pfaff.
31190
31191 2007-10-19  Jim Meyering  <meyering@redhat.com>
31192
31193         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
31194         Don't bother testing specific errno values.  Just test ferror.
31195
31196         New module: xprintf
31197         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
31198
31199 2007-10-19  Bruno Haible  <bruno@clisp.org>
31200
31201         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
31202         syntax.
31203         * modules/javaexec (Makefile.am): Likewise.
31204         * modules/relocatable-prog (Makefile.am): Likewise.
31205         Suggested by Jim Meyering.
31206
31207 2007-10-18  Bruno Haible  <bruno@clisp.org>
31208
31209         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
31210         Reported by Jim Meyering.
31211
31212 2007-10-18  Eric Blake  <ebb9@byu.net>
31213
31214         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
31215
31216 2007-10-18  Bruno Haible  <bruno@clisp.org>
31217
31218         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
31219         the format string into writable memory. Needed in Fortify conditions.
31220
31221 2007-10-18  Colin Watson <cjwatson@debian.org>  (tiny change)
31222             Bruno Haible  <bruno@clisp.org>
31223
31224         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
31225         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
31226         * modules/trim (Depends-on): Add mbchar.
31227         (configure.ac): Add gl_FUNC_MBRTOWC.
31228         (Makefile.am): Augment lib_SOURCES.
31229
31230 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
31231
31232         Modify glob.c to use fstatat and dirfd, to simplify it.
31233         Suggested by Eric Blake.
31234         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
31235         Don't include <stdbool.h>; not used.
31236         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
31237         (link_exists_p): Simplify implementation, since we can now assume
31238         dirfd and fstatat.
31239         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
31240
31241 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31242
31243         * gnulib-tool (func_get_dependencies): Fix sed script to
31244         match only tests.
31245
31246 2007-10-17  Bruno Haible  <bruno@clisp.org>
31247
31248         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
31249         allow locale names without encoding suffix.
31250         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
31251         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
31252
31253 2007-10-16  Bruno Haible  <bruno@clisp.org>
31254
31255         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
31256         * lib/getgroups.c (getgroups): Likewise.
31257         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
31258
31259 2007-10-16  Bruno Haible  <bruno@clisp.org>
31260
31261         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
31262         * modules/malloc-posix (License): Likewise.
31263         * modules/realloc-posix (License): Likewise.
31264         * modules/calloc-posix (License): Likewise.
31265         * modules/intprops (License): Change from GPL to LGPL, with
31266         Paul Eggert's approval.
31267
31268 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
31269
31270         Merge glibc changes into lib/glob.c.
31271
31272         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
31273         2007-10-15 04:59:03 UTC.  Here are the changes:
31274
31275         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
31276
31277         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
31278
31279         * lib/glob.c: Add some branch prediction throughout.
31280
31281         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
31282
31283         [BZ #5103]
31284         * lib/glob.c (glob): Recognize patterns starting \/.
31285
31286         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
31287
31288         [BZ #3996]
31289         * lib/glob.c (attribute_hidden): Define if not defined.
31290         (glob): Unescape dirname, filename or username when needed and not
31291         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
31292         is NULL.  Handle unescaped [ in pattern without closing ].
31293         Don't pass GLOB_CHECK down to recursive glob for directories.
31294         (__glob_pattern_type): New function.
31295         (__glob_pattern_p): Implement using __glob_pattern_type.
31296         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
31297         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
31298         Remove unreachable code.
31299
31300         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
31301
31302         * lib/glob.c (glob_in_dir): Add some comments and asserts to
31303         explain why there are no leaks.
31304
31305         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
31306
31307         [BZ #3253]
31308         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
31309         time, rather allocate increasingly bigger arrays of pointers, if
31310         possible with alloca, if too large with malloc.
31311
31312 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
31313
31314         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
31315         Problem reported by H.Merijn Brand in
31316         <http://lists.gnu.org/archive/html/bug-tar/2007-10/msg00018.html>.
31317         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
31318         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
31319
31320 2007-10-15  Bruno Haible  <bruno@clisp.org>
31321
31322         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
31323         with explicit rpl_ prefix.
31324         * lib/fopen.c (fopen): Likewise.
31325         * lib/freopen.c (freopen): Likewise.
31326         * lib/iconv.c (iconv): Likewise.
31327         * lib/iconv_close.c (iconv_close): Likewise.
31328
31329 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31330
31331         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
31332
31333 2007-10-15  Bruno Haible  <bruno@clisp.org>
31334
31335         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
31336         <stddef.h> instead of <stdlib.h> since we only need NULL.
31337         Reported by Ben Pfaff <blp@cs.stanford.edu>.
31338
31339 2007-10-15  Bruno Haible  <bruno@clisp.org>
31340
31341         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
31342         Replace paragraph talking about LIBOBJS.
31343         Reported by Colin Watson <cjwatson@debian.org>.
31344
31345 2007-10-15  Bruno Haible  <bruno@clisp.org>
31346
31347         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
31348         <stdlib.h> before using NULL.
31349
31350 2007-10-15  Simon Josefsson  <simon@josefsson.org>
31351
31352         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
31353         Reported by Albert Chin <china@thewrittenword.com>.
31354
31355 2007-10-14  Bruno Haible  <bruno@clisp.org>
31356
31357         * modules/iconv_open-utf-tests: New file.
31358         * tests/test-iconv-utf.c: New file.
31359
31360         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
31361         * modules/iconv_open-utf: New file.
31362         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
31363         (iconv, iconv_close): New declarations.
31364         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
31365         be defined.
31366         (iconv_open): Add special handling of conversion between UTF-8 and
31367         UTF-{16,32}{BE,LE}.
31368         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
31369         * lib/iconv_close.c: New file.
31370         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
31371         gl_FUNC_ICONV_OPEN.
31372         (gl_FUNC_ICONV_OPEN): Use it.
31373         (gl_FUNC_ICONV_OPEN_UTF): New macro.
31374         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
31375         and REPLACE_ICONV_UTF.
31376         * modules/iconv_open (Depends-on): Add c-strcase.
31377         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
31378         ICONV_CONST.
31379         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
31380
31381 2007-10-13  Albert Chin  <china@thewrittenword.com>
31382             Bruno Haible  <bruno@clisp.org>
31383
31384         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
31385         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
31386
31387 2007-10-13  Bruno Haible  <bruno@clisp.org>
31388
31389         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
31390         defined, use the ISO C99 inline semantics.
31391         * lib/argp.h (ARGP_EI): Likewise.
31392
31393 2007-10-13  Bruno Haible  <bruno@clisp.org>
31394
31395         Handle 'inline' change in gcc 4.3.0.
31396         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
31397         argp_fmtstream_write, argp_fmtstream_set_lmargin,
31398         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
31399         argp_fmtstream_point): Disable 'extern' declaration if the function
31400         definition is going to be provided inline.
31401         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
31402         semantics, not the ISO C99 inline semantics.
31403         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
31404         'extern' declaration if the function definition is going to be provided
31405         inline.
31406         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
31407         the GNU C inline semantics, not the ISO C99 inline semantics. With
31408         GCC 4.2, avoid a warning.
31409
31410 2007-10-13  Bruno Haible  <bruno@clisp.org>
31411
31412         * lib/freading.h (freading): Enable the use of __freading for
31413         glibc >= 2.7.
31414         * lib/freading.c (freading): Likewise.
31415
31416 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
31417
31418         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
31419         "warning: C99 inline functions are not supported; using GNU89".
31420
31421 2007-10-12  Bruno Haible  <bruno@clisp.org>
31422
31423         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
31424         of 2.
31425         * tests/test-ceilf2.c: New file.
31426         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
31427
31428         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
31429         * modules/ceilf-tests: Update.
31430
31431 2007-10-12  Bruno Haible  <bruno@clisp.org>
31432
31433         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
31434         of 2.
31435         * tests/test-floorf2.c: New file.
31436         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
31437
31438         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
31439         * modules/floorf-tests: Update.
31440
31441 2007-10-12  Bruno Haible  <bruno@clisp.org>
31442
31443         * tests/test-trunc2.c: New file.
31444         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
31445
31446         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
31447         * modules/trunc-tests: Update.
31448
31449 2007-10-12  Bruno Haible  <bruno@clisp.org>
31450
31451         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
31452         of 2.
31453         * tests/test-truncf2.c: New file.
31454         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
31455
31456         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
31457         * modules/truncf-tests: Update.
31458
31459 2007-10-11  Eric Blake  <ebb9@byu.net>
31460
31461         Don't claim strerror is broken on Interix.
31462         * doc/functions/strerror.texi (strerror): Known broken systems are
31463         now Solaris 8, and not Interix.
31464         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
31465         Interix on cross-compile.
31466         Reported by Martin Koeppe in
31467         http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00005.html.
31468
31469 2007-10-11  Bruno Haible  <bruno@clisp.org>
31470
31471         * modules/i-ring-tests: New file.
31472         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
31473         instead of assert.
31474
31475 2007-10-11  Bruno Haible  <bruno@clisp.org>
31476
31477         * modules/filenamecat-tests: New file.
31478         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
31479         * lib/filenamecat.c: Remove test code.
31480
31481 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
31482
31483         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
31484
31485         * lib/strerror.c: Include <string.h> always, to test interface,
31486         and to remove the need for the dummy.
31487         Include intprops.h to compute width instead of doing it ourselves
31488         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
31489         (strerror): Define it to return NULL if there's no system strerror.
31490         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
31491         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
31492         ancient pre-strerror Unix systems well any more.  Saying "unknown
31493         system error" is enough.
31494         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
31495         simpler strerror.c implementation.
31496         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
31497         Simplify the tests to reflect the simpler strerror implementation.
31498         * modules/strerror (Depends-on): Add intprops.
31499
31500 2007-10-09  Eric Blake  <ebb9@byu.net>
31501
31502         Silence test-fpending.
31503         * modules/fpending-tests (Files): Add wrapper script.
31504         * tests/test-fpending.sh: New file.
31505
31506 2007-10-09  Bruno Haible  <bruno@clisp.org>
31507
31508         * MODULES.html.sh (func_module): Don't create a hyperlink for
31509         function names like 'printf_frexp'.
31510         (Misc): Add crc, memxor.
31511         (Characteristics of floating types): New section.
31512         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
31513         isnanf-nolibm, signbit, trunc, truncf, truncl.
31514         (Enhancements for ISO C 99 functions): New subsection Input/output.
31515         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
31516         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
31517         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
31518         (Compatibility checks for POSIX:2001 functions): Add clock-time.
31519         (Enhancements for POSIX:2001 functions): Add chdir-long.
31520         (File system functions): Add areadlink, chdir-safer, read-file.
31521         Remove cycle-check.
31522         (File system as inode set): New section.
31523         (Date and time): Add gethrxtime.
31524         (Multithreading): Add openmp.
31525         (Internationalization functions): Add localename.
31526         (Unicode string functions): Add unistr/u*-mbsnlen.
31527         (Support for maintaining and releasing projects): Add git-version-gen.
31528         (Lone files): Remove directories.
31529
31530 2007-10-08  Ben Pfaff  <blp@gnu.org>
31531
31532         * lib/xmalloca.h: Fix typo in comment.
31533
31534 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
31535
31536         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
31537         when avoiding problems with integer overflow.  Use a portable test
31538         instead.
31539
31540 2007-10-08  Simon Josefsson  <simon@josefsson.org>
31541
31542         * modules/dummy (License): Change to LGPLv2+.
31543         * modules/float (License): Likewise
31544         * modules/realloc (License): Likewise
31545         * modules/stdlib (License): Likewise
31546
31547 2007-10-07  Bruno Haible  <bruno@clisp.org>
31548
31549         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
31550         * floor.c (TWO_MANT_DIG): Likewise.
31551         * ceil.c (TWO_MANT_DIG): Likewise.
31552         Reported by Ben Pfaff.
31553
31554 2007-10-07  Bruno Haible  <bruno@clisp.org>
31555
31556         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
31557         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
31558         * lib/frexp.c (FUNC): Likewise.
31559         * lib/printf-frexp.h (printf_frexp): Likewise.
31560         * lib/printf-frexpl.h (printf_frexpl): Likewise.
31561         * lib/printf-frexp.c (FUNC): Likewise.
31562         Suggested by Jim Meyering.
31563
31564 2007-10-07  Jim Meyering  <meyering@redhat.com>
31565
31566         Make xnanosleep's integer overflow test more robust.
31567         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
31568         so that gcc-4.3.0 doesn't optimize away this test for overflow.
31569
31570 2007-10-07  Bruno Haible  <bruno@clisp.org>
31571
31572         * NEWS: Mention the license change.
31573
31574         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
31575         abbreviations in the modules files.
31576
31577         Change copyright notice from GPLv2+ to GPLv3+.
31578         * README: Change copyright notice.
31579         * MODULES.html.sh: Likewise.
31580         * build-aux/bootstrap.conf: Likewise.
31581         * build-aux/config.libpath: Likewise.
31582         * build-aux/csharpcomp.sh.in: Likewise.
31583         * build-aux/csharpexec.sh.in: Likewise.
31584         * build-aux/install-reloc: Likewise.
31585         * build-aux/javacomp.sh.in: Likewise.
31586         * build-aux/javaexec.sh.in: Likewise.
31587         * build-aux/ldd.sh.in: Likewise.
31588         * build-aux/reloc-ldflags: Likewise.
31589         * build-aux/relocatable.sh.in: Likewise.
31590         * build-aux/x-to-1.in: Likewise.
31591         * check-module: Likewise.
31592         * config/srclistvars.sh: Likewise.
31593         * gnulib-tool: Likewise.
31594         * lib/acl-internal.h: Likewise.
31595         * lib/acl.c: Likewise.
31596         * lib/acl.h: Likewise.
31597         * lib/acl_entries.c: Likewise.
31598         * lib/areadlink-with-size.c: Likewise.
31599         * lib/areadlink.c: Likewise.
31600         * lib/areadlink.h: Likewise.
31601         * lib/argmatch.c: Likewise.
31602         * lib/argmatch.h: Likewise.
31603         * lib/argp-ba.c: Likewise.
31604         * lib/argp-eexst.c: Likewise.
31605         * lib/argp-fmtstream.c: Likewise.
31606         * lib/argp-fmtstream.h: Likewise.
31607         * lib/argp-fs-xinl.c: Likewise.
31608         * lib/argp-help.c: Likewise.
31609         * lib/argp-namefrob.h: Likewise.
31610         * lib/argp-parse.c: Likewise.
31611         * lib/argp-pin.c: Likewise.
31612         * lib/argp-pv.c: Likewise.
31613         * lib/argp-pvh.c: Likewise.
31614         * lib/argp-xinl.c: Likewise.
31615         * lib/argp.h: Likewise.
31616         * lib/at-func.c: Likewise.
31617         * lib/atanl.c: Likewise.
31618         * lib/backupfile.c: Likewise.
31619         * lib/backupfile.h: Likewise.
31620         * lib/basename.c: Likewise.
31621         * lib/binary-io.h: Likewise.
31622         * lib/byteswap.in.h: Likewise.
31623         * lib/c-stack.c: Likewise.
31624         * lib/c-stack.h: Likewise.
31625         * lib/c-strcasestr.c: Likewise.
31626         * lib/c-strcasestr.h: Likewise.
31627         * lib/c-strstr.c: Likewise.
31628         * lib/c-strstr.h: Likewise.
31629         * lib/c-strtod.c: Likewise.
31630         * lib/calloc.c: Likewise.
31631         * lib/canon-host.c: Likewise.
31632         * lib/canon-host.h: Likewise.
31633         * lib/canonicalize-lgpl.c: Likewise.
31634         * lib/canonicalize.c: Likewise.
31635         * lib/canonicalize.h: Likewise.
31636         * lib/ceil.c: Likewise.
31637         * lib/ceilf.c: Likewise.
31638         * lib/ceill.c: Likewise.
31639         * lib/chdir-long.c: Likewise.
31640         * lib/chdir-long.h: Likewise.
31641         * lib/chdir-safer.c: Likewise.
31642         * lib/chdir-safer.h: Likewise.
31643         * lib/chown.c: Likewise.
31644         * lib/classpath.c: Likewise.
31645         * lib/classpath.h: Likewise.
31646         * lib/clean-temp.c: Likewise.
31647         * lib/clean-temp.h: Likewise.
31648         * lib/cloexec.c: Likewise.
31649         * lib/close-stream.c: Likewise.
31650         * lib/closein.c: Likewise.
31651         * lib/closein.h: Likewise.
31652         * lib/closeout.c: Likewise.
31653         * lib/closeout.h: Likewise.
31654         * lib/concat-filename.c: Likewise.
31655         * lib/copy-file.c: Likewise.
31656         * lib/copy-file.h: Likewise.
31657         * lib/count-one-bits.h: Likewise.
31658         * lib/crc.c: Likewise.
31659         * lib/crc.h: Likewise.
31660         * lib/creat-safer.c: Likewise.
31661         * lib/csharpcomp.c: Likewise.
31662         * lib/csharpcomp.h: Likewise.
31663         * lib/csharpexec.c: Likewise.
31664         * lib/csharpexec.h: Likewise.
31665         * lib/cycle-check.c: Likewise.
31666         * lib/cycle-check.h: Likewise.
31667         * lib/diacrit.c: Likewise.
31668         * lib/diacrit.h: Likewise.
31669         * lib/diffseq.h: Likewise.
31670         * lib/dirchownmod.c: Likewise.
31671         * lib/dirent.in.h: Likewise.
31672         * lib/dirfd.c: Likewise.
31673         * lib/dirfd.h: Likewise.
31674         * lib/dirname.c: Likewise.
31675         * lib/dirname.h: Likewise.
31676         * lib/dummy.c: Likewise.
31677         * lib/dup-safer.c: Likewise.
31678         * lib/dup2.c: Likewise.
31679         * lib/eealloc.h: Likewise.
31680         * lib/error.c: Likewise.
31681         * lib/error.h: Likewise.
31682         * lib/euidaccess.c: Likewise.
31683         * lib/exclude.c: Likewise.
31684         * lib/exclude.h: Likewise.
31685         * lib/execute.c: Likewise.
31686         * lib/execute.h: Likewise.
31687         * lib/exitfail.c: Likewise.
31688         * lib/exitfail.h: Likewise.
31689         * lib/expl.c: Likewise.
31690         * lib/fatal-signal.c: Likewise.
31691         * lib/fatal-signal.h: Likewise.
31692         * lib/fbufmode.c: Likewise.
31693         * lib/fbufmode.h: Likewise.
31694         * lib/fchdir.c: Likewise.
31695         * lib/fchmodat.c: Likewise.
31696         * lib/fchownat.c: Likewise.
31697         * lib/fcntl--.h: Likewise.
31698         * lib/fcntl-safer.h: Likewise.
31699         * lib/fcntl.in.h: Likewise.
31700         * lib/fd-safer.c: Likewise.
31701         * lib/fflush.c: Likewise.
31702         * lib/file-has-acl.c: Likewise.
31703         * lib/file-set.c: Likewise.
31704         * lib/file-type.c: Likewise.
31705         * lib/file-type.h: Likewise.
31706         * lib/fileblocks.c: Likewise.
31707         * lib/filemode.c: Likewise.
31708         * lib/filemode.h: Likewise.
31709         * lib/filename.h: Likewise.
31710         * lib/filenamecat.c: Likewise.
31711         * lib/filenamecat.h: Likewise.
31712         * lib/findprog.c: Likewise.
31713         * lib/findprog.h: Likewise.
31714         * lib/float.in.h: Likewise.
31715         * lib/floor.c: Likewise.
31716         * lib/floorf.c: Likewise.
31717         * lib/floorl.c: Likewise.
31718         * lib/fopen-safer.c: Likewise.
31719         * lib/fopen.c: Likewise.
31720         * lib/fpending.c: Likewise.
31721         * lib/fpending.h: Likewise.
31722         * lib/fprintf.c: Likewise.
31723         * lib/fprintftime.h: Likewise.
31724         * lib/fpucw.h: Likewise.
31725         * lib/fpurge.c: Likewise.
31726         * lib/fpurge.h: Likewise.
31727         * lib/freadable.c: Likewise.
31728         * lib/freadable.h: Likewise.
31729         * lib/freadahead.c: Likewise.
31730         * lib/freadahead.h: Likewise.
31731         * lib/freading.c: Likewise.
31732         * lib/freading.h: Likewise.
31733         * lib/free.c: Likewise.
31734         * lib/freopen.c: Likewise.
31735         * lib/frexp.c: Likewise.
31736         * lib/frexpl.c: Likewise.
31737         * lib/fseek.c: Likewise.
31738         * lib/fseterr.c: Likewise.
31739         * lib/fseterr.h: Likewise.
31740         * lib/fstatat.c: Likewise.
31741         * lib/fstrcmp.c: Likewise.
31742         * lib/fstrcmp.h: Likewise.
31743         * lib/fsusage.c: Likewise.
31744         * lib/fsusage.h: Likewise.
31745         * lib/ftell.c: Likewise.
31746         * lib/ftello.c: Likewise.
31747         * lib/fts-cycle.c: Likewise.
31748         * lib/fts.c: Likewise.
31749         * lib/fts_.h: Likewise.
31750         * lib/full-read.c: Likewise.
31751         * lib/full-read.h: Likewise.
31752         * lib/full-write.c: Likewise.
31753         * lib/full-write.h: Likewise.
31754         * lib/fwritable.c: Likewise.
31755         * lib/fwritable.h: Likewise.
31756         * lib/fwriteerror.c: Likewise.
31757         * lib/fwriteerror.h: Likewise.
31758         * lib/fwriting.c: Likewise.
31759         * lib/fwriting.h: Likewise.
31760         * lib/gcd.c: Likewise.
31761         * lib/gcd.h: Likewise.
31762         * lib/getcwd.c: Likewise.
31763         * lib/getdate.h: Likewise.
31764         * lib/getdate.y: Likewise.
31765         * lib/getdomainname.c: Likewise.
31766         * lib/getdomainname.h: Likewise.
31767         * lib/getgroups.c: Likewise.
31768         * lib/gethostname.c: Likewise.
31769         * lib/gethrxtime.c: Likewise.
31770         * lib/gethrxtime.h: Likewise.
31771         * lib/getloadavg.c: Likewise.
31772         * lib/getndelim2.c: Likewise.
31773         * lib/getndelim2.h: Likewise.
31774         * lib/getnline.c: Likewise.
31775         * lib/getnline.h: Likewise.
31776         * lib/getopt.c: Likewise.
31777         * lib/getopt.in.h: Likewise.
31778         * lib/getopt1.c: Likewise.
31779         * lib/getopt_int.h: Likewise.
31780         * lib/getpagesize.h: Likewise.
31781         * lib/getsubopt.c: Likewise.
31782         * lib/gettime.c: Likewise.
31783         * lib/getugroups.c: Likewise.
31784         * lib/getugroups.h: Likewise.
31785         * lib/getusershell.c: Likewise.
31786         * lib/gl_anyavltree_list1.h: Likewise.
31787         * lib/gl_anyavltree_list2.h: Likewise.
31788         * lib/gl_anyhash_list1.h: Likewise.
31789         * lib/gl_anyhash_list2.h: Likewise.
31790         * lib/gl_anylinked_list1.h: Likewise.
31791         * lib/gl_anylinked_list2.h: Likewise.
31792         * lib/gl_anyrbtree_list1.h: Likewise.
31793         * lib/gl_anyrbtree_list2.h: Likewise.
31794         * lib/gl_anytree_list1.h: Likewise.
31795         * lib/gl_anytree_list2.h: Likewise.
31796         * lib/gl_anytree_oset.h: Likewise.
31797         * lib/gl_anytreehash_list1.h: Likewise.
31798         * lib/gl_anytreehash_list2.h: Likewise.
31799         * lib/gl_array_list.c: Likewise.
31800         * lib/gl_array_list.h: Likewise.
31801         * lib/gl_array_oset.c: Likewise.
31802         * lib/gl_array_oset.h: Likewise.
31803         * lib/gl_avltree_list.c: Likewise.
31804         * lib/gl_avltree_list.h: Likewise.
31805         * lib/gl_avltree_oset.c: Likewise.
31806         * lib/gl_avltree_oset.h: Likewise.
31807         * lib/gl_avltreehash_list.c: Likewise.
31808         * lib/gl_avltreehash_list.h: Likewise.
31809         * lib/gl_carray_list.c: Likewise.
31810         * lib/gl_carray_list.h: Likewise.
31811         * lib/gl_linked_list.c: Likewise.
31812         * lib/gl_linked_list.h: Likewise.
31813         * lib/gl_linkedhash_list.c: Likewise.
31814         * lib/gl_linkedhash_list.h: Likewise.
31815         * lib/gl_list.c: Likewise.
31816         * lib/gl_list.h: Likewise.
31817         * lib/gl_oset.c: Likewise.
31818         * lib/gl_oset.h: Likewise.
31819         * lib/gl_rbtree_list.c: Likewise.
31820         * lib/gl_rbtree_list.h: Likewise.
31821         * lib/gl_rbtree_oset.c: Likewise.
31822         * lib/gl_rbtree_oset.h: Likewise.
31823         * lib/gl_rbtreehash_list.c: Likewise.
31824         * lib/gl_rbtreehash_list.h: Likewise.
31825         * lib/gl_sublist.c: Likewise.
31826         * lib/gl_sublist.h: Likewise.
31827         * lib/group-member.c: Likewise.
31828         * lib/group-member.h: Likewise.
31829         * lib/hard-locale.c: Likewise.
31830         * lib/hard-locale.h: Likewise.
31831         * lib/hash-pjw.c: Likewise.
31832         * lib/hash-pjw.h: Likewise.
31833         * lib/hash-triple.c: Likewise.
31834         * lib/hash.c: Likewise.
31835         * lib/hash.h: Likewise.
31836         * lib/human.c: Likewise.
31837         * lib/human.h: Likewise.
31838         * lib/i-ring.c: Likewise.
31839         * lib/i-ring.h: Likewise.
31840         * lib/idcache.c: Likewise.
31841         * lib/imaxabs.c: Likewise.
31842         * lib/imaxdiv.c: Likewise.
31843         * lib/inet_pton.c: Likewise.
31844         * lib/inet_pton.h: Likewise.
31845         * lib/intprops.h: Likewise.
31846         * lib/inttostr.c: Likewise.
31847         * lib/inttostr.h: Likewise.
31848         * lib/inttypes.in.h: Likewise.
31849         * lib/isapipe.c: Likewise.
31850         * lib/isdir.c: Likewise.
31851         * lib/isnan.c: Likewise.
31852         * lib/isnan.h: Likewise.
31853         * lib/isnanf.c: Likewise.
31854         * lib/isnanf.h: Likewise.
31855         * lib/isnanl-nolibm.h: Likewise.
31856         * lib/isnanl.c: Likewise.
31857         * lib/isnanl.h: Likewise.
31858         * lib/javacomp.c: Likewise.
31859         * lib/javacomp.h: Likewise.
31860         * lib/javaexec.c: Likewise.
31861         * lib/javaexec.h: Likewise.
31862         * lib/javaversion.c: Likewise.
31863         * lib/javaversion.h: Likewise.
31864         * lib/javaversion.java: Likewise.
31865         * lib/lbrkprop.h: Likewise.
31866         * lib/lchmod.h: Likewise.
31867         * lib/lchown.c: Likewise.
31868         * lib/ldexpl.c: Likewise.
31869         * lib/linebreak.c: Likewise.
31870         * lib/linebreak.h: Likewise.
31871         * lib/linebuffer.c: Likewise.
31872         * lib/linebuffer.h: Likewise.
31873         * lib/locale.in.h: Likewise.
31874         * lib/logl.c: Likewise.
31875         * lib/long-options.c: Likewise.
31876         * lib/long-options.h: Likewise.
31877         * lib/lstat.c: Likewise.
31878         * lib/lstat.h: Likewise.
31879         * lib/math.in.h: Likewise.
31880         * lib/mbchar.c: Likewise.
31881         * lib/mbchar.h: Likewise.
31882         * lib/mbfile.h: Likewise.
31883         * lib/mbiter.h: Likewise.
31884         * lib/mbscasecmp.c: Likewise.
31885         * lib/mbscasestr.c: Likewise.
31886         * lib/mbschr.c: Likewise.
31887         * lib/mbscspn.c: Likewise.
31888         * lib/mbslen.c: Likewise.
31889         * lib/mbsncasecmp.c: Likewise.
31890         * lib/mbsnlen.c: Likewise.
31891         * lib/mbspbrk.c: Likewise.
31892         * lib/mbspcasecmp.c: Likewise.
31893         * lib/mbsrchr.c: Likewise.
31894         * lib/mbssep.c: Likewise.
31895         * lib/mbsspn.c: Likewise.
31896         * lib/mbsstr.c: Likewise.
31897         * lib/mbstok_r.c: Likewise.
31898         * lib/mbswidth.c: Likewise.
31899         * lib/mbswidth.h: Likewise.
31900         * lib/mbuiter.h: Likewise.
31901         * lib/memcasecmp.c: Likewise.
31902         * lib/memcasecmp.h: Likewise.
31903         * lib/memchr.c: Likewise.
31904         * lib/memcmp.c: Likewise.
31905         * lib/memcoll.c: Likewise.
31906         * lib/memcoll.h: Likewise.
31907         * lib/memcpy.c: Likewise.
31908         * lib/memrchr.c: Likewise.
31909         * lib/mkancesdirs.c: Likewise.
31910         * lib/mkdir-p.c: Likewise.
31911         * lib/mkdir-p.h: Likewise.
31912         * lib/mkdir.c: Likewise.
31913         * lib/mkdirat.c: Likewise.
31914         * lib/mkdtemp.c: Likewise.
31915         * lib/mkstemp-safer.c: Likewise.
31916         * lib/mkstemp.c: Likewise.
31917         * lib/modechange.c: Likewise.
31918         * lib/modechange.h: Likewise.
31919         * lib/mountlist.c: Likewise.
31920         * lib/mountlist.h: Likewise.
31921         * lib/mpsort.c: Likewise.
31922         * lib/nanosleep.c: Likewise.
31923         * lib/obstack.c: Likewise.
31924         * lib/obstack.h: Likewise.
31925         * lib/open-safer.c: Likewise.
31926         * lib/open.c: Likewise.
31927         * lib/openat-die.c: Likewise.
31928         * lib/openat-priv.h: Likewise.
31929         * lib/openat-proc.c: Likewise.
31930         * lib/openat.c: Likewise.
31931         * lib/openat.h: Likewise.
31932         * lib/pagealign_alloc.c: Likewise.
31933         * lib/pagealign_alloc.h: Likewise.
31934         * lib/physmem.c: Likewise.
31935         * lib/physmem.h: Likewise.
31936         * lib/pipe-safer.c: Likewise.
31937         * lib/pipe.c: Likewise.
31938         * lib/pipe.h: Likewise.
31939         * lib/posixtm.c: Likewise.
31940         * lib/posixtm.h: Likewise.
31941         * lib/posixver.c: Likewise.
31942         * lib/printf-frexp.c: Likewise.
31943         * lib/printf-frexp.h: Likewise.
31944         * lib/printf-frexpl.c: Likewise.
31945         * lib/printf-frexpl.h: Likewise.
31946         * lib/printf.c: Likewise.
31947         * lib/progname.c: Likewise.
31948         * lib/progname.h: Likewise.
31949         * lib/progreloc.c: Likewise.
31950         * lib/putenv.c: Likewise.
31951         * lib/quote.c: Likewise.
31952         * lib/quote.h: Likewise.
31953         * lib/quotearg.c: Likewise.
31954         * lib/quotearg.h: Likewise.
31955         * lib/raise.c: Likewise.
31956         * lib/readline.c: Likewise.
31957         * lib/readline.h: Likewise.
31958         * lib/readlink.c: Likewise.
31959         * lib/readtokens.c: Likewise.
31960         * lib/readtokens.h: Likewise.
31961         * lib/readtokens0.c: Likewise.
31962         * lib/readtokens0.h: Likewise.
31963         * lib/readutmp.c: Likewise.
31964         * lib/readutmp.h: Likewise.
31965         * lib/realloc.c: Likewise.
31966         * lib/relocwrapper.c: Likewise.
31967         * lib/rename-dest-slash.c: Likewise.
31968         * lib/rename.c: Likewise.
31969         * lib/rmdir.c: Likewise.
31970         * lib/rpmatch.c: Likewise.
31971         * lib/safe-read.c: Likewise.
31972         * lib/safe-read.h: Likewise.
31973         * lib/safe-write.c: Likewise.
31974         * lib/safe-write.h: Likewise.
31975         * lib/same-inode.h: Likewise.
31976         * lib/same.c: Likewise.
31977         * lib/same.h: Likewise.
31978         * lib/save-cwd.c: Likewise.
31979         * lib/save-cwd.h: Likewise.
31980         * lib/savedir.c: Likewise.
31981         * lib/savedir.h: Likewise.
31982         * lib/savewd.c: Likewise.
31983         * lib/savewd.h: Likewise.
31984         * lib/search.in.h: Likewise.
31985         * lib/setenv.c: Likewise.
31986         * lib/setenv.h: Likewise.
31987         * lib/settime.c: Likewise.
31988         * lib/sh-quote.c: Likewise.
31989         * lib/sh-quote.h: Likewise.
31990         * lib/sig2str.c: Likewise.
31991         * lib/sig2str.h: Likewise.
31992         * lib/signal.in.h: Likewise.
31993         * lib/signbitd.c: Likewise.
31994         * lib/signbitf.c: Likewise.
31995         * lib/signbitl.c: Likewise.
31996         * lib/sigprocmask.c: Likewise.
31997         * lib/sincosl.c: Likewise.
31998         * lib/sleep.c: Likewise.
31999         * lib/sprintf.c: Likewise.
32000         * lib/sqrtl.c: Likewise.
32001         * lib/stat-time.h: Likewise.
32002         * lib/stdio--.h: Likewise.
32003         * lib/stdio-safer.h: Likewise.
32004         * lib/stdlib--.h: Likewise.
32005         * lib/stdlib-safer.h: Likewise.
32006         * lib/stdlib.in.h: Likewise.
32007         * lib/stpcpy.c: Likewise.
32008         * lib/stpncpy.c: Likewise.
32009         * lib/strchrnul.c: Likewise.
32010         * lib/strcspn.c: Likewise.
32011         * lib/strerror.c: Likewise.
32012         * lib/strftime.c: Likewise.
32013         * lib/strftime.h: Likewise.
32014         * lib/striconveh.c: Likewise.
32015         * lib/striconveh.h: Likewise.
32016         * lib/striconveha.c: Likewise.
32017         * lib/striconveha.h: Likewise.
32018         * lib/stripslash.c: Likewise.
32019         * lib/strnlen1.c: Likewise.
32020         * lib/strnlen1.h: Likewise.
32021         * lib/strtod.c: Likewise.
32022         * lib/strtoimax.c: Likewise.
32023         * lib/strtok_r.c: Likewise.
32024         * lib/strtol.c: Likewise.
32025         * lib/strtoll.c: Likewise.
32026         * lib/strtoul.c: Likewise.
32027         * lib/strtoull.c: Likewise.
32028         * lib/sysexits.in.h: Likewise.
32029         * lib/tempname.c: Likewise.
32030         * lib/tempname.h: Likewise.
32031         * lib/timespec.h: Likewise.
32032         * lib/tls.c: Likewise.
32033         * lib/tls.h: Likewise.
32034         * lib/tmpdir.c: Likewise.
32035         * lib/tmpdir.h: Likewise.
32036         * lib/tmpfile-safer.c: Likewise.
32037         * lib/tmpfile.c: Likewise.
32038         * lib/trigl.c: Likewise.
32039         * lib/trigl.h: Likewise.
32040         * lib/trim.c: Likewise.
32041         * lib/trim.h: Likewise.
32042         * lib/trunc.c: Likewise.
32043         * lib/truncf.c: Likewise.
32044         * lib/truncl.c: Likewise.
32045         * lib/tsearch.c: Likewise.
32046         * lib/unicodeio.c: Likewise.
32047         * lib/unicodeio.h: Likewise.
32048         * lib/unistd--.h: Likewise.
32049         * lib/unistd-safer.h: Likewise.
32050         * lib/unistdio/ulc-fprintf.c: Likewise.
32051         * lib/unistdio/ulc-vfprintf.c: Likewise.
32052         * lib/unlinkdir.c: Likewise.
32053         * lib/unlinkdir.h: Likewise.
32054         * lib/unlocked-io.h: Likewise.
32055         * lib/unsetenv.c: Likewise.
32056         * lib/userspec.c: Likewise.
32057         * lib/utime.c: Likewise.
32058         * lib/utimecmp.c: Likewise.
32059         * lib/utimecmp.h: Likewise.
32060         * lib/utimens.c: Likewise.
32061         * lib/verify.h: Likewise.
32062         * lib/verror.c: Likewise.
32063         * lib/verror.h: Likewise.
32064         * lib/version-etc-fsf.c: Likewise.
32065         * lib/version-etc.c: Likewise.
32066         * lib/version-etc.h: Likewise.
32067         * lib/vfprintf.c: Likewise.
32068         * lib/vprintf.c: Likewise.
32069         * lib/vsprintf.c: Likewise.
32070         * lib/w32spawn.h: Likewise.
32071         * lib/wait-process.c: Likewise.
32072         * lib/wait-process.h: Likewise.
32073         * lib/wcwidth.c: Likewise.
32074         * lib/write-any-file.c: Likewise.
32075         * lib/xalloc-die.c: Likewise.
32076         * lib/xalloc.h: Likewise.
32077         * lib/xasprintf.c: Likewise.
32078         * lib/xgetcwd.c: Likewise.
32079         * lib/xgetcwd.h: Likewise.
32080         * lib/xgetdomainname.c: Likewise.
32081         * lib/xgetdomainname.h: Likewise.
32082         * lib/xgethostname.c: Likewise.
32083         * lib/xmalloc.c: Likewise.
32084         * lib/xmalloca.c: Likewise.
32085         * lib/xmalloca.h: Likewise.
32086         * lib/xmemcoll.c: Likewise.
32087         * lib/xnanosleep.c: Likewise.
32088         * lib/xreadlink.c: Likewise.
32089         * lib/xreadlink.h: Likewise.
32090         * lib/xsetenv.c: Likewise.
32091         * lib/xsetenv.h: Likewise.
32092         * lib/xstriconv.c: Likewise.
32093         * lib/xstriconv.h: Likewise.
32094         * lib/xstrndup.c: Likewise.
32095         * lib/xstrndup.h: Likewise.
32096         * lib/xstrtod.c: Likewise.
32097         * lib/xstrtod.h: Likewise.
32098         * lib/xstrtol-error.c: Likewise.
32099         * lib/xstrtol.c: Likewise.
32100         * lib/xstrtol.h: Likewise.
32101         * lib/xtime.h: Likewise.
32102         * lib/xvasprintf.c: Likewise.
32103         * lib/xvasprintf.h: Likewise.
32104         * lib/yesno.c: Likewise.
32105         * lib/yesno.h: Likewise.
32106         * posix-modules: Likewise.
32107         * tests/test-alloca-opt.c: Likewise.
32108         * tests/test-arcfour.c: Likewise.
32109         * tests/test-arctwo.c: Likewise.
32110         * tests/test-argmatch.c: Likewise.
32111         * tests/test-argp-2.sh: Likewise.
32112         * tests/test-argp.c: Likewise.
32113         * tests/test-arpa_inet.c: Likewise.
32114         * tests/test-array_list.c: Likewise.
32115         * tests/test-array_oset.c: Likewise.
32116         * tests/test-atexit.c: Likewise.
32117         * tests/test-avltree_list.c: Likewise.
32118         * tests/test-avltree_oset.c: Likewise.
32119         * tests/test-avltreehash_list.c: Likewise.
32120         * tests/test-base64.c: Likewise.
32121         * tests/test-binary-io.c: Likewise.
32122         * tests/test-byteswap.c: Likewise.
32123         * tests/test-c-ctype.c: Likewise.
32124         * tests/test-c-strcasecmp.c: Likewise.
32125         * tests/test-c-strcasestr.c: Likewise.
32126         * tests/test-c-strncasecmp.c: Likewise.
32127         * tests/test-c-strstr.c: Likewise.
32128         * tests/test-canonicalize-lgpl.c: Likewise.
32129         * tests/test-canonicalize.c: Likewise.
32130         * tests/test-carray_list.c: Likewise.
32131         * tests/test-ceilf.c: Likewise.
32132         * tests/test-ceill.c: Likewise.
32133         * tests/test-count-one-bits.c: Likewise.
32134         * tests/test-crc.c: Likewise.
32135         * tests/test-dirname.c: Likewise.
32136         * tests/test-fbufmode.c: Likewise.
32137         * tests/test-fcntl.c: Likewise.
32138         * tests/test-fflush.c: Likewise.
32139         * tests/test-floorf.c: Likewise.
32140         * tests/test-floorl.c: Likewise.
32141         * tests/test-fopen.c: Likewise.
32142         * tests/test-fprintf-posix.c: Likewise.
32143         * tests/test-fprintf-posix.h: Likewise.
32144         * tests/test-fpurge.c: Likewise.
32145         * tests/test-freadable.c: Likewise.
32146         * tests/test-freadahead.c: Likewise.
32147         * tests/test-freading.c: Likewise.
32148         * tests/test-freopen.c: Likewise.
32149         * tests/test-frexp.c: Likewise.
32150         * tests/test-frexpl.c: Likewise.
32151         * tests/test-fseek.c: Likewise.
32152         * tests/test-fseeko.c: Likewise.
32153         * tests/test-fseterr.c: Likewise.
32154         * tests/test-fstrcmp.c: Likewise.
32155         * tests/test-ftell.c: Likewise.
32156         * tests/test-ftello.c: Likewise.
32157         * tests/test-fwritable.c: Likewise.
32158         * tests/test-fwriting.c: Likewise.
32159         * tests/test-getaddrinfo.c: Likewise.
32160         * tests/test-getpass.c: Likewise.
32161         * tests/test-gettimeofday.c: Likewise.
32162         * tests/test-hmac-md5.c: Likewise.
32163         * tests/test-hmac-sha1.c: Likewise.
32164         * tests/test-iconv.c: Likewise.
32165         * tests/test-iconvme.c: Likewise.
32166         * tests/test-inttypes.c: Likewise.
32167         * tests/test-isnan.c: Likewise.
32168         * tests/test-isnanf.c: Likewise.
32169         * tests/test-isnanl-nolibm.c: Likewise.
32170         * tests/test-isnanl.c: Likewise.
32171         * tests/test-isnanl.h: Likewise.
32172         * tests/test-ldexpl.c: Likewise.
32173         * tests/test-linked_list.c: Likewise.
32174         * tests/test-linkedhash_list.c: Likewise.
32175         * tests/test-locale.c: Likewise.
32176         * tests/test-localename.c: Likewise.
32177         * tests/test-lock.c: Likewise.
32178         * tests/test-lseek.c: Likewise.
32179         * tests/test-malloca.c: Likewise.
32180         * tests/test-math.c: Likewise.
32181         * tests/test-mbscasecmp.c: Likewise.
32182         * tests/test-mbscasestr1.c: Likewise.
32183         * tests/test-mbscasestr2.c: Likewise.
32184         * tests/test-mbscasestr3.c: Likewise.
32185         * tests/test-mbscasestr4.c: Likewise.
32186         * tests/test-mbschr.c: Likewise.
32187         * tests/test-mbscspn.c: Likewise.
32188         * tests/test-mbsncasecmp.c: Likewise.
32189         * tests/test-mbspbrk.c: Likewise.
32190         * tests/test-mbspcasecmp.c: Likewise.
32191         * tests/test-mbsrchr.c: Likewise.
32192         * tests/test-mbsspn.c: Likewise.
32193         * tests/test-mbsstr1.c: Likewise.
32194         * tests/test-mbsstr2.c: Likewise.
32195         * tests/test-mbsstr3.c: Likewise.
32196         * tests/test-md5.c: Likewise.
32197         * tests/test-memmem.c: Likewise.
32198         * tests/test-netinet_in.c: Likewise.
32199         * tests/test-open.c: Likewise.
32200         * tests/test-printf-frexp.c: Likewise.
32201         * tests/test-printf-frexpl.c: Likewise.
32202         * tests/test-printf-posix.c: Likewise.
32203         * tests/test-printf-posix.h: Likewise.
32204         * tests/test-rbtree_list.c: Likewise.
32205         * tests/test-rbtree_oset.c: Likewise.
32206         * tests/test-rbtreehash_list.c: Likewise.
32207         * tests/test-read-file.c: Likewise.
32208         * tests/test-rijndael.c: Likewise.
32209         * tests/test-search.c: Likewise.
32210         * tests/test-signbit.c: Likewise.
32211         * tests/test-sleep.c: Likewise.
32212         * tests/test-snprintf-posix.c: Likewise.
32213         * tests/test-snprintf-posix.h: Likewise.
32214         * tests/test-snprintf.c: Likewise.
32215         * tests/test-sprintf-posix.c: Likewise.
32216         * tests/test-sprintf-posix.h: Likewise.
32217         * tests/test-stat-time.c: Likewise.
32218         * tests/test-stdbool.c: Likewise.
32219         * tests/test-stdint.c: Likewise.
32220         * tests/test-stdio.c: Likewise.
32221         * tests/test-stdlib.c: Likewise.
32222         * tests/test-stpncpy.c: Likewise.
32223         * tests/test-strcasestr.c: Likewise.
32224         * tests/test-striconv.c: Likewise.
32225         * tests/test-striconveh.c: Likewise.
32226         * tests/test-striconveha.c: Likewise.
32227         * tests/test-string.c: Likewise.
32228         * tests/test-sys_select.c: Likewise.
32229         * tests/test-sys_socket.c: Likewise.
32230         * tests/test-sys_stat.c: Likewise.
32231         * tests/test-sys_time.c: Likewise.
32232         * tests/test-sysexits.c: Likewise.
32233         * tests/test-time.c: Likewise.
32234         * tests/test-tls.c: Likewise.
32235         * tests/test-trunc.c: Likewise.
32236         * tests/test-truncf.c: Likewise.
32237         * tests/test-truncl.c: Likewise.
32238         * tests/test-unistd.c: Likewise.
32239         * tests/test-vasnprintf-posix.c: Likewise.
32240         * tests/test-vasnprintf-posix2.c: Likewise.
32241         * tests/test-vasnprintf.c: Likewise.
32242         * tests/test-vasprintf-posix.c: Likewise.
32243         * tests/test-vasprintf.c: Likewise.
32244         * tests/test-verify.c: Likewise.
32245         * tests/test-vfprintf-posix.c: Likewise.
32246         * tests/test-vprintf-posix.c: Likewise.
32247         * tests/test-vsnprintf-posix.c: Likewise.
32248         * tests/test-vsnprintf.c: Likewise.
32249         * tests/test-vsprintf-posix.c: Likewise.
32250         * tests/test-wchar.c: Likewise.
32251         * tests/test-wctype.c: Likewise.
32252         * tests/test-wcwidth.c: Likewise.
32253         * tests/test-xstrtol.c: Likewise.
32254         * tests/test-xvasprintf.c: Likewise.
32255         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
32256         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
32257         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
32258         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
32259         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
32260         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
32261         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
32262         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
32263         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
32264         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
32265         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
32266         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
32267         * tests/uniname/test-uninames.c: Likewise.
32268         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
32269         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
32270         * tests/unistdio/test-u16-printf1.h: Likewise.
32271         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
32272         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
32273         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
32274         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
32275         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
32276         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
32277         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
32278         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
32279         * tests/unistdio/test-u32-printf1.h: Likewise.
32280         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
32281         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
32282         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
32283         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
32284         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
32285         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
32286         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
32287         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
32288         * tests/unistdio/test-u8-printf1.h: Likewise.
32289         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
32290         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
32291         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
32292         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
32293         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
32294         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
32295         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
32296         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
32297         * tests/unistdio/test-ulc-printf1.h: Likewise.
32298         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
32299         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
32300         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
32301         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
32302         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
32303         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
32304         * tests/uniwidth/test-u16-strwidth.c: Likewise.
32305         * tests/uniwidth/test-u16-width.c: Likewise.
32306         * tests/uniwidth/test-u32-strwidth.c: Likewise.
32307         * tests/uniwidth/test-u32-width.c: Likewise.
32308         * tests/uniwidth/test-u8-strwidth.c: Likewise.
32309         * tests/uniwidth/test-u8-width.c: Likewise.
32310         * tests/uniwidth/test-uc_width.c: Likewise.
32311         * config/srclist-update: Likewise.
32312         (fixlicense): Update to GPLv3+.
32313
32314         Change copyright notice from LGPLv2.1+ to LGPLv3+.
32315         * tests/test-tsearch.c: Change copyright notice.
32316
32317         Change copyright notice from LGPLv2.0+ to LGPLv3+.
32318         * lib/c-strcaseeq.h: Change copyright notice.
32319         * lib/streq.h: Likewise.
32320         * lib/uniconv.h: Likewise.
32321         * lib/uniconv/u-conv-from-enc.h: Likewise.
32322         * lib/uniconv/u-conv-to-enc.h: Likewise.
32323         * lib/uniconv/u-strconv-from-enc.h: Likewise.
32324         * lib/uniconv/u-strconv-to-enc.h: Likewise.
32325         * lib/uniconv/u16-conv-from-enc.c: Likewise.
32326         * lib/uniconv/u16-conv-to-enc.c: Likewise.
32327         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
32328         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
32329         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
32330         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
32331         * lib/uniconv/u32-conv-from-enc.c: Likewise.
32332         * lib/uniconv/u32-conv-to-enc.c: Likewise.
32333         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
32334         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
32335         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
32336         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
32337         * lib/uniconv/u8-conv-from-enc.c: Likewise.
32338         * lib/uniconv/u8-conv-to-enc.c: Likewise.
32339         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
32340         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
32341         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
32342         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
32343         * lib/uniname.h: Likewise.
32344         * lib/uniname/uniname.c: Likewise.
32345         * lib/unistdio.h: Likewise.
32346         * lib/unistdio/u-asnprintf.h: Likewise.
32347         * lib/unistdio/u-asprintf.h: Likewise.
32348         * lib/unistdio/u-printf-args.c: Likewise.
32349         * lib/unistdio/u-printf-args.h: Likewise.
32350         * lib/unistdio/u-printf-parse.h: Likewise.
32351         * lib/unistdio/u-snprintf.h: Likewise.
32352         * lib/unistdio/u-sprintf.h: Likewise.
32353         * lib/unistdio/u-vasprintf.h: Likewise.
32354         * lib/unistdio/u-vsnprintf.h: Likewise.
32355         * lib/unistdio/u-vsprintf.h: Likewise.
32356         * lib/unistdio/u16-asnprintf.c: Likewise.
32357         * lib/unistdio/u16-asprintf.c: Likewise.
32358         * lib/unistdio/u16-printf-parse.c: Likewise.
32359         * lib/unistdio/u16-snprintf.c: Likewise.
32360         * lib/unistdio/u16-sprintf.c: Likewise.
32361         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
32362         * lib/unistdio/u16-u16-asprintf.c: Likewise.
32363         * lib/unistdio/u16-u16-snprintf.c: Likewise.
32364         * lib/unistdio/u16-u16-sprintf.c: Likewise.
32365         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
32366         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
32367         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
32368         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
32369         * lib/unistdio/u16-vasnprintf.c: Likewise.
32370         * lib/unistdio/u16-vasprintf.c: Likewise.
32371         * lib/unistdio/u16-vsnprintf.c: Likewise.
32372         * lib/unistdio/u16-vsprintf.c: Likewise.
32373         * lib/unistdio/u32-asnprintf.c: Likewise.
32374         * lib/unistdio/u32-asprintf.c: Likewise.
32375         * lib/unistdio/u32-printf-parse.c: Likewise.
32376         * lib/unistdio/u32-snprintf.c: Likewise.
32377         * lib/unistdio/u32-sprintf.c: Likewise.
32378         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
32379         * lib/unistdio/u32-u32-asprintf.c: Likewise.
32380         * lib/unistdio/u32-u32-snprintf.c: Likewise.
32381         * lib/unistdio/u32-u32-sprintf.c: Likewise.
32382         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
32383         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
32384         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
32385         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
32386         * lib/unistdio/u32-vasnprintf.c: Likewise.
32387         * lib/unistdio/u32-vasprintf.c: Likewise.
32388         * lib/unistdio/u32-vsnprintf.c: Likewise.
32389         * lib/unistdio/u32-vsprintf.c: Likewise.
32390         * lib/unistdio/u8-asnprintf.c: Likewise.
32391         * lib/unistdio/u8-asprintf.c: Likewise.
32392         * lib/unistdio/u8-printf-parse.c: Likewise.
32393         * lib/unistdio/u8-snprintf.c: Likewise.
32394         * lib/unistdio/u8-sprintf.c: Likewise.
32395         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
32396         * lib/unistdio/u8-u8-asprintf.c: Likewise.
32397         * lib/unistdio/u8-u8-snprintf.c: Likewise.
32398         * lib/unistdio/u8-u8-sprintf.c: Likewise.
32399         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
32400         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
32401         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
32402         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
32403         * lib/unistdio/u8-vasnprintf.c: Likewise.
32404         * lib/unistdio/u8-vasprintf.c: Likewise.
32405         * lib/unistdio/u8-vsnprintf.c: Likewise.
32406         * lib/unistdio/u8-vsprintf.c: Likewise.
32407         * lib/unistdio/ulc-asnprintf.c: Likewise.
32408         * lib/unistdio/ulc-asprintf.c: Likewise.
32409         * lib/unistdio/ulc-printf-parse.c: Likewise.
32410         * lib/unistdio/ulc-snprintf.c: Likewise.
32411         * lib/unistdio/ulc-sprintf.c: Likewise.
32412         * lib/unistdio/ulc-vasnprintf.c: Likewise.
32413         * lib/unistdio/ulc-vasprintf.c: Likewise.
32414         * lib/unistdio/ulc-vsnprintf.c: Likewise.
32415         * lib/unistdio/ulc-vsprintf.c: Likewise.
32416         * lib/unistr.h: Likewise.
32417         * lib/unistr/u-cpy-alloc.h: Likewise.
32418         * lib/unistr/u-cpy.h: Likewise.
32419         * lib/unistr/u-endswith.h: Likewise.
32420         * lib/unistr/u-move.h: Likewise.
32421         * lib/unistr/u-set.h: Likewise.
32422         * lib/unistr/u-startswith.h: Likewise.
32423         * lib/unistr/u-stpcpy.h: Likewise.
32424         * lib/unistr/u-stpncpy.h: Likewise.
32425         * lib/unistr/u-strcat.h: Likewise.
32426         * lib/unistr/u-strcpy.h: Likewise.
32427         * lib/unistr/u-strcspn.h: Likewise.
32428         * lib/unistr/u-strdup.h: Likewise.
32429         * lib/unistr/u-strlen.h: Likewise.
32430         * lib/unistr/u-strncat.h: Likewise.
32431         * lib/unistr/u-strncpy.h: Likewise.
32432         * lib/unistr/u-strnlen.h: Likewise.
32433         * lib/unistr/u-strpbrk.h: Likewise.
32434         * lib/unistr/u-strspn.h: Likewise.
32435         * lib/unistr/u-strstr.h: Likewise.
32436         * lib/unistr/u-strtok.h: Likewise.
32437         * lib/unistr/u16-check.c: Likewise.
32438         * lib/unistr/u16-chr.c: Likewise.
32439         * lib/unistr/u16-cmp.c: Likewise.
32440         * lib/unistr/u16-cpy-alloc.c: Likewise.
32441         * lib/unistr/u16-cpy.c: Likewise.
32442         * lib/unistr/u16-endswith.c: Likewise.
32443         * lib/unistr/u16-mblen.c: Likewise.
32444         * lib/unistr/u16-mbsnlen.c: Likewise.
32445         * lib/unistr/u16-mbtouc-aux.c: Likewise.
32446         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
32447         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
32448         * lib/unistr/u16-mbtouc.c: Likewise.
32449         * lib/unistr/u16-mbtoucr.c: Likewise.
32450         * lib/unistr/u16-move.c: Likewise.
32451         * lib/unistr/u16-next.c: Likewise.
32452         * lib/unistr/u16-prev.c: Likewise.
32453         * lib/unistr/u16-set.c: Likewise.
32454         * lib/unistr/u16-startswith.c: Likewise.
32455         * lib/unistr/u16-stpcpy.c: Likewise.
32456         * lib/unistr/u16-stpncpy.c: Likewise.
32457         * lib/unistr/u16-strcat.c: Likewise.
32458         * lib/unistr/u16-strchr.c: Likewise.
32459         * lib/unistr/u16-strcmp.c: Likewise.
32460         * lib/unistr/u16-strcpy.c: Likewise.
32461         * lib/unistr/u16-strcspn.c: Likewise.
32462         * lib/unistr/u16-strdup.c: Likewise.
32463         * lib/unistr/u16-strlen.c: Likewise.
32464         * lib/unistr/u16-strmblen.c: Likewise.
32465         * lib/unistr/u16-strmbtouc.c: Likewise.
32466         * lib/unistr/u16-strncat.c: Likewise.
32467         * lib/unistr/u16-strncmp.c: Likewise.
32468         * lib/unistr/u16-strncpy.c: Likewise.
32469         * lib/unistr/u16-strnlen.c: Likewise.
32470         * lib/unistr/u16-strpbrk.c: Likewise.
32471         * lib/unistr/u16-strrchr.c: Likewise.
32472         * lib/unistr/u16-strspn.c: Likewise.
32473         * lib/unistr/u16-strstr.c: Likewise.
32474         * lib/unistr/u16-strtok.c: Likewise.
32475         * lib/unistr/u16-to-u32.c: Likewise.
32476         * lib/unistr/u16-to-u8.c: Likewise.
32477         * lib/unistr/u16-uctomb-aux.c: Likewise.
32478         * lib/unistr/u16-uctomb.c: Likewise.
32479         * lib/unistr/u32-check.c: Likewise.
32480         * lib/unistr/u32-chr.c: Likewise.
32481         * lib/unistr/u32-cmp.c: Likewise.
32482         * lib/unistr/u32-cpy-alloc.c: Likewise.
32483         * lib/unistr/u32-cpy.c: Likewise.
32484         * lib/unistr/u32-endswith.c: Likewise.
32485         * lib/unistr/u32-mblen.c: Likewise.
32486         * lib/unistr/u32-mbsnlen.c: Likewise.
32487         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
32488         * lib/unistr/u32-mbtouc.c: Likewise.
32489         * lib/unistr/u32-mbtoucr.c: Likewise.
32490         * lib/unistr/u32-move.c: Likewise.
32491         * lib/unistr/u32-next.c: Likewise.
32492         * lib/unistr/u32-prev.c: Likewise.
32493         * lib/unistr/u32-set.c: Likewise.
32494         * lib/unistr/u32-startswith.c: Likewise.
32495         * lib/unistr/u32-stpcpy.c: Likewise.
32496         * lib/unistr/u32-stpncpy.c: Likewise.
32497         * lib/unistr/u32-strcat.c: Likewise.
32498         * lib/unistr/u32-strchr.c: Likewise.
32499         * lib/unistr/u32-strcmp.c: Likewise.
32500         * lib/unistr/u32-strcpy.c: Likewise.
32501         * lib/unistr/u32-strcspn.c: Likewise.
32502         * lib/unistr/u32-strdup.c: Likewise.
32503         * lib/unistr/u32-strlen.c: Likewise.
32504         * lib/unistr/u32-strmblen.c: Likewise.
32505         * lib/unistr/u32-strmbtouc.c: Likewise.
32506         * lib/unistr/u32-strncat.c: Likewise.
32507         * lib/unistr/u32-strncmp.c: Likewise.
32508         * lib/unistr/u32-strncpy.c: Likewise.
32509         * lib/unistr/u32-strnlen.c: Likewise.
32510         * lib/unistr/u32-strpbrk.c: Likewise.
32511         * lib/unistr/u32-strrchr.c: Likewise.
32512         * lib/unistr/u32-strspn.c: Likewise.
32513         * lib/unistr/u32-strstr.c: Likewise.
32514         * lib/unistr/u32-strtok.c: Likewise.
32515         * lib/unistr/u32-to-u16.c: Likewise.
32516         * lib/unistr/u32-to-u8.c: Likewise.
32517         * lib/unistr/u32-uctomb.c: Likewise.
32518         * lib/unistr/u8-check.c: Likewise.
32519         * lib/unistr/u8-chr.c: Likewise.
32520         * lib/unistr/u8-cmp.c: Likewise.
32521         * lib/unistr/u8-cpy-alloc.c: Likewise.
32522         * lib/unistr/u8-cpy.c: Likewise.
32523         * lib/unistr/u8-endswith.c: Likewise.
32524         * lib/unistr/u8-mblen.c: Likewise.
32525         * lib/unistr/u8-mbsnlen.c: Likewise.
32526         * lib/unistr/u8-mbtouc-aux.c: Likewise.
32527         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
32528         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
32529         * lib/unistr/u8-mbtouc.c: Likewise.
32530         * lib/unistr/u8-mbtoucr.c: Likewise.
32531         * lib/unistr/u8-move.c: Likewise.
32532         * lib/unistr/u8-next.c: Likewise.
32533         * lib/unistr/u8-prev.c: Likewise.
32534         * lib/unistr/u8-set.c: Likewise.
32535         * lib/unistr/u8-startswith.c: Likewise.
32536         * lib/unistr/u8-stpcpy.c: Likewise.
32537         * lib/unistr/u8-stpncpy.c: Likewise.
32538         * lib/unistr/u8-strcat.c: Likewise.
32539         * lib/unistr/u8-strchr.c: Likewise.
32540         * lib/unistr/u8-strcmp.c: Likewise.
32541         * lib/unistr/u8-strcpy.c: Likewise.
32542         * lib/unistr/u8-strcspn.c: Likewise.
32543         * lib/unistr/u8-strdup.c: Likewise.
32544         * lib/unistr/u8-strlen.c: Likewise.
32545         * lib/unistr/u8-strmblen.c: Likewise.
32546         * lib/unistr/u8-strmbtouc.c: Likewise.
32547         * lib/unistr/u8-strncat.c: Likewise.
32548         * lib/unistr/u8-strncmp.c: Likewise.
32549         * lib/unistr/u8-strncpy.c: Likewise.
32550         * lib/unistr/u8-strnlen.c: Likewise.
32551         * lib/unistr/u8-strpbrk.c: Likewise.
32552         * lib/unistr/u8-strrchr.c: Likewise.
32553         * lib/unistr/u8-strspn.c: Likewise.
32554         * lib/unistr/u8-strstr.c: Likewise.
32555         * lib/unistr/u8-strtok.c: Likewise.
32556         * lib/unistr/u8-to-u16.c: Likewise.
32557         * lib/unistr/u8-to-u32.c: Likewise.
32558         * lib/unistr/u8-uctomb-aux.c: Likewise.
32559         * lib/unistr/u8-uctomb.c: Likewise.
32560         * lib/unitypes.h: Likewise.
32561         * lib/uniwidth.h: Likewise.
32562         * lib/uniwidth/cjk.h: Likewise.
32563         * lib/uniwidth/u16-strwidth.c: Likewise.
32564         * lib/uniwidth/u16-width.c: Likewise.
32565         * lib/uniwidth/u32-strwidth.c: Likewise.
32566         * lib/uniwidth/u32-width.c: Likewise.
32567         * lib/uniwidth/u8-strwidth.c: Likewise.
32568         * lib/uniwidth/u8-width.c: Likewise.
32569         * lib/uniwidth/width.c: Likewise.
32570
32571 2007-10-07  Bruno Haible  <bruno@clisp.org>
32572
32573         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
32574         The file is still under LGPL (see modules/inttypes).
32575
32576 2007-10-06  Bruno Haible  <bruno@clisp.org>
32577
32578         * modules/trunc (Dependencies): Add 'extensions'.
32579         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
32580         Reported by Ben Pfaff <blp@gnu.org>.
32581
32582 2007-10-06  Bruno Haible  <bruno@clisp.org>
32583
32584         * modules/freopen-tests: New file.
32585         * tests/test-freopen.c: New file.
32586
32587         * modules/fopen-tests: New file.
32588         * tests/test-fopen.c: New file.
32589
32590         * modules/fopen: New file.
32591         * lib/fopen.c: New file.
32592         * m4/fopen.m4: New file.
32593         * modules/freopen: New file.
32594         * lib/freopen.c: New file.
32595         * m4/freopen.m4: New file.
32596         * lib/stdio.in.h (fopen, freopen): New declarations.
32597         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
32598         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
32599         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
32600         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
32601         * doc/functions/fopen.texi: Mention the 'fopen' module.
32602         * doc/functions/freopen.texi: Mention the 'freopen' module.
32603
32604 2007-10-06  Bruno Haible  <bruno@clisp.org>
32605
32606         * modules/open-tests: New file.
32607         * tests/test-open.c: New file.
32608
32609         * modules/open: New file.
32610         * lib/open.c: New file.
32611         * m4/open.m4: New file.
32612         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
32613         lib/open.c does.
32614         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
32615         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
32616         macros.
32617         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
32618         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
32619         REPLACE_OPEN.
32620         * doc/functions/open.texi: Mention the 'open' module.
32621
32622 2007-10-04  Bruno Haible  <bruno@clisp.org>
32623
32624         * modules/ceill-tests: New file.
32625         * tests/test-ceill.c: New file.
32626
32627         * modules/ceill: New file.
32628         * lib/ceill.c: Replace entire file.
32629         * m4/ceill.m4: New file.
32630         * lib/math.in.h (ceill): Replace declaration.
32631         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
32632         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
32633         * doc/functions/ceill.texi: Mention the 'ceill' module.
32634         * modules/mathl (Files): Remove lib/ceill.c.
32635         (Depends-on): Add ceill.
32636
32637 2007-10-04  Bruno Haible  <bruno@clisp.org>
32638
32639         * modules/ceilf-tests: New file.
32640         * tests/test-ceilf.c: New file.
32641
32642         * modules/ceilf: New file.
32643         * lib/ceil.c: New file.
32644         * lib/ceilf.c: New file.
32645         * m4/ceilf.m4: New file.
32646         * lib/math.in.h (ceilf): New declaration.
32647         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
32648         HAVE_DECL_CEILF.
32649         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
32650         HAVE_DECL_CEILF.
32651         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
32652
32653 2007-10-04  Bruno Haible  <bruno@clisp.org>
32654
32655         * modules/floorl-tests: New file.
32656         * tests/test-floorl.c: New file.
32657
32658         * modules/floorl: New file.
32659         * lib/floorl.c: Replace entire file.
32660         * m4/floorl.m4: New file.
32661         * lib/math.in.h (floorl): Replace declaration.
32662         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
32663         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
32664         * doc/functions/floorl.texi: Mention the 'floorl' module.
32665         * modules/mathl (Files): Remove lib/floorl.c.
32666         (Depends-on): Add floorl.
32667
32668 2007-10-04  Bruno Haible  <bruno@clisp.org>
32669
32670         * modules/floorf-tests: New file.
32671         * tests/test-floorf.c: New file.
32672
32673         * modules/floorf: New file.
32674         * lib/floor.c: New file.
32675         * lib/floorf.c: New file.
32676         * m4/floorf.m4: New file.
32677         * lib/math.in.h (floorf): New declaration.
32678         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
32679         HAVE_DECL_FLOORF.
32680         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
32681         HAVE_DECL_FLOORF.
32682         * doc/functions/floorf.texi: Mention the 'floorf' module.
32683
32684 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
32685             Bruno Haible  <bruno@clisp.org>
32686
32687         Advertise for the Git server instead of the CVS server.
32688         * doc/gnulib-intro.texi (Steady Development): Mention the Git
32689         repository instead of the CVS one.
32690         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
32691         about all VCS systems generically.
32692         * doc/gnulib.texi (Introduction): Capitalize `Git'.
32693
32694 2007-10-04  Bruno Haible  <bruno@clisp.org>
32695
32696         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
32697         means.
32698         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
32699
32700 2007-10-04  Bruno Haible  <bruno@clisp.org>
32701
32702         * modules/truncl-tests: New file.
32703         * tests/test-truncl.c: New file.
32704
32705         * modules/truncl: New file.
32706         * lib/truncl.c: New file.
32707         * m4/truncl.m4: New file.
32708         * lib/math.in.h (truncl): New declaration.
32709         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
32710         HAVE_DECL_TRUNCL.
32711         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
32712         HAVE_DECL_TRUNCL.
32713         * doc/functions/truncl.texi: Mention the 'truncl' module.
32714
32715 2007-10-04  Bruno Haible  <bruno@clisp.org>
32716
32717         * modules/truncf-tests: New file.
32718         * tests/test-truncf.c: New file.
32719
32720         * modules/truncf: New file.
32721         * lib/trunc.c: Make paramerizable through USE_* macros.
32722         * lib/truncf.c: New file.
32723         * m4/truncf.m4: New file.
32724         * lib/math.in.h (truncf): New declaration.
32725         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
32726         HAVE_DECL_TRUNCF.
32727         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
32728         HAVE_DECL_TRUNCF.
32729         * doc/functions/truncf.texi: Mention the 'truncf' module.
32730
32731 2007-10-03  Bruno Haible  <bruno@clisp.org>
32732
32733         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
32734         augmentation also for tests modules.
32735         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
32736         * modules/atexit-tests (Makefile.am): Likewise.
32737         * modules/binary-io-tests (Makefile.am): Likewise.
32738         * modules/c-strcase-tests (Makefile.am): Likewise.
32739         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
32740         * modules/canonicalize-tests (Makefile.am): Likewise.
32741         * modules/closein-tests (Makefile.am): Likewise.
32742         * modules/fprintf-posix-tests (Makefile.am): Likewise.
32743         * modules/freadahead-tests (Makefile.am): Likewise.
32744         * modules/fseek-tests (Makefile.am): Likewise.
32745         * modules/fseeko-tests (Makefile.am): Likewise.
32746         * modules/ftell-tests (Makefile.am): Likewise.
32747         * modules/ftello-tests (Makefile.am): Likewise.
32748         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
32749         * modules/isnanl-tests (Makefile.am): Likewise.
32750         * modules/lseek-tests (Makefile.am): Likewise.
32751         * modules/mbscasecmp-tests (Makefile.am): Likewise.
32752         * modules/mbscasestr-tests (Makefile.am): Likewise.
32753         * modules/mbschr-tests (Makefile.am): Likewise.
32754         * modules/mbscspn-tests (Makefile.am): Likewise.
32755         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
32756         * modules/mbspbrk-tests (Makefile.am): Likewise.
32757         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
32758         * modules/mbsrchr-tests (Makefile.am): Likewise.
32759         * modules/mbsspn-tests (Makefile.am): Likewise.
32760         * modules/mbsstr-tests (Makefile.am): Likewise.
32761         * modules/printf-posix-tests (Makefile.am): Likewise.
32762         * modules/snprintf-posix-tests (Makefile.am): Likewise.
32763         * modules/sprintf-posix-tests (Makefile.am): Likewise.
32764         * modules/tsearch-tests (Makefile.am): Likewise.
32765         * modules/uniname/uniname-tests (Makefile.am): Likewise.
32766         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
32767         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
32768         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
32769         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
32770         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
32771         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
32772         * modules/vprintf-posix-tests (Makefile.am): Likewise.
32773         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
32774         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
32775         * modules/xstrtoimax-tests (Makefile.am): Likewise.
32776         * modules/xstrtol-tests (Makefile.am): Likewise.
32777         * modules/xstrtoumax-tests (Makefile.am): Likewise.
32778         * modules/yesno-tests (Makefile.am): Likewise.
32779
32780 2007-10-03  Bruno Haible  <bruno@clisp.org>
32781
32782         * modules/trunc-tests: New file.
32783         * tests/test-trunc.c: New file.
32784
32785         * modules/trunc: New file.
32786         * lib/trunc.c: New file.
32787         * m4/trunc.m4: New file.
32788         * lib/math.in.h (trunc): New declaration.
32789         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
32790         HAVE_DECL_TRUNC.
32791         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
32792         HAVE_DECL_TRUNC.
32793         * doc/functions/trunc.texi: Mention the 'trunc' module.
32794
32795 2007-10-03  Bruno Haible  <bruno@clisp.org>
32796
32797         * tests/test-fpending.c: New file, mostly copied
32798         from coreutils/lib/t-fpending.c.
32799         * modules/fpending-tests: New file.
32800
32801 2007-10-03  Bruno Haible  <bruno@clisp.org>
32802
32803         Port the stdio extensions to QNX (untested).
32804         * lib/fseterr.c (fseterr): Add support for QNX.
32805         * lib/fbufmode.c (fbufmode): Likewise.
32806         * lib/freadable.c (freadable): Likewise.
32807         * lib/fwritable.c (fwritable): Likewise.
32808         * lib/freading.c (freading): Likewise.
32809         * lib/fwriting.c (fwriting): Likewise.
32810         * lib/freadahead.c (freadahed): Likewise.
32811         * lib/fpurge.c (fpurge): Likewise.
32812         * lib/fseeko.c (rpl_fseeko): Likewise.
32813
32814 2007-10-03  Bruno Haible  <bruno@clisp.org>
32815             Jim Meyering  <jim@meyering.net>
32816             Eric Blake  <ebb9@byu.net>
32817
32818         * doc/relocatable.texi: Use @command instead of @program.
32819
32820 2007-10-02  Jim Meyering  <jim@meyering.net>
32821
32822         Perform one more "_.h" -> ".in.h" substitution.
32823         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
32824         instead of unistd_.h here, too.
32825
32826 2007-10-01  Bruno Haible  <bruno@clisp.org>
32827
32828         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
32829         Needed for the alloca-opt module.
32830
32831 2007-09-30  Bruno Haible  <bruno@clisp.org>
32832
32833         * lib/alloca.in.h: Renamed from lib/alloca_.h.
32834         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
32835         alloca_.h.
32836         * lib/argz.in.h: Renamed from lib/argz_.h.
32837         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
32838         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
32839         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
32840         byteswap_.h.
32841         * lib/dirent.in.h: Renamed from lib/dirent_.h.
32842         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
32843         dirent_.h.
32844         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
32845         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
32846         fcntl_.h.
32847         * lib/float.in.h: Renamed from lib/float_.h.
32848         * modules/float (Files, Makefile.am): Use float.in.h instead of
32849         float_.h.
32850         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
32851         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
32852         fnmatch_.h.
32853         * lib/getopt.in.h: Renamed from lib/getopt_.h.
32854         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
32855         getopt_.h.
32856         * lib/glob.in.h: Renamed from lib/glob_.h.
32857         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
32858         * lib/iconv.in.h: Renamed from lib/iconv_.h.
32859         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
32860         iconv_.h.
32861         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
32862         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
32863         inttypes_.h.
32864         * lib/locale.in.h: Renamed from lib/locale_.h.
32865         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
32866         locale_.h.
32867         * lib/math.in.h: Renamed from lib/math_.h.
32868         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
32869         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
32870         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
32871         of netinet_in_.h. Add dependency.
32872         * lib/poll.in.h: Renamed from lib/poll_.h.
32873         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
32874         * lib/search.in.h: Renamed from lib/search_.h.
32875         * modules/search (Files, Makefile.am): Use search.in.h instead of
32876         search_.h.
32877         * lib/signal.in.h: Renamed from lib/signal_.h.
32878         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
32879         _signal.h.
32880         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
32881         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
32882         stdbool_.h.
32883         * lib/stdint.in.h: Renamed from lib/stdint_.h.
32884         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
32885         stdint_.h.
32886         * lib/stdio.in.h: Renamed from lib/stdio_.h.
32887         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
32888         stdio_.h.
32889         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
32890         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
32891         stdlib_.h.
32892         * lib/string.in.h: Renamed from lib/string_.h.
32893         * modules/string (Files, Makefile.am): Use string.in.h instead of
32894         string_.h.
32895         * doc/gnulib-tool.texi (Initial import): Update.
32896         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
32897         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
32898         of sys_select_.h. Add dependency.
32899         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
32900         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
32901         of sys_socket_.h.
32902         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
32903         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
32904         sys_stat_.h.
32905         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
32906         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
32907         sys_time_.h.
32908         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
32909         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
32910         sysexits_.h.
32911         * lib/time.in.h: Renamed from lib/time_.h.
32912         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
32913         * lib/unistd.in.h: Renamed from lib/unistd_.h.
32914         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
32915         unistd_.h.
32916         * lib/wchar.in.h: Renamed from lib/wchar_.h.
32917         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
32918         wchar_.h.
32919         * lib/wctype.in.h: Renamed from lib/wctype_.h.
32920         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
32921         wctype_.h.
32922         * build-aux/bootstrap (slurp): Update.
32923         * lib/.cppi-disable: Update.
32924
32925 2007-09-30  Bruno Haible  <bruno@clisp.org>
32926
32927         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
32928         Needed on BeOS.
32929
32930 2007-09-30  Bruno Haible  <bruno@clisp.org>
32931
32932         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
32933
32934 2007-09-29  Bruno Haible  <bruno@clisp.org>
32935
32936         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
32937
32938 2007-09-29  Bruno Haible  <bruno@clisp.org>
32939
32940         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
32941         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
32942         * build-aux/install-reloc: Compile also areadlink.c.
32943         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
32944
32945 2007-09-29  Bruno Haible  <bruno@clisp.org>
32946
32947         * gnulib-tool (func_emit_initmacro_done): Indentation.
32948
32949 2007-09-29  Bruno Haible  <bruno@clisp.org>
32950
32951         * README: Add CVS checkout update instructions.
32952         Info from Bob Proulx <bob@proulx.com>.
32953
32954 2007-09-28  Eric Blake  <ebb9@byu.net>
32955
32956         Provide move-if-change.
32957         * build-aux/move-if-change: New file, based on best practice
32958         rather than any canonical upstream location.
32959
32960 2007-09-28  Jim Meyering  <jim@meyering.net>
32961
32962         Fix canonicalize loop-detection corner case.
32963         Do not attempt to stat the symlink values stored via seen_triple.
32964         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
32965         on linux-2.6.18, (but not 2.6.22).
32966         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
32967         triple_compare.  The former compares dev,ino,filename, while the latter
32968         would actually stat dirname(filename) when dev and ino were equal.
32969         * lib/hash-triple.c: Install <string.h>.
32970         (STREQ): Define.
32971         (triple_compare_ino_str): New function.
32972         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
32973
32974 2007-09-28  Eric Blake  <ebb9@byu.net>
32975
32976         Enforce that AC_REPLACE_FUNCS files exist.
32977         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
32978         override check for typos.
32979
32980         Fix test-closein on Solaris 10.
32981         * tests/test-closein.c (main): Don't assume stdin can be inherited
32982         closed on all systems.
32983         * tests/test-closein.sh: Likewise.
32984         Reported by Piotr Tarnowski.
32985
32986 2007-09-28  Jim Meyering  <jim@meyering.net>
32987
32988         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
32989
32990 2007-09-27  Jim Meyering  <jim@meyering.net>
32991
32992         canonicalize: Avoid a false-positive cycle failure.
32993         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
32994         Sort.  Remove cycle-check.
32995         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
32996         not cycle-check.h.
32997         (seen_triple): New function.
32998         (canonicalize_filename_mode): Use it instead of cycle-check.
32999         * tests/test-canonicalize.c: Add a test for this bug.
33000         * tests/test-canonicalize.sh: Set up and run the test.
33001
33002         New module, file-set, from coreutils.
33003         * modules/file-set: Define it.
33004         * lib/file-set.c, lib/file-set.h: Implement.
33005
33006         New module, hash-triple, from coreutils.
33007         * modules/hash-triple: Define it.
33008         * lib/hash-triple.c, lib/hash-triple.h: Implement.
33009
33010 2007-09-25  Eric Blake  <ebb9@byu.net>
33011
33012         Fix strerror on Interix.
33013         * lib/string_.h (strerror): Declare replacement.
33014         * doc/functions/strerror.texi (strerror): Document the Interix
33015         shortcoming.
33016         * modules/string (Makefile.am): Support new hooks.
33017         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
33018         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
33019         gl_FUNC_STRERROR_SEPARATE.
33020         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
33021         * lib/strerror.c (rpl_strerror): Provide replacement.
33022         * modules/strerror (Depends-on): Add string.
33023         (configure.ac): Detect use of module.
33024         * tests/test-strerror.c: New file.
33025         * modules/strerror-tests: New test module.
33026         * modules/argp (Depends-on): Add strerror.
33027         * modules/error (Depends-on): Likewise.
33028         Reported by Martin Koeppe.
33029
33030 2007-09-24  Bruno Haible  <bruno@clisp.org>
33031
33032         * README: Update git instructions.
33033
33034 2007-09-24  Eric Blake  <ebb9@byu.net>
33035
33036         Revert fpending breakage from 2007-09-08.
33037         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
33038         __fpending.c.
33039
33040 2007-09-24  Jim Meyering  <jim@meyering.net>
33041
33042         filenamecat.c: Add a test.
33043         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
33044         showing how the function works when DIR is the empty string.
33045
33046 2007-09-21  Simon Josefsson  <simon@josefsson.org>
33047
33048         * tests/test-canonicalize.sh: Turn on executable bit.
33049
33050 2007-09-19  Eric Blake  <ebb9@byu.net>
33051
33052         * README: Update CVS instructions.
33053
33054 2007-09-18  Bruno Haible  <bruno@clisp.org>
33055
33056         * modules/areadlink: New file.
33057         * lib/areadlink.h (areadlink): New declaration.
33058         * lib/areadlink.c: New file, based on lib/xreadlink.c.
33059
33060 2007-09-17  Jim Meyering  <jim@meyering.net>
33061
33062         * lib/savewd.c (ESTALE) [!defined]: Define.
33063         Reported to be required on Interix by Martin Koeppe.
33064
33065 2007-09-17  Bruno Haible  <bruno@clisp.org>
33066
33067         * gnulib-tool (func_version): Use $version.
33068
33069 2007-09-16  Bruno Haible  <bruno@clisp.org>
33070
33071         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
33072         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
33073         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
33074         Reported by Greg Schafer <gschafer@zip.com.au>.
33075
33076 2007-09-15  Bruno Haible  <bruno@clisp.org>
33077
33078         * gnulib-tool (sed): Try a little harder to make bash understand the
33079         alias.
33080         Reported by Bruce Korb <bruce.korb@gmail.com>.
33081
33082 2007-09-13  Eric Blake  <ebb9@byu.net>
33083
33084         * ChangeLog: Remove conflict markers.
33085
33086 2007-09-13  Simon Josefsson  <simon@josefsson.org>
33087
33088         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
33089         Reported by Bruno Haible <bruno@clisp.org>.
33090
33091 2007-09-12  Bruno Haible  <bruno@clisp.org>
33092
33093         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
33094         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
33095         is not defined.
33096
33097 2007-09-12  Eric Blake  <ebb9@byu.net>
33098
33099         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
33100         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
33101         Autoconf definition.
33102         * modules/euidaccess (Depends-on): Add extensions, for
33103         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
33104         * modules/fnmatch (Depends-on): Likewise.
33105         * modules/getaddrinfo (Depends-on): Likewise.
33106         * modules/getdelim (Depends-on): Likewise.
33107         * modules/getline (Depends-on): Likewise.
33108         * modules/getsubopt (Depends-on): Likewise.
33109         * modules/gettext (Depends-on): Likewise.
33110         * modules/group-member (Depends-on): Likewise.
33111         * modules/mbchar (Depends-on): Likewise.
33112         * modules/memmem (Depends-on): Likewise.
33113         * modules/mempcpy (Depends-on): Likewise.
33114         * modules/memrchr (Depends-on): Likewise.
33115         * modules/pagealign_alloc (Depends-on): Likewise.
33116         * modules/readutmp (Depends-on): Likewise.
33117         * modules/stpcpy (Depends-on): Likewise.
33118         * modules/stpncpy (Depends-on): Likewise.
33119         * modules/strchrnul (Depends-on): Likewise.
33120         * modules/strndup (Depends-on): Likewise.
33121         * modules/strsep (Depends-on): Likewise.
33122         * modules/strverscmp (Depends-on): Likewise.
33123         * modules/vasprintf (Depends-on): Likewise.
33124         * modules/wcwidth (Depends-on): Likewise.
33125         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
33126         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
33127         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
33128         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
33129         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
33130         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
33131         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
33132         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
33133         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
33134         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
33135         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
33136         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
33137         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
33138         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
33139         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
33140         * m4/readutmp.m4 (gl_READUTMP): Likewise.
33141         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
33142         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
33143         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
33144         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
33145         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
33146         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
33147         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
33148         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
33149         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
33150         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
33151         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
33152         so that lock.m4 can be used in gettext without extensions module.
33153
33154 2007-09-11  Bruno Haible  <bruno@clisp.org>
33155
33156         * m4/isc-posix.m4: Remove file.
33157         Suggested by Eric Blake.
33158
33159 2007-09-11  Eric Blake  <ebb9@byu.net>
33160
33161         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
33162
33163 2007-09-10  Bruno Haible  <bruno@clisp.org>
33164
33165         * posix-modules: Fix typo in error message.
33166         Reported by Matt <mkraai@beckman.com>.
33167
33168 2007-09-09  Bruno Haible  <bruno@clisp.org>
33169
33170         * doc/functions/getdelim.texi: Update list of platforms lacking the
33171         function.
33172         * doc/functions/getline.texi: Likewise.
33173
33174 2007-09-09  Jim Meyering  <jim@meyering.net>
33175
33176         * lib/hash.c (hash_initialize): Detect calloc failure.
33177         Reported by Bruno Haible.
33178
33179 2007-09-09  Bruno Haible  <bruno@clisp.org>
33180
33181         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
33182         malloc or realloc fails.
33183
33184 2007-09-09  Bruno Haible  <bruno@clisp.org>
33185
33186         * modules/getcwd (Depends-on): Add malloc-posix.
33187         * modules/glob (Depends-on): Likewise.
33188         * modules/putenv (Depends-on): Likewise.
33189         * modules/strdup (Depends-on): Likewise.
33190         * modules/getdelim (Depends-on): Add realloc-posix.
33191         * modules/read-file (Depends-on): Likewise.
33192
33193 2007-09-09  Bruno Haible  <bruno@clisp.org>
33194
33195         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
33196         (gl_FUNC_MALLOC_POSIX): Require it.
33197         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
33198         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
33199         * modules/realloc (Files): Add m4/malloc.m4.
33200         * modules/calloc (Files): Likewise.
33201
33202 2007-09-09  Bruno Haible  <bruno@clisp.org>
33203
33204         * modules/malloc-posix: New file.
33205         * modules/malloc (Depends-on): Add malloc-posix.
33206         * lib/malloc.c: Include errno.h.
33207         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
33208         and a POSIX-compatible malloc into a single function. Set ENOMEM
33209         when returning NULL.
33210         * m4/malloc.m4: New file.
33211         * doc/functions/malloc.texi: Mention the malloc-posix module.
33212         * lib/stdlib_.h (malloc): New declaration.
33213         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
33214         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
33215         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
33216         and HAVE_MALLOC_POSIX.
33217
33218 2007-09-09  Bruno Haible  <bruno@clisp.org>
33219
33220         * modules/realloc-posix: New file.
33221         * modules/realloc (Depends-on): Add realloc-posix.
33222         * lib/realloc.c: Include errno.h.
33223         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
33224         and a POSIX-compatible realloc into a single function. Set ENOMEM
33225         when returning NULL.
33226         * m4/realloc.m4: New file.
33227         * doc/functions/realloc.texi: Mention the realloc-posix module.
33228         * lib/stdlib_.h (realloc): New declaration.
33229         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
33230         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
33231         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
33232         and HAVE_REALLOC_POSIX.
33233
33234 2007-09-09  Bruno Haible  <bruno@clisp.org>
33235
33236         * modules/calloc-posix: New file.
33237         * modules/calloc (Depends-on): Add calloc-posix.
33238         * lib/calloc.c: Include errno.h.
33239         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
33240         and a POSIX-compatible calloc into a single function. Set ENOMEM
33241         when returning NULL.
33242         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
33243         * doc/functions/calloc.texi: Mention the calloc-posix module.
33244         * lib/stdlib_.h (calloc): New declaration.
33245         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
33246         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
33247         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
33248         and HAVE_CALLOC_POSIX.
33249
33250 2007-09-09  Bruno Haible  <bruno@clisp.org>
33251
33252         Allow for modules to show an arbitrary notice.
33253         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
33254         * gnulib-tool: New option --extract-notice.
33255         (func_usage): Document it.
33256         (sed_extract_prog): Update.
33257         (func_get_notice): New function.
33258         (func_modules_notice): New function.
33259         (func_import, func_create_testdir): Invoke it.
33260         Suggested by Jim Meyering.
33261
33262 2007-09-09  Bruno Haible  <bruno@clisp.org>
33263
33264         * gnulib-tool: New options --verbose, --quiet.
33265         (func_usage): Document them.
33266         (verbose): New variable.
33267         (func_execute_command): New function.
33268         (func_import): Don't show the module list and the file list if
33269         $verbose < 0.
33270         (func_create_testdir): Likewise. Use func_execute_command.
33271         (func_create_megatestdir): Use func_execute_command.
33272
33273 2007-09-08  Bruno Haible  <bruno@clisp.org>
33274
33275         * gnulib-tool (func_import): Prefer rsync over wget when available,
33276         for fetching the PO files.
33277
33278 2007-09-08  Bruno Haible  <bruno@clisp.org>
33279
33280         * posix-modules: New file. Portions copied from gnulib-tool.
33281         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
33282
33283 2007-09-08  Jim Meyering  <jim@meyering.net>
33284
33285         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
33286         * lib/fpending.h: Rename from __fpending.h.
33287         * lib/fpending.c: Rename from __fpending.c.
33288         Include "fpending.h", not "__fpending.h".
33289         * lib/__fpending.h, lib/__fpending.c: Remove files.
33290         * modules/fpending (Files): Reflect new file names.
33291         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
33292
33293 2007-09-08  Bruno Haible  <bruno@clisp.org>
33294
33295         * m4/inttypes-h.m4: Remove stub file.
33296
33297 2007-09-07  Simon Josefsson  <simon@josefsson.org>
33298
33299         * doc/headers/stdint.texi: Discuss #include_next issue.
33300
33301 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
33302
33303         * build-aux/bootstrap: Remove obsolete comment about wget --help.
33304
33305 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
33306
33307         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
33308         in variable name.
33309
33310 2007-09-03  Jim Meyering  <jim@meyering.net>
33311
33312         New module: git-version-gen.
33313         * modules/git-version-gen: New file.
33314
33315         Import changes from coreutils for bootstrap script.
33316
33317         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
33318
33319         bootstrap: uses rsync to download the .po files
33320         * build-aux/bootstrap (po_download_command_format): New global.
33321         (download_po_files): Use rsync.
33322         (update_po_files): Don't remove .po files after download,
33323         so future rsync runs can take advantage of the copies.
33324
33325         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
33326
33327         Solve the unnecessary-.po-file-regeneration problem once and for all.
33328         * build-aux/bootstrap (download_po_files): New function, renamed from
33329         get_translations.  Now, downloads, but doesn't update LINGUAS.
33330         (update_po_files): New function.
33331
33332         bootstrap: Ignore more.
33333         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
33334         uniwidth to e.g., lib/.gitignore.
33335         (slurp): Handle the sys_stat_.h -> sys mapping, too.
33336
33337         * build-aux/bootstrap: New setting: vc_ignore.
33338         (insert_sorted_if_absent): Create $file if absent.
33339         Adapt to new, possibly empty, list: $vc_ignore.
33340
33341         bootstrap: generate more ignorable names
33342         * build-aux/bootstrap (slurp): When generating ignorable names,
33343         also map .sin to .sed, .gperf to .c, and .y to .c.
33344
33345 2007-09-03  Jim Meyering  <jim@meyering.net>
33346
33347         * build-aux/git-version-gen: New file, from coreutils.  For details, see
33348         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
33349
33350 2007-09-02  Bruno Haible  <bruno@clisp.org>
33351
33352         Fix mis-recognition of 'mcs' on QNX 6.
33353         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
33354         output contains the string "Mono".
33355         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
33356         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
33357
33358 2007-09-01  Bruno Haible  <bruno@clisp.org>
33359
33360         Fix collision between uniwidth/* and linebreak modules.
33361         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
33362         u32_width): Remove declarations.
33363         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
33364         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
33365         streq3, streq2, streq1, streq0): Remove functions.
33366         (STREQ): Remove macro.
33367         (is_cjk_encoding): Remove function.
33368         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
33369         (uc_width, u8_width, u16_width, u32_width): Remove functions.
33370         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
33371         * NEWS: Document the change.
33372
33373 2007-09-01  Bruno Haible  <bruno@clisp.org>
33374
33375         * lib/streq.h: Add double-inclusion guard.
33376
33377 2007-09-01  Karl Berry  <karl@gnu.org>
33378
33379         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
33380
33381 2007-08-28  Jim Meyering  <jim@meyering.net>
33382
33383         Rename mreadlink_with_size to areadlink_with_size.
33384         * NEWS: Document the change.
33385         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
33386         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
33387         * lib/mreadlink.h: Rename this to...
33388         * lib/areadlink.h: ...this.
33389         * modules/mreadlink-with-size: Rename this to...
33390         * modules/areadlink-with-size: ...this.
33391         * lib/canonicalize.c: Reflect the renaming.
33392         * modules/canonicalize: Likewise.
33393
33394 2007-08-26  Bruno Haible  <bruno@clisp.org>
33395
33396         * gnulib-tool (func_import): When deciding which files to remove,
33397         consider also dangling symbolic links.
33398         Reported by Eric Blake.
33399
33400 2007-08-26  Bruno Haible  <bruno@clisp.org>
33401
33402         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
33403
33404 2007-08-23  Simon Josefsson  <simon@josefsson.org>
33405
33406         * lib/readline.c: Don't include getline.h, the prototype is now
33407         found in stdio.h.
33408
33409 2007-08-23  Jim Meyering  <jim@meyering.net>
33410
33411         Getdelim touchup.
33412         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
33413         around the funlockfile call, since funlockfile never sets errno.
33414         Don't set errno upon failed realloc.
33415
33416 2007-08-22  Eric Blake  <ebb9@byu.net>
33417
33418         Getline touchups.
33419         * lib/getdelim.c (getdelim): Revert regression that required *n to
33420         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
33421         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
33422         getdelim, rather than whether implementation is missing.
33423         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
33424         * lib/stdio_.h (getline): Also declare if replacement is
33425         required.
33426         * doc/functions/getdelim.texi: New file.
33427         * doc/functions/getline.texi: Likewise.
33428         * doc/gnulib.texi (Function Substitutes): Add new files.
33429         Reported by Bruno Haible.
33430
33431 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
33432
33433         * users.txt: Add Guile.
33434
33435 2007-08-22  Eric Blake  <ebb9@byu.net>
33436
33437         * tests/test-getdelim.c (main): Use remove, not unlink.
33438         * tests/test-getline.c (main): Likewise.
33439
33440         Move getline and getdelim into stdio.h, per POSIX 200x.
33441         * modules/getline (Files): Remove getline.h.
33442         (Depends-on): Add stdio.
33443         (configure.ac): Add module indicator.
33444         * modules/getdelim (Files): Remove getdelim.h.
33445         (Depends-on): Add stdio.
33446         (configure.ac): Add module indicator.
33447         * modules/stdio (Makefile.am): Work with new indicators.
33448         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
33449         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
33450         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
33451         * lib/getdelim.h: Delete.
33452         * lib/getline.h: Delete.
33453         * lib/stdio_.h (getdelim, getline): Declare.
33454         * modules/getdelim-tests: New module.
33455         * modules/getline-tests: Likewise.
33456         * tests/test-getdelim.c: New file.
33457         * tests/test-getline.c: Likewise.
33458         * NEWS: Document the change.
33459         * lib/getline.c: Update choice of header.
33460         * lib/csharpcomp.c: Likewise.
33461         * lib/getpass.c: Likewise.
33462         * lib/javacomp.c: Likewise.
33463         * lib/javaversion.c: Likewise.
33464         * lib/yesno.c: Likewise.
33465         * lib/getdelim.c: Likewise.
33466         (getdelim): Set errno on failure, and avoid memory leak.
33467
33468 2007-08-19  Bruno Haible  <bruno@clisp.org>
33469
33470         * modules/closein (Depends-on): Add freadahead.
33471         * lib/closein.c: Include freadahead.h.
33472         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
33473         is zero.
33474
33475 2007-08-19  Bruno Haible  <bruno@clisp.org>
33476
33477         * modules/freadahead-tests: New file.
33478         * tests/test-freadahead.sh: New file.
33479         * tests/test-freadahead.c: New file.
33480
33481         * modules/freadahead: New file.
33482         * lib/freadahead.h: New file.
33483         * lib/freadahead.c: New file.
33484         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
33485         fbufmode, fpurge, freadable, fwritable.
33486
33487 2007-08-19  Eric Blake  <ebb9@byu.net>
33488
33489         Test yesno in combination with closein.
33490         * lib/yesno.c (yesno): Document use of stdin.
33491         * modules/yesno-tests (Files): New module.
33492         * tests/test-yesno.c (main): New file.
33493         * tests/test-yesno.sh: Likewise.
33494
33495 2007-08-19  Bruno Haible  <bruno@clisp.org>
33496
33497         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
33498         * lib/fseeko.c (rpl_fseeko): Likewise.
33499         * lib/fseterr.c (fseterr): Likewise.
33500
33501 2007-08-19  Bruno Haible  <bruno@clisp.org>
33502
33503         * tests/test-lseek.c (main): Disable a test for BeOS.
33504         * doc/functions/lseek.texi: Document the BeOS bug.
33505
33506 2007-08-19  Bruno Haible  <bruno@clisp.org>
33507             Eric Blake  <ebb9@byu.net>
33508
33509         * lib/lseek.c: Include <sys/stat.h>.
33510         (rpl_lseek): Add workaround code also for Unix platforms.
33511         Needed for BeOS.
33512         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
33513         * doc/functions/lseek.texi: Document BeOS definiency.
33514
33515 2007-08-18  Bruno Haible  <bruno@clisp.org>
33516
33517         * modules/fstrcmp-tests: New file.
33518         * tests/test-fstrcmp.c: New file.
33519
33520 2007-08-18  Bruno Haible  <bruno@clisp.org>
33521
33522         * modules/fstrcmp: New file, from GNU gettext with modifications.
33523         * lib/fstrcmp.h: New file, from GNU gettext.
33524         * lib/fstrcmp.c: New file, from GNU gettext.
33525         * MODULES.html.sh (String handling): Add fstrcmp.
33526
33527 2007-08-18  Bruno Haible  <bruno@clisp.org>
33528
33529         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
33530         'bool'.
33531         (diag, compareseq): Remove const from the ctxt argument.
33532         (USE_HEURISTIC): Undefine at the end.
33533
33534 2007-08-18  Jim Meyering  <jim@meyering.net>
33535
33536         New file: lib/idcache.h
33537         * NEWS: Mention the addition.
33538         * modules/idcache (Files): Add lib/idcache.h
33539         * lib/idcache.c: Include "idcache.h".
33540         Don't include <sys/types.h>.
33541         Add a FIXME comment.
33542         Move file-scoped "static" declarations to the top.
33543         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
33544
33545 2007-08-17  Bruno Haible  <bruno@clisp.org>
33546         and Paul Eggert  <eggert@cs.ucla.edu>
33547
33548         * MODULES.html.sh: Add diffseq.
33549         * modules/diffseq: New file.
33550         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
33551         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
33552
33553 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
33554
33555         Import changes from coreutils for bootstrap script.
33556
33557         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
33558
33559         * build-aux/bootstrap (slurp): Work even in environments where
33560         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
33561         current code does not slurp files whose names start with ".", and
33562         this looks like it might be a troublesome area.
33563
33564         2007-07-11  Jim Meyering  <jim@meyering.net>
33565
33566         If there's a GPL vN copyright comment, require that N == 3.
33567
33568         2007-07-08  Jim Meyering  <jim@meyering.net>
33569
33570         Run the coreutils-specific code only if tests/Makefile.am.in exists.
33571         * build-aux/bootstrap (mam_template): Move definition out of loop.
33572
33573         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
33574
33575         * build-aux/bootstrap (symlink_to_dir): Rename function from
33576         symlink_to_gnulib.  Add a directory parameter.  Update all
33577         callers.
33578         (cp_mark_as_generated): Also check for -- and link to -- files in
33579         gl/.
33580
33581         2007-07-08  Jim Meyering  <jim@meyering.net>
33582
33583         Adapt to deeper hierarchy in gnulib.
33584         * build-aux/bootstrap (symlink_to_dir): If the destination
33585         directory doesn't exist, create it. This is required at least for
33586         "lib/uniwidth/cjk.h".
33587
33588         2007-05-15  Jim Meyering  <jim@meyering.net>
33589
33590         * build-aux/bootstrap: Now that generated Makefile.am files
33591         are no longer under version control, they must be created at
33592         bootstrap time.
33593
33594 2007-08-14  Ben Pfaff  <blp@gnu.org>
33595
33596         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
33597
33598 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
33599
33600         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
33601         given the changes below.
33602         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
33603         even on hosts that have padding bits beyond the supported 64.
33604
33605 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
33606
33607         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
33608         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
33609         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
33610         depends on it.
33611         (xstrtol_error): Remove.
33612         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
33613         but with a different signature.
33614         (ATTRIBUTE_NORETURN, __attribute__): New macros.
33615         * lib/xstrtol-error.c: Include exitfail.h.
33616         (xstrtol_fatal): New function, with a different signature from the
33617         old xstrtol_error, so that the caller need not worry about passing
33618         in an exit status, or about storage management of the option argument.
33619         (xstrtol_error): Now a static function.  Redo signature to
33620         implement xstrtol_fatal.  Output the correct number of hyphens in
33621         front of the option so that the caller need not worry about
33622         storage management.
33623         (N_): New macro.
33624         (_): Remove; not used now.
33625         * modules/xstrtol: Depend on getopt.
33626         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
33627         of old STRTOL_FATAL_ERROR macro.
33628         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
33629         of test program.
33630         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
33631         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
33632
33633 2007-08-08  Eric Blake  <ebb9@byu.net>
33634
33635         * lib/xstrtol-error.c: Add missing include.
33636
33637         Move xstrtol messages into gnulib domain, when --pobase is used.
33638         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
33639         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
33640         * modules/xstrtol (Files): Distribute new file.
33641         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
33642         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
33643         * tests/test-xstrtol.c: ...into new file.
33644         * tests/test-xstrtoul.c: Also test xstrtoul.
33645         * tests/test-xstrtoimax.c: Also test xstrtoimax.
33646         * tests/test-xstrtoumax.c: Also test xstrtoumax.
33647         * tests/test-xstrtol.sh: Drive the tests.
33648         * tests/test-xstrtoimax.sh: Likewise.
33649         * tests/test-xstrtoumax.sh: Likewise.
33650         * modules/xstrtol-tests: New module.
33651         * modules/xstrtoimax-tests: Likewise.
33652         * modules/xstrtoumax-tests: Likewise.
33653
33654 2007-08-08  Jim Meyering  <jim@meyering.net>
33655
33656         New function: mfile_name_concat.
33657         * lib/filenamecat.c (mfile_name_concat): New function, just like
33658         file_name_concat, but return NULL upon failure rather than exiting
33659         with a diagnostic.
33660         * lib/filenamecat.h: Declare it.
33661
33662 2007-08-07  Bruno Haible  <bruno@clisp.org>
33663
33664         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
33665         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
33666         warning from gcc.
33667         Reported by Eric Blake.
33668
33669 2007-08-07  Simon Josefsson  <simon@josefsson.org>
33670
33671         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
33672         * modules/crypto/arcfour (License): Likewise.
33673         * modules/crypto/des-tests (License): Likewise.
33674         * modules/crypto/gc-arctwo-tests (License): Likewise.
33675         * modules/crypto/gc-des-tests (License): Likewise.
33676         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
33677         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
33678         * modules/crypto/gc-md2-tests (License): Likewise.
33679         * modules/crypto/gc-md4-tests (License): Likewise.
33680         * modules/crypto/gc-md5-tests (License): Likewise.
33681         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
33682         * modules/crypto/gc-rijndael-tests (License): Likewise.
33683         * modules/crypto/gc-sha1-tests (License): Likewise.
33684         * modules/crypto/gc-tests (License): Likewise.
33685         * modules/crypto/hmac-md5 (License): Likewise.
33686         * modules/crypto/hmac-sha1 (License): Likewise.
33687         * modules/crypto/md2-tests (License): Likewise.
33688         * modules/crypto/md4-tests (License): Likewise.
33689         * modules/crypto/md5 (License): Likewise.
33690         * modules/crypto/rijndael (License): Likewise.
33691         * modules/crypto/sha1 (License): Likewise.
33692         * modules/memxor (License): Likewise.
33693
33694 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
33695         and Bruno Haible  <bruno@clisp.org>
33696
33697         * NEWS: Describe interface changes to human, xstrtol.
33698         * lib/human.h: Include <xstrtol.h>.
33699         (human_options): Return enum strtol_error, not int.  Remove
33700         bool arg; take int * instead.
33701         * lib/human.c: Don't include "gettext.h".
33702         (_): Remove; no longer used.
33703         Don't include <xstrtol.h>, since human.h does it.
33704         (human_options): Adjust to abovementioned interface changes.
33705         Do not report error to stderr; that's now the caller's
33706         responsibility.
33707         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
33708         interface change.
33709         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
33710         Str, Argument_type_string.  All uses changed.  Put " argument"
33711         in diagnostics to make them clearer.  Change wording of suffix
33712         message for clarity.
33713         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
33714         Argument_type_string.
33715         (STRTOL_FATAL_WARN): Remove; no longer used.
33716         * modules/human (Depends-on): Remove gettext-h.
33717
33718 2007-08-06  Simon Josefsson  <simon@josefsson.org>
33719
33720         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
33721
33722 2007-07-31  Bruno Haible  <bruno@clisp.org>
33723
33724         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
33725         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
33726         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
33727
33728 2007-07-31  Bruno Haible  <bruno@clisp.org>
33729
33730         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
33731         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
33732
33733 2007-07-30  Bruno Haible  <bruno@clisp.org>
33734
33735         * modules/base64 (License): Use the synonymous term "LGPLv2+".
33736         * modules/c-ctype (License): Likewise.
33737         * modules/c-strcase (License): Likewise.
33738         * modules/check-version (License): Likewise.
33739         * modules/iconv (License): Likewise.
33740         * modules/iconv_open (License): Likewise.
33741         * modules/read-file (License): Likewise.
33742         * modules/striconv (License): Likewise.
33743         * modules/strverscmp (License): Likewise.
33744         * modules/vasprintf (License): Likewise.
33745         * modules/crypto/des (License): Likewise.
33746         * modules/crypto/gc (License): Likewise.
33747         * modules/crypto/gc-arcfour (License): Likewise.
33748         * modules/crypto/gc-arctwo (License): Likewise.
33749         * modules/crypto/gc-des (License): Likewise.
33750         * modules/crypto/gc-hmac-md5 (License): Likewise.
33751         * modules/crypto/gc-hmac-sha1 (License): Likewise.
33752         * modules/crypto/gc-md2 (License): Likewise.
33753         * modules/crypto/gc-md4 (License): Likewise.
33754         * modules/crypto/gc-md5 (License): Likewise.
33755         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
33756         * modules/crypto/gc-random (License): Likewise.
33757         * modules/crypto/gc-rijndael (License): Likewise.
33758         * modules/crypto/gc-sha1 (License): Likewise.
33759         * modules/crypto/md2 (License): Likewise.
33760         * modules/crypto/md4 (License): Likewise.
33761
33762 2007-07-30  Jim Meyering  <jim@meyering.net>
33763
33764         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
33765         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
33766         it has valid stat data.  This bug would cause du not to count the
33767         sizes of inaccessible directories.
33768         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
33769         in <http://bugzilla.redhat.com/250077>.
33770
33771 2007-07-25  Peter O'Gorman  <peter@pogma.com>
33772             Bruno Haible  <bruno@clisp.org>
33773
33774         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
33775         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
33776         #include_next, gives a diagnostic about it, but reports no error in
33777         the exit code.
33778         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
33779
33780 2007-07-24  Ben Pfaff  <blp@gnu.org>
33781
33782         Improve name: "count-one-bits" is better than "popcount".
33783         * MODULES.html.sh: Update name.
33784         * lib/popcount.h: Renamed lib/count-one-bits.h.
33785         (popcount): Renamed count_one_bits.
33786         (popcountl): Renamed count_one_bits_l.
33787         (popcountll): Renamed count_one_bits_ll.
33788         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
33789         * modules/popcount: Renamed module/count-one-bits.
33790         * modules/popcount-tests: Renamed module/count-one-bits-tests.
33791         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
33792
33793 2007-07-23  Ben Pfaff  <blp@gnu.org>
33794
33795         * lib/popcount.h (popcount32): Reduce size of constants, to allow
33796         better code generation, and add U to large constants to avoid
33797         warnings, in non-GCC case.
33798         Suggested by Bruno Haible.
33799
33800 2007-07-23  Ben Pfaff  <blp@gnu.org>
33801
33802         * lib/popcount.h: Use verify_true instead of if...abort.
33803         * modules/popcount: Depend on verify module.
33804         Suggested by Jim Meyering.
33805
33806 2007-07-23  Bruno Haible  <bruno@clisp.org>
33807
33808         * gnulib-tool (func_import): Create a .cvsignore file also when the
33809         directory is not yet in CVS but the toplevel directory is. When
33810         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
33811         Reported by Karl Berry.
33812
33813 2007-07-22  Ben Pfaff  <blp@gnu.org>
33814
33815         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
33816         case.
33817         Suggested by Eric Blake.
33818
33819 2007-07-22  Ben Pfaff  <blp@gnu.org>
33820
33821         New module: popcount.
33822         * MODULES.html.sh: Add popcount.
33823         * modules/popcount: New file.
33824         * modules/popcount-tests: New file.
33825         * tests/test-popcount.c: New file.
33826         * lib/popcount.h: New file.
33827         * m4/popcount.m4: New file.
33828
33829 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
33830
33831         * build-aux/announce-gen: Update to GPLv3.
33832
33833         * build-aux/config.guess: Update from config.
33834
33835 2007-07-21  Bruno Haible  <bruno@clisp.org>
33836
33837         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
33838         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
33839
33840 2007-07-20  Jim Meyering  <jim@meyering.net>
33841
33842         * check-module: Diagnose a self-dependency.
33843
33844 2007-07-19  Bruno Haible  <bruno@clisp.org>
33845
33846         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
33847         empty.
33848         Reported by Eric Blake.
33849
33850 2007-07-18  Bruno Haible  <bruno@clisp.org>
33851
33852         * gnulib-tool: New options --po-base, --po-domain.
33853         (func_usage): Document them.
33854         (pobase, po_domain): New variables.
33855         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
33856         DEFAULT_TEXT_DOMAIN.
33857         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
33858         (func_import): Consider pobase and po_domain. Create a po/ directory.
33859         (func_create_testdir): Set pobase and po_domain to empty.
33860         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
33861         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
33862
33863 2007-07-18  Bruno Haible  <bruno@clisp.org>
33864
33865         * gnulib-tool (func_get_automake_snippet): Synthesize also an
33866         EXTRA_DIST augmentation for files in build-aux/.
33867
33868 2007-07-16  Bruno Haible  <bruno@clisp.org>
33869
33870         * modules/lseek (License): Use the synonymous term "LGPLv2+".
33871         * modules/getdelim (License): Likewise.
33872
33873 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
33874
33875         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
33876         * modules/d-type (License): Likewise.
33877         * modules/extensions (License): Likewise.
33878         * modules/fnmatch (License): Likewise.
33879         * modules/fseeko (License): Likewise.
33880         * modules/getaddrinfo (License): Likewise.
33881         * modules/getline (License): Likewise.
33882         * modules/getlogin_r (License): Likewise.
33883         * modules/getpass (License): Likewise.
33884         * modules/gettimeofday (License): Likewise.
33885         * modules/glob (License): Likewise.
33886         * modules/inet_ntop (License): Likewise.
33887         * modules/malloc (License): Likewise.
33888         * modules/malloca (License): Likewise.
33889         * modules/memmem (License): Likewise.
33890         * modules/mempcpy (License): Likewise.
33891         * modules/memset (License): Likewise.
33892         * modules/minmax (License): Likewise.
33893         * modules/mktime (License): Likewise.
33894         * modules/netinet_in (License): Likewise.
33895         * modules/pathmax (License): Likewise.
33896         * modules/poll (License): Likewise.
33897         * modules/regex (License): Likewise.
33898         * modules/snprintf (License): Likewise.
33899         * modules/stdbool (License): Likewise.
33900         * modules/stdint (License): Likewise.
33901         * modules/stdio (License): Likewise.
33902         * modules/strcase (License): Likewise.
33903         * modules/strcasestr (License): Likewise.
33904         * modules/strdup (License): Likewise.
33905         * modules/string (License): Likewise.
33906         * modules/strndup (License): Likewise.
33907         * modules/strnlen (License): Likewise.
33908         * modules/strpbrk (License): Likewise.
33909         * modules/strptime (License): Likewise.
33910         * modules/strsep (License): Likewise.
33911         * modules/sys_select (License): Likewise.
33912         * modules/sys_socket (License): Likewise.
33913         * modules/sys_stat (License): Likewise.
33914         * modules/sys_time (License): Likewise.
33915         * modules/time (License): Likewise.
33916         * modules/time_r (License): Likewise.
33917         * modules/timegm (License): Likewise.
33918         * modules/unistd (License): Likewise.
33919         * modules/vsnprintf (License): Likewise.
33920         * modules/wctype (License): Likewise.
33921
33922 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33923
33924         * modules/argz (License): LGPLv2+.
33925
33926 2007-07-15  Karl Berry  <karl@gnu.org>
33927
33928         * doc/gnulib.texi: revise node structure per new fdl.texi.
33929
33930 2007-07-14  Bruno Haible  <bruno@clisp.org>
33931
33932         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
33933         the output file.
33934         * lib/uniname/uninames.h: Regenerated.
33935
33936 2007-07-14  Karl Berry  <karl@gnu.org>
33937
33938         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
33939         omitting sectioning and index commands.
33940
33941 2007-07-13  Bruno Haible  <bruno@clisp.org>
33942
33943         New gnulib-tool option --more-symlinks.
33944         * gnulib-tool (func_usage): Document --more-symlinks.
33945         (do_copyrights): New variable.
33946         Recognize option --more-symlinks.
33947         (func_import): Don't add a copyright notice transform to
33948         sed_transform_lib_file if do_copyrights is empty.
33949
33950 2007-07-13  Bruno Haible  <bruno@clisp.org>
33951
33952         * lib/vasnprintf.c (decimal_point_char): Define also if
33953         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
33954         && !NEED_PRINTF_DIRECTIVE_A.
33955         Reported by Clemens Koller <clemens.koller@anagramm.de> via
33956         Gary V. Vaughan <gary@gnu.org>.
33957
33958 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
33959
33960         * lib/inttypes_.h: Undo previous change, since it was fixed
33961         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
33962
33963 2007-07-13  Bruno Haible  <bruno@clisp.org>
33964
33965         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
33966         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
33967
33968 2007-07-13  Jim Meyering  <jim@meyering.net>
33969
33970         df: Don't fail for Tru64's "file-on-file mount".
33971         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
33972         so we fall through and use statfs instead.  Details here:
33973         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
33974         Reported by Albert Chin.
33975
33976 2007-07-13  Bruno Haible  <bruno@clisp.org>
33977
33978         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
33979         * modules/configmake (License): Likewise.
33980         * modules/gettext (License): Likewise.
33981         * modules/gettext-h (License): Likewise.
33982         * modules/include_next (License): Likewise.
33983         * modules/link-warning (License): Likewise.
33984         * modules/localcharset (License): Likewise.
33985         * modules/localename (License): Likewise.
33986         * modules/lock (License): Likewise.
33987         * modules/relocatable-lib-lgpl (License): Likewise.
33988         * modules/size_max (License): Likewise.
33989         * modules/vasnprintf (License): Likewise.
33990         * modules/wchar (License): Likewise.
33991         * modules/xsize (License): Likewise.
33992
33993 2007-07-13  Bruno Haible  <bruno@clisp.org>
33994
33995         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
33996         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
33997
33998 2007-07-12  Bruno Haible  <bruno@clisp.org>
33999
34000         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
34001         in the modules files.
34002
34003 2007-07-11  Karl Berry  <karl@gnu.org>
34004
34005         * MODULES.html.sh (func_module): use
34006          sed -e '\|^'"${includefile}"'$|d'
34007          instead of /.../d, to avoid errors on $includefile's containing /.
34008
34009 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
34010
34011         * gnulib-tool (func_import): Avoid duplication of --avoid
34012         statements
34013         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
34014         names to `_' in variable names.
34015
34016 2007-07-10  Eric Blake  <ebb9@byu.net>
34017
34018         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
34019         * NEWS: Document this change.
34020
34021 2007-07-08  Bruno Haible  <bruno@clisp.org>
34022
34023         Update to Unicode 5.0.
34024         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
34025         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
34026         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
34027         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
34028         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
34029         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
34030         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
34031         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
34032         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
34033         U+10A3F, U+1D242..U+1D244.
34034         (nonspacing_table_ind): Update.
34035         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
34036         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
34037
34038 2007-07-08  Bruno Haible  <bruno@clisp.org>
34039
34040         Update to Unicode 5.0.
34041         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
34042         code transform. Extend the name index field of unicode_name_to_code and
34043         unicode_code_to_name from 16 to 24 bits.
34044         * lib/uniname/uniname.c (unicode_character_name,
34045         unicode_name_character): Add the range 0x12xxx to the code transform.
34046         * lib/uniname/uninames.h: Regenerated.
34047         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
34048
34049 2007-07-07  Bruno Haible  <bruno@clisp.org>
34050
34051         * modules/wcwidth-tests: New file.
34052         * tests/test-wcwidth.c: New file.
34053
34054         Work around MacOS X wcwidth() bug.
34055         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
34056         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
34057         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
34058         original wcwidth in non-UTF-8 locales.
34059         * modules/wcwidth (Depends-on): Add localcharset, streq,
34060         uniwidth/width.
34061         * doc/functions/wcwidth.texi: Update.
34062
34063 2007-07-07  Bruno Haible  <bruno@clisp.org>
34064
34065         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
34066         (wcwidth): New declaration.
34067         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
34068         macros.
34069         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
34070         here. Prepare for creating <wchar.h> unconditionally.
34071         * modules/wchar (Depends-on): Add link-warning.
34072         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
34073         REPLACE_WCWIDTH, and GL_LINK_WARNING.
34074         * lib/wcwidth.h: Remove file.
34075         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
34076         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
34077         * modules/wcwidth (Files): Remove lib/wcwidth.h.
34078         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
34079         (Include): Replace wcwidth.h with <wchar.h>.
34080         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
34081         * lib/mbchar.h: Don't include wcwidth.h.
34082         * lib/mbswidth.c: Likewise.
34083         * NEWS: Mention the change.
34084
34085 2007-07-07  Bruno Haible  <bruno@clisp.org>
34086
34087         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
34088         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
34089         definition with an external declaration.
34090         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
34091         defined as a function. Remove AC_C_INLINE requirement.
34092         * modules/wcwidth (Files): Add lib/wcwidth.c.
34093         (Makefile.am): Remove redundant statement.
34094
34095 2007-07-07  Bruno Haible  <bruno@clisp.org>
34096
34097         * MODULES.html.sh (Unicode string functions): Add the new modules.
34098
34099         * tests/uniwidth/test-u32-strwidth.c: New file.
34100         * modules/uniwidth/u32-strwidth-tests: New file.
34101
34102         * lib/uniwidth/u32-strwidth.c: New file.
34103         * modules/uniwidth/u32-strwidth: New file.
34104
34105         * tests/uniwidth/test-u16-strwidth.c: New file.
34106         * modules/uniwidth/u16-strwidth-tests: New file.
34107
34108         * lib/uniwidth/u16-strwidth.c: New file.
34109         * modules/uniwidth/u16-strwidth: New file.
34110
34111         * tests/uniwidth/test-u8-strwidth.c: New file.
34112         * modules/uniwidth/u8-strwidth-tests: New file.
34113
34114         * lib/uniwidth/u8-strwidth.c: New file.
34115         * modules/uniwidth/u8-strwidth: New file.
34116
34117         * tests/uniwidth/test-u32-width.c: New file.
34118         * modules/uniwidth/u32-width-tests: New file.
34119
34120         * lib/uniwidth/u32-width.c: New file.
34121         * modules/uniwidth/u32-width: New file.
34122
34123         * tests/uniwidth/test-u16-width.c: New file.
34124         * modules/uniwidth/u16-width-tests: New file.
34125
34126         * lib/uniwidth/u16-width.c: New file.
34127         * modules/uniwidth/u16-width: New file.
34128
34129         * tests/uniwidth/test-u8-width.c: New file.
34130         * modules/uniwidth/u8-width-tests: New file.
34131
34132         * lib/uniwidth/u8-width.c: New file.
34133         * modules/uniwidth/u8-width: New file.
34134
34135         * tests/uniwidth/test-uc_width.c: New file.
34136         * modules/uniwidth/width-tests: New file.
34137
34138         * lib/uniwidth/width.c: New file, from GNU libiconv.
34139         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
34140         * modules/uniwidth/width: New file.
34141
34142         * lib/uniwidth.h: New file, from GNU libiconv.
34143         * modules/uniwidth/base: New file.
34144
34145 2007-07-07  Bruno Haible  <bruno@clisp.org>
34146
34147         * lib/uniname.h: New file, from GNU gettext.
34148         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
34149         * lib/uniname/uninames.h: New file, from GNU gettext.
34150         * lib/uniname/uniname.c: New file, from GNU gettext.
34151         * tests/uniname/test-uninames.sh: New file.
34152         * tests/uniname/test-uninames.c: New file, from GNU gettext.
34153         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
34154         * modules/uniname/base: New file.
34155         * modules/uniname/uniname: New file.
34156         * modules/uniname/uniname-tests: New file.
34157         * MODULES.html.sh (Unicode string functions): Add the new modules.
34158
34159 2007-07-06  Bruno Haible  <bruno@clisp.org>
34160
34161         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
34162
34163 2007-07-06  Bruno Haible  <bruno@clisp.org>
34164
34165         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
34166         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
34167         includes <cygwin/sys_time.h> which includes <sys/select.h> which
34168         include <sys/time.h>.
34169         Reported by Eric Blake.
34170
34171 2007-07-06  Eric Blake  <ebb9@byu.net>
34172
34173         Fix testing canonicalize on cygwin.
34174         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
34175         Revert patch from 2007-06-19.
34176         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
34177         canonicalize module is also in use.
34178         * tests/test-canonicalize.c: New file.
34179         * tests/test-canonicalize.sh: Likewise.
34180         * modules/canonicalize-tests: Likewise.
34181
34182 2007-07-06  Jim Meyering  <jim@meyering.net>
34183
34184         * lib/getugroups.c (getugroups): Detect getgrent failure.
34185         Adjust comment to reflect reality: this function may return -1.
34186
34187 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
34188
34189         * build-aux/bootstrap (TP_URL,get_translations): Update to use
34190         the new TP address.
34191         (usage): Fix typo
34192         (gnulib_mk): New variable.
34193
34194 2007-07-05  Jim Meyering  <jim@meyering.net>
34195
34196         Don't let endgrent clobber errno, no matter how improbable.
34197         * lib/getugroups.c (getugroups): Save and restore errno around
34198         endgrent call.
34199
34200         Close the group DB even when failing with 2^31 or more members.
34201         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
34202
34203 2007-07-04  Jim Meyering  <jim@meyering.net>
34204
34205         * lib/getugroups.h: New file.
34206         * lib/getugroups.c: Include "getugroups.h".
34207         Remove uses of "register" keyword.
34208         Move local variable, "cp", down into scope where used.
34209         Give "username" parameter the "const" attribute.
34210         * modules/getugroups (Files): Add lib/getugroups.h
34211
34212 2007-07-04  Karl Berry  <karl@gnu.org>
34213
34214         * MODULES.html.sh (func_all_modules): Complete rename of
34215         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
34216
34217 2007-07-02  Bruno Haible  <bruno@clisp.org>
34218
34219         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
34220         mode, when inttypes.h comes from gnulib.
34221         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
34222
34223 2007-07-02  Simon Josefsson  <simon@josefsson.org>
34224
34225         * NEWS: Mention lgpl module name change.
34226
34227         * modules/lgpl-2.1: Renamed from lgpl.
34228
34229         * NEWS: Mention gpl module name change.
34230
34231         * modules/gpl-3.0: New file, based on gpl-2.0.
34232
34233         * modules/gpl-2.0: Renamed from gpl.
34234
34235         * modules/gpl: Fix filename, doc/gpl.texi is now found at
34236         doc/gpl-2.0.texi.
34237
34238 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
34239
34240         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
34241         #define __STDC_LIMIT_MACROS temporarily while including
34242         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
34243         Problem reported by Joel E. Denny in
34244         <http://lists.gnu.org/archive/html/bug-gnulib/2007-07/msg00008.html>.
34245
34246 2007-07-01  Bruno Haible  <bruno@clisp.org>
34247
34248         * lib/unistdio.h: New file.
34249         * lib/unistdio/u-asnprintf.h: New file.
34250         * lib/unistdio/u-asprintf.h: New file.
34251         * lib/unistdio/u-printf-args.c: New file.
34252         * lib/unistdio/u-printf-args.h: New file.
34253         * lib/unistdio/u-printf-parse.h: New file.
34254         * lib/unistdio/u-snprintf.h: New file.
34255         * lib/unistdio/u-sprintf.h: New file.
34256         * lib/unistdio/u-vasprintf.h: New file.
34257         * lib/unistdio/u-vsnprintf.h: New file.
34258         * lib/unistdio/u-vsprintf.h: New file.
34259         * lib/unistdio/ulc-asnprintf.c: New file.
34260         * lib/unistdio/ulc-asprintf.c: New file.
34261         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
34262         * lib/unistdio/ulc-printf-parse.c: New file.
34263         * lib/unistdio/ulc-snprintf.c: New file.
34264         * lib/unistdio/ulc-sprintf.c: New file.
34265         * lib/unistdio/ulc-vasnprintf.c: New file.
34266         * lib/unistdio/ulc-vasprintf.c: New file.
34267         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
34268         * lib/unistdio/ulc-vsnprintf.c: New file.
34269         * lib/unistdio/ulc-vsprintf.c: New file.
34270         * lib/unistdio/u8-asnprintf.c: New file.
34271         * lib/unistdio/u8-asprintf.c: New file.
34272         * lib/unistdio/u8-printf-parse.c: New file.
34273         * lib/unistdio/u8-snprintf.c: New file.
34274         * lib/unistdio/u8-sprintf.c: New file.
34275         * lib/unistdio/u8-vasnprintf.c: New file.
34276         * lib/unistdio/u8-vasprintf.c: New file.
34277         * lib/unistdio/u8-vsnprintf.c: New file.
34278         * lib/unistdio/u8-vsprintf.c: New file.
34279         * lib/unistdio/u8-u8-asnprintf.c: New file.
34280         * lib/unistdio/u8-u8-asprintf.c: New file.
34281         * lib/unistdio/u8-u8-snprintf.c: New file.
34282         * lib/unistdio/u8-u8-sprintf.c: New file.
34283         * lib/unistdio/u8-u8-vasnprintf.c: New file.
34284         * lib/unistdio/u8-u8-vasprintf.c: New file.
34285         * lib/unistdio/u8-u8-vsnprintf.c: New file.
34286         * lib/unistdio/u8-u8-vsprintf.c: New file.
34287         * lib/unistdio/u16-asnprintf.c: New file.
34288         * lib/unistdio/u16-asprintf.c: New file.
34289         * lib/unistdio/u16-printf-parse.c: New file.
34290         * lib/unistdio/u16-snprintf.c: New file.
34291         * lib/unistdio/u16-sprintf.c: New file.
34292         * lib/unistdio/u16-vasnprintf.c: New file.
34293         * lib/unistdio/u16-vasprintf.c: New file.
34294         * lib/unistdio/u16-vsnprintf.c: New file.
34295         * lib/unistdio/u16-vsprintf.c: New file.
34296         * lib/unistdio/u16-u16-asnprintf.c: New file.
34297         * lib/unistdio/u16-u16-asprintf.c: New file.
34298         * lib/unistdio/u16-u16-snprintf.c: New file.
34299         * lib/unistdio/u16-u16-sprintf.c: New file.
34300         * lib/unistdio/u16-u16-vasnprintf.c: New file.
34301         * lib/unistdio/u16-u16-vasprintf.c: New file.
34302         * lib/unistdio/u16-u16-vsnprintf.c: New file.
34303         * lib/unistdio/u16-u16-vsprintf.c: New file.
34304         * lib/unistdio/u32-asnprintf.c: New file.
34305         * lib/unistdio/u32-asprintf.c: New file.
34306         * lib/unistdio/u32-printf-parse.c: New file.
34307         * lib/unistdio/u32-snprintf.c: New file.
34308         * lib/unistdio/u32-sprintf.c: New file.
34309         * lib/unistdio/u32-vasnprintf.c: New file.
34310         * lib/unistdio/u32-vasprintf.c: New file.
34311         * lib/unistdio/u32-vsnprintf.c: New file.
34312         * lib/unistdio/u32-vsprintf.c: New file.
34313         * lib/unistdio/u32-u32-asnprintf.c: New file.
34314         * lib/unistdio/u32-u32-asprintf.c: New file.
34315         * lib/unistdio/u32-u32-snprintf.c: New file.
34316         * lib/unistdio/u32-u32-sprintf.c: New file.
34317         * lib/unistdio/u32-u32-vasnprintf.c: New file.
34318         * lib/unistdio/u32-u32-vasprintf.c: New file.
34319         * lib/unistdio/u32-u32-vsnprintf.c: New file.
34320         * lib/unistdio/u32-u32-vsprintf.c: New file.
34321         * tests/unistdio/test-ulc-asnprintf1.c: New file.
34322         * tests/unistdio/test-ulc-asnprintf1.h: New file.
34323         * tests/unistdio/test-ulc-printf1.h: New file.
34324         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
34325         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
34326         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
34327         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
34328         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
34329         * tests/unistdio/test-ulc-vasprintf1.c: New file.
34330         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
34331         * tests/unistdio/test-ulc-vsprintf1.c: New file.
34332         * tests/unistdio/test-u8-asnprintf1.c: New file.
34333         * tests/unistdio/test-u8-asnprintf1.h: New file.
34334         * tests/unistdio/test-u8-printf1.h: New file.
34335         * tests/unistdio/test-u8-vasnprintf1.c: New file.
34336         * tests/unistdio/test-u8-vasnprintf2.c: New file.
34337         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
34338         * tests/unistdio/test-u8-vasnprintf3.c: New file.
34339         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
34340         * tests/unistdio/test-u8-vasprintf1.c: New file.
34341         * tests/unistdio/test-u8-vsnprintf1.c: New file.
34342         * tests/unistdio/test-u8-vsprintf1.c: New file.
34343         * tests/unistdio/test-u16-asnprintf1.c: New file.
34344         * tests/unistdio/test-u16-asnprintf1.h: New file.
34345         * tests/unistdio/test-u16-printf1.h: New file.
34346         * tests/unistdio/test-u16-vasnprintf1.c: New file.
34347         * tests/unistdio/test-u16-vasnprintf2.c: New file.
34348         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
34349         * tests/unistdio/test-u16-vasnprintf3.c: New file.
34350         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
34351         * tests/unistdio/test-u16-vasprintf1.c: New file.
34352         * tests/unistdio/test-u16-vsnprintf1.c: New file.
34353         * tests/unistdio/test-u16-vsprintf1.c: New file.
34354         * tests/unistdio/test-u32-asnprintf1.c: New file.
34355         * tests/unistdio/test-u32-asnprintf1.h: New file.
34356         * tests/unistdio/test-u32-printf1.h: New file.
34357         * tests/unistdio/test-u32-vasnprintf1.c: New file.
34358         * tests/unistdio/test-u32-vasnprintf2.c: New file.
34359         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
34360         * tests/unistdio/test-u32-vasnprintf3.c: New file.
34361         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
34362         * tests/unistdio/test-u32-vasprintf1.c: New file.
34363         * tests/unistdio/test-u32-vsnprintf1.c: New file.
34364         * tests/unistdio/test-u32-vsprintf1.c: New file.
34365         * modules/unistdio/base: New file.
34366         * modules/unistdio/u-printf-args: New file.
34367         * modules/unistdio/ulc-asnprintf: New file.
34368         * modules/unistdio/ulc-asprintf: New file.
34369         * modules/unistdio/ulc-fprintf: New file.
34370         * modules/unistdio/ulc-printf-parse: New file.
34371         * modules/unistdio/ulc-snprintf: New file.
34372         * modules/unistdio/ulc-sprintf: New file.
34373         * modules/unistdio/ulc-vasnprintf: New file.
34374         * modules/unistdio/ulc-vasprintf: New file.
34375         * modules/unistdio/ulc-vfprintf: New file.
34376         * modules/unistdio/ulc-vsnprintf: New file.
34377         * modules/unistdio/ulc-vsprintf: New file.
34378         * modules/unistdio/u8-asnprintf: New file.
34379         * modules/unistdio/u8-asprintf: New file.
34380         * modules/unistdio/u8-printf-parse: New file.
34381         * modules/unistdio/u8-snprintf: New file.
34382         * modules/unistdio/u8-sprintf: New file.
34383         * modules/unistdio/u8-vasnprintf: New file.
34384         * modules/unistdio/u8-vasprintf: New file.
34385         * modules/unistdio/u8-vsnprintf: New file.
34386         * modules/unistdio/u8-vsprintf: New file.
34387         * modules/unistdio/u8-u8-asnprintf: New file.
34388         * modules/unistdio/u8-u8-asprintf: New file.
34389         * modules/unistdio/u8-u8-snprintf: New file.
34390         * modules/unistdio/u8-u8-sprintf: New file.
34391         * modules/unistdio/u8-u8-vasnprintf: New file.
34392         * modules/unistdio/u8-u8-vasprintf: New file.
34393         * modules/unistdio/u8-u8-vsnprintf: New file.
34394         * modules/unistdio/u8-u8-vsprintf: New file.
34395         * modules/unistdio/u16-asnprintf: New file.
34396         * modules/unistdio/u16-asprintf: New file.
34397         * modules/unistdio/u16-printf-parse: New file.
34398         * modules/unistdio/u16-snprintf: New file.
34399         * modules/unistdio/u16-sprintf: New file.
34400         * modules/unistdio/u16-vasnprintf: New file.
34401         * modules/unistdio/u16-vasprintf: New file.
34402         * modules/unistdio/u16-vsnprintf: New file.
34403         * modules/unistdio/u16-vsprintf: New file.
34404         * modules/unistdio/u16-u16-asnprintf: New file.
34405         * modules/unistdio/u16-u16-asprintf: New file.
34406         * modules/unistdio/u16-u16-snprintf: New file.
34407         * modules/unistdio/u16-u16-sprintf: New file.
34408         * modules/unistdio/u16-u16-vasnprintf: New file.
34409         * modules/unistdio/u16-u16-vasprintf: New file.
34410         * modules/unistdio/u16-u16-vsnprintf: New file.
34411         * modules/unistdio/u16-u16-vsprintf: New file.
34412         * modules/unistdio/u32-asnprintf: New file.
34413         * modules/unistdio/u32-asprintf: New file.
34414         * modules/unistdio/u32-printf-parse: New file.
34415         * modules/unistdio/u32-snprintf: New file.
34416         * modules/unistdio/u32-sprintf: New file.
34417         * modules/unistdio/u32-vasnprintf: New file.
34418         * modules/unistdio/u32-vasprintf: New file.
34419         * modules/unistdio/u32-vsnprintf: New file.
34420         * modules/unistdio/u32-vsprintf: New file.
34421         * modules/unistdio/u32-u32-asnprintf: New file.
34422         * modules/unistdio/u32-u32-asprintf: New file.
34423         * modules/unistdio/u32-u32-snprintf: New file.
34424         * modules/unistdio/u32-u32-sprintf: New file.
34425         * modules/unistdio/u32-u32-vasnprintf: New file.
34426         * modules/unistdio/u32-u32-vasprintf: New file.
34427         * modules/unistdio/u32-u32-vsnprintf: New file.
34428         * modules/unistdio/u32-u32-vsprintf: New file.
34429         * modules/unistdio/ulc-asnprintf-tests: New file.
34430         * modules/unistdio/ulc-vasnprintf-tests: New file.
34431         * modules/unistdio/ulc-vasprintf-tests: New file.
34432         * modules/unistdio/ulc-vsnprintf-tests: New file.
34433         * modules/unistdio/ulc-vsprintf-tests: New file.
34434         * modules/unistdio/u8-asnprintf-tests: New file.
34435         * modules/unistdio/u8-vasnprintf-tests: New file.
34436         * modules/unistdio/u8-vasprintf-tests: New file.
34437         * modules/unistdio/u8-vsnprintf-tests: New file.
34438         * modules/unistdio/u8-vsprintf-tests: New file.
34439         * modules/unistdio/u16-asnprintf-tests: New file.
34440         * modules/unistdio/u16-vasnprintf-tests: New file.
34441         * modules/unistdio/u16-vasprintf-tests: New file.
34442         * modules/unistdio/u16-vsnprintf-tests: New file.
34443         * modules/unistdio/u16-vsprintf-tests: New file.
34444         * modules/unistdio/u32-asnprintf-tests: New file.
34445         * modules/unistdio/u32-vasnprintf-tests: New file.
34446         * modules/unistdio/u32-vasprintf-tests: New file.
34447         * modules/unistdio/u32-vsnprintf-tests: New file.
34448         * modules/unistdio/u32-vsprintf-tests: New file.
34449         * MODULES.html.sh (Unicode string functions): Add the new modules.
34450
34451 2007-07-01  Bruno Haible  <bruno@clisp.org>
34452
34453         * lib/sprintf.c (sprintf): Limit the available length estimation,
34454         to avoid address wraparound.
34455         * lib/vsprintf.c (vsprintf): Likewise.
34456         * modules/sprintf-posix (Dependencies): Add stdint.
34457         * modules/vsprintf-posix (Dependencies): Likewise.
34458
34459 2007-07-01  Bruno Haible  <bruno@clisp.org>
34460
34461         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
34462         Windows PATH as well. Conservative double-quoting. Comments.
34463
34464 2007-07-01  Bruno Haible  <bruno@clisp.org>
34465             Eric Blake  <ebb9@byu.net>
34466             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34467
34468         * gnulib-tool (self_abspathname): Fix algorithm to cope with
34469         empty components in $PATH, denoting '.'.
34470
34471 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34472
34473         * gnulib-tool: Fix indentation.
34474         (func_create_megatestdir): Likewise.
34475         Report by Bruno Haible.
34476
34477 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34478
34479         Sync from Automake.
34480         * build-aux/gnupload: Fix shell portability issues with for loops.
34481         Report by Karl Berry.
34482
34483 2007-06-29  Simon Josefsson  <simon@josefsson.org>
34484
34485         * build-aux/maint.mk (POURL): Use translationproject.org.
34486
34487 2007-06-27  Simon Josefsson  <simon@josefsson.org>
34488             Bruno Haible  <bruno@clisp.org>
34489
34490         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
34491         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
34492         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
34493         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
34494         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
34495
34496 2007-06-27  Bruno Haible  <bruno@clisp.org>
34497
34498         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
34499         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
34500
34501 2007-06-26  Karl Berry  <karl@gnu.org>
34502
34503         * MODULES.html.sh: remove xreadlink-with-size.
34504
34505 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
34506
34507         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
34508         method that I hope also handles the double-include problem noted
34509         by Bruno Haible in
34510         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00186.html>.
34511
34512 2007-06-23  Bruno Haible  <bruno@clisp.org>
34513
34514         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
34515         Don't let the 'mostlyclean' target fail if the last subdirectory could
34516         not be removed.
34517         Reported by Karl Berry.
34518
34519 2007-06-23  Bruno Haible  <bruno@clisp.org>
34520
34521         * gnulib-tool (echo): Add a speedier workaround for ksh.
34522         * tests/test-echo.sh: Likewise.
34523
34524 2007-06-23  Bruno Haible  <bruno@clisp.org>
34525
34526         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
34527         * tests/test-echo.sh: Likewise.
34528
34529 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34530
34531         * gnulib-tool (IFS): Initialize early, so we don't set it to
34532         empty later.
34533         (self_abspathname): Rewrite algorithm to set it, reindent.
34534         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
34535         (func_create_megatestdir): Merge some sed scripts.
34536
34537 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
34538
34539         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
34540         exposed by Sun Studio 11 cc on Solaris 8.
34541
34542 2007-06-22  Bruno Haible  <bruno@clisp.org>
34543
34544         * gnulib-tool (echo): Ensure the echo primitive does not interpret
34545         backslashes.
34546         * tests/test-echo.sh: New file.
34547
34548 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34549
34550         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
34551         simplify `sed_replace_build_aux' scripts, they are portable but
34552         echoing them with `echo' is not.
34553         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
34554
34555 2007-06-21  Karl Berry  <karl@gnu.org>
34556
34557         * config/srclist.txt: guess we can't handle the licenses via
34558         srclist at the moment.
34559
34560 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
34561
34562         * MODULES.html.sh: Add include_next.
34563         * modules/include_next: New file.
34564
34565 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
34566
34567         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
34568         INCLUDE_NEXT.
34569         (gl_CHECK_NEXT_HEADERS): New macro.
34570         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
34571         the obsolescent gl_ABSOLUTE_HEADER.
34572         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
34573         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
34574         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
34575         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
34576         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
34577         * m4/math_h.m4 (gl_MATH_H): Likewise.
34578         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
34579         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
34580         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
34581         * m4/stdint.m4 (gl_STDINT_H): Likewise.
34582         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
34583         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
34584         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
34585         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
34586         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
34587         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
34588         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
34589         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
34590         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
34591         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
34592         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
34593         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
34594         * m4/inttypes.m4 (gl_INTTYPES_H): Define
34595         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
34596         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
34597         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
34598         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
34599         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
34600         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
34601         * lib/float_.h: Likewise.
34602         * lib/inttypes_.h: Likewise.
34603         * lib/math_.h: Likewise.
34604         * lib/search_.h: Likewise.
34605         * lib/signal_.h: Likewise.
34606         * lib/stdint_.h: Likewise.
34607         * lib/stdio_.h: Likewise.
34608         * lib/stdlib_.h: Likewise.
34609         * lib/string_.h: Likewise.
34610         * lib/sys_stat_.h: Likewise.
34611         * lib/sys_time_.h: Likewise.
34612         * lib/time_.h: Likewise.
34613         * lib/unistd_.h: Likewise.
34614         * lib/wchar_.h: Likewise.
34615         * lib/wctype_.h: Likewise.
34616         * lib/dirent_.h: Likewise.
34617         * lib/iconv_.h: Likewise.
34618         * lib/locale_.h: Likewise.
34619         * lib/netinet_in_.h: Likewise.
34620         * lib/sys_select_.h: Likewise.
34621         * lib/sys_socket_.h: Likewise.
34622         * lib/sysexits_.h: Likewise.
34623         * modules/fcntl (Depends-on): Depend on include_next, not
34624         absolute_header.
34625         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
34626         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
34627         * modules/fchdir: Likewise.
34628         * modules/float: Likewise.
34629         * modules/iconv_open: Likewise.
34630         * modules/inttypes: Likewise.
34631         * modules/locale: Likewise.
34632         * modules/math: Likewise.
34633         * modules/netinet_in: Likewise.
34634         * modules/search: Likewise.
34635         * modules/signal: Likewise.
34636         * modules/stdint: Likewise.
34637         * modules/stdio: Likewise.
34638         * modules/stdlib: Likewise.
34639         * modules/string: Likewise.
34640         * modules/sys_select: Likewise.
34641         * modules/sys_socket: Likewise.
34642         * modules/sys_stat: Likewise.
34643         * modules/sys_time: Likewise.
34644         * modules/sysexits: Likewise.
34645         * modules/time: Likewise.
34646         * modules/unistd: Likewise.
34647         * modules/wchar: Likewise.
34648         * modules/wctype: Likewise.
34649         * modules/sys_stat: Change maintainer to "all".
34650         * modules/unistd: Likewise.
34651
34652 2007-06-20  Karl Berry  <karl@gnu.org>
34653
34654         * config/srclist.txt: track www changes in license files.
34655
34656 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
34657
34658         * build-aux/bootstrap: Remove stray dot.
34659         Make sure build_aux settings are honored when linking
34660         gnulib_extra_files.
34661
34662 2007-06-19  Eric Blake  <ebb9@byu.net>
34663
34664         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
34665         Allow compilation on cygwin.
34666
34667 2007-06-19  Jim Meyering  <jim@meyering.net>
34668
34669         xreadlink-with-size: Remove module.  No longer used.
34670         Ex-callers now use xreadlink or mreadlink-with-size.
34671         * modules/xreadlink-with-size: Remove module.
34672         * lib/xreadlink-with-size.c: Remove file.
34673         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
34674         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
34675         just before the function definition *is* accurate.
34676
34677         Eliminate one way canonicalize_filename_mode could exit.
34678         * lib/canonicalize.c (canonicalize_filename_mode):
34679         Use mreadlink_with_size, not xreadlink_with_size.
34680
34681 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
34682
34683         Detect porting problems to FreeBSD/arm, which has time_t wider than
34684         long int.  Original problem reported for GNU diff by Xin Li in
34685         <http://lists.gnu.org/archive/html/bug-gnu-utils/2007-06/msg00091.html>.
34686         * modules/getdate (Depends-on): Add intprops, verify.
34687         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
34688         is an integer type no wider than long int.
34689
34690 2007-06-18  Jim Meyering  <jim@meyering.net>
34691
34692         New module: mreadlink-with-size.
34693         * MODULES.html.sh: Add mreadlink-with-size.
34694         * modules/mreadlink-with-size: New module
34695         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
34696         not xreadlink-with-size.
34697         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
34698
34699 2007-06-16  Bruno Haible  <bruno@clisp.org>
34700
34701         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
34702         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
34703         Reported by Gary V. Vaughan <gary@gnu.org>.
34704
34705 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
34706
34707         Revamp lchown so that it lives in unistd.h where it belongs.
34708         * lib/lchown.h: Remove.
34709         * lib/dirchownmod.c: Don't include lib/lchown.h.
34710         * lib/fchownat.c: Likewise.
34711         * lib/openat.c: Likewise.
34712         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
34713         does not follow symlinks.
34714         (EOPNOTSUPP): Define if not defined.
34715         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
34716         is defined to 0.
34717         (lchown): New decl.
34718         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
34719         Do not check for lchown decl.
34720         Set REPLACE_LCHOWN.
34721         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
34722         REPLACE_LCHOWN.
34723         * modules/chown: Make it clear it follows symlinks.
34724         * modules/lchown: Make it clear it doesn't follow symlinks.
34725         (Files): Remove lib/lchown.h
34726         (Depends-on): Add unistd.
34727         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
34728         (Include): Include <unistd.h>, not "lchown.h".
34729         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
34730         REPLACE_LCHOWN.
34731
34732 2007-06-15  Jim Meyering  <jim@meyering.net>
34733
34734         Change license (GPL to LGPL) of fsusage and dependents.
34735         * modules/fsusage (License): Change to LGPL.
34736         * modules/full-read (License): Likewise.
34737         * modules/full-write (License): Likewise.
34738         * modules/safe-read (License): Likewise.
34739         * modules/safe-write (License): Likewise.
34740
34741 2007-06-14  Ben Pfaff  <blp@gnu.org>
34742
34743         Missing part of allocsa -> malloca transition.
34744         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
34745         gl_MALLOCA.
34746
34747 2007-06-12  Bruno Haible  <bruno@clisp.org>
34748
34749         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
34750         to ia64, x86_64, i386.
34751         Reported by Eric Blake.
34752
34753 2007-06-12  Bruno Haible  <bruno@clisp.org>
34754
34755         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
34756         cross-compiling to x86_64.
34757
34758 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
34759
34760         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
34761         glitch reported by Ralf Wildenhues in
34762         <http://lists.gnu.org/archive/html/bug-gnulib/2007-06/msg00114.html>.
34763
34764         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
34765         Vin Shelton.
34766
34767 2007-06-11  Bruno Haible  <bruno@clisp.org>
34768
34769         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
34770         replacement string.
34771         Reported by Eric Blake.
34772
34773 2007-06-10  Bruno Haible  <bruno@clisp.org>
34774
34775         Prepare vasnprintf code for use with Unicode strings.
34776         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
34777         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
34778         TYPE_U32_STRING.
34779         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
34780         a_u32_string variants.
34781         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
34782         * lib/printf-args.c: Don't include config.h and the specification
34783         header if PRINTF_FETCHARGS is already defined.
34784         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
34785         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
34786         TYPE_U16_STRING, TYPE_U32_STRING.
34787         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
34788         u16_directive, u16_directives, u32_directive, u32_directives): New
34789         types.
34790         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
34791         New declarations.
34792         * lib/printf-parse.c: Don't include config.h and the specification
34793         header if PRINTF_PARSE is already defined. Eliminate the set of
34794         parameters for WIDE_CHAR_VERSION; the user of this file must provide
34795         them now. Include c-ctype.h.
34796         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
34797         directive and CHAR_T_ONLY_ASCII.
34798         * lib/vasnprintf.c: Don't include config.h and the specification header
34799         if VASNPRINTF is already defined.
34800         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
34801         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
34802         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
34803         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
34804         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
34805         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
34806         code accordingly.
34807         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
34808         pad_ourselves also in this case, with the 'c' and 's' directives, and
34809         with a different notion of "width".
34810         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
34811
34812 2007-06-10  Bruno Haible  <bruno@clisp.org>
34813
34814         * modules/unistr/u32-mbsnlen: New file.
34815         * lib/unistr/u32-mbsnlen.c: New file.
34816
34817         * modules/unistr/u16-mbsnlen: New file.
34818         * lib/unistr/u16-mbsnlen.c: New file.
34819
34820         * modules/unistr/u8-mbsnlen: New file.
34821         * lib/unistr/u8-mbsnlen.c: New file.
34822
34823         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
34824         declarations.
34825
34826 2007-06-10  Bruno Haible  <bruno@clisp.org>
34827
34828         * lib/string_.h (mbsnlen): New declaration.
34829         * lib/mbsnlen.c: New file.
34830         * m4/mbsnlen.m4: New file.
34831         * modules/mbsnlen: New file.
34832         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
34833         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
34834         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
34835
34836 2007-06-10  Bruno Haible  <bruno@clisp.org>
34837
34838         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
34839
34840 2007-06-10  Bruno Haible  <bruno@clisp.org>
34841
34842         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
34843         * lib/mbuiter.h: Likewise.
34844
34845 2007-06-10  Bruno Haible  <bruno@clisp.org>
34846
34847         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
34848         declaration.
34849
34850 2007-06-10  Karl Berry  <karl@gnu.org>
34851
34852         * config/srclist.txt: remove gettext entries, Bruno prefers
34853         to update individually.
34854
34855 2007-06-10  Bruno Haible  <bruno@clisp.org>
34856
34857         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
34858         'maxlen'. Ensure only length + width bytes are allocated, not
34859         length + 1 + width.
34860
34861 2007-06-09  Bruno Haible  <bruno@clisp.org>
34862
34863         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
34864         (CHAR_T): Remove macro.
34865         (VASNPRINTF): Update.
34866
34867 2007-06-09  Bruno Haible  <bruno@clisp.org>
34868
34869         * MODULES.html.sh (Unicode string functions): Add the new modules.
34870
34871         * modules/uniconv/u32-conv-to-enc: New file.
34872         * lib/uniconv/u32-conv-to-enc.c: New file.
34873         * modules/uniconv/u32-conv-to-enc-tests: New file.
34874         * tests/uniconv/test-u32-conv-to-enc.c: New file.
34875
34876         * modules/uniconv/u16-conv-to-enc: New file.
34877         * lib/uniconv/u16-conv-to-enc.c: New file.
34878         * lib/uniconv/u-conv-to-enc.h: New file.
34879         * modules/uniconv/u16-conv-to-enc-tests: New file.
34880         * tests/uniconv/test-u16-conv-to-enc.c: New file.
34881
34882         * modules/uniconv/u8-conv-to-enc: New file.
34883         * lib/uniconv/u8-conv-to-enc.c: New file.
34884         * modules/uniconv/u8-conv-to-enc-tests: New file.
34885         * tests/uniconv/test-u8-conv-to-enc.c: New file.
34886
34887         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
34888         u32_conv_to_encoding): New declarations.
34889
34890 2007-06-09  Bruno Haible  <bruno@clisp.org>
34891
34892         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
34893
34894 2007-06-09  Bruno Haible  <bruno@clisp.org>
34895
34896         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
34897         * modules/malloca: Renamed from modules/allocsa, updated.
34898         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
34899         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
34900         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
34901         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
34902         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
34903         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
34904         * modules/xmalloca: Renamed from modules/xallocsa, updated.
34905         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
34906         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
34907         * modules/c-strcasestr (Depends-on): Update.
34908         * lib/c-strcasestr.c: Update.
34909         * modules/c-strstr (Depends-on): Update.
34910         * lib/c-strstr.c: Update.
34911         * modules/canonicalize-lgpl (Depends-on): Update.
34912         * lib/canonicalize-lgpl.c: Update.
34913         * modules/clean-temp (Depends-on): Update.
34914         * lib/clean-temp.c: Update.
34915         * modules/csharpcomp (Depends-on): Update.
34916         * lib/csharpcomp.c: Update.
34917         * modules/csharpexec (Depends-on): Update.
34918         * lib/csharpexec.c: Update.
34919         * modules/javacomp (Depends-on): Update.
34920         * lib/javacomp.c: Update.
34921         * modules/javaexec (Depends-on): Update.
34922         * lib/javaexec.c: Update.
34923         * modules/mbscasestr (Depends-on): Update.
34924         * lib/mbscasestr.c: Update.
34925         * modules/mbsstr (Depends-on): Update.
34926         * lib/mbsstr.c: Update.
34927         * modules/setenv (Depends-on): Update.
34928         * lib/setenv.c: Update.
34929         * modules/strcasestr (Depends-on): Update.
34930         * lib/strcasestr.c: Update.
34931         * modules/striconveha (Depends-on): Update.
34932         * lib/striconveha.c: Update.
34933         * modules/relocatable-prog-wrapper (Files): Update.
34934         * lib/relocwrapper.c: Update.
34935         * build-aux/install-reloc: Update.
34936         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
34937
34938 2007-06-08  Bruno Haible  <bruno@clisp.org>
34939
34940         Port to uClibc.
34941         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
34942         * lib/fpurge.c (fpurge): Likewise.
34943         * lib/freading.c (freading): Likewise.
34944         * lib/fseeko.c (rpl_fseeko): Likewise.
34945         * lib/fseterr.c (fseterr): Likewise.
34946         * lib/fwriting.c (fwriting): Likewise.
34947         * tests/test-fflush.c (main): Avoid a failure on uClibc.
34948
34949 2007-06-08  Bruno Haible  <bruno@clisp.org>
34950
34951         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
34952         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
34953         * modules/gettext (Files): Add m4/intlmacosx.m4.
34954
34955 2007-06-07  Bruno Haible  <bruno@clisp.org>
34956
34957         * modules/localename-tests: New file.
34958         * tests/test-localename.c: New file.
34959
34960         New module 'localename'.
34961         * lib/localename.h: New file.
34962         * lib/localename.c: New file, from GNU gettext.
34963         * m4/localename.m4: New file.
34964         * modules/localename: New file.
34965
34966 2007-06-07  Bruno Haible  <bruno@clisp.org>
34967
34968         Work around the lack of <wchar.h> on some builds of uClibc.
34969         * doc/headers/wchar.texi: Update.
34970         * lib/wchar_.h: Include <wchar.h> only if it exists.
34971         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
34972         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
34973         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
34974         doesn't exist.
34975         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
34976         * modules/mbfile (Depends-on): Add wchar.
34977         * modules/mbiter (Depends-on): Likewise.
34978         * modules/mbuiter (Depends-on): Likewise.
34979         Reported by Simon Josefsson.
34980
34981 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
34982
34983         Work around problem reported by Steven M. Schweda in
34984         <http://lists.gnu.org/archive/html/bug-tar/2007-06/msg00002.html>:
34985         Tru64 5.1B with the Compaq compiler environment installed declares
34986         an 'isblank' function but does not define it in the C library.
34987         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
34988         * lib/regex_internal.h (isblank): Likewise.
34989         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
34990         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
34991
34992 2007-06-05  Bruno Haible  <bruno@clisp.org>
34993
34994         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
34995         ia64.
34996         * modules/printf-safe: New file.
34997         * modules/fprintf-posix (Depends-on): Add printf-safe.
34998         * modules/printf-posix (Depends-on): Likewise.
34999         * modules/snprintf-posix (Depends-on): Likewise.
35000         * modules/sprintf-posix (Depends-on): Likewise.
35001         * modules/vasnprintf-posix (Depends-on): Likewise.
35002         * modules/vasprintf-posix (Depends-on): Likewise.
35003         * modules/vfprintf-posix (Depends-on): Likewise.
35004         * modules/vprintf-posix (Depends-on): Likewise.
35005         * modules/vsnprintf-posix (Depends-on): Likewise.
35006         * modules/vsprintf-posix (Depends-on): Likewise.
35007         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
35008         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
35009         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
35010         "no" on i386, x86_64, ia64.
35011         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
35012         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
35013         on i386, x86_64, ia64.
35014         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
35015         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
35016         on i386, x86_64, ia64.
35017         * tests/test-vasnprintf-posix.c: Include float.h.
35018         (LDBL80_WORDS): New macro.
35019         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
35020         on i386, x86_64, ia64.
35021         * tests/test-vasprintf-posix.c: Include float.h.
35022         (LDBL80_WORDS): New macro.
35023         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
35024         on i386, x86_64, ia64.
35025         * tests/test-snprintf-posix.c: Include float.h.
35026         * tests/test-sprintf-posix.c: Likewise.
35027         * tests/test-vsnprintf-posix.c: Likewise.
35028         * tests/test-vsprintf-posix.c: Likewise.
35029
35030 2007-06-05  Bruno Haible  <bruno@clisp.org>
35031
35032         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
35033         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
35034         non-IEEE numbers on i386, x86_64, ia64.
35035         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
35036         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
35037         * tests/test-isnanl.h: Include float.h.
35038         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
35039
35040 2007-06-05  Bruno Haible  <bruno@clisp.org>
35041
35042         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
35043         also the %a / %A. Handle the %a / %A code before this extra handling.
35044
35045 2007-06-05  Bruno Haible  <bruno@clisp.org>
35046
35047         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
35048         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
35049
35050 2007-06-05  Bruno Haible  <bruno@clisp.org>
35051
35052         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
35053         typo in variable name.
35054
35055 2007-06-05  Eric Blake  <ebb9@byu.net>
35056
35057         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
35058         Reported by Simon Josefsson.
35059
35060 2007-06-04  Bruno Haible  <bruno@clisp.org>
35061
35062         Avoid test failures on some PowerPC platforms.
35063         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
35064         Define differently for PowerPC.
35065         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
35066         Reported by Gary V. Vaughan <gary@gnu.org>.
35067
35068 2007-06-02  Bruno Haible  <bruno@clisp.org>
35069
35070         Fix test-stdint failure on FreeBSD/ia64.
35071         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
35072         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
35073         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
35074         * doc/headers/stdint.texi: Update.
35075
35076 2007-06-01  Bruno Haible  <bruno@clisp.org>
35077
35078         * tests/test-binary-io.c (main): Pass a third argument to open().
35079         Reported by Gary V. Vaughan <gary@gnu.org>.
35080
35081 2007-06-01  Bruno Haible  <bruno@clisp.org>
35082
35083         * doc/functions/frexpl.texi: Update for mingw.
35084
35085 2007-06-01  Bruno Haible  <bruno@clisp.org>
35086
35087         * tests/test-lseek.c (main): Disable test of errno for invalid third
35088         argument.
35089         * doc/functions/lseek.texi: Update.
35090         Reported by Gary V. Vaughan <gary@gnu.org>.
35091
35092 2007-05-28  Bruno Haible  <bruno@clisp.org>
35093
35094         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
35095
35096 2007-05-31  Eric Blake  <ebb9@byu.net>
35097
35098         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
35099         cross compiling.
35100
35101 2007-05-30  Eric Blake  <ebb9@byu.net>
35102         and Bruno Haible  <bruno@clisp.org>
35103
35104         Work around mingw test failures exposed by m4-1.4.9b.
35105         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
35106         * tests/test-unistd.c: Disable uid_t and git_t tests for the
35107         moment.
35108
35109 2007-05-30  Bruno Haible  <bruno@clisp.org>
35110
35111         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
35112         assuming that they are closed. Needed on HP-UX 11.
35113
35114 2007-05-29  Bruno Haible  <bruno@clisp.org>
35115
35116         Fix a problem with #include_next.
35117         * lib/dirent_.h: Split the double-inclusion guard.
35118         * lib/fcntl_.h: Likewise.
35119         * lib/float_.h: Likewise.
35120         * lib/iconv_.h: Likewise.
35121         * lib/inttypes_.h: Likewise.
35122         * lib/locale_.h: Likewise.
35123         * lib/math_.h: Likewise.
35124         * lib/netinet_in_.h: Likewise.
35125         * lib/search_.h: Likewise.
35126         * lib/signal_.h: Likewise.
35127         * lib/stdint_.h: Likewise.
35128         * lib/stdio_.h: Likewise.
35129         * lib/stdlib_.h: Likewise.
35130         * lib/string_.h: Likewise.
35131         * lib/sys_select_.h: Likewise.
35132         * lib/sys_socket_.h: Likewise.
35133         * lib/sys_stat_.h: Likewise.
35134         * lib/sys_time_.h: Likewise.
35135         * lib/sysexits_.h: Likewise.
35136         * lib/time_.h: Likewise.
35137         * lib/unistd_.h: Likewise.
35138         * lib/wchar_.h: Likewise.
35139         * lib/wctype_.h: Likewise.
35140
35141 2007-05-29  Bruno Haible  <bruno@clisp.org>
35142
35143         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
35144         for the moment.
35145
35146 2007-05-29  Bruno Haible  <bruno@clisp.org>
35147
35148         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
35149         invocation.
35150         Reported by Eric Blake.
35151
35152 2007-05-29  Bruno Haible  <bruno@clisp.org>
35153
35154         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
35155         compiling case.
35156
35157 2007-05-29  Eric Blake  <ebb9@byu.net>
35158             Bruno Haible  <bruno@clisp.org>
35159
35160         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
35161         cross compiles.
35162
35163 2007-05-28  Eric Blake  <ebb9@byu.net>
35164
35165         * modules/closein-tests (test_closein_LDADD): Support test on
35166         cygwin with libtool.
35167
35168 2007-05-28  Bruno Haible  <bruno@clisp.org>
35169
35170         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
35171         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
35172         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
35173         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
35174         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
35175         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
35176         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
35177         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
35178         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
35179
35180 2007-05-28  Eric Blake  <ebb9@byu.net>
35181
35182         Unconditionally include <config.h> in unit tests.
35183         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
35184         * tests/test-allocsa.c, tests/test-arcfour.c,
35185         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
35186         tests/test-array_list.c, tests/test-array_oset.c,
35187         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
35188         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
35189         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
35190         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
35191         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
35192         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
35193         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
35194         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
35195         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
35196         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
35197         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
35198         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
35199         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
35200         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
35201         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
35202         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
35203         test-md5.c, test-memmem.c, test-printf-posix.c,
35204         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
35205         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
35206         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
35207         test-strcasestr.c, test-striconv.c, test-striconveh.c,
35208         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
35209         test-vasnprintf-posix2.c, test-vasnprintf.c,
35210         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
35211         test-vfprintf-posix.c, test-vprintf-posix.c,
35212         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
35213         test-xvasprintf.c: Likewise.
35214
35215 2007-05-28  Bruno Haible  <bruno@clisp.org>
35216
35217         * gnulib-tool (func_import): Remember the --with-tests command-line
35218         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
35219         Reported by Eric Blake.
35220
35221 2007-05-28  Bruno Haible  <bruno@clisp.org>
35222
35223         * modules/ftell-tests: New file.
35224         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
35225         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
35226
35227         * lib/ftell.c: New file.
35228         * modules/ftell: New file.
35229         * m4/ftell.m4: New file.
35230         * doc/functions/ftell.texi: Update.
35231         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
35232         REPLACE_FTELL.
35233         * lib/stdio_.h (rpl_ftell): New declaration.
35234         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
35235         REPLACE_FTELL.
35236
35237 2007-05-28  Eric Blake  <ebb9@byu.net>
35238
35239         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
35240
35241 2007-05-28  Bruno Haible  <bruno@clisp.org>
35242
35243         * modules/fseek-tests: New file.
35244         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
35245         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
35246
35247         * lib/fseek.c: New file.
35248         * modules/fseek: New file.
35249         * m4/fseek.m4: New file.
35250         * doc/functions/fseek.texi: Update.
35251         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
35252         REPLACE_FSEEK.
35253         * lib/stdio_.h (rpl_fseek): New declaration.
35254         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
35255         REPLACE_FSEEK.
35256
35257 2007-05-28  Bruno Haible  <bruno@clisp.org>
35258
35259         * lib/stdio_.h (fflush): More comments.
35260
35261 2007-05-28  Bruno Haible  <bruno@clisp.org>
35262
35263         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
35264         runtime test.
35265
35266 2007-05-28  Eric Blake  <ebb9@byu.net>
35267
35268         Improve lseek module.
35269         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
35270         * lib/unistd_.h (lseek): Scale back link warning message.
35271         * tests/test-lseek.c: Beef up test.
35272         * tests/test-lseek.sh: Exercise more facets of lseek.
35273         Reported by Bruno Haible.
35274
35275 2007-05-28  Bruno Haible  <bruno@clisp.org>
35276
35277         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
35278         to define.
35279
35280 2007-05-27  Bruno Haible  <bruno@clisp.org>
35281
35282         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
35283
35284 2007-05-27  Bruno Haible  <bruno@clisp.org>
35285
35286         * modules/openmp: New file.
35287         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
35288         Noah Misch.
35289
35290 2007-05-26  Bruno Haible  <bruno@clisp.org>
35291
35292         * modules/chdir-long (Depends-on): Add fchdir.
35293         * modules/chdir-safer (Depends-on): Likewise.
35294         * modules/fts (Depends-on): Likewise.
35295         * modules/fts-lgpl (Depends-on): Likewise.
35296         * modules/openat (Depends-on): Likewise.
35297         * modules/savewd (Depends-on): Likewise.
35298
35299 2007-05-24  Eric Blake  <ebb9@byu.net>
35300
35301         Fix lseek on mingw.
35302         * modules/lseek: New module.
35303         * m4/lseek.m4: New file.
35304         * lib/lseek.c: New file.
35305         * modules/lseek-tests: New file.
35306         * tests/test-lseek.c: New file.
35307         * tests/test-lseek.sh: New file.
35308         * MODULES.html.sh: Document lseek module.
35309         * modules/fflush (Depends-on): Add lseek, fseeko.
35310         * modules/fseeko (Depends-on): Likewise.
35311         * modules/ftello (Depends-on): Likewise.
35312         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
35313         broken.
35314         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
35315         broken.
35316         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
35317         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
35318         * lib/ftello.c (rpl_ftello): Likewise.
35319         * tests/test-fseeko.c (main): Test this.
35320         * tests/test-fseeko.sh: Likewise.
35321         * tests/test-ftello.c (main): Likewise.
35322         * tests/test-ftello.sh: Likewise.
35323         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
35324         implies replacing fseek.
35325         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
35326         HAVE_FTELLO.
35327         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
35328         * modules/unistd (Makefile.am): Likewise.
35329         * lib/unistd_.h (lseek): Declare a replacement.
35330         * doc/functions/lseek.texi (lseek): Document this fix.
35331         * doc/functions/fseek.texi (fseek): Likewise.
35332         * doc/functions/ftell.texi (ftell): Likewise.
35333
35334 2007-05-24  Bruno Haible  <bruno@clisp.org>
35335
35336         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
35337         in the printed representation of a NaN.
35338         * tests/test-vasprintf-posix.c (test_function): Likewise.
35339         * tests/test-snprintf-posix.h (test_function): Likewise.
35340         * tests/test-sprintf-posix.h (test_function): Likewise.
35341         Reported by Eric Blake.
35342
35343 2007-05-23  Eric Blake  <ebb9@byu.net>
35344
35345         Fix fseeko/ftello on cygwin 1.5.24.
35346         * doc/functions/fseeko.texi (fseeko): Document the fix.
35347         * doc/functions/ftello.texi (ftello): Document the fix.
35348         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
35349         * doc/functions/stdout.text (stdout): New file.
35350         * doc/functions/stderr.text (stderr): New file.
35351         * doc/gnulib.texi (Function Substitutes): Use new files.
35352         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
35353         prior to 1.7.0.
35354         * tests/test-ftello.c (main): Likewise for ftello.
35355         * tests/test-fseeko.sh: New file.
35356         * tests/test-ftello.sh: New file.
35357         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
35358         with seekable stdin.
35359         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
35360         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
35361         (gl_REPLACE_FSEEKO): New macro.
35362         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
35363         * modules/fseeko (Files): Distribute fseeko.c.
35364         * modules/ftello (Files): Distribute ftello.c.
35365         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
35366         mode.
35367         * lib/ftello.c (rpl_ftello): New file.
35368         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
35369         fseeko, ftello.
35370         (gl_STDIN_LARGE_OFFSET): New macro.
35371         * modules/stdio (Makefile.am): Perform the replacement.
35372         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
35373
35374 2007-05-23  Bruno Haible  <bruno@clisp.org>
35375
35376         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
35377         GNULIB_POSIXCHECK is defined.
35378
35379 2007-05-21  Bruno Haible  <bruno@clisp.org>
35380
35381         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
35382         Check also the output for NaN arguments. When cross-compiling, guess
35383         no on IRIX.
35384         * lib/vasnprintf.c: Update comments.
35385         * tests/test-vasnprintf-posix.c (strisnan): New function.
35386         (test_function): Use it.
35387         * tests/test-vasprintf-posix.c (strisnan): New function.
35388         (test_function): Use it.
35389         * tests/test-snprintf-posix.h (strisnan): New function.
35390         (test_function): Use it.
35391         * tests/test-sprintf-posix.h (strisnan): New function.
35392         (test_function): Use it.
35393         Reported by Eric Blake.
35394
35395 2007-05-20  Bruno Haible  <bruno@clisp.org>
35396
35397         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
35398         numbers that fails on BeOS.
35399         * doc/functions/frexpl.texi: Update.
35400
35401 2007-05-20  Jim Meyering  <jim@meyering.net>
35402
35403         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
35404         forced upon us by glibc-2.6.
35405
35406 2007-05-20  Bruno Haible  <bruno@clisp.org>
35407
35408         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
35409         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
35410         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
35411         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
35412         NEED_PRINTF_INFINITE.
35413         (is_infinitel): New function.
35414         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
35415         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
35416         gl_PREREQ_VASNPRINTF_INFINITE.
35417         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
35418         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
35419         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
35420         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
35421         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
35422         gl_PREREQ_VASNPRINTF_INFINITE.
35423         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
35424         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
35425         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
35426         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
35427         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
35428         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
35429         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
35430         * doc/functions/fprintf.texi: Update.
35431         * doc/functions/printf.texi: Update.
35432         * doc/functions/snprintf.texi: Update.
35433         * doc/functions/sprintf.texi: Update.
35434         * doc/functions/vfprintf.texi: Update.
35435         * doc/functions/vprintf.texi: Update.
35436         * doc/functions/vsnprintf.texi: Update.
35437         * doc/functions/vsprintf.texi: Update.
35438
35439 2007-05-20  Bruno Haible  <bruno@clisp.org>
35440
35441         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
35442         was not found in libc.
35443         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
35444
35445 2007-05-20  Bruno Haible  <bruno@clisp.org>
35446
35447         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
35448         printed as "-nan" instead of "nan".
35449         * tests/test-vasprintf-posix.c (test_function): Likewise.
35450         * tests/test-snprintf-posix.h (test_function): Likewise.
35451         * tests/test-sprintf-posix.h (test_function): Likewise.
35452         Needed for HP-UX 11.
35453
35454 2007-05-20  Jim Meyering  <jim@meyering.net>
35455
35456         Fix buggy test for the fchownat-deref bug.
35457         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
35458         symlink required for the run-test.  Without it, this test would
35459         always declare that fchownat doesn't work, and client code would
35460         unnecessarily use the replacement function with fixed libc.
35461         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
35462         Reported by Greg Schafer.
35463
35464 2007-05-19  Bruno Haible  <bruno@clisp.org>
35465
35466         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
35467         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
35468         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
35469         Needed for IRIX 6.5 and Solaris 2.5.1.
35470
35471 2007-05-19  Bruno Haible  <bruno@clisp.org>
35472
35473         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
35474         (test_function): Skip tests involving -0.0 on platforms where
35475         -0.0 = 0.0.
35476         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
35477         (test_function): Skip tests involving -0.0 on platforms where
35478         -0.0 = 0.0.
35479         * tests/test-snprintf-posix.h (have_minus_zero): New function.
35480         (test_function): Skip tests involving -0.0 on platforms where
35481         -0.0 = 0.0.
35482         * tests/test-sprintf-posix.h (have_minus_zero): New function.
35483         (test_function): Skip tests involving -0.0 on platforms where
35484         -0.0 = 0.0.
35485         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
35486         tests.
35487         * tests/test-printf-posix.h (test_function): Likewise.
35488         * tests/test-printf-posix.output: Remove all -0.0 related results.
35489         Needed for IRIX 6.5.
35490
35491 2007-05-19  Bruno Haible  <bruno@clisp.org>
35492
35493         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
35494         printed as "nan0x7fffffff" instead of "nan".
35495         * tests/test-vasprintf-posix.c (test_function): Likewise.
35496         * tests/test-snprintf-posix.h (test_function): Likewise.
35497         * tests/test-sprintf-posix.h (test_function): Likewise.
35498         * tests/test-fprintf-posix.h (NaN): Remove macro.
35499         (test_function): Remove all NaN related tests.
35500         * tests/test-printf-posix.h (NaN): Remove macro.
35501         (test_function): Remove all NaN related tests.
35502         * tests/test-printf-posix.output: Remove all NaN related results.
35503         Needed for IRIX 6.5.
35504
35505 2007-05-19  Bruno Haible  <bruno@clisp.org>
35506
35507         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
35508         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
35509
35510 2007-05-19  Bruno Haible  <bruno@clisp.org>
35511
35512         * lib/float_.h: New file.
35513         * m4/float_h.m4: New file.
35514         * modules/float: New file.
35515         * modules/isnanl (Dependencies): Add float.
35516         * modules/isnanl-nolibm (Dependencies): Likewise.
35517         * modules/mathl (Dependencies): Likewise.
35518         * modules/printf-frexpl (Dependencies): Likewise.
35519         * modules/signbit (Dependencies): Likewise.
35520         * modules/vasnprintf (Dependencies): Likewise.
35521         * doc/headers/float.texi: Update.
35522
35523 2007-05-19  Jim Meyering  <jim@meyering.net>
35524
35525         * lib/utimens.c (gl_futimens): Rename from futimens,
35526         now that glibc-2.6 declares futimens.
35527         * lib/utimens.h: Likewise.
35528
35529 2007-05-19  Bruno Haible  <bruno@clisp.org>
35530
35531         Avoid test failures on mingw.
35532         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
35533         * tests/test-printf-posix.sh: Likewise.
35534         * tests/test-vfprintf-posix.sh: Likewise.
35535         * tests/test-vprintf-posix.sh: Likewise.
35536
35537 2007-05-19  Bruno Haible  <bruno@clisp.org>
35538
35539         Fix *printf result for NaN, Inf, -0.0 on mingw.
35540         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
35541         * lib/vasnprintf.c: Include math.h and isnan.h.
35542         (is_infinite_or_zero): New function.
35543         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
35544         values in the %f, %F, %e, %E, %g, %G directives.
35545         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
35546         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
35547         gl_PRINTF_INFINITE and test its result. Invoke
35548         gl_PREREQ_VASNPRINTF_INFINITE.
35549         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
35550         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
35551         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
35552         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
35553         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
35554         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
35555         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
35556         * doc/functions/fprintf.texi: Update.
35557         * doc/functions/printf.texi: Update.
35558         * doc/functions/snprintf.texi: Update.
35559         * doc/functions/sprintf.texi: Update.
35560         * doc/functions/vfprintf.texi: Update.
35561         * doc/functions/vprintf.texi: Update.
35562         * doc/functions/vsnprintf.texi: Update.
35563         * doc/functions/vsprintf.texi: Update.
35564
35565 2007-05-19  Bruno Haible  <bruno@clisp.org>
35566
35567         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
35568         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
35569         Instead of multiplying with 10^k, set extra_zeroes to k.
35570         (scale10_round_long_double): Remove function.
35571
35572 2007-05-18  Bruno Haible  <bruno@clisp.org>
35573
35574         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
35575         introduced on 2007-05-06.
35576
35577 2007-05-18  Bruno Haible  <bruno@clisp.org>
35578
35579         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
35580         %g directives.
35581         * tests/test-vasprintf-posix.c (test_function): Likewise.
35582         * tests/test-snprintf-posix.h (test_function): Likewise.
35583         * tests/test-sprintf-posix.h (test_function): Likewise.
35584
35585 2007-05-18  Bruno Haible  <bruno@clisp.org>
35586
35587         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
35588         (strmatch): New function.
35589         (test_function): Test the %f directive on numbers of various exponents.
35590         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
35591         (strmatch): New function.
35592         (test_function): Test the %f directive on numbers of various exponents.
35593         * tests/test-snprintf-posix.h (strmatch): New function.
35594         (test_function): Test the %f directive on numbers of various exponents.
35595         * tests/test-sprintf-posix.h (strmatch): New function.
35596         (test_function): Test the %f directive on numbers of various exponents.
35597         * tests/test-snprintf-posix.c (SIZEOF): New macro.
35598         * tests/test-sprintf-posix.c (SIZEOF): New macro.
35599         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
35600         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
35601
35602 2007-05-18  Bruno Haible  <bruno@clisp.org>
35603
35604         Add support for 'long double' number output.
35605         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
35606         * lib/vasnprintf.c: Include math.h and float+.h.
35607         (mp_limb_t): New type.
35608         (GMP_LIMB_BITS): New macro.
35609         (mp_twolimb_t): New type.
35610         (GMP_TWOLIMB_BITS): New macro.
35611         (mpn_t): New type.
35612         (multiply, divide, convert_to_decimal, decode_long_double,
35613         scale10_round_long_double, scale10_round_decimal_long_double,
35614         floorlog10l): New functions.
35615         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
35616         for the %f, %F, %e, %E, %g, %G directives.
35617         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
35618         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
35619         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
35620         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
35621         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
35622         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
35623         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
35624         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
35625         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
35626         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
35627         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
35628         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
35629         * modules/snprintf-posix (Depends-on): Likewise.
35630         * modules/sprintf-posix (Depends-on): Likewise.
35631         * modules/vasnprintf-posix (Depends-on): Likewise.
35632         * modules/vasprintf-posix (Depends-on): Likewise.
35633         * modules/vfprintf-posix (Depends-on): Likewise.
35634         * modules/vsnprintf-posix (Depends-on): Likewise.
35635         * modules/vsprintf-posix (Depends-on): Likewise.
35636         * modules/vasnprintf (Files): Add lib/float+.h.
35637         * doc/functions/fprintf.texi: Update.
35638         * doc/functions/printf.texi: Update.
35639         * doc/functions/snprintf.texi: Update.
35640         * doc/functions/sprintf.texi: Update.
35641         * doc/functions/vfprintf.texi: Update.
35642         * doc/functions/vprintf.texi: Update.
35643         * doc/functions/vsnprintf.texi: Update.
35644         * doc/functions/vsprintf.texi: Update.
35645
35646 2007-05-18  Bruno Haible  <bruno@clisp.org>
35647
35648         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
35649
35650 2007-05-18  Bruno Haible  <bruno@clisp.org>
35651
35652         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
35653         for printing 64-bit integers. Needed for mingw.
35654
35655 2007-05-18  Bruno Haible  <bruno@clisp.org>
35656
35657         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
35658         gl_FUNC_FREXPL_WORKS.
35659         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
35660
35661 2007-05-18  Bruno Haible  <bruno@clisp.org>
35662
35663         * modules/frexpl-nolibm-tests: New file.
35664
35665         * modules/frexpl-nolibm: New file.
35666         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
35667
35668 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
35669
35670         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
35671         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
35672         GCC 4.2, which otherwise issues a lot of warnings.
35673         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
35674         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
35675         Likewise.
35676         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
35677         * modules/iconv_open (iconv.h): Likewise.
35678         * modules/locale (locale.h): Likewise.
35679         * modules/netinet_in (netinet/in.h): Likewise.
35680         * modules/sys_select (sys_select.h): Likewise.
35681         * modules/sys_socket (sys/socket.h): Likewise.
35682         * modules/sys_stat (sys/stat.h): Likewise.
35683         * modules/sysexits (sysexits.h): Likewise.
35684         * modules/unistd (unistd.h): Likewise.
35685
35686 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35687
35688         * modules/closein-tests (Makefile.am): Distribute
35689         `test-closein.sh'.
35690
35691 2007-05-17  Bruno Haible  <bruno@clisp.org>
35692
35693         * tests/test-printf-posix.output: Renamed from
35694         tests/test-fprintf-posix.out.
35695         * modules/fprintf-posix-tests: Update.
35696         * modules/printf-posix-tests: Update.
35697         * modules/vfprintf-posix-tests: Update.
35698         * modules/vprintf-posix-tests: Update.
35699         * tests/test-fprintf-posix.sh: Update.
35700         * tests/test-printf-posix.sh: Update.
35701         * tests/test-vfprintf-posix.sh: Update.
35702         * tests/test-vprintf-posix.sh: Update.
35703         Reported by Ralf Wildenhues.
35704
35705 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
35706
35707         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
35708         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
35709         GCC 4.2, which otherwise issues a lot of warnings.
35710         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
35711         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
35712         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
35713         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
35714         it should no longer be needed.
35715         * lib/string_.h: Likewise.
35716         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
35717         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
35718         * modules/inttypes (inttypes.h): Likewise.
35719         * modules/math (math.h): Likewise.
35720         * modules/search (search.h): Likewise.
35721         * modules/signal (signal.h): Likewise.
35722         * modules/stdint (stdint.h): Likewise.
35723         * modules/stdio (stdio.h): Likewise.
35724         * modules/stdlib (stdlib.h): Likewise.
35725         * modules/string (string.h): Likewise.
35726         * modules/sys_time (sys/time.h): Likewise.
35727         * modules/time (time.h): Likewise.
35728         * modules/wchar (wchar.h): Likewise.
35729         * modules/wctype (wtype.h): Likewise.
35730
35731 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
35732
35733         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
35734
35735 2007-05-13  Bruno Haible  <bruno@clisp.org>
35736
35737         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
35738         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
35739         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
35740         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
35741         (gl_PREREQ_STRTOK_R): Don't require it here.
35742
35743 2007-05-13  Bruno Haible  <bruno@clisp.org>
35744
35745         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
35746         when used in C++ mode.
35747
35748 2007-05-12  Bruno Haible  <bruno@clisp.org>
35749
35750         * lib/linebuffer.h: Tweak doc.
35751         * lib/linebuffer.c: Likewise.
35752
35753 2007-05-12  James Youngman  <jay@gnu.org>
35754
35755         * lib/linebuffer.c (readlinebuffer_delim): New function,
35756         like readlinebuffer, but use a caller-specified delimiter.
35757         (readlinebuffer): Just call readlinebuffer_delim with '\n'
35758         as the delimiter.
35759         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
35760
35761 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
35762
35763         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
35764         * modules/openat (Files): Remove openat-die.c.
35765         (Depends-on): Add openat-die.
35766         * modules/openat-die: New module.
35767
35768 2007-05-06  Bruno Haible  <bruno@clisp.org>
35769
35770         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
35771         Update with info about Cygwin.
35772         * doc/functions/fprintf.texi: Update.
35773         * doc/functions/printf.texi: Update.
35774         * doc/functions/snprintf.texi: Update.
35775         * doc/functions/sprintf.texi: Update.
35776         * doc/functions/vfprintf.texi: Update.
35777         * doc/functions/vprintf.texi: Update.
35778         * doc/functions/vsnprintf.texi: Update.
35779         * doc/functions/vsprintf.texi: Update.
35780         Reported by Eric Blake.
35781
35782 2007-05-06  Bruno Haible  <bruno@clisp.org>
35783
35784         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
35785         padding ourselves for the floating-point directives.
35786         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
35787         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
35788         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
35789         gl_PRINTF_FLAG_ZERO and test its result. Invoke
35790         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
35791         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
35792         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
35793         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
35794         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
35795         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
35796         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
35797         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
35798         * tests/test-snprintf-posix.h (test_function): Also check the width
35799         and some flags in the %f directive.
35800         * tests/test-sprintf-posix.h (test_function): Likewise.
35801         * tests/test-vasnprintf-posix.c (test_function): Likewise.
35802         * tests/test-vasprintf-posix.c (test_function): Likewise.
35803         * doc/functions/fprintf.texi: Update.
35804         * doc/functions/printf.texi: Update.
35805         * doc/functions/snprintf.texi: Update.
35806         * doc/functions/sprintf.texi: Update.
35807         * doc/functions/vfprintf.texi: Update.
35808         * doc/functions/vprintf.texi: Update.
35809         * doc/functions/vsnprintf.texi: Update.
35810         * doc/functions/vsprintf.texi: Update.
35811
35812 2007-05-06  Bruno Haible  <bruno@clisp.org>
35813
35814         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
35815         pass the ' flag character to sprintf or snprintf.
35816         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
35817         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
35818         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
35819         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
35820         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
35821         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
35822         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
35823         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
35824         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
35825         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
35826         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
35827         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
35828         * tests/test-snprintf-posix.h (test_function): Also check the grouping
35829         flag.
35830         * tests/test-sprintf-posix.h (test_function): Likewise.
35831         * tests/test-vasnprintf-posix.c (test_function): Likewise.
35832         * tests/test-vasprintf-posix.c (test_function): Likewise.
35833         * doc/functions/fprintf.texi: Update.
35834         * doc/functions/printf.texi: Update.
35835         * doc/functions/snprintf.texi: Update.
35836         * doc/functions/sprintf.texi: Update.
35837         * doc/functions/vfprintf.texi: Update.
35838         * doc/functions/vprintf.texi: Update.
35839         * doc/functions/vsnprintf.texi: Update.
35840         * doc/functions/vsprintf.texi: Update.
35841
35842 2007-05-01  Bruno Haible  <bruno@clisp.org>
35843
35844         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
35845
35846 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
35847
35848         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
35849         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
35850
35851 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
35852
35853         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
35854         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
35855         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00021.html>.
35856
35857 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
35858
35859         * lib/argp-help.c (struct hol_entry): New member `ord'.
35860         (HOL_ENTRY_PTRCMP): Use ord for comparison
35861         (hol_sort): Initialize ord.
35862
35863 2007-05-01  Bruno Haible  <bruno@clisp.org>
35864
35865         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
35866         Reported by Eric Blake.
35867         * doc/gnulib.texi (Function Substitutes): Update.
35868
35869 2007-05-01  Bruno Haible  <bruno@clisp.org>
35870
35871         * doc/functions.texi: Remove file, now redundant through
35872         doc/functions/*.texi.
35873
35874 2007-05-01  Bruno Haible  <bruno@clisp.org>
35875
35876         * modules/argp (Depends-on): Add sleep.
35877
35878 2007-05-01  Bruno Haible  <bruno@clisp.org>
35879
35880         * modules/sleep-tests: New file.
35881         * tests/test-sleep.c: New file.
35882
35883         * modules/sleep: New file.
35884         * lib/sleep.c: New file.
35885         * m4/sleep.m4: New file.
35886         * lib/unistd_.h (sleep): New declaration.
35887         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
35888         HAVE_SLEEP.
35889         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
35890         * doc/functions/sleep.texi: Document the sleep module.
35891
35892 2007-05-01  Bruno Haible  <bruno@clisp.org>
35893
35894         * lib/sigprocmask.h: Remove file.
35895         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
35896         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
35897         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
35898         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
35899         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
35900         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
35901         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
35902         HAVE_SIGSET_T as a shell variable.
35903         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
35904         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
35905         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
35906         (Depends-on): Add signal. Remove verify.
35907         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
35908         (Include): Mention <signal.h> instead of sigprocmask.h.
35909         * NEWS: Mention the change.
35910         * lib/fatal-signal.c: Don't include sigprocmask.h.
35911
35912 2007-05-01  Bruno Haible  <bruno@clisp.org>
35913
35914         * modules/signal: New file.
35915         * lib/signal_.h: New file.
35916         * m4/signal_h.m4: New file.
35917
35918 2007-05-01  Bruno Haible  <bruno@clisp.org>
35919
35920         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
35921         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
35922         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
35923         HAVE_WCTYPE_CTMP_BUG into wctype.h.
35924
35925 2007-05-01  Bruno Haible  <bruno@clisp.org>
35926
35927         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
35928         configure time.
35929         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
35930         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
35931         * modules/sys_stat (Makefile.am): Substitute their values into
35932         sys/stat.h.
35933
35934 2007-05-01  Bruno Haible  <bruno@clisp.org>
35935
35936         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
35937         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
35938         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
35939
35940 2007-05-01  Bruno Haible  <bruno@clisp.org>
35941
35942         * doc/header/assert.texi: Undo last change: don't mention the gnulib
35943         'assert' module here.
35944
35945 2007-05-01  Bruno Haible  <bruno@clisp.org>
35946
35947         * doc/functions/*.texi: New files.
35948         * doc/functions/google-ranking.txt: New file.
35949         * doc/gnulib.texi (Function Substitutes): New chapter.
35950         (ctime, inet_ntoa): Remove sections.
35951         * doc/ctime.texi: Remove file.
35952         * doc/inet_ntoa.texi: Remove file.
35953         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
35954         dependencies.
35955         (%.info): New rule, specifying a --reference-limit.
35956
35957 2007-05-01  Bruno Haible  <bruno@clisp.org>
35958
35959         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
35960
35961 2007-05-01  Bruno Haible  <bruno@clisp.org>
35962
35963         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
35964         the portability of 'mkdir' to mingw systems.
35965
35966 2007-05-01  Bruno Haible  <bruno@clisp.org>
35967
35968         * doc/headers/google-ranking.txt: New file.
35969
35970 2007-04-30  Eric Blake  <ebb9@byu.net>
35971
35972         Prefer fseeko to fseek.
35973         * modules/getpass (Depends-on): Add fseeko.
35974         * lib/getpass.c (getpass): Use fseeko, not fseek.
35975
35976 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
35977
35978         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
35979         assumes the sorting is stable, while most qsort implementations
35980         are not.  Use argument addresses to ensure they never compare as
35981         equal.
35982
35983         * tests/test-argp-2.sh (usage-indent test): Fix output
35984         (func_compare): Restore diff options
35985         * tests/test-argp.c: Restore #include "progname.h"
35986
35987 2007-04-29  Bruno Haible  <bruno@clisp.org>
35988
35989         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
35990         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
35991         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
35992         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
35993         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
35994         (configure.ac): Define CHECK_SNPRINTF_POSIX.
35995         (TESTS, check_PROGRAMS): Add test-snprintf.
35996         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
35997         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
35998         (TESTS, check_PROGRAMS): Add test-vsnprintf.
35999         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
36000         assertions that fail on HP-UX, OSF/1, or IRIX.
36001         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
36002
36003 2007-04-29  Bruno Haible  <bruno@clisp.org>
36004
36005         * MODULES.html.sh (posix_functions): Remove 'contents'.
36006
36007 2007-04-29  Karl Berry  <karl@gnu.org>
36008
36009         * config/srclist.txt (gendocs_template_min): new entry.
36010
36011 2007-04-29  Bruno Haible  <bruno@clisp.org>
36012
36013         Work around fpurge bug on BSD systems.
36014         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
36015         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
36016         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
36017         fpurge to rpl_fpurge if the system already has this function.
36018         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
36019         the case where the system already has this function. Correct invariants
36020         on BSD systems.
36021         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
36022         BSD systems.
36023
36024 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
36025
36026         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
36027         proposed by Sven Verdoolaege.
36028
36029         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
36030         options.
36031         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
36032         (usage and help tests): Update
36033
36034 2007-04-29  Bruno Haible  <bruno@clisp.org>
36035
36036         * tests/test-fflush.c (main): Use a file of size 17, not 10.
36037         Print more information in case of failure. Disable a test on BeOS.
36038
36039 2007-04-29  Bruno Haible  <bruno@clisp.org>
36040
36041         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
36042         This helps debugging on systems on which no gdb is available.
36043
36044 2007-04-29  Bruno Haible  <bruno@clisp.org>
36045
36046         * lib/freading.h: Improve comments.
36047         * lib/fwriting.h: Likewise.
36048         * tests/test-freading.c (main): Don't check freading immediately after
36049         repositioning. Needed for glibc.
36050
36051 2007-04-29  Bruno Haible  <bruno@clisp.org>
36052
36053         * lib/freading.c (freading): Trivial simplification.
36054
36055 2007-04-28  Bruno Haible  <bruno@clisp.org>
36056
36057         * tests/test-fwriting.c (main): Also test the interaction between
36058         fflush and fwriting.
36059         * modules/fwriting-tests (Depends-on): Add fflush.
36060
36061         * tests/test-freading.c (main): Also test the interaction between
36062         fflush and freading.
36063         * modules/freading-tests (Depends-on): Add fflush.
36064
36065 2007-04-28  Bruno Haible  <bruno@clisp.org>
36066
36067         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
36068         fseeko and ftello.
36069         Suggested by Eric Blake.
36070
36071 2007-04-28  Jim Meyering  <jim@meyering.net>
36072
36073         Avoid false-negative in gl_STDINT_H's C99 conformance test.
36074         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
36075         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
36076
36077 2007-04-27  Eric Blake  <ebb9@byu.net>
36078
36079         * doc/headers/assert.texi (assert.h): Document assert module use.
36080
36081 2007-04-27  Bruno Haible  <bruno@clisp.org>
36082
36083         * doc/headers/*.texi: New files.
36084         * doc/gnulib.texi (Header File Substitutes): New chapter.
36085         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
36086         dependencies.
36087         (standards.info ,standards.html, standards.dvi): Update dependencies.
36088         (mostlyclean, clean): New targets.
36089
36090 2007-04-27  Bruno Haible  <bruno@clisp.org>
36091
36092         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
36093         * modules/sysexits (Files, Makefile.am): Update.
36094
36095         * lib/sys_socket_.h: Renamed from lib/socket_.h.
36096         * modules/sys_socket (Files, Makefile.am): Update.
36097
36098         * lib/sys_stat_.h: Renamed from lib/stat_.h.
36099         * modules/sys_stat (Files, Makefile.am): Update.
36100
36101 2007-04-27  Eric Blake  <ebb9@byu.net>
36102
36103         * lib/freading.h: Improve comments.
36104         * lib/fwriting.h: Likewise.
36105         * lib/fflush.c: Likewise.
36106
36107         Fix closein for mingw.
36108         * modules/closein-tests: Add tests for closein.
36109         * tests/test-closein.c: New file.
36110         * tests/test-closein.sh: Likewise.
36111         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
36112         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
36113
36114 2007-04-27  Bruno Haible  <bruno@clisp.org>
36115
36116         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
36117         version is < 6.
36118         * lib/math_.h [__DECC]: Likewise.
36119         * lib/stdio_.h [__DECC]: Likewise.
36120         * lib/stdlib_.h [__DECC]: Likewise.
36121         * lib/string_.h [__DECC]: Likewise.
36122         * lib/time_.h [__DECC]: Likewise.
36123         * lib/wchar_.h [__DECC]: Likewise.
36124         * lib/wctype_.h [__DECC]: Likewise.
36125
36126 2007-04-27  Bruno Haible  <bruno@clisp.org>
36127
36128         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
36129
36130 2007-04-27  Bruno Haible  <bruno@clisp.org>
36131
36132         * lib/fflush.c: Add comments.
36133         * modules/fpurge-tests (Depends-on): Add fflush.
36134         * modules/freadable-tests (Depends-on): Likewise.
36135         * modules/fwritable-tests (Depends-on): Likewise.
36136
36137 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
36138
36139         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
36140         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
36141         Report by Bruno Haible <bruno@clisp.org>.
36142
36143 2007-04-26  Eric Blake  <ebb9@byu.net>
36144
36145         Fix fflush on mingw.
36146         * modules/fflush (Depends-on): Add freading.
36147         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
36148         but unread data.
36149
36150 2007-04-26  Eric Blake  <ebb9@byu.net>
36151         and Bruno Haible  <bruno@clisp.org>
36152
36153         Implement freading and fwriting.
36154         * lib/freading.c: New file.
36155         * lib/freading.h: Likewise.
36156         * m4/freading.m4: Likewise.
36157         * modules/freading: Likewise.
36158         * modules/freading-tests: Likewise.
36159         * tests/test-freading.c: Likewise.
36160         * lib/fwriting.c: New file.
36161         * lib/fwriting.h: Likewise.
36162         * m4/fwriting.m4: Likewise.
36163         * modules/fwriting: Likewise.
36164         * modules/fwriting-tests: Likewise.
36165         * tests/test-fwriting.c: Likewise.
36166         * MODULES.html.sh (File stream based Input/Output): Mention them.
36167
36168 2007-04-26  Bruno Haible  <bruno@clisp.org>
36169
36170         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
36171         'long' when we assume it.
36172         Suggested by Eric Blake.
36173
36174 2007-04-26  Bruno Haible  <bruno@clisp.org>
36175
36176         Ensure fseeko, ftello are declared on glibc systems.
36177         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
36178         * modules/fseeko (configure.ac-early): Likewise.
36179         * modules/ftello (configure.ac-early): Likewise.
36180         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
36181         AC_FUNC_FSEEKO for this.
36182         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
36183         (gl_CHECK_FSEEKO): Remove macro.
36184
36185 2007-04-26  Bruno Haible  <bruno@clisp.org>
36186
36187         * tests/test-fflush.c (main): Also check the ftell result after
36188         fflush and fseek/fseeko.
36189         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
36190         file descriptor position cache in the stream.
36191         * lib/fseeko.c (rpl_fseeko): Likewise.
36192
36193 2007-04-26  Bruno Haible  <bruno@clisp.org>
36194
36195         * modules/fflush-tests (Depends-on): Add fseeko.
36196
36197 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
36198             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36199
36200         * lib/argz_.h: ensure error_t definition is obtained in same
36201         mechanism system argz.h would have.
36202         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
36203         argz facilities are known bad.  Err on the side of caution if
36204         cross-compiling.
36205
36206 2007-04-25  Eric Blake  <ebb9@byu.net>
36207
36208         * lib/fpurge.c (includes): Use stdlib.h for free.
36209         * tests/test-fflush.c (main): Also test fflush-fseeko.
36210
36211 2007-04-25  Bruno Haible  <bruno@clisp.org>
36212
36213         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
36214         * lib/fseeko.c: New file.
36215         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
36216         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
36217         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
36218         gl_FUNC_FSEEKO.
36219         (gl_FUNC_FSEEKO): Invoke it.
36220         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
36221         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
36222         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
36223
36224 2007-04-25  Bruno Haible  <bruno@clisp.org>
36225
36226         * modules/fflush (Depends-on): Add ftello.
36227
36228 2007-04-25  Bruno Haible  <bruno@clisp.org>
36229
36230         * modules/ftello-tests: New file.
36231         * tests/test-ftello.c: New file.
36232
36233         * modules/ftello: New file.
36234         * m4/ftello.m4: New file.
36235         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
36236         HAVE_FTELLO.
36237         * lib/stdio_.h (ftello): New declaration.
36238         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
36239         HAVE_FTELLO.
36240
36241 2007-04-25  Bruno Haible  <bruno@clisp.org>
36242
36243         * modules/fseeko-tests: New file.
36244         * tests/test-fseeko.c: New file.
36245
36246         * modules/fseeko: New file.
36247         * m4/fseeko.m4: New file.
36248         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
36249         HAVE_FSEEKO.
36250         * lib/stdio_.h (fseeko): New declaration.
36251         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
36252         HAVE_FSEEKO.
36253
36254 2007-04-25  Bruno Haible  <bruno@clisp.org>
36255
36256         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
36257
36258 2007-04-25  Bruno Haible  <bruno@clisp.org>
36259
36260         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
36261         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
36262         * tests/test-unistd.c: Likewise.
36263         * tests/test-fcntl.c: Likewise.
36264
36265 2007-04-23  Eric Blake  <ebb9@byu.net>
36266
36267         * lib/fflush.c: Fix missing include.
36268         Reported by Bruno Haible.
36269
36270 2007-04-23  Bruno Haible  <bruno@clisp.org>
36271
36272         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
36273         Reported by Eric Blake.
36274
36275 2007-04-23  Bruno Haible  <bruno@clisp.org>
36276
36277         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
36278
36279 2007-04-23  Bruno Haible  <bruno@clisp.org>
36280
36281         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
36282
36283 2007-04-23  Bruno Haible  <bruno@clisp.org>
36284
36285         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
36286         Needed on HP-UX 11.
36287
36288 2007-04-16  Eric Blake  <ebb9@byu.net>
36289
36290         Make fflush rely on fpurge.
36291         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
36292         open coding all variants.
36293         * modules/fflush (Depends-on): Add fpurge and unistd.
36294         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
36295         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
36296
36297         Fix --with-tests compilation on cygwin.
36298         * modules/argmatch-tests (Makefile.am): List gnulib library first
36299         in LDADD.
36300         * modules/argp-tests (Makefile.am): Likewise.
36301         * modules/array-list-tests (Makefile.am): Likewise.
36302         * modules/array-oset-tests (Makefile.am): Likewise.
36303         * modules/avltree-list-tests (Makefile.am): Likewise.
36304         * modules/avltree-oset-tests (Makefile.am): Likewise.
36305         * modules/avltreehash-list-tests (Makefile.am): Likewise.
36306         * modules/carray-list-tests (Makefile.am): Likewise.
36307         * modules/dirname-tests (Makefile.am): Likewise.
36308         * modules/frexp-tests (Makefile.am): Likewise.
36309         * modules/isnanl-tests (Makefile.am): Likewise.
36310         * modules/linked-list-tests (Makefile.am): Likewise.
36311         * modules/linkedhash-list-tests (Makefile.am): Likewise.
36312         * modules/lock-tests (Makefile.am): Likewise.
36313         * modules/rbtree-list-tests (Makefile.am): Likewise.
36314         * modules/rbtree-oset-tests (Makefile.am): Likewise.
36315         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
36316         * modules/tls-tests (Makefile.am): Likewise.
36317         * modules/tsearch-tests (Makefile.am): Likewise.
36318         * modules/xvasprintf-tests (Makefile.am): Likewise.
36319
36320         Fix fpurge for cygwin.
36321         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
36322         value.
36323         * modules/fpurge-tests (Depends-on): Clean up trash.
36324
36325 2007-04-16  Simon Josefsson  <simon@josefsson.org>
36326
36327         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
36328
36329         * m4/autobuild.m4: Re-indent.
36330
36331 2007-04-13  Bruno Haible  <bruno@clisp.org>
36332
36333         * modules/fpurge-tests: New file.
36334         * tests/test-fpurge.c: New file.
36335
36336         * modules/fpurge: New file.
36337         * lib/fpurge.h: New file.
36338         * lib/fpurge.c: New file.
36339         * m4/fpurge.m4: New file.
36340
36341 2007-04-13  Bruno Haible  <bruno@clisp.org>
36342
36343         * modules/fbufmode-tests: New file.
36344         * tests/test-fbufmode.c: New file.
36345
36346         * modules/fbufmode: New file.
36347         * lib/fbufmode.h: New file.
36348         * lib/fbufmode.c: New file.
36349         * m4/fbufmode.m4: New file.
36350
36351 2007-04-13  Bruno Haible  <bruno@clisp.org>
36352
36353         * modules/fwritable-tests: New file.
36354         * tests/test-fwritable.c: New file.
36355
36356         * modules/fwritable: New file.
36357         * lib/fwritable.h: New file.
36358         * lib/fwritable.c: New file.
36359         * m4/fwritable.m4: New file.
36360
36361 2007-04-13  Bruno Haible  <bruno@clisp.org>
36362
36363         * modules/freadable-tests: New file.
36364         * tests/test-freadable.c: New file.
36365
36366         * modules/freadable: New file.
36367         * lib/freadable.h: New file.
36368         * lib/freadable.c: New file.
36369         * m4/freadable.m4: New file.
36370
36371 2007-04-13  Bruno Haible  <bruno@clisp.org>
36372
36373         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
36374         MOSTLYCLEANFILES.
36375
36376 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
36377
36378         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
36379         gzip bootstrap.conf to avoid dragging in i18n machinery.
36380         (gnulib_tool_option): Use it.
36381
36382 2007-04-13  Bruno Haible  <bruno@clisp.org>
36383
36384         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
36385         %F directives.
36386         * tests/test-vasprintf-posix.c (test_function): Likewise.
36387         * tests/test-snprintf-posix.h (test_function): Likewise.
36388         * tests/test-sprintf-posix.h (test_function): Likewise.
36389         * tests/test-fprintf-posix.h (test_function): Likewise.
36390         * tests/test-printf-posix.h (test_function): Likewise.
36391         * tests/test-fprintf-posix.out: Likewise.
36392
36393 2007-04-13  Bruno Haible  <bruno@clisp.org>
36394
36395         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
36396         * modules/tls-tests (configure.ac): Likewise.
36397         Reported by Arto C. Nirkko <anirkko@insel.ch>.
36398
36399 2007-04-13  Bruno Haible  <bruno@clisp.org>
36400
36401         * lib/tls.c (glthread_tls_get): Fix return type.
36402         Patch by Arto C. Nirkko <anirkko@insel.ch>.
36403
36404 2007-04-12  Eric Blake  <ebb9@byu.net>
36405
36406         * modules/gettime (Depends-on): Remove gettime.
36407         Reported by Dmitry V. Levin.
36408
36409 2007-04-12  Bruno Haible  <bruno@clisp.org>
36410
36411         * modules/fflush (Include): Mention <stdio.h>.
36412         * modules/strtoimax (Include): Mention <inttypes.h>.
36413         * modules/strtoumax (Include): Likewise.
36414
36415 2007-04-12  Eric Blake  <ebb9@byu.net>
36416
36417         * .cvsignore: New file.
36418         * .gitignore: Likewise.
36419
36420 2007-04-12  Bruno Haible  <bruno@clisp.org>
36421
36422         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
36423         not before, since $(LDADD) often contains libgnu.a.
36424         * modules/striconv-tests (test_striconv_LDADD): Likewise.
36425         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
36426         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
36427         Needed on Cygwin.
36428
36429 2007-04-12  Eric Blake  <ebb9@byu.net>
36430
36431         Work around glibc's failure to flush stdin on fclose.
36432         * lib/closein.c (close_stdin): Flush stdin before closing.
36433
36434         Work around glibc's failure to reset seekable stdin on exit.
36435         * modules/closein: New module.
36436         * lib/closein.c: New file.
36437         * lib/closein.h: Likewise.
36438         * m4/closein.m4: Likewise.
36439         * MODULES.html.sh (File stream based Input/Output): Document it.
36440
36441 2007-04-12  Simon Josefsson  <simon@josefsson.org>
36442
36443         * gnulib-tool: Rename generated 'autobuild' script to
36444         'do-autobuild' in --create-megatestdir output.
36445
36446         * doc/gnulib.texi (Build robot for gnulib): Fix.
36447
36448 2007-04-12  Simon Josefsson  <simon@josefsson.org>
36449
36450         * modules/sysexits (Depends-on): Add absolute-header.
36451
36452 2007-04-12  Eric Blake  <ebb9@byu.net>
36453
36454         No need to preserve errno on success.
36455         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
36456         Reported by Bruno Haible.
36457
36458 2007-04-12  Simon Josefsson  <simon@josefsson.org>
36459
36460         * MODULES.html.sh (Support for maintaining and releasing
36461         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
36462
36463 2007-04-12  Simon Josefsson  <simon@josefsson.org>
36464
36465         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
36466
36467 2007-04-12  Simon Josefsson  <simon@josefsson.org>
36468
36469         * modules/autobuild: New module.
36470
36471         * m4/autobuild.m4: New file.
36472
36473 2007-04-11  Bruno Haible  <bruno@clisp.org>
36474
36475         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
36476         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
36477         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
36478         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
36479         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
36480         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
36481         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
36482         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
36483         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
36484         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
36485         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
36486         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
36487         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
36488         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
36489         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
36490         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
36491         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
36492         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
36493         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
36494         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
36495         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
36496         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
36497         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
36498         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
36499         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
36500         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
36501         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
36502         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
36503         Reported by Eric Blake.
36504
36505 2007-04-11  Bruno Haible  <bruno@clisp.org>
36506
36507         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
36508
36509 2007-04-10  Bruno Haible  <bruno@clisp.org>
36510
36511         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
36512         for NaN and Infinity. Needed on FreeBSD 6.1.
36513         * tests/test-vasnprintf-posix.c (test_function): Undo last change
36514         regarding results for "%010a" of Infinity and NaN.
36515         * tests/test-vasprintf-posix.c (test_function): Likewise.
36516         * tests/test-snprintf-posix.h (test_function): Likewise.
36517         * tests/test-sprintf-posix.h (test_function): Likewise.
36518         * tests/test-fprintf-posix.h (test_function): Likewise.
36519         * tests/test-printf-posix.h (test_function): Likewise.
36520         * tests/test-fprintf-posix.out: Likewise.
36521
36522 2007-04-10  Bruno Haible  <bruno@clisp.org>
36523
36524         * modules/locale-tests: New file.
36525         * tests/test-locale.c: New file.
36526
36527         * modules/locale: New file.
36528         * lib/locale_.h: New file.
36529         * m4/locale_h.m4: New file.
36530
36531 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
36532             Bruno Haible  <bruno@clisp.org>
36533
36534         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
36535         be determined, test for availability of the copysignf, copysign,
36536         copysignl functions.
36537         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
36538         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
36539         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
36540
36541 2007-04-09  Eric Blake  <ebb9@byu.net>
36542
36543         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
36544         * modules/stdio (Makefile.am): Support fflush.
36545         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
36546         * modules/fflush: New file.
36547         * lib/fflush.c: Likewise.
36548         * m4/fflush.m4: Likewise.
36549         * modules/fflush-tests: New test.
36550         * tests/test-fflush.c: Likewise.
36551         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
36552
36553 2007-04-06  Bruno Haible  <bruno@clisp.org>
36554
36555         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
36556         (VASNPRINTF): Use signbit for faster determination whether to print a
36557         minus sign.
36558         * modules/vasnprintf (Files): Remove lib/float+.h.
36559         * modules/fprintf-posix (Depends-on): Add signbit.
36560         * modules/snprintf-posix (Depends-on): Likewise.
36561         * modules/sprintf-posix (Depends-on): Likewise.
36562         * modules/vasnprintf-posix (Depends-on): Likewise.
36563         * modules/vasprintf-posix (Depends-on): Likewise.
36564         * modules/vfprintf-posix (Depends-on): Likewise.
36565         * modules/vsnprintf-posix (Depends-on): Likewise.
36566         * modules/vsprintf-posix (Depends-on): Likewise.
36567
36568 2007-04-06  Bruno Haible  <bruno@clisp.org>
36569
36570         * tests/test-frexp.c (main): Test also the sign bit of zero results.
36571         * tests/test-frexpl.c (main): Likewise.
36572         * tests/test-ldexpl.c (main): Likewise.
36573         * modules/frexp-tests (Depends-on): Add signbit.
36574         * modules/frexpl-tests (Depdends-on): Likewise.
36575         * modules/ldexpl-tests (Depdends-on): Likewise.
36576
36577 2007-04-06  Bruno Haible  <bruno@clisp.org>
36578
36579         * modules/signbit-tests: New file.
36580         * tests/test-signbit.c: New file.
36581
36582         * modules/signbit: New file.
36583         * lib/signbitf.c: New file.
36584         * lib/signbitd.c: New file.
36585         * lib/signbitl.c: New file.
36586         * m4/signbit.m4: New file.
36587         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
36588         (signbit): New macro.
36589         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
36590         REPLACE_SIGNBIT.
36591         * modules/math (Makefile.am) Substibute also GNULIB_SIGNBIT and
36592         REPLACE_FREXPL into math.h.
36593
36594 2007-04-06  Bruno Haible  <bruno@clisp.org>
36595
36596         * modules/isnanf-nolibm-tests: New file.
36597         * tests/test-isnanf.c: New file.
36598
36599         * modules/isnanf-nolibm: New file.
36600         * lib/isnanf.h: New file.
36601         * lib/isnanf.c: New file.
36602         * lib/isnan.c: Consider the USE_FLOAT macro.
36603         * m4/isnanf.m4: New file.
36604
36605 2007-04-06  Bruno Haible  <bruno@clisp.org>
36606
36607         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
36608         (Link): New section.
36609
36610         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
36611
36612 2007-04-06  Bruno Haible  <bruno@clisp.org>
36613
36614         Assume the 'long double' type.
36615         * m4/longdouble.m4: Remove file.
36616         * config/srclist.txt: Don't mention longdouble.m4.
36617         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
36618         * lib/float+.h: Likewise.
36619         * lib/frexp.c: Likewise.
36620         * lib/printf-args.h: Likewise.
36621         * lib/printf-args.c: Likewise.
36622         * lib/printf-frexp.c: Likewise.
36623         * lib/printf-parse.c: Likewise.
36624         * lib/vasnprintf.c: Likewise.
36625         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
36626         * m4/intl.m4: Likewise.
36627         * m4/isnanl.m4: Likewise.
36628         * m4/printf.m4: Likewise.
36629         * m4/printf-frexpl.m4: Likewise.
36630         * m4/vasnprintf.m4: Likewise.
36631         * modules/allocsa (Files): Remove m4/longdouble.m4.
36632         * modules/gettext (Files): Likewise.
36633         * modules/relocatable-prog-wrapper (Files): Likewise.
36634         * modules/vasnprintf (Files): Likewise.
36635         * modules/isnanl (Files): Likewise.
36636         (Include): Simplify.
36637         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
36638         (Include): Simplify.
36639         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
36640         (Include): Simplify.
36641         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
36642         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
36643         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
36644         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
36645         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
36646         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
36647         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
36648         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
36649         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
36650         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
36651         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
36652         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
36653         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
36654         * tests/test-isnanl.c: Likewise.
36655         * tests/test-snprintf-posix.h: Likewise.
36656         * tests/test-sprintf-posix.h: Likewise.
36657         * tests/test-vasnprintf-posix.c: Likewise.
36658         * tests/test-vasnprintf-posix2.c: Likewise.
36659         * tests/test-vasprintf-posix.c: Likewise.
36660
36661 2007-04-06  Bruno Haible  <bruno@clisp.org>
36662
36663         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
36664         * lib/math_.h [__DECC]: Include the overridden include file through
36665         #include_next, outside the double-inclusion guard.
36666         * lib/stdio_.h [__DECC]: Likewise.
36667         * lib/stdlib_.h [__DECC]: Likewise.
36668         * lib/string_.h [__DECC]: Likewise.
36669         * lib/time_.h [__DECC]: Likewise.
36670         * lib/wchar_.h [__DECC]: Likewise.
36671         * lib/wctype_.h [__DECC]: Likewise.
36672         * lib/inttypes_.h [__DECC]: Likewise.
36673         Reported by Albert Chin <china@thewrittenword.com> in
36674         <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00088.html>.
36675
36676 2007-04-04  Eric Blake  <ebb9@byu.net>
36677
36678         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
36679         1.5.x.
36680
36681 2007-04-04  Bruno Haible  <bruno@clisp.org>
36682
36683         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
36684         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
36685
36686 2007-04-04  Bruno Haible  <bruno@clisp.org>
36687
36688         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
36689         results for "%010a" of Infinity and NaN.
36690         * tests/test-vasprintf-posix.c (test_function): Likewise.
36691         * tests/test-snprintf-posix.h (test_function): Likewise.
36692         * tests/test-sprintf-posix.h (test_function): Likewise.
36693         * tests/test-fprintf-posix.h (test_function): Remove these tests.
36694         * tests/test-printf-posix.h (test_function): Likewise.
36695         * tests/test-fprintf-posix.out: Update.
36696         Needed for FreeBSD 6.1.
36697
36698 2007-04-04  Bruno Haible  <bruno@clisp.org>
36699
36700         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
36701         directly used by the gnulib modules nor by gnulib-tool.
36702
36703 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
36704
36705         * DEPENDENCIES: Give overall description of version dependency
36706         desirability.  Use more-typical names for apps.
36707         Add shell, coreutils, diffutils, grep, tar, gzip.
36708
36709 2007-04-04  Simon Josefsson  <simon@josefsson.org>
36710
36711         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
36712
36713 2007-04-04  Karl Berry  <karl@gnu.org>
36714
36715         * MODULES.html.sh (func_module): missing '.
36716
36717 2007-04-03  Bruno Haible  <bruno@clisp.org>
36718
36719         * modules/argmatch-tests (Makefile.am): New variable
36720         test_argmatch_LDADD.
36721         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
36722         * modules/array-list-tests (Makefile.am): New variable
36723         test_array_list_LDADD.
36724         * modules/array-oset-tests (Makefile.am): New variable
36725         test_array_oset_LDADD.
36726         * modules/avltree-list-tests (Makefile.am): New variable
36727         test_avltree_list_LDADD.
36728         * modules/avltree-oset-tests (Makefile.am): New variable
36729         test_avltree_oset_LDADD.
36730         * modules/avltreehash-list-tests (Makefile.am): New variable
36731         test_avltreehash_list_LDADD.
36732         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
36733         test_canonicalize_lgpl_LDADD.
36734         * modules/carray-list-tests (Makefile.am): New variable
36735         test_carray_list_LDADD.
36736         * modules/dirname-tests (Makefile.am): New variable
36737         test_dirname_LDADD.
36738         * modules/linked-list-tests (Makefile.am): New variable
36739         test_linked_list_LDADD.
36740         * modules/linkedhash-list-tests (Makefile.am): New variable
36741         test_linkedhash_list_LDADD.
36742         * modules/rbtree-list-tests (Makefile.am): New variable
36743         test_rbtree_list_LDADD.
36744         * modules/rbtree-oset-tests (Makefile.am): New variable
36745         test_rbtree_oset_LDADD.
36746         * modules/rbtreehash-list-tests (Makefile.am): New variable
36747         test_rbtreehash_list_LDADD.
36748         * modules/xvasprintf-tests (Makefile.am): New variable
36749         test_xvasprintf_LDADD.
36750         Reported by Eric Blake.
36751
36752 2007-04-03  Eric Blake  <ebb9@byu.net>
36753
36754         * DEPENDENCIES: Weaken m4 requirements.
36755
36756 2007-04-03  Bruno Haible  <bruno@clisp.org>
36757
36758         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
36759         * modules/isnanl-tests (configure.ac): Likewise.
36760
36761 2007-04-03  Ben Pfaff  <blp@gnu.org>
36762
36763         * modules/iconv_open: Add $(srcdir)/ to source directory
36764         references in Makefile fragments that call gperf, to fix VPATH
36765         builds.
36766
36767 2007-04-03  Bruno Haible  <bruno@clisp.org>
36768
36769         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
36770         * lib/ldexpl.c: Undo last change.
36771
36772 2007-04-03  Bruno Haible  <bruno@clisp.org>
36773
36774         * modules/printf-frexpl (Depends-on): Undo last change.
36775         (Files): Add m4/ldexpl.m4.
36776
36777 2007-04-03  Bruno Haible  <bruno@clisp.org>
36778
36779         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
36780         * modules/isnanl (Link): New section.
36781
36782         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
36783         * modules/frexp (Link): New section.
36784
36785         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
36786         * modules/frexpl (Link): New section.
36787
36788         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
36789         * modules/ldexpl (Link): New section.
36790
36791 2007-04-03  Bruno Haible  <bruno@clisp.org>
36792
36793         * modules/TEMPLATE-EXTENDED: New file.
36794         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
36795
36796 2007-04-03  Bruno Haible  <bruno@clisp.org>
36797
36798         * DEPENDENCIES: New file.
36799         Suggested by Simon Josefsson.
36800
36801 2007-04-03  Bruno Haible  <bruno@clisp.org>
36802
36803         * doc/gnulib.texi: Escape @.
36804
36805 2007-04-03  James Youngman  <jay@gnu.org>
36806         and Paul Eggert  <eggert@cs.ucla.edu>
36807
36808         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
36809         birthtime on all systems that have birthtime, not just those which
36810         use st_birthtimensec rather than st_birthtim.  Putting zero in
36811         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
36812         that the birth time is not available for files on an NFS mount.
36813
36814 2007-04-03  Simon Josefsson  <simon@josefsson.org>
36815
36816         * modules/memxor: Move back from crypto/, suggested by Bruno.
36817         * modules/crypto/hmac-sha1: Fix memxor dependency.
36818
36819         * modules/crypto/gc: Moved from ../.
36820
36821 2007-04-02  Eric Blake  <ebb9@byu.net>
36822
36823         * lib/ldexpl.c (includes): Avoid libm.
36824
36825         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
36826
36827 2007-04-02  Bruno Haible  <bruno@clisp.org>
36828
36829         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
36830         on IRIX.
36831
36832 2007-04-02  Bruno Haible  <bruno@clisp.org>
36833
36834         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
36835         x86 or x86_64 platforms running MacOS X.
36836         Reported by Ryan Schmidt <@ryandesign.com>.
36837
36838 2007-04-02  Bruno Haible  <bruno@clisp.org>
36839
36840         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
36841         i386.
36842
36843 2007-04-01  Simon Josefsson  <simon@josefsson.org>
36844
36845         * modules/crypto/arcfour: Moved from ../.
36846         * modules/crypto/arcfour-tests: Moved from ../.
36847         * modules/crypto/arctwo: Moved from ../.
36848         * modules/crypto/arctwo-tests: Moved from ../.
36849         * modules/crypto/des: Moved from ../.
36850         * modules/crypto/des-tests: Moved from ../.
36851         * modules/crypto/gc-arcfour: Moved from ../.
36852         * modules/crypto/gc-arcfour-tests: Moved from ../.
36853         * modules/crypto/gc-arctwo: Moved from ../.
36854         * modules/crypto/gc-arctwo-tests: Moved from ../.
36855         * modules/crypto/gc-des: Moved from ../.
36856         * modules/crypto/gc-des-tests: Moved from ../.
36857         * modules/crypto/gc-hmac-md5: Moved from ../.
36858         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
36859         * modules/crypto/gc-hmac-sha1: Moved from ../.
36860         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
36861         * modules/crypto/gc-md2: Moved from ../.
36862         * modules/crypto/gc-md2-tests: Moved from ../.
36863         * modules/crypto/gc-md4: Moved from ../.
36864         * modules/crypto/gc-md4-tests: Moved from ../.
36865         * modules/crypto/gc-md5: Moved from ../.
36866         * modules/crypto/gc-md5-tests: Moved from ../.
36867         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
36868         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
36869         * modules/crypto/gc-random: Moved from ../.
36870         * modules/crypto/gc-rijndael: Moved from ../.
36871         * modules/crypto/gc-rijndael-tests: Moved from ../.
36872         * modules/crypto/gc-sha1: Moved from ../.
36873         * modules/crypto/gc-sha1-tests: Moved from ../.
36874         * modules/crypto/gc-tests: Moved from ../.
36875         * modules/crypto/hmac-md5: Moved from ../.
36876         * modules/crypto/hmac-md5-tests: Moved from ../.
36877         * modules/crypto/hmac-sha1: Moved from ../.
36878         * modules/crypto/hmac-sha1-tests: Moved from ../.
36879         * modules/crypto/md2: Moved from ../.
36880         * modules/crypto/md2-tests: Moved from ../.
36881         * modules/crypto/md4: Moved from ../.
36882         * modules/crypto/md4-tests: Moved from ../.
36883         * modules/crypto/md5: Moved from ../.
36884         * modules/crypto/md5-tests: Moved from ../.
36885         * modules/crypto/memxor: Moved from ../.
36886         * modules/crypto/rijndael: Moved from ../.
36887         * modules/crypto/rijndael-tests: Moved from ../.
36888         * modules/crypto/sha1: Moved from ../.
36889
36890 2007-03-30  James Youngman  <jay@gnu.org>
36891
36892         * tests/test-stat-time.c (prepare_test): use chmod() rather than
36893         rename() to change the ctime of a file (because ctime is unaffected
36894         by rename on jfs2 on AIX 5.1).
36895         (main): Start by doing cleanup, in case a previous run failed leaving
36896         test files behind.
36897
36898 2007-03-31  Bruno Haible  <bruno@clisp.org>
36899
36900         Support old proprietary implementations of iconv.
36901         * modules/iconv_open: New file.
36902         * lib/iconv_.h: New file.
36903         * m4/iconv_h.m4: New file.
36904         * lib/iconv_open.c: New file.
36905         * lib/iconv_open-aix.gperf: New file.
36906         * lib/iconv_open-hpux.gperf: New file.
36907         * lib/iconv_open-irix.gperf: New file.
36908         * lib/iconv_open-osf.gperf: New file.
36909         * m4/iconv_open.m4: New file.
36910         * modules/linebreak (Depends-on): Add iconv_open.
36911         * modules/striconv (Depends-on): Likewise.
36912         * modules/striconveh (Depends-on): Likewise.
36913         * modules/unicodeio (Depends-on): Likewise.
36914         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
36915         (iconv_t)(-1).
36916         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
36917         conversion if cd is (iconv_t)(-1).
36918         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
36919         is not possible.
36920
36921 2007-03-31  Bruno Haible  <bruno@clisp.org>
36922
36923         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
36924         work on Solaris either. Protect also second use of "autodetect_jp".
36925
36926 2007-03-31  Bruno Haible  <bruno@clisp.org>
36927
36928         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
36929         the function is not present.
36930
36931 2007-03-31  Bruno Haible  <bruno@clisp.org>
36932
36933         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
36934         the function is not present.
36935
36936 2007-03-31  Bruno Haible  <bruno@clisp.org>
36937
36938         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
36939         a bug in HP-UX iconv_open().
36940
36941 2007-03-31  Bruno Haible  <bruno@clisp.org>
36942
36943         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
36944         (Mathematics <math.h>): New section, add fpieee.
36945         (Input/output <stdio.h>): Add fseterr.
36946         (Mathematics <math.h>): New section, add printf-frexp.
36947         (Container data structures): Add sublist.
36948         (Core language properties): Add fpucw, inline.
36949         (Functions for greatest-width integer types <inttypes.h>): Add
36950         imaxabs, imaxdiv, inttypes.
36951         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
36952         isnanl-nolibm, ldexp.
36953         (Mathematics <math.h>): New section, add printf-frexpl.
36954         (Support for systems lacking POSIX:2001): Add fprintf-posix,
36955         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
36956         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
36957         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
36958         (Unicode string functions): Add unistr/u*-mbtoucr.
36959         (Java): Add javacomp-script, javaexec-script.
36960         (C#): Add csharpcomp-script, csharpexec-script.
36961         (Support for building libraries and executables): Add havelib,
36962         relocatable-*.
36963         (Support for maintaining and releasing projects): Renamed from
36964         'Support for maintaining and release projects'. Add announce-gen.
36965
36966 2007-03-31  Bruno Haible  <bruno@clisp.org>
36967
36968         * README: Talk primarily about git.
36969         (git and CVS): Renamed from CVS.
36970         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
36971         gnulib is available through git.
36972         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
36973
36974 2007-03-30  Bruno Haible  <bruno@clisp.org>
36975
36976         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
36977         * lib/poll_.h: Likewise.
36978         * lib/stat_.h: Likewise.
36979         * lib/sys_time_.h: Likewise.
36980         * lib/sysexit_.h: Likewise.
36981         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
36982         * lib/stdbool_.h: Likewise.
36983         * lib/byteswap_.h: Add double-inclusion guard.
36984
36985 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
36986
36987         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
36988
36989 2007-03-30  Karl Berry  <karl@gnu.org>
36990
36991         * config/srclist-update: double space after USA in the license
36992         substitution, since that's how it's usually (?) written.
36993
36994 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
36995
36996         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
36997         reported by Bruno Haible.
36998
36999 2007-03-29  Bruno Haible  <bruno@clisp.org>
37000
37001         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
37002         a bug in AIX iconv().
37003
37004 2007-03-29  Bruno Haible  <bruno@clisp.org>
37005
37006         * modules/ldexpl-tests: New file.
37007         * tests/test-ldexpl.c: New file.
37008
37009 2007-03-29  Bruno Haible  <bruno@clisp.org>
37010
37011         * lib/ldexpl.c: Include fpucw.h.
37012         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
37013         multiplication.
37014         * modules/ldexpl (Depends-on): Add fpucw.
37015
37016 2007-03-29  Bruno Haible  <bruno@clisp.org>
37017
37018         * modules/ldexpl: New file.
37019         * m4/ldexpl.m4: New file.
37020         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
37021         set.
37022         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
37023         REPLACE_LDEXPL.
37024         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
37025         REPLACE_LDEXPL.
37026         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
37027         gl_FUNC_LDEXPL_WORKS.
37028         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
37029         * modules/mathl (Files): Remove lib/ldexpl.c.
37030         (Depends-on): Add ldexpl.
37031
37032 2007-03-29  Bruno Haible  <bruno@clisp.org>
37033
37034         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
37035
37036 2007-03-29  Bruno Haible  <bruno@clisp.org>
37037
37038         * tests/test-striconveh.c (main): Don't assume that a direct conversion
37039         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
37040         and possibly also HP-UX.
37041         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
37042         work on AIX, IRIX, HP-UX, OSF/1.
37043         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
37044         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
37045         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
37046         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
37047         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
37048         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
37049
37050 2007-03-29  Bruno Haible  <bruno@clisp.org>
37051
37052         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
37053
37054 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
37055
37056         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
37057         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
37058
37059 2007-03-29  Eric Blake  <ebb9@byu.net>
37060
37061         * lib/acl-internal.h: Remove redundant include.
37062         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
37063         Cygwin when a file is locked.
37064
37065 2007-03-29  Bruno Haible  <bruno@clisp.org>
37066
37067         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
37068         file.
37069         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
37070
37071 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
37072
37073         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
37074         try to remove a parent directory if the child couldn't be removed
37075         (except for the first rmdir, which could fail because the child
37076         doesn't exist).  Problem reported by Jeff Blaine in
37077         <http://lists.gnu.org/archive/html/bug-tar/2007-03/msg00014.html>.
37078
37079 2007-03-28  Bruno Haible  <bruno@clisp.org>
37080
37081         * lib/striconveh.c (utf8conv_carefully): New function.
37082         (mem_cd_iconveh_internal): Invoke it.
37083
37084 2007-03-28  Bruno Haible  <bruno@clisp.org>
37085
37086         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
37087         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
37088         input.
37089         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
37090         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
37091         unistr/u8-uctomb.
37092
37093 2007-03-28  Bruno Haible  <bruno@clisp.org>
37094
37095         * modules/unistr/u8-mbtoucr: New file.
37096         * lib/unistr/u8-mbtoucr.c: New file.
37097         * modules/unistr/u16-mbtoucr: New file.
37098         * lib/unistr/u16-mbtoucr.c: New file.
37099         * modules/unistr/u16-mbtoucr: New file.
37100         * lib/unistr/u16-mbtoucr.c: New file.
37101         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
37102
37103 2007-03-27  Simon Josefsson  <simon@josefsson.org>
37104             Bruno Haible  <bruno@clisp.org>
37105
37106         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
37107         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
37108         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
37109
37110         * m4/stdio_h.m4: Add stubs for vasprintf too.
37111
37112         * modules/stdio: Support vasprintf in sed command.
37113
37114         * modules/vasprintf: Depend on stdio for prototypes.  Remove
37115         vasprintf.h.  Add stdio module indicator.
37116
37117         * lib/stdio_.h: Declare asprintf and vasprintf, based on
37118         vasprintf.h.
37119
37120         * lib/vasprintf.h: File removed.
37121
37122         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
37123         * lib/vasprintf.c: Ditto.
37124         * lib/xvasprintf.c: Ditto.
37125         * tests/test-vasprintf-posix.c: Ditto.
37126         * tests/test-vasprintf.c: Ditto.
37127
37128 2007-03-27  Bruno Haible  <bruno@clisp.org>
37129
37130         Make vasnprintf multithread-safe.
37131         * lib/vasnprintf.c (decimal_point_char): New function.
37132         (VASNPRINTF): Use it.
37133         Suggested by Simon Josefsson.
37134
37135 2007-03-27  Eric Blake  <ebb9@byu.net>
37136
37137         Support sub-second birthtime on cygwin.
37138         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
37139         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
37140         (get_stat_birthtime): Also work with st_birthtim.
37141
37142 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
37143
37144         * lib/stat-time.h (USE_BIRTHTIME): Remove.
37145         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
37146         (get_stat_birthtime_ns): Do not try to use "spare" fields.
37147         (get_stat_birthtime_ns): Simplify compile-time tests.
37148         (get_stat_birthtime): Change the API to look like
37149         get_stat_mtime etc., except return a negative tv_nsec on error.
37150         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
37151         Don't check for "spare" fields.
37152         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
37153         or for struct stat.st_birthtime, as these tests aren't used.
37154         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
37155
37156 2007-03-27  Bruno Haible  <bruno@clisp.org>
37157
37158         * lib/stat-time.h: Include <sys/stat.h>.
37159
37160 2007-03-27  James Youngman  <jay@gnu.org>
37161
37162         * lib/stat-time.h (get_stat_birthtime): New function for
37163           retrieving st_birthtime as provided by UFS2 (hence *BSD).
37164         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
37165           and its variants.
37166         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
37167         * modules/stat-time-test: New file.
37168         * tests/test-stat-time.c: New test, devised by Bruno Haible.
37169
37170 2007-03-26  Bruno Haible  <bruno@clisp.org>
37171
37172         Better support of signalling NaNs.
37173         * lib/atanl.c: Include isnanl.h.
37174         (atanl): Perform test for NaN at the beginning of the function and
37175         through a call to isnanl.
37176         * lib/cosl.c: Include isnanl.h.
37177         (cosl): Perform test for NaN at the beginning of the function and
37178         through a call to isnanl.
37179         * lib/ldexpl.c: Include isnanl.h.
37180         (ldexpl): Perform test for NaN through a call to isnanl.
37181         * lib/logl.c: Include isnanl.h.
37182         (logl): Perform test for NaN at the beginning of the function and
37183         through a call to isnanl.
37184         * lib/sinl.c: Include isnanl.h.
37185         (sinl): Perform test for NaN at the beginning of the function and
37186         through a call to isnanl.
37187         * lib/sqrtl.c: Include isnanl.h.
37188         (sqrtl): Perform test for NaN at the beginning of the function and
37189         through a call to isnanl.
37190         * lib/tanl.c: Include isnanl.h.
37191         (tanl): Perform test for NaN at the beginning of the function and
37192         through a call to isnanl.
37193         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
37194         * modules/mathl (Depends-on): Add isnanl.
37195
37196 2007-03-26  Eric Blake  <ebb9@byu.net>
37197
37198         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
37199         regression in logic sense of previous patch.
37200
37201 2007-03-26  Bruno Haible  <bruno@clisp.org>
37202
37203         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
37204         unportable shell command "if ! ...".
37205         Reported by Ralf Wildenhues.
37206
37207 2007-03-25  Bruno Haible  <bruno@clisp.org>
37208
37209         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
37210         <sysexits.h> file, and only add EX_CONFIG.
37211         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
37212         absolute file name and whether it is sufficient. Substitute also
37213         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
37214         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
37215         ABSOLUTE_SYSEXITS_H into sysexits.h.
37216
37217 2007-03-25  Bruno Haible  <bruno@clisp.org>
37218
37219         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
37220         hints is NULL.
37221
37222 2007-03-25  Bruno Haible  <bruno@clisp.org>
37223
37224         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
37225         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
37226
37227 2007-03-25  Bruno Haible  <bruno@clisp.org>
37228
37229         * lib/vasnprintf.c: Include langinfo.h.
37230         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
37231         multithread-safe.
37232         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
37233         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
37234         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
37235         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
37236         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
37237         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
37238         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
37239         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
37240         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
37241         Reported by Simon Josefsson.
37242
37243 2007-03-25  Bruno Haible  <bruno@clisp.org>
37244
37245         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
37246         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
37247         * modules/vasnprintf (Depends-on): Add stdint.
37248
37249 2007-03-25  Bruno Haible  <bruno@clisp.org>
37250
37251         * modules/fpieee: New file.
37252         * m4/fpieee.m4: New file.
37253         * modules/isnan-nolibm (Depends-on): Add fpieee.
37254         * modules/isnanl-nolibm (Depends-on): Add fpieee.
37255         * modules/isnanl (Depends-on): Add fpieee.
37256
37257 2007-03-25  Bruno Haible  <bruno@clisp.org>
37258
37259         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
37260
37261 2007-03-25  Bruno Haible  <bruno@clisp.org>
37262
37263         Avoid test failures on IRIX 6.5.
37264         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
37265         (main): Use it.
37266         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
37267         macros.
37268         (main): Use them.
37269
37270 2007-03-25  Bruno Haible  <bruno@clisp.org>
37271
37272         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
37273         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
37274         exists but doesn't work.
37275         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
37276         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
37277         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
37278         * modules/math (Makefile.am) Substibute also REPLACE_FREXPL into math.h.
37279
37280 2007-03-25  Bruno Haible  <bruno@clisp.org>
37281
37282         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
37283         returns inf. Needed on IRIX 6.5.
37284
37285 2007-03-25  Bruno Haible  <bruno@clisp.org>
37286
37287         * tests/test-frexpl.c: Include isnanl-nolibm.h.
37288         (main): Use isnanl instead of x != x idiom.
37289         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
37290
37291         * tests/test-frexp.c: Include isnan.h.
37292         (main): Use isnan instead of x != x idiom.
37293         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
37294
37295 2007-03-25  Bruno Haible  <bruno@clisp.org>
37296
37297         * tests/test-frexp.c (NaN): New function/macro.
37298         (main): Use it instead of 0.0 / 0.0.
37299         * tests/test-isnan.c (NaN): New function/macro.
37300         (main): Use it instead of 0.0 / 0.0.
37301         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
37302         (test_function): Use it instead of 0.0 / 0.0.
37303         * tests/test-vasprintf-posix.c (NaN): New function/macro.
37304         (test_function): Use it instead of 0.0 / 0.0.
37305         * tests/test-snprintf-posix.h (NaN): New function/macro.
37306         (test_function): Use it instead of 0.0 / 0.0.
37307         * tests/test-sprintf-posix.h (NaN): New function/macro.
37308         (test_function): Use it instead of 0.0 / 0.0.
37309         * tests/test-fprintf-posix.h (NaN): New function/macro.
37310         (test_function): Use it instead of 0.0 / 0.0.
37311         * tests/test-printf-posix.h (NaN): New function/macro.
37312         (test_function): Use it instead of 0.0 / 0.0.
37313
37314         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
37315
37316 2007-03-25  Bruno Haible  <bruno@clisp.org>
37317
37318         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
37319
37320 2007-03-25  Bruno Haible  <bruno@clisp.org>
37321
37322         * lib/regexec.c (merge_state_with_log): Make static.
37323
37324 2007-03-25  Bruno Haible  <bruno@clisp.org>
37325
37326         * lib/trigl.c (kernel_rem_pio2): Make static.
37327
37328 2007-03-25  Bruno Haible  <bruno@clisp.org>
37329
37330         * lib/sincosl.c (sincosl_table): Make static.
37331
37332 2007-03-25  Bruno Haible  <bruno@clisp.org>
37333
37334         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
37335         if the compiler does not support C99.
37336
37337 2007-03-25  Bruno Haible  <bruno@clisp.org>
37338
37339         * modules/time (Makefile.am): Ensure all rule action lines start with a
37340         tab.
37341
37342 2007-03-24  Bruno Haible  <bruno@clisp.org>
37343
37344         * modules/tsearch-tests: New file.
37345         * tests/test-tsearch.sh: New file.
37346         * tests/test-tsearch.c: New file, mostly copied from glibc.
37347
37348         * modules/search-tests: New file.
37349         * tests/test-search.c: New file.
37350
37351         * modules/search: New file.
37352         * lib/search_.h: New file, incorporating lib/tsearch.h.
37353         * m4/search_h.m4: New file.
37354         * lib/tsearch.h: Remove file.
37355         * lib/tsearch.c: Include search.h instead of tsearch.h.
37356         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
37357         HAVE_TSEARCH.
37358         * modules/tsearch (Files): Remove lib/tsearch.h.
37359         (Depends-on): Add search.
37360         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
37361         (Include): Change tsearch.h into search.h.
37362
37363 2007-03-24  Bruno Haible  <bruno@clisp.org>
37364
37365         * modules/fpucw: New file.
37366         * lib/fpucw.h: New file.
37367         * lib/frexp.c: Include fpucw.h.
37368         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
37369         (FUNC): Use them.
37370         * lib/printf-frexp.c: Include fpucw.h.
37371         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
37372         (FUNC): Use them.
37373         * lib/vasnprintf.c: Include fpucw.h.
37374         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
37375         'long double' calculations.
37376         * tests/test-frexpl.c: Include fpucw.h.
37377         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
37378         * tests/test-printf-frexpl.c: Include fpucw.h.
37379         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
37380         * modules/frexpl (Depends-on): Add fpucw.
37381         * modules/printf-frexpl (Depends-on): Likewise.
37382         * modules/fprintf-posix (Depends-on): Likewise.
37383         * modules/snprintf-posix (Depends-on): Likewise.
37384         * modules/sprintf-posix (Depends-on): Likewise.
37385         * modules/vasnprintf-posix (Depends-on): Likewise.
37386         * modules/vasprintf-posix (Depends-on): Likewise.
37387         * modules/vfprintf-posix (Depends-on): Likewise.
37388         * modules/vsnprintf-posix (Depends-on): Likewise.
37389         * modules/vsprintf-posix (Depends-on): Likewise.
37390         * modules/frexpl-tests (Depends-on): Likewise.
37391         * modules/printf-frexpl-tests (Depends-on): Likewise.
37392
37393 2007-03-24  Bruno Haible  <bruno@clisp.org>
37394
37395         * lib/float+.h: New file.
37396         * lib/isnan.c: Include float+.h.
37397         (SIZE): New macro.
37398         (FUNC): Compare only SIZE bytes of the value.
37399         * lib/vasnprintf.c: Include float+.h.
37400         (VASNPRINTF): When comparing agains +0.0L or +0.0, compare only
37401         SIZEOF_LDBL or SIZEOF_DBL bytes.
37402         * modules/isnan-nolibm (Files): Add lib/float+.h.
37403         * modules/isnanl-nolibm (Files): Add lib/float+.h.
37404         * modules/isnanl (Files): Add lib/float+.h.
37405         * modules/vasnprintf (Files): Add lib/float+.h.
37406
37407 2007-03-24  Bruno Haible  <bruno@clisp.org>
37408
37409         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
37410         include isnanl-nolibm.h.
37411
37412 2007-03-24  Bruno Haible  <bruno@clisp.org>
37413
37414         * tests/test-read-file.c (main): Don't produce spurious output for
37415         expected situations. Make the test fail if it encountered unexpected
37416         results.
37417
37418 2007-03-24  Bruno Haible  <bruno@clisp.org>
37419
37420         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
37421         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
37422
37423 2007-03-24  Bruno Haible  <bruno@clisp.org>
37424
37425         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
37426
37427 2007-03-24  Bruno Haible  <bruno@clisp.org>
37428
37429         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
37430         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
37431
37432         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
37433         * modules/utf8-ucs4: Turn into a symbolic link to module
37434         unistr/u8-mbtouc.
37435
37436         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
37437         utf8-ucs4-unsafe.
37438         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
37439         unistr/u8-mbtouc-unsafe.
37440
37441         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
37442         * modules/utf16-ucs4: Turn into a symbolic link to module
37443         unistr/u16-mbtouc.
37444
37445         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
37446         utf16-ucs4-unsafe.
37447         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
37448         unistr/u16-mbtouc-unsafe.
37449
37450         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
37451         * modules/ucs4-utf8: Turn into a symbolic link to module
37452         unistr/u8-ubtomb.
37453
37454         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
37455         * modules/ucs4-utf16: Turn into a symbolic link to module
37456         unistr/u16-ubtomb.
37457
37458 2007-03-24  Bruno Haible  <bruno@clisp.org>
37459
37460         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
37461         Enable the function only if HAVE_INLINE.
37462         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
37463         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
37464         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
37465         Enable the function only if HAVE_INLINE.
37466         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
37467         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
37468         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
37469         Enable the function only if HAVE_INLINE.
37470         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
37471         Enable the function only if HAVE_INLINE.
37472         * modules/utf8-ucs4: Update.
37473         * modules/utf8-ucs4-unsafe: Update.
37474         * modules/utf16-ucs4: Update.
37475         * modules/utf16-ucs4-unsafe: Update.
37476         * modules/ucs4-utf8: Update.
37477         * modules/ucs4-utf16: Update.
37478
37479 2007-03-24  Bruno Haible  <bruno@clisp.org>
37480
37481         * lib/utf8-ucs4.h: Remove file.
37482         * lib/utf8-ucs4-unsafe.h: Remove file.
37483         * lib/utf16-ucs4.h: Remove file.
37484         * lib/utf16-ucs4-unsafe.h: Remove file.
37485         * lib/ucs4-utf8.h: Remove file.
37486         * lib/ucs4-utf16.h: Remove file.
37487         * lib/unistr.h: Include their previous contents.
37488         * m4/utf-ucs4.m4: Remove file.
37489         * m4/ucs4-utf.m4: Remove file.
37490         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
37491         (Depends-on): Add unistr/base.
37492         (configure.ac): Remove gl_UTF_UCS4.
37493         (Makefile.am): Update.
37494         (Include): Change to unistr.h.
37495         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
37496         (Depends-on): Add unistr/base.
37497         (configure.ac): Remove gl_UTF_UCS4.
37498         (Makefile.am): Update.
37499         (Include): Change to unistr.h.
37500         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
37501         (Depends-on): Add unistr/base.
37502         (configure.ac): Remove gl_UTF_UCS4.
37503         (Makefile.am): Update.
37504         (Include): Change to unistr.h.
37505         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
37506         (Depends-on): Add unistr/base.
37507         (configure.ac): Remove gl_UTF_UCS4.
37508         (Makefile.am): Update.
37509         (Include): Change to unistr.h.
37510         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
37511         (Depends-on): Add unistr/base.
37512         (configure.ac): Remove gl_UCS4_UTF.
37513         (Makefile.am): Update.
37514         (Include): Change to unistr.h.
37515         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
37516         (Depends-on): Add unistr/base.
37517         (configure.ac): Remove gl_UCS4_UTF.
37518         (Makefile.am): Update.
37519         (Include): Change to unistr.h.
37520         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
37521         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
37522         utf8-ucs4-unsafe.h.
37523         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
37524         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
37525         utf16-ucs4-unsafe.h.
37526         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
37527         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
37528         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
37529         * lib/unistr/u8-strchr.c: Likewise.
37530         * lib/unistr/u8-strrchr.c: Likewise.
37531         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
37532         * lib/unistr/u16-strchr.c: Likewise.
37533         * lib/unistr/u16-strrchr.c: Likewise.
37534         * lib/striconveh.c: Update.
37535         * lib/linebreak.c: Update.
37536
37537 2007-03-24  Bruno Haible  <bruno@clisp.org>
37538
37539         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
37540         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
37541
37542 2007-03-22  Bruno Haible  <bruno@clisp.org>
37543
37544         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
37545
37546 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
37547
37548         * MODULES.html.sh (File system functions): New module write-any-file.
37549         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
37550         * m4/write-any-file.m4: New files.
37551
37552 2007-03-23  Eric Blake  <ebb9@byu.net>
37553
37554         * gnulib-tool: Rearrange space-tab sequences, since some editors
37555         like to eat them.
37556
37557 2007-03-23  Eric Blake  <ebb9@byu.net>
37558
37559         * lib/version-etc.c (version_etc_va): Update license wording to
37560         be more concise.  Recommended by Richard Stallman.
37561
37562 2007-03-22  Bruno Haible  <bruno@clisp.org>
37563
37564         * lib/poll.c (MSG_PEEK): New fallback definition.
37565
37566 2007-03-22  Bruno Haible  <bruno@clisp.org>
37567
37568         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
37569         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
37570         (main): Update.
37571         Fixes a compilation error on BeOS.
37572
37573 2007-03-22  Bruno Haible  <bruno@clisp.org>
37574
37575         * modules/frexpl-tests: New file.
37576         * tests/test-frexpl.c: New file.
37577
37578         * modules/frexpl: New file.
37579         * m4/frexpl.m4: New file.
37580         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
37581         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
37582         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
37583         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
37584         (Depends-on): Add frexpl. Remove isnanl-nolibm.
37585         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
37586
37587 2007-03-22  Bruno Haible  <bruno@clisp.org>
37588
37589         * lib/frexpl.c: Share code with lib/frexp.c.
37590         * modules/mathl (Files): Add lib/frexp.c.
37591         (Depends-on): Add isnanl-nolibm.
37592
37593 2007-03-22  Bruno Haible  <bruno@clisp.org>
37594
37595         * modules/printf-frexp (Files): Add m4/frexp.m4.
37596         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
37597         only if the found frexp function actually works.
37598
37599 2007-03-22  Bruno Haible  <bruno@clisp.org>
37600
37601         * lib/frexp.c: Remove older implementation that uses divisions.
37602
37603 2007-03-21  Bruno Haible  <bruno@clisp.org>
37604
37605         * modules/frexp-tests: New file.
37606         * tests/test-frexp.c: New file.
37607
37608         * modules/frexp: New file.
37609         * lib/frexp.c: New file.
37610         * m4/frexp.m4: New file.
37611         * lib/math_.h (frexp): New declaration.
37612         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
37613         REPLACE_FREXP.
37614         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
37615
37616 2007-03-21  Bruno Haible  <bruno@clisp.org>
37617
37618         * modules/isnanl-tests: New file.
37619         * tests/test-isnanl.c: New file.
37620
37621         * modules/isnanl: New file.
37622         * lib/isnanl.h: New file.
37623         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
37624         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
37625         gl_FUNC_ISNANL_WORKS.
37626         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
37627         New macros.
37628
37629 2007-03-21  Bruno Haible  <bruno@clisp.org>
37630
37631         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
37632         lib/isnanl.h.
37633         (Include): Update.
37634         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
37635         * lib/vasnprintf.c: Update.
37636         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
37637         tests/test-isnanl.h, remove tests/test-isnanl.c.
37638         (Makefile.am): Update.
37639         * tests/test-isnanl-nolibm.c: New file.
37640         * tests/test-isnanl.h: New file.
37641         * tests/test-isnanl.c: Remove file.
37642
37643 2007-03-21  Jim Meyering  <jim@meyering.net>
37644
37645         When trying to open ".", treat ESTALE like EACCES.
37646         * lib/savewd.c (savewd_save): Resort to forking not just upon
37647         failure with EACCES, but also when errno is ESTALE.
37648
37649 2007-03-20  Bruno Haible  <bruno@clisp.org>
37650
37651         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
37652         Needed on AIX 5.1. Reported by Matthew Woehlke.
37653
37654 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
37655
37656         Suggestions by Bruno Haible:
37657         * lib/acl-internal.h: Include "gettext.h" rather than rolling
37658         our own.
37659         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
37660         * modules/acl (Depends-on): Add gettext.
37661
37662 2007-03-19  Bruno Haible  <bruno@clisp.org>
37663
37664         * modules/iconvme: Remove file.
37665         * lib/iconvme.h: Remove file.
37666         * lib/iconvme.c: Remove file.
37667         * m4/iconvme.m4: Remove file.
37668
37669 2007-03-19  Bruno Haible  <bruno@clisp.org>
37670
37671         * doc/relocatable-maint.texi: Break long shell script line.
37672         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
37673
37674 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
37675
37676         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
37677         handle file_has_acl.
37678         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
37679         * lib/acl.c: Move header inclusions and related macro defns into
37680         lib/acl-internal.h.
37681         (S_ISLNK): Remove defn, since that's now done for us.
37682         (file_has_acl): Move to lib/file-has-acl.c.
37683         Call acl_trivial if available.  This is the crucial part of the fix.
37684         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
37685         shared within the library.  Rewrite a bit, partly to make it compatible
37686         with the GNU coding style.
37687         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
37688         Remove unnecessary double-quotes.
37689         Don't test for acl_to_text; the build will catch that.
37690         Replace acl_entries if it doesn't exist and it is needed.
37691         Check for -lsec and acl_trivial (as used on Solaris 10).
37692         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
37693         lib/file-has-acl.c.
37694         (Depends-on): Add sys_stat, for S_ISLNK.
37695
37696 2007-03-19  Ben Pfaff  <blp@gnu.org>
37697
37698         * doc/gnulib.texi: Fix typos.
37699         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
37700
37701 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
37702
37703         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
37704         If size is zero here, buf must be zero.
37705
37706 2007-03-19  Simon Josefsson  <simon@josefsson.org>
37707
37708         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
37709         <bruno@clisp.org>.
37710
37711 2007-03-18  Bruno Haible  <bruno@clisp.org>
37712
37713         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
37714         Suggested by Eric Blake.
37715
37716 2007-03-18  Ben Pfaff  <blp@gnu.org>
37717
37718         * doc/relocatable.texi: Recommend using as prefix a directory
37719         that does not exist and will never be created.  Based on
37720         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
37721         and others.
37722
37723 2007-03-17  Bruno Haible  <bruno@clisp.org>
37724
37725         * lib/fchownat.c: Include lchown.h.
37726
37727 2007-03-17  Bruno Haible  <bruno@clisp.org>
37728
37729         Fix endless loop when the given allocated size was > INT_MAX.
37730         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
37731         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
37732         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
37733         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
37734         * lib/sprintf.c (sprintf): Likewise.
37735
37736 2007-03-17  Bruno Haible  <bruno@clisp.org>
37737
37738         * tests/test-argp-2.sh (func_compare): Output a context diff.
37739
37740 2007-03-17  Bruno Haible  <bruno@clisp.org>
37741
37742         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
37743         locale's decimal-point character.
37744
37745 2007-03-17  Bruno Haible  <bruno@clisp.org>
37746
37747         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
37748         before comparing it. Needed because on some platforms (e.g. x86) a
37749         'long double' occupies less bytes than sizeof (long double).
37750
37751 2007-03-17  Bruno Haible  <bruno@clisp.org>
37752
37753         * tests/test-crc.c (main): Make printf statements 64-bit clean.
37754         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
37755         * tests/test-getaddrinfo.c (simple): Likewise.
37756         * tests/test-read-file.c (main): Likewise.
37757
37758 2007-03-17  Bruno Haible  <bruno@clisp.org>
37759
37760         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
37761
37762 2007-03-17  Bruno Haible  <bruno@clisp.org>
37763
37764         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
37765         unused variable.
37766
37767 2007-03-17  Bruno Haible  <bruno@clisp.org>
37768
37769         * tests/test-c-strcasecmp.c: Include c-strcase.h.
37770         * tests/test-c-strncasecmp.c: Likewise.
37771
37772 2007-03-17  Bruno Haible  <bruno@clisp.org>
37773
37774         * modules/stdlib (Depends-on): Add unistd.
37775         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
37776         Needed for MacOS X 10.3.
37777
37778 2007-03-17  Bruno Haible  <bruno@clisp.org>
37779
37780         * lib/unistr/u-strdup.h: Include <stdlib.h>.
37781
37782 2007-03-17  Bruno Haible  <bruno@clisp.org>
37783
37784         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
37785
37786 2007-03-17  Bruno Haible  <bruno@clisp.org>
37787
37788         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
37789         to reflect files copied from gnulib (with or without modifications).
37790         Suggested by Jim Meyering.
37791
37792 2007-03-17  Eric Blake  <ebb9@byu.net>
37793
37794         * NEWS: Document stdlib change from 2007-02-18.
37795
37796 2007-03-17  Jim Meyering  <jim@meyering.net>
37797
37798         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
37799         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
37800         someone uses a name containing shell meta-characters.
37801         Reported by Alfred M. Szmidt.
37802
37803         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
37804
37805 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
37806
37807         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
37808         and copy gettext configuration files only if configure.ac contains
37809         a use of AM_GNU_GETTEXT_VERSION.
37810
37811 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
37812
37813         * build-aux/bootstrap (gnulib_name): New variable.
37814         (gnulib_tool_options): Use it.
37815
37816 2007-03-13  Simon Josefsson  <simon@josefsson.org>
37817
37818         * tests/test-des.c: Use new namespace.
37819
37820 2007-03-15  Bruno Haible  <bruno@clisp.org>
37821
37822         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
37823         Reported by James Youngman <jay@gnu.org>.
37824
37825 2007-03-15  Bruno Haible  <bruno@clisp.org>
37826
37827         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
37828         declared prototype. Needed with cc on OSF/1 5.1.
37829
37830 2007-03-15  Bruno Haible  <bruno@clisp.org>
37831
37832         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
37833         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
37834         (struct gl_list_implementation): Add dispose_fn argument to the
37835         'create_empty', 'create' methods.
37836         (struct gl_list_impl_base): Add field 'dispose_fn'.
37837         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
37838         argument.
37839         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
37840         dispose_fn argument.
37841         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
37842         dispose_fn on the dropped values.
37843         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
37844         dispose_fn argument.
37845         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
37846         dropped values.
37847         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
37848         (gl_tree_remove_node): Call dispose_fn on the dropped value.
37849         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
37850         (gl_tree_remove_node): Call dispose_fn on the dropped value.
37851         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
37852         argument.
37853         (gl_tree_list_free): Call dispose_fn on the dropped values.
37854         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
37855         the dropped values.
37856         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
37857         Add dispose_fn argument.
37858         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
37859         Call dispose_fn on the dropped values.
37860         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
37861         Add dispose_fn argument.
37862         (gl_sublist_create): Initialize the 'dispose_fn' field.
37863         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
37864         * tests/test-array_list.c (main): Update.
37865         * tests/test-carray_list.c (main): Update.
37866         * tests/test-avltree_list.c (main): Update.
37867         * tests/test-rbtree_list.c (main): Update.
37868         * tests/test-avltreehash_list.c (main): Update.
37869         * tests/test-rbtreehash_list.c (main): Update.
37870         * tests/test-linked_list.c (main): Update.
37871         * tests/test-linkedhash_list.c (main): Update.
37872         * tests/test-array_oset.c (main): Update.
37873
37874 2007-03-15  Bruno Haible  <bruno@clisp.org>
37875
37876         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
37877         (gl_oset_create_empty): Add dispose_fn argument.
37878         (struct gl_oset_implementation): Add dispose_fn argument to
37879         'create_empty' method.
37880         (struct gl_oset_impl_base): Add dispose_fn field.
37881         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
37882         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
37883         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
37884         values.
37885         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
37886         (gl_tree_oset_free): Call dispose_fn on the dropped values.
37887         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
37888         dropped value.
37889         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
37890         dropped value.
37891         * tests/test-array_oset.c (main): Update.
37892         * tests/test-avltree_oset.c (main): Update.
37893         * tests/test-rbtree_oset.c (main): Update.
37894         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
37895
37896 2007-03-13  Bruno Haible  <bruno@clisp.org>
37897
37898         * tests/test-stdbool.c (i): Update after last patch.
37899
37900 2007-03-12  Bruno Haible  <bruno@clisp.org>
37901
37902         * lib/quotearg.c: Include <wctype.h> early, before the definition of
37903         the iswprint macro. Needed on Solaris 2.5.1.
37904
37905 2007-03-12  Bruno Haible  <bruno@clisp.org>
37906
37907         * tests/test-printf-frexp.c (main): Declare x as volatile.
37908
37909 2007-03-12  Simon Josefsson  <simon@josefsson.org>
37910
37911         * doc/gnulib.texi (Build robot for gnulib): New section.
37912
37913 2007-03-12  Jim Meyering  <jim@meyering.net>
37914
37915         * build-aux/bootstrap: New file.
37916         * build-aux/bootstrap.conf: New file, from coreutils.
37917
37918 2007-03-11  Bruno Haible  <bruno@clisp.org>
37919
37920         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
37921
37922 2007-03-12  Simon Josefsson  <simon@josefsson.org>
37923
37924         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
37925         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
37926         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
37927
37928 2007-03-11  Bruno Haible  <bruno@clisp.org>
37929
37930         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
37931         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
37932
37933 2007-03-11  Bruno Haible  <bruno@clisp.org>
37934
37935         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
37936         formula. Needed for SunPRO C 5.0.
37937
37938 2007-03-11  Bruno Haible  <bruno@clisp.org>
37939
37940         * modules/long-options (Depends-on): Add getopt.
37941
37942 2007-03-11  Bruno Haible  <bruno@clisp.org>
37943
37944         * modules/modechange (Depends-on): Add stdbool.
37945
37946 2007-03-11  Bruno Haible  <bruno@clisp.org>
37947
37948         * modules/i-ring (Depends-on): Add stdbool.
37949
37950 2007-03-11  Bruno Haible  <bruno@clisp.org>
37951
37952         * modules/gc-des (Depends-on): Add stdbool.
37953
37954 2007-03-11  Bruno Haible  <bruno@clisp.org>
37955
37956         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
37957
37958 2007-03-11  Bruno Haible  <bruno@clisp.org>
37959
37960         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
37961
37962 2007-03-11  Bruno Haible  <bruno@clisp.org>
37963
37964         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
37965
37966 2007-03-11  Bruno Haible  <bruno@clisp.org>
37967
37968         * lib/vasnprintf.c (sprintf): Undefine.
37969
37970 2007-03-11  Bruno Haible  <bruno@clisp.org>
37971
37972         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
37973         initializers in SunPRO C and Compaq C compilers.
37974
37975 2007-03-11  Bruno Haible  <bruno@clisp.org>
37976
37977         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
37978         decrementing code ANSI C compliant.
37979
37980 2007-03-11  Bruno Haible  <bruno@clisp.org>
37981
37982         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
37983         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
37984
37985 2007-03-11  Bruno Haible  <bruno@clisp.org>
37986
37987         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
37988         <stdbool.h> substitute doesn't pass.
37989
37990 2007-03-11  Bruno Haible  <bruno@clisp.org>
37991
37992         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
37993
37994 2007-03-11  Bruno Haible  <bruno@clisp.org>
37995
37996         * gnulib-tool (func_create_megatestdir): Create also an autobuild
37997         script, for submission to autobuild.josefsson.org.
37998
37999 2007-03-10  Bruno Haible  <bruno@clisp.org>
38000
38001         * modules/canonicalize-lgpl-tests: New file.
38002         * tests/test-canonicalize-lgpl.sh: New file.
38003         * tests/test-canonicalize-lgpl.c: New file.
38004
38005         * modules/c-strcase-tests: New file.
38006         * tests/test-c-strcase.sh: New file.
38007         * tests/test-c-strcasecmp.c: New file.
38008         * tests/test-c-strncasecmp.c: New file.
38009
38010         * modules/atexit-tests: New file.
38011         * tests/test-atexit.sh: New file.
38012         * tests/test-atexit.c: New file.
38013
38014 2007-03-10  Bruno Haible  <bruno@clisp.org>
38015
38016         * tests/test-binary-io.sh: Use temporary filenames that are not so
38017         likely to clash with those of other tests (in a parallel make).
38018         * tests/test-binary-io.c: Likewise.
38019
38020 2007-03-10  Bruno Haible  <bruno@clisp.org>
38021
38022         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
38023         fallback; use #error instead.
38024         Suggested by Simon Josefsson.
38025
38026 2007-03-10  Bruno Haible  <bruno@clisp.org>
38027
38028         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
38029         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
38030         first and the last.
38031
38032 2007-03-10  Bruno Haible  <bruno@clisp.org>
38033
38034         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
38035
38036 2007-03-10  Bruno Haible  <bruno@clisp.org>
38037
38038         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
38039         "make distcheck".
38040         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
38041         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
38042         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
38043
38044 2007-03-10  Bruno Haible  <bruno@clisp.org>
38045
38046         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
38047         variable.
38048         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
38049         variable.
38050
38051 2007-03-09  Eric Blake  <ebb9@byu.net>
38052         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
38053
38054         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
38055         types are not being provided by gnulib.
38056         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
38057         types are supported.
38058
38059 2007-03-10  Bruno Haible  <bruno@clisp.org>
38060
38061         * lib/stdio_.h (__attribute__): New macro.
38062         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
38063         vsprintf): Specify __attribute__ __format__ for GCC.
38064         Suggested by Eric Blake.
38065
38066 2007-03-09  Bruno Haible  <bruno@clisp.org>
38067
38068         * modules/printf-posix-tests: New file.
38069         * tests/test-printf-posix.sh: New file.
38070         * tests/test-printf-posix.c: New file.
38071
38072         * modules/printf-posix: New file.
38073         * lib/printf.c: New file.
38074         * m4/printf-posix-rpl.m4: New file.
38075         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
38076         REPLACE_PRINTF.
38077         * lib/stdio_.h (printf): New declaration.
38078         (format, __format__, ____printf____, ____scanf____, ____strftime____,
38079         ____strfmon____): New macros.
38080         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
38081         REPLACE_PRINTF.
38082
38083 2007-03-09  Bruno Haible  <bruno@clisp.org>
38084
38085         * tests/test-vasnprintf-posix2.sh: New file.
38086         * tests/test-vasnprintf-posix2.c: New file.
38087         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
38088         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
38089         (Makefile.am): Activate test-vasnprintf-posix2.sh.
38090
38091         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
38092         a locale dependent decimal point, rather than always '.'.
38093
38094 2007-03-09  Eric Blake  <ebb9@byu.net>
38095
38096         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
38097         spite of platforms like Tandem/NSK that define it to -1.
38098
38099 2007-03-08  Bruno Haible  <bruno@clisp.org>
38100
38101         * modules/vprintf-posix-tests: New file.
38102         * tests/test-vprintf-posix.sh: New file.
38103         * tests/test-vprintf-posix.c: New file.
38104         * tests/test-printf-posix.h: New file.
38105
38106         * modules/vprintf-posix: New file.
38107         * lib/vprintf.c: New file.
38108         * m4/vprintf-posix.m4: New file.
38109         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
38110         REPLACE_VPRINTF.
38111         * lib/stdio_.h (vprintf): New declaration.
38112         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
38113         REPLACE_VPRINTF.
38114
38115 2007-03-08  Bruno Haible  <bruno@clisp.org>
38116
38117         * modules/fprintf-posix-tests: New file.
38118         * tests/test-fprintf-posix.sh: New file.
38119         * tests/test-fprintf-posix.c: New file.
38120
38121         * modules/fprintf-posix: New file.
38122         * lib/fprintf.c: New file.
38123         * m4/fprintf-posix.m4: New file.
38124         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
38125         REPLACE_FPRINTF.
38126         * lib/stdio_.h (fprintf): New declaration.
38127         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
38128         REPLACE_FPRINTF.
38129
38130 2007-03-08  Bruno Haible  <bruno@clisp.org>
38131
38132         * modules/vfprintf-posix-tests: New file.
38133         * tests/test-vfprintf-posix.sh: New file.
38134         * tests/test-vfprintf-posix.c: New file.
38135         * tests/test-fprintf-posix.h: New file.
38136         * tests/test-fprintf-posix.out: New file.
38137
38138         * modules/vfprintf-posix: New file.
38139         * lib/vfprintf.c: New file.
38140         * m4/vfprintf-posix.m4: New file.
38141         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
38142         REPLACE_VFPRINTF.
38143         * lib/stdio_.h (vfprintf): New declaration.
38144         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
38145         REPLACE_VFPRINTF.
38146
38147 2007-03-08  Bruno Haible  <bruno@clisp.org>
38148
38149         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
38150
38151 2007-03-08  Bruno Haible  <bruno@clisp.org>
38152
38153         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
38154         instead of 'expr' invocations.
38155         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
38156         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
38157         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
38158         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
38159         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
38160         Suggested by Paul Eggert.
38161
38162 2007-03-08  Bruno Haible  <bruno@clisp.org>
38163
38164         * modules/fseterr-tests: New file.
38165         * tests/test-fseterr.c: New file.
38166
38167         * modules/fseterr: New file.
38168         * lib/fseterr.h: New file.
38169         * lib/fseterr.c: New file.
38170
38171 2007-03-08  Bruno Haible  <bruno@clisp.org>
38172
38173         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
38174         * lib/getopt_.h: Likewise.
38175         * lib/mbswidth.h: Likewise.
38176         * lib/setenv.h: Likewise.
38177         * lib/vasnprintf.h: Likewise.
38178         * lib/vasprintf.h: Likewise.
38179         * lib/verror.h: Likewise.
38180         * lib/xsetenv.h: Likewise.
38181         * lib/xvasprintf.h: Likewise.
38182
38183 2007-03-08  Jim Meyering  <jim@meyering.net>
38184
38185         * users.txt: Add parted.
38186
38187         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
38188
38189 2007-03-07  Bruno Haible  <bruno@clisp.org>
38190
38191         * m4/printf.m4: Make the shell script snippets copy&pastable.
38192
38193 2007-03-02  Bruno Haible  <bruno@clisp.org>
38194
38195         * lib/netinet_in_.h: New file.
38196         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
38197         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
38198         * modules/netinet_in (Files): Add lib/netinet_in_.h.
38199         (Depends-on): Add absolute-header.
38200         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
38201         into netinet/in.h.
38202
38203 2007-03-03  Bruno Haible  <bruno@clisp.org>
38204
38205         * lib/sys_select_.h: New file.
38206         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
38207         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
38208         * modules/sys_select (Files): Add lib/sys_select_.h.
38209         (Depends-on): Add absolute-header.
38210         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
38211         into sys/select.h.
38212
38213 2007-03-02  Bruno Haible  <bruno@clisp.org>
38214
38215         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
38216         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
38217         values.
38218         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
38219         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
38220         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
38221         * modules/sys_socket (Depends-on): Add absolute-header.
38222         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
38223         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
38224         (Include): Remove requirement of inclusion of <sys/types.h>.
38225
38226 2007-03-02  Bruno Haible  <bruno@clisp.org>
38227
38228         * lib/byteswap_.h (bswap_32): Fix formula.
38229
38230 2007-03-06  Bruno Haible  <bruno@clisp.org>
38231
38232         * modules/sprintf-posix-tests: New file.
38233         * tests/test-sprintf-posix.c: New file.
38234
38235         * modules/sprintf-posix: New file.
38236         * lib/sprintf.c: New file.
38237         * m4/sprintf-posix.m4: New file.
38238         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
38239         REPLACE_SPRINTF.
38240         * lib/stdio_.h (sprintf): New declaration.
38241         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
38242         REPLACE_SPRINTF.
38243
38244 2007-03-06  Bruno Haible  <bruno@clisp.org>
38245
38246         * modules/vsprintf-posix-tests: New file.
38247         * tests/test-vsprintf-posix.c: New file.
38248         * tests/test-sprintf-posix.h: New file.
38249
38250         * modules/vsprintf-posix: New file.
38251         * lib/vsprintf.c: New file.
38252         * m4/vsprintf-posix.m4: New file.
38253         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
38254         REPLACE_VSPRINTF.
38255         * lib/stdio_.h (vsprintf): New declaration.
38256         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
38257         REPLACE_VSPRINTF.
38258
38259 2007-03-06  Bruno Haible  <bruno@clisp.org>
38260
38261         * modules/vsnprintf (Depend-on): Remove minmax.
38262
38263 2007-03-06  Bruno Haible  <bruno@clisp.org>
38264
38265         * modules/snprintf-posix-tests: New file.
38266         * tests/test-snprintf-posix.c: New file.
38267
38268         * modules/snprintf-posix: New file.
38269         * m4/snprintf-posix.m4: New file.
38270         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
38271         gl_FUNC_SNPRINTF.
38272         (gl_FUNC_SNPRINTF): Invoke it.
38273         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
38274         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
38275         is set.
38276         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
38277
38278 2007-03-06  Bruno Haible  <bruno@clisp.org>
38279
38280         * modules/vsnprintf-posix-tests: New file.
38281         * tests/test-vsnprintf-posix.c: New file.
38282         * tests/test-snprintf-posix.h: New file.
38283
38284         * modules/vsnprintf-posix: New file.
38285         * m4/vsnprintf-posix.m4: New file.
38286         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
38287         gl_FUNC_VSNPRINTF.
38288         (gl_FUNC_VSNPRINTF): Invoke it.
38289         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
38290         * lib/stdio_.h (vsnprintf): Define as a replacement if
38291         REPLACE_VSNPRINTF is set.
38292         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
38293
38294 2007-03-06  Bruno Haible  <bruno@clisp.org>
38295
38296         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
38297         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
38298
38299 2007-03-06  Bruno Haible  <bruno@clisp.org>
38300
38301         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
38302         (asinl): Declare also if HAVE_DECL_ASINL is set.
38303         (atanl): Declare also if HAVE_DECL_ATANL is set.
38304         (ceill): Declare also if HAVE_DECL_CEILL is set.
38305         (cosl): Declare also if HAVE_DECL_COSL is set.
38306         (expl): Declare also if HAVE_DECL_EXPL is set.
38307         (floorl): Declare also if HAVE_DECL_FLOORL is set.
38308         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
38309         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
38310         (logl): Declare also if HAVE_DECL_LOGL is set.
38311         (sinl): Declare also if HAVE_DECL_SINL is set.
38312         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
38313         (tanl): Declare also if HAVE_DECL_TANL is set.
38314         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
38315         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
38316         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
38317         declaration of frexpl, ldexpl.
38318         * modules/printf-frexpl (Depends-on): Add math.
38319         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
38320
38321 2007-03-05  Bruno Haible  <bruno@clisp.org>
38322
38323         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
38324         frexpl and ldexpl are declared.
38325         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
38326
38327 2007-03-05  Bruno Haible  <bruno@clisp.org>
38328
38329         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
38330         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
38331
38332 2007-03-05  Bruno Haible  <bruno@clisp.org>
38333
38334         * lib/stdio_.h: Include <stddef.h>.
38335
38336 2007-03-05  Bruno Haible  <bruno@clisp.org>
38337
38338         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
38339
38340 2007-03-05  Bruno Haible  <bruno@clisp.org>
38341
38342         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
38343         NetBSD 4, from Ralf Wildenhues.
38344
38345 2007-03-04  Bruno Haible  <bruno@clisp.org>
38346
38347         * lib/vasprintf.h: Update #if logic for the case when the functions
38348         exist but are overridden.
38349
38350 2007-03-04  Bruno Haible  <bruno@clisp.org>
38351
38352         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
38353         implementations: glibc-2.4 and MacOS X 10.3.
38354         * tests/test-vasnprintf-posix.c (test_function): Test also the case
38355         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
38356         * tests/test-vasprintf-posix.c (test_function): Likewise.
38357
38358 2007-03-04  Bruno Haible  <bruno@clisp.org>
38359
38360         * modules/vasprintf-posix-tests: New file.
38361         * tests/test-vasprintf-posix.c: New file.
38362
38363         * modules/vasprintf-posix: New file.
38364         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
38365         defined.
38366         * m4/vasprintf-posix.m4: New file.
38367         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
38368         gl_FUNC_VASPRINTF.
38369         (gl_FUNC_VASPRINTF): Invoke it.
38370         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
38371         here.
38372         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
38373
38374 2007-03-04  Bruno Haible  <bruno@clisp.org>
38375
38376         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
38377         REPLACE_GETTIMEOFDAY.
38378         * modules/sys_time (Makefile.am): Likewise.
38379         * m4/sys_time_h.m4: Likewise.
38380         * m4/gettimeofday.m4: Likewise.
38381
38382 2007-03-04  Bruno Haible  <bruno@clisp.org>
38383
38384         * modules/vasnprintf-posix-tests: New file.
38385         * tests/test-vasnprintf-posix.c: New file.
38386
38387         * modules/vasnprintf-posix: New file.
38388         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
38389         printf-frexpl.h.
38390         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
38391         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
38392         REPLACE_VASNPRINTF is defined.
38393         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
38394         gl_FUNC_VASNPRINTF.
38395         (gl_FUNC_VASNPRINTF): Invoke it.
38396         * m4/vasnprintf-posix.m4: New file.
38397         * m4/printf.m4: New file.
38398
38399 2007-03-04  Bruno Haible  <bruno@clisp.org>
38400
38401         Compile progreloc.c only if --enable-relocatable is specified.
38402         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
38403         if --enable-relocatable was specified.
38404         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
38405         lib_SOURCES.
38406
38407 2007-03-04  Jim Meyering  <jim@meyering.net>
38408
38409         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
38410         Use it consistently, rather than enumerating errno constants.
38411
38412 2007-03-04  Bruno Haible  <bruno@clisp.org>
38413
38414         * modules/xvasprintf-tests: New file.
38415         * tests/test-xvasprintf.c: New file.
38416
38417         * modules/vasprintf-tests: New file.
38418         * tests/test-vasprintf.c: New file.
38419
38420         * modules/vasnprintf-tests: New file.
38421         * tests/test-vasnprintf.c: New file.
38422
38423         * modules/vsnprintf-tests: New file.
38424         * tests/test-vsnprintf.c: New file.
38425
38426         * modules/snprintf-tests: New file.
38427         * tests/test-snprintf.c: New file.
38428
38429 2007-03-04  Bruno Haible  <bruno@clisp.org>
38430
38431         Compile relocatable.c only if --enable-relocatable is specified.
38432         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
38433         gl_RELOCATABLE_LIBRARY.
38434         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
38435         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
38436         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
38437         gl_RELOCATABLE_LIBRARY.
38438         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
38439         (Makefile.am): Remove lib_SOURCES.
38440         * modules/relocatable-lib-lgpl (configure.ac): Invoke
38441         gl_RELOCATABLE_LIBRARY.
38442         (Makefile.am): Remove lib_SOURCES.
38443         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
38444         always.
38445         * modules/relocatable-prog-wrapper (configure.ac): Invoke
38446         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
38447
38448 2007-03-04  Bruno Haible  <bruno@clisp.org>
38449
38450         * modules/argmatch-tests: New file.
38451         * tests/test-argmatch.c: New file.
38452
38453         * tests/test-allocsa.c (main): Halve the number of loop runs.
38454
38455         * modules/alloca-opt-tests: New file.
38456         * tests/test-alloca-opt.c: New file.
38457
38458 2007-03-04  Jim Meyering  <jim@meyering.net>
38459
38460         Work around difference between Linux ACLs and Solaris 10 ZFS.
38461         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
38462         for EINVAL.
38463
38464 2007-03-03  Bruno Haible  <bruno@clisp.org>
38465
38466         * modules/relocatable-prog (Depends-on): Add back progreloc's
38467         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
38468
38469 2007-03-03  Bruno Haible  <bruno@clisp.org>
38470
38471         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
38472         * modules/relocatable-lib: New file.
38473
38474 2007-03-03  Bruno Haible  <bruno@clisp.org>
38475
38476         * modules/relocatable-prog: Renamed from modules/relocatable.
38477         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
38478
38479 2007-03-03  Bruno Haible  <bruno@clisp.org>
38480
38481         * modules/relocatable-script (Files): Add doc/relocatable.texi,
38482         m4/relocatable-lib.m4.
38483         (Depends-on): Remove 'relocatable'.
38484         (configure.ac): Add gl_RELOCATABLE_NOP.
38485
38486 2007-03-03  Bruno Haible  <bruno@clisp.org>
38487
38488         * modules/relocatable-prog-wrapper: New file.
38489         * modules/relocatable (Depends-on): Add it. Remove all other
38490         dependencies except progname.
38491         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
38492
38493         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
38494         (gl_FUNC_STRERROR): Nop.
38495         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
38496
38497         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
38498         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
38499
38500         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
38501         (gl_FUNC_READLINK): Update.
38502
38503         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
38504
38505 2007-03-03  Bruno Haible  <bruno@clisp.org>
38506
38507         * lib/xreadlink.c: Include <unistd.h> unconditionally.
38508         * modules/xreadlink (Depends-on): Add unistd.
38509         * modules/xreadlink-with-size (Depends-on): Likewise.
38510
38511 2007-03-03  Bruno Haible  <bruno@clisp.org>
38512
38513         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
38514         extracted from gt_FUNC_SETENV.
38515         (gt_FUNC_SETENV): Remove macro.
38516         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
38517         remove gt_FUNC_SETENV.
38518
38519 2007-03-03  Bruno Haible  <bruno@clisp.org>
38520
38521         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
38522         ENABLE_RELOCATABLE here.
38523         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
38524
38525 2007-03-03  Bruno Haible  <bruno@clisp.org>
38526
38527         * modules/rbtreehash-list-tests (Depends-on): Add progname.
38528         * tests/test-rbtreehash_list.c: Include progname.h.
38529         (main): Call set_program_name.
38530
38531         * modules/rbtree-oset-tests (Depends-on): Add progname.
38532         * tests/test-rbtree_oset.c: Include progname.h.
38533         (main): Call set_program_name.
38534
38535         * modules/rbtree-list-tests (Depends-on): Add progname.
38536         * tests/test-rbtree_list.c: Include progname.h.
38537         (main): Call set_program_name.
38538
38539         * modules/linked-list-tests (Depends-on): Add progname.
38540         * tests/test-linked_list.c: Include progname.h.
38541         (main): Call set_program_name.
38542
38543 2007-03-03  Bruno Haible  <bruno@clisp.org>
38544
38545         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
38546         All uses of __restrict changed to _Restrict_.
38547         * lib/glob_.h (__restrict): Remove macro.
38548
38549 2007-03-02  Bruno Haible  <bruno@clisp.org>
38550
38551         * modules/gettext (configure.ac): Require gettext infrastructure
38552         from version 0.16.1.
38553
38554 2007-03-02  Bruno Haible  <bruno@clisp.org>
38555
38556         * modules/linkedhash-list-tests (Depends-on): Add progname.
38557         * tests/test-linkedhash_list.c: Include progname.h.
38558         (main): Call set_program_name.
38559
38560         * modules/carray-list-tests (Depends-on): Add progname.
38561         * tests/test-carray_list.c: Include progname.h.
38562         (main): Call set_program_name.
38563
38564         * modules/avltreehash-list-tests (Depends-on): Add progname.
38565         * tests/test-avltreehash_list.c: Include progname.h.
38566         (main): Call set_program_name.
38567
38568         * modules/avltree-oset-tests (Depends-on): Add progname.
38569         * tests/test-avltree_oset.c: Include progname.h.
38570         (main): Call set_program_name.
38571
38572         * modules/avltree-list-tests (Depends-on): Add progname.
38573         * tests/test-avltree_list.c: Include progname.h.
38574         (main): Call set_program_name.
38575
38576         * modules/array-oset-tests (Depends-on): Add progname.
38577         * tests/test-array_oset.c: Include progname.h.
38578         (main): Call set_program_name.
38579
38580         * modules/array-list-tests (Depends-on): Add progname.
38581         * tests/test-array_list.c: Include progname.h.
38582         (main): Call set_program_name.
38583
38584         * modules/argp-tests (Depends-on): Add progname.
38585         * tests/test-argp.c: Include argp.h first. Include progname.h.
38586         (main): Call set_program_name.
38587
38588 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
38589
38590         * doc/gnulib-tool.texi (Initial import): Reword description of
38591         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
38592         limited effect even if defined after the first system include.
38593
38594 2007-03-01  Bruno Haible  <bruno@clisp.org>
38595
38596         * build-aux/config.libpath: Update to libtool-1.5.22.
38597         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
38598
38599 2007-03-01  Bruno Haible  <bruno@clisp.org>
38600
38601         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
38602         foo_CFLAGS.
38603         Reported by Ralf Wildenhues.
38604
38605 2007-03-01  Bruno Haible  <bruno@clisp.org>
38606
38607         * build-aux/install-reloc: Remove object files left over by some
38608         compilers.
38609         Reported by Ralf Wildenhues.
38610
38611 2007-03-01  Bruno Haible  <bruno@clisp.org>
38612
38613         * build-aux/install-reloc: Break long lines.
38614
38615 2007-03-01  Bruno Haible  <bruno@clisp.org>
38616
38617         * doc/relocatable.texi: Document that it may not work on OpenBSD.
38618         Reported by Ralf Wildenhues.
38619
38620 2007-03-01  Bruno Haible  <bruno@clisp.org>
38621
38622         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
38623         include ordering constraints.
38624
38625 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
38626
38627         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
38628         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00136.html>.
38629         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
38630         as another example.
38631         * lib/time_.h: Fix misspelling.
38632         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
38633         Require gl_HEADER_TIME_H_DEFAULTS.
38634         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
38635         * m4/time_r.m4 (gl_TIME_R): Likewise.
38636         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
38637
38638 2007-03-01  Bruno Haible  <bruno@clisp.org>
38639
38640         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
38641         * m4/utimens.m4 (gl_UTIMENS): Likewise.
38642
38643 2007-03-01  Jim Meyering  <jim@meyering.net>
38644
38645         * modules/xreadlink (Maintainer): Add my name.
38646         * modules/xreadlink-with-size (Depends-on): Alphabetize.
38647
38648 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
38649             Bruno Haible  <bruno@clisp.org>
38650
38651         * build-aux/install-reloc: Compile also c-ctype.c.
38652         * build-aux/relocatable.sh.in: New file.
38653         * doc/relocatable.texi: New file.
38654         * doc/relocatable-maint.texi: New file.
38655         * doc/gnulib.texi: Include relocatable-maint.texi.
38656         * lib/progreloc.c: Include unistd.h unconditionally.
38657         * lib/relocwrapper.c: Include unistd.h unconditionally.
38658         Include c-ctype.h.
38659         (add_dotbin): Use c_tolower.
38660         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
38661         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
38662         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
38663         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
38664         to m4/relocatable-lib.m4.
38665         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
38666         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
38667         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
38668         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
38669         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
38670         * modules/relocatable: New file.
38671         * modules/relocatable-lib: New file.
38672         * modules/relocatable-script: New file.
38673
38674 2007-02-28  Bruno Haible  <bruno@clisp.org>
38675
38676         Import --enable-relocatable infrastructure.
38677         * build-aux/config.libpath: New file, from GNU gettext.
38678         * build-aux/install-reloc: New file, from GNU gettext.
38679         * build-aux/reloc-ldflags: New file, from GNU gettext.
38680         * lib/relocatable.h: New file, from GNU gettext.
38681         * lib/relocatable.c: New file, from GNU gettext.
38682         * lib/relocwrapper.c: New file, from GNU gettext.
38683         * m4/relocatable.m4: New file, from GNU gettext.
38684
38685 2007-02-28  Bruno Haible  <bruno@clisp.org>
38686
38687         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
38688
38689         * modules/xreadlink: New file, from GNU gettext with modifications.
38690         * lib/xreadlink.c: New file, from GNU gettext.
38691         * lib/xreadlink.h: Add comments.
38692         (xreadlink): New declaration.
38693
38694         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
38695         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
38696         lib/xreadlink-with-size.c.
38697         (configure.ac): Remove gl_XREADLINK invocation.
38698         (Makefile.am): Augment lib_SOURCES.
38699         * m4/xreadlink.m4: Remove file.
38700         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
38701         (xreadlink_with_size): Renamed from xreadink.
38702         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
38703         * modules/canonicalize (Depends-on): Replace xreadlink with
38704         xreadlink-with-size.
38705         * lib/canonicalize.c (canonicalize_filename_mode): Update.
38706
38707 2007-02-25  Jim Meyering  <jim@meyering.net>
38708
38709         * build-aux/announce-gen: When complaining about excess arguments,
38710         list them.
38711
38712 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
38713
38714         * README: Document signed integer overflow situation more
38715         accurately.
38716
38717 2007-02-25  Bruno Haible  <bruno@clisp.org>
38718
38719         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
38720         'a' or 'A' conversion.
38721
38722 2007-02-25  Bruno Haible  <bruno@clisp.org>
38723
38724         * modules/filename: Renamed from modules/pathname.
38725         (Files): Replace lib/pathname.h with lib/filename.h. Replace
38726         lib/concatpath.c with lib/concat-filename.c.
38727         (Makefile.am): Update.
38728         (Include): Replace pathname.h with filename.h.
38729         * lib/filename.h: Renamed from lib/pathname.h.
38730         (concatenated_filename): Renamed from concatenated_pathname.
38731         * lib/concat-filename.c: Renamed from lib/concatpath.c.
38732         (concatenated_filename): Renamed from concatenated_pathname.
38733         * lib/findprog.c: Include filename.h instead of pathname.h.
38734         (find_in_path): Update.
38735         * lib/javacomp.c: Include filename.h instead of pathname.h.
38736         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
38737         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
38738         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
38739         is_oldgcj_14_13_usable, is_javac_usable): Update.
38740         * lib/javaexec.c: Include filename.h instead of pathname.h.
38741         (execute_java_class): Update.
38742         * modules/findprog: Update.
38743         * modules/javacomp: Update.
38744         * modules/javaexec: Update.
38745         * MODULES.html.sh (File system functions): Add 'filename', remove
38746         'pathname'.
38747
38748 2007-02-25  Bruno Haible  <bruno@clisp.org>
38749
38750         * modules/printf-frexpl-tests: New file.
38751         * tests/test-printf-frexpl.c: New file.
38752
38753         * modules/printf-frexpl: New file.
38754         * lib/printf-frexpl.h: New file.
38755         * lib/printf-frexpl.c: New file.
38756         * m4/printf-frexpl.m4: New file.
38757
38758 2007-02-25  Bruno Haible  <bruno@clisp.org>
38759
38760         * modules/printf-frexp-tests: New file.
38761         * tests/test-printf-frexp.c: New file.
38762
38763         * modules/printf-frexp: New file.
38764         * lib/printf-frexp.h: New file.
38765         * lib/printf-frexp.c: New file.
38766         * m4/printf-frexp.m4: New file.
38767
38768 2007-02-25  Bruno Haible  <bruno@clisp.org>
38769
38770         Assume automake >= 1.10 for the tests.
38771         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
38772         * modules/arctwo-tests: Likewise.
38773         * modules/argp-tests: Likewise.
38774         * modules/avltree-list-tests: Likewise.
38775         * modules/avltree-oset-tests: Likewise.
38776         * modules/avltreehash-list-tests: Likewise.
38777         * modules/carray-list-tests: Likewise.
38778         * modules/crc-tests: Likewise.
38779         * modules/des-tests: Likewise.
38780         * modules/gc-arcfour-tests: Likewise.
38781         * modules/gc-arctwo-tests: Likewise.
38782         * modules/gc-des-tests: Likewise.
38783         * modules/gc-hmac-md5-tests: Likewise.
38784         * modules/gc-hmac-sha1-tests: Likewise.
38785         * modules/gc-md2-tests: Likewise.
38786         * modules/gc-md4-tests: Likewise.
38787         * modules/gc-md5-tests: Likewise.
38788         * modules/gc-pbkdf2-sha1-tests: Likewise.
38789         * modules/gc-rijndael-tests: Likewise.
38790         * modules/gc-sha1-tests: Likewise.
38791         * modules/gc-tests: Likewise.
38792         * modules/getaddrinfo-tests: Likewise.
38793         * modules/hmac-md5-tests: Likewise.
38794         * modules/hmac-sha1-tests: Likewise.
38795         * modules/linked-list-tests: Likewise.
38796         * modules/linkedhash-list-tests: Likewise.
38797         * modules/lock-tests: Likewise.
38798         * modules/md2-tests: Likewise.
38799         * modules/md4-tests: Likewise.
38800         * modules/md5-tests: Likewise.
38801         * modules/rbtree-list-tests: Likewise.
38802         * modules/rbtree-oset-tests: Likewise.
38803         * modules/rbtreehash-list-tests: Likewise.
38804         * modules/read-file-tests: Likewise.
38805         * modules/rijndael-tests: Likewise.
38806         * modules/stdint-tests: Likewise.
38807         * modules/tls-tests: Likewise.
38808
38809 2007-02-24  Bruno Haible  <bruno@clisp.org>
38810
38811         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
38812         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
38813         function; instead check whether isnan with a double argument links.
38814         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
38815         function; instead check whether isnan with a 'long double' argument
38816         links.
38817         Reported by Eric Blake <ebb9@byu.net>.
38818
38819 2007-02-24  Bruno Haible  <bruno@clisp.org>
38820
38821         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
38822         defined.
38823         * lib/isnanl.c: Remove all code. Just include isnan.c.
38824         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
38825
38826 2007-02-25  Jim Meyering  <jim@meyering.net>
38827
38828         Avoid conflicting types for 'unsetenv' on FreeBSD.
38829         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
38830         conflicting with FreeBSD's (5.0 and 6.1) function declaration
38831         in stdlib.h.
38832
38833 2007-02-24  Bruno Haible  <bruno@clisp.org>
38834
38835         * modules/isnanl-nolibm-tests: New file.
38836         * tests/test-isnanl.c: New file.
38837
38838         * modules/isnanl-nolibm: New file.
38839         * lib/isnanl.h: New file.
38840         * lib/isnanl.c: New file.
38841         * m4/isnanl.m4: New file.
38842
38843 2007-02-24  Bruno Haible  <bruno@clisp.org>
38844
38845         * modules/isnan-nolibm-tests: New file.
38846         * tests/test-isnan.c: New file.
38847
38848         * modules/isnan-nolibm: New file.
38849         * lib/isnan.h: New file.
38850         * lib/isnan.c: New file.
38851         * m4/isnan.m4: New file.
38852
38853 2007-02-24  Bruno Haible  <bruno@clisp.org>
38854
38855         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
38856         assume that an exponent fits in 20 bits.
38857
38858 2007-02-24  Jim Meyering  <jim@meyering.net>
38859
38860         * m4/regex.m4: Update the description of the configure-time option,
38861         --without-included-regex, to state accurately what the defaults are,
38862         and perhaps to give people an idea why using this option is risky.
38863
38864 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
38865
38866         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
38867         loops on small arguments.  This attempts to avoid the problem
38868         Bruno Haible reported for AIX 4.3.2 in
38869         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>.
38870
38871 2007-02-23  Bruno Haible  <bruno@clisp.org>
38872
38873         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
38874         Needed for help2man.
38875
38876 2007-02-23  Karl Berry  <karl@gnu.org>
38877
38878         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
38879         exists, foo.h should be cvs-ignored, not committed.
38880
38881 2007-02-23  Eric Blake  <ebb9@byu.net>
38882
38883         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
38884         * lib/stat-time.h (includes): Likewise.
38885         * lib/utimecmp.c (includes): Likewise.
38886         * lib/utimens.h (includes): Likewise.
38887         * lib/getdate.y (includes): Also include "timespec.h" for use
38888         internal to the module.
38889         * modules/utimens (Depends-on): Revert yesterday's patch.
38890         * modules/nanosleep (Depends-on): Add missing dependency.
38891
38892 2007-02-22  Bruno Haible  <bruno@clisp.org>
38893
38894         * lib/glob.c: Don't include getlogin_r.h.
38895
38896 2007-02-22  Jim Meyering  <jim@meyering.net>
38897
38898         * modules/utimens (Depends-on): Add timespec, required for
38899         utimens.h's inclusion of timespec.h.
38900
38901 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
38902
38903         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
38904         long unreadable paths in GNU/Linux.  Problem reported by Andreas
38905         Schwab in
38906         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>.
38907         I'll try to think of a better way to fix the Solaris problem.
38908
38909         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
38910         like glibc; on Solaris 10, it fails with errno == EINVAL.
38911         POSIX says the behavior is unspecified if the first argument is NULL,
38912         so play it safe and never pass NULL to the system getcwd.
38913
38914 2007-02-21  Jim Meyering  <jim@meyering.net>
38915
38916         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
38917         of gettimeofday.  It would conflict with the one now always
38918         provided via sys_time_.h.  Reported by Matthew Woehlke, as
38919         an IRIX 6.5 build failure.
38920
38921 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
38922
38923         Minor fixups to port to Solaris 10 with Sun C 5.8.
38924         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
38925         * modules/getcwd (Depends-on): Add dirfd.
38926         * lib/putenv.c (putenv): #undef it.
38927         (rpl_putenv): New decl.
38928         (malloc, free): Include <stdlib.h> rather than prototyping separately.
38929
38930 2007-02-20  Bruno Haible  <bruno@clisp.org>
38931
38932         * modules/stdio-tests: New file.
38933         * tests/test-stdio.c: New file.
38934
38935         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
38936         (Depends-on): Add stdio.
38937         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
38938         (Include): Use <stdio.h> instead of vsnprintf.h.
38939         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
38940         HAVE_DECL_VSNPRINTF.
38941         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
38942
38943         * modules/snprintf (Files): Remove lib/snprintf.h.
38944         (Depends-on): Add stdio.
38945         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
38946         (Include): Use <stdio.h> instead of snprintf.h.
38947         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
38948         HAVE_DECL_SNPRINTF.
38949         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
38950         * lib/getaddrinfo.c: Likewise.
38951
38952         * modules/stdio: New file.
38953         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
38954         * lib/snprintf.h: Remove file.
38955         * lib/vsnprintf.h: Remove file.
38956         * lib/.cppi-disable: Remove snprintf.h.
38957         * m4/stdio_h.m4: New file.
38958         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
38959
38960 2007-02-20  Jim Meyering  <jim@meyering.net>
38961
38962         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
38963         used by e.g., mingw.  From Bruno Haible.
38964
38965 2007-02-19  Bruno Haible  <bruno@clisp.org>
38966
38967         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
38968         warnings.
38969         Reported by Ben Pfaff <blp@cs.stanford.edu>.
38970
38971 2007-02-19  Bruno Haible  <bruno@clisp.org>
38972
38973         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
38974         from mingw users.
38975
38976 2007-02-19  Bruno Haible  <bruno@clisp.org>
38977
38978         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
38979         warnings.
38980         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
38981
38982 2007-02-19  Jim Meyering  <jim@meyering.net>
38983
38984         Don't use FD after a successful "fdopendir (fd)".
38985         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
38986         Reset it by calling dirfd on the just-obtained DIR*.
38987
38988         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
38989         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
38990
38991 2007-02-18  Bruno Haible  <bruno@clisp.org>
38992
38993         * lib/readlink.c: Include <unistd.h>.
38994         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
38995         HAVE_READLINK.
38996         * modules/readlink (Depends-on): Add unistd.
38997         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
38998         (Include): Add <unistd.h>.
38999
39000         * lib/getlogin_r.h: Remove file.
39001         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
39002         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
39003         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
39004         HAVE_DECL_GETLOGIN_R.
39005         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
39006         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
39007         (Include): Use <unistd.h> instead of getlogin_r.h.
39008
39009         * lib/getcwd.h: Remove file.
39010         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
39011         * lib/xgetcwd.c: Likewise.
39012         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
39013         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
39014         * modules/getcwd (Files): Remove lib/getcwd.h.
39015         (Depends-on): Add unistd.
39016         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
39017         (Include): Use <unistd.h> instad of getcwd.h.
39018
39019         * lib/ftruncate.c: Include <unistd.h> first.
39020         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
39021         Set HAVE_FTRUNCATE.
39022         * modules/ftruncate (Depends-on): Add unistd.
39023         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
39024
39025         * lib/fchdir.c: Include <unistd.h> first.
39026         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
39027         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
39028         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
39029         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
39030         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
39031
39032         * lib/dup2.c: Include <unistd.h> first.
39033         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
39034         HAVE_DUP2.
39035         * modules/dup2 (Depends-on): Add unistd.
39036         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
39037
39038         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
39039         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
39040         REPLACE_CHOWN. Don't define chown as a macro here.
39041         * modules/chown (Depends-on): Add unistd.
39042         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
39043
39044         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
39045         Add definition for GL_LINK_WARNING.
39046         (chown, dup2): New declarations.
39047         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
39048         link warning.
39049         (ftruncate): New declaration.
39050         (getcwd): New declaration, taken from old getcwd.h.
39051         (getlogin_r): New declaration, taken from old getlogin_r.h.
39052         (readlink): New declaration.
39053         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
39054         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
39055         (gl_PREREQ_UNISTD): Remove macro.
39056         (gl_UNISTD_MODULE_INDICATOR): New macro.
39057         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
39058         many new variables. Don't set UNISTD_H.
39059         * modules/unistd (Description): Change.
39060         (Depends-on): Add link-warning.
39061         (configure.ac): Update.
39062         (Makefile.am): Create unistd.h always. Substitute many new variables
39063         into it.
39064
39065 2007-02-18  Bruno Haible  <bruno@clisp.org>
39066
39067         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
39068         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
39069         HAVE_GETSUBOPT.
39070         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
39071         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
39072         * lib/getsubopt.h: Remove file.
39073         * modules/getsubopt (Files): Remove lib/getsubopt.h.
39074         (Depends-on): Add stdlib.
39075         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
39076         (Includes): Use <stdlib.h> instead of getsubopt.h.
39077         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
39078         Set HAVE_GETSUBOPT.
39079         * lib/getsubopt.c: Don't include getsubopt.h.
39080
39081 2007-02-18  Bruno Haible  <bruno@clisp.org>
39082
39083         * modules/fchdir (Depends-on): Add dup2.
39084
39085 2007-02-18  Bruno Haible  <bruno@clisp.org>
39086
39087         * lib/stdlib_.h: Handle glibc's special invocation convention
39088         specially.
39089
39090 2007-02-18  Bruno Haible  <bruno@clisp.org>
39091
39092         * modules/stdlib-tests: New file.
39093         * tests/test-stdlib.c: New file.
39094
39095         * modules/mkstemp (Files): Remove lib/mkstemp.h.
39096         (Depends-on): Add stdlib.
39097         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
39098         (Includes): Use <stdlib.h> instead of mkstemp.h.
39099         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
39100         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
39101         * lib/mkstemp.c: Don't include mkstemp.h.
39102         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
39103         * lib/stdlib--.h: Don't include mkstemp.h.
39104
39105         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
39106         (Depends-on): Add stdlib.
39107         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
39108         (Includes): Use <stdlib.h> instead of mkdtemp.h.
39109         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
39110         HAVE_MKDTEMP.
39111         * lib/mkdtemp.c: Don't include mkdtemp.h.
39112         * lib/clean-temp.c: Don't include mkdtemp.h.
39113
39114         * modules/exit (Files): Remove lib/exit.h.
39115         (Depends-on): Add stdlib.
39116         (Makefile.am): Remove lib_SOURCES.
39117         (Include): Use <stdlib.h> instead of exit.h.
39118         * lib/argmatch.c: Don't include exit.h.
39119         * lib/execute.c: Likewise.
39120         * lib/pagealign_alloc.c: Likewise.
39121         * lib/pipe.c: Likewise.
39122         * lib/wait-process.c: Likewise.
39123         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
39124         * lib/exitfail.c: Likewise.
39125         * lib/savewd.c: Likewise.
39126         * lib/xsetenv.c: Likewise.
39127
39128         * modules/stdlib: New file.
39129         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
39130         and extra comments about mkstemp().
39131         * lib/exit.h: Remove file.
39132         * lib/mkdtemp.h: Remove file.
39133         * lib/mkstemp.h: Remove file.
39134         * m4/stdlib_h.m4: New file.
39135         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
39136
39137 2007-02-18  Bruno Haible  <bruno@clisp.org>
39138
39139         * modules/math-tests: New file.
39140         * tests/test-math.c: New file.
39141
39142         * modules/math: New file.
39143         * modules/mathl (Files): Remove lib/mathl.h.
39144         (Depends-on): Add math.
39145         (Makefile.am): Don't mention mathl.h.
39146         (Include): Use <math.h> instead of mathl.h.
39147         * lib/math_.h: New file.
39148         * lib/mathl.h: Remove file.
39149         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
39150         mathl.h.
39151         * lib/asinl.c: Likewise.
39152         * lib/atanl.c: Likewise.
39153         * lib/ceill.c: Likewise.
39154         * lib/cosl.c: Likewise.
39155         * lib/expl.c: Likewise.
39156         * lib/floorl.c: Likewise.
39157         * lib/frexpl.c: Likewise.
39158         * lib/ldexpl.c: Likewise.
39159         * lib/logl.c: Likewise.
39160         * lib/sincosl.c: Likewise.
39161         * lib/sinl.c: Likewise.
39162         * lib/sqrtl.c: Likewise.
39163         * lib/tanl.c: Likewise.
39164         * lib/trigl.c: Likewise.
39165         * m4/math_h.m4: New file.
39166         * MODULES.html.sh (Mathematics): Add math.
39167
39168 2007-02-17  Bruno Haible  <bruno@clisp.org>
39169
39170         * modules/wctype-tests: New file.
39171         * tests/test-wctype.c: New file.
39172
39173         * modules/wchar-tests: New file.
39174         * tests/test-wchar.c: New file.
39175
39176         * modules/unistd-tests: New file.
39177         * tests/test-unistd.c: New file.
39178
39179         * modules/time-tests: New file.
39180         * tests/test-time.c: New file.
39181
39182         * modules/sysexits-tests: New file.
39183         * tests/test-sysexits.c: New file.
39184
39185         * modules/sys_time-tests: New file.
39186         * tests/test-sys_time.c: New file.
39187
39188         * modules/sys_stat-tests: New file.
39189         * tests/test-sys_stat.c: New file.
39190
39191         * modules/sys_socket-tests: New file.
39192         * tests/test-sys_socket.c: New file.
39193
39194         * modules/sys_select-tests: New file.
39195         * tests/test-sys_select.c: New file.
39196
39197         * modules/string-tests: New file.
39198         * tests/test-string.c: New file.
39199
39200         * modules/stdbool-tests: New file.
39201         * tests/test-stdbool.c: New file.
39202
39203         * modules/netinet_in-tests: New file.
39204         * tests/test-netinet_in.c: New file.
39205
39206         * modules/inttypes-tests: New file.
39207         * tests/test-inttypes.c: New file.
39208
39209         * modules/fcntl-tests: New file.
39210         * tests/test-fcntl.c: New file.
39211
39212         * modules/byteswap-tests: New file.
39213         * tests/test-byteswap.c: New file.
39214
39215         * modules/arpa_inet-tests: New file.
39216         * tests/test-arpa_inet.c: New file.
39217
39218 2007-02-17  Bruno Haible  <bruno@clisp.org>
39219
39220         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
39221         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
39222         if the corresponding module is not enabled. Emit link warnings if
39223         the function is used nevertheless.
39224         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
39225         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
39226         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
39227         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
39228         * modules/inttypes (Depends-on): Add link-warning.
39229         (Makefile.am): Copy the contents of build-aux/link-warning.h into
39230         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
39231         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
39232         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
39233         * modules/imaxdiv (configure.ac): Likewise.
39234         * modules/strtoimax (configure.ac): Likewise.
39235         * modules/strtoumax (configure.ac): Likewise.
39236
39237 2007-02-17  Bruno Haible  <bruno@clisp.org>
39238
39239         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
39240         gl_STRING_MODULE_INDICATOR_DEFAULTS.
39241         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
39242         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
39243
39244 2007-02-17  Bruno Haible  <bruno@clisp.org>
39245
39246         * modules/link-warning: New file.
39247         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
39248         * lib/string_.h (GL_LINK_WARNING): Remove definition.
39249         * modules/string (Depends-on): Add link-warning.
39250         (Makefile.am): Copy the contents of build-aux/link-warning.h into
39251         string.h.
39252         * MODULES.html.sh (Support for building libraries and executables): Add
39253         link-warning.
39254
39255 2007-02-17  Bruno Haible  <bruno@clisp.org>
39256
39257         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
39258         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
39259         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
39260         long lines.
39261
39262 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
39263             Bruno Haible  <bruno@clisp.org>
39264
39265         * modules/tmpfile: New file.
39266         * lib/tmpfile.c: New file.
39267         * m4/tmpfile.m4: New file.
39268         * MODULES.html.sh (func_all_modules): New section "Input/output".
39269
39270 2007-02-15  Bruno Haible  <bruno@clisp.org>
39271
39272         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
39273         (supports_delete_on_close): New function.
39274         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
39275
39276 2007-02-14  Bruno Haible  <bruno@clisp.org>
39277
39278         * modules/mbspcasecmp-tests: New file.
39279         * tests/test-mbspcasecmp.sh: New file.
39280         * tests/test-mbspcasecmp.c: New file.
39281
39282         New module mbspcasecmp.
39283         * modules/mbspcasecmp: New file.
39284         * lib/mbspcasecmp.c: New file.
39285         * lib/string_.h (strncasecmp): Change warning message.
39286         (mbspcasecmp): New declaration.
39287         * m4/mbspcasecmp.m4: New file.
39288         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
39289         GNULIB_MBSPCASECMP.
39290         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
39291         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
39292
39293 2007-02-14  Bruno Haible  <bruno@clisp.org>
39294
39295         * modules/mbsncasecmp-tests: New file.
39296         * tests/test-mbsncasecmp.sh: New file.
39297         * tests/test-mbsncasecmp.c: New file.
39298
39299         New module mbsncasecmp.
39300         * modules/mbsncasecmp: New file.
39301         * lib/mbsncasecmp.c: New file.
39302         * lib/string_.h (mbsncasecmp): New declaration.
39303         * m4/mbsncasecmp.m4: New file.
39304         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
39305         GNULIB_MBSNCASECMP.
39306         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
39307         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
39308
39309 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
39310
39311         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
39312         Verify that it doesn't overlap with our flags.
39313         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
39314         do not have the desired effect in multibyte locales; instead, use
39315         mbscasecmp.
39316         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
39317         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
39318         we don't require GNU fnmatch ourselves (if our users require it, they
39319         should do so explicitly).
39320
39321         Fix regex code so it doesn't rely on strcasecmp.
39322         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
39323         Otherwise, include gnulib's langinfo.h.
39324         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
39325         undesirable behavior in non-C locales.  Instead, rely on localecharset.
39326         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
39327         * modules/regex (FILES): Remove m4/codeset.m4.
39328         (Depends-on): Add localcharset.  Remove strcase.
39329
39330 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39331
39332         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
39333         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
39334
39335 2007-02-13  Bruno Haible  <bruno@clisp.org>
39336
39337         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
39338         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
39339
39340 2007-02-12  Bruno Haible  <bruno@clisp.org>
39341
39342         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
39343         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
39344         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
39345         time warning rather than a link error.
39346
39347 2007-02-12  Bruno Haible  <bruno@clisp.org>
39348
39349         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
39350         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
39351         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
39352
39353 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
39354
39355         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
39356         args, not 2.
39357
39358 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
39359
39360         New module 'time', so that apps can include <time.h> as per
39361         POSIX and GNU instead of separate include files like time_r.h
39362         and timegm.h.  This implementation tries out a simpler approach
39363         for replacing decls in standard include files (as compared to
39364         the string module), somewhat as an experiment.
39365
39366         * config/srclist.txt: Comment out mktime.c for now.
39367         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
39368         since it doesn't apply any more.  Use generic wording instead.
39369         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
39370         'time'.
39371         * lib/time_.h, m4/time_h.m4, modules/time: New files.
39372         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
39373         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
39374         Don't include <sys/types.h>; no longer needed since we assume C89.
39375         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
39376         * lib/strftime.c: Likewise.
39377         * lib/time_r.c: Likewise.
39378         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
39379         * lib/nanosleep.c: Include <time.h> first, to check interface.
39380         * lib/strptime.c: Likewise.
39381         * lib/time_r.c: Likewise.
39382         * lib/timegm.c: Likewise.
39383         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
39384         needed.
39385         * lib/timegm.c: Don't include timegm.h; no longer needed.
39386         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
39387         time.h now handles any problems in that area.
39388         (struct timespec, nanosleep): Remove; time.h now arranges for these.
39389         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
39390         that time.h defines struct timespec.
39391         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
39392         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
39393         handles that.
39394         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
39395         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
39396         needed.  Set REPLACE_LOCALTIME.
39397         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
39398         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
39399         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
39400         nanosleep; time_h.m4 now does that.  Don't require
39401         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
39402         module handles this now.
39403         * modules/getdate (Depends-on): Remove timespec.  Add time.
39404         * modules/nanosleep (Depends-on): Likewise.
39405         * modules/stat-time (Depends-on): Likewise.
39406         * modules/nanosleep (Include): Include time.h, not timespec.h.
39407         * modules/strptime (Files): Remove lib/strptime.h.
39408         (Depends-on): Add extensions, time.
39409         (Include): Include time.h, not strptime.h.
39410         * modules/time_r (Files): Remove lib/time_r.h.
39411         (Depends-on): Add time.
39412         (Include): Include time.h, not time_r.h.
39413         * modules/timegm: Likewise.
39414         * modules/timespec (Description): Now does timespec-related decls
39415         of our own, instead of struct timespec itself.
39416         (Depends-on): Add time; remove extensions.
39417         (Maintainer): Add self.
39418         * modules/utimecmp (Depends-on): Add time; remove timespec.
39419         * modules/utimens (Depends-on): Likewise.
39420         * modules/xnanosleep (Depends-on): Likewise.
39421
39422 2007-02-11  Bruno Haible  <bruno@clisp.org>
39423
39424         * lib/c-strstr.c: Include allocsa.h.
39425         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
39426         * lib/c-strcasestr.c: Include allocsa.h.
39427         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
39428         * lib/strcasestr.c: Include allocsa.h.
39429         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
39430         * lib/mbsstr.c: Include allocsa.h.
39431         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
39432         allocsa/freesa instead of malloc/free.
39433         * lib/mbscasestr.c: Include allocsa.h.
39434         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
39435         allocsa/freesa instead of malloc/free.
39436         * modules/c-strstr (Depends-on): Add allocsa.
39437         * modules/c-strcasestr (Depends-on): Likewise.
39438         * modules/strcasestr (Depends-on): Likewise.
39439         * modules/mbsstr (Depends-on): Likewise.
39440         * modules/mbscasestr (Depends-on): Likewise.
39441
39442 2007-02-11  Bruno Haible  <bruno@clisp.org>
39443
39444         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
39445
39446         * modules/mbsspn-tests: New file.
39447         * tests/test-mbsspn.sh: New file.
39448         * tests/test-mbsspn.c: New file.
39449
39450 2007-02-11  Bruno Haible  <bruno@clisp.org>
39451
39452         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
39453
39454         * modules/mbspbrk-tests: New file.
39455         * tests/test-mbspbrk.sh: New file.
39456         * tests/test-mbspbrk.c: New file.
39457
39458 2007-02-11  Bruno Haible  <bruno@clisp.org>
39459
39460         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
39461         unneeded cast.
39462
39463         * modules/mbscspn-tests: New file.
39464         * tests/test-mbscspn.sh: New file.
39465         * tests/test-mbscspn.c: New file.
39466
39467 2007-02-11  Bruno Haible  <bruno@clisp.org>
39468
39469         * modules/mbscasecmp-tests: New file.
39470         * tests/test-mbscasecmp.sh: New file.
39471         * tests/test-mbscasecmp.c: New file.
39472
39473 2007-02-11  Bruno Haible  <bruno@clisp.org>
39474
39475         Ensure O(n) worst-case complexity of mbscasestr.
39476         * lib/mbscasestr.c: Include stdbool.h.
39477         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
39478         functions.
39479         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
39480         the bookkeeping indicates that it's worth it.
39481         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
39482
39483         * modules/mbscasestr-tests: New file.
39484         * tests/test-mbscasestr1.c: New file.
39485         * tests/test-mbscasestr2.sh: New file.
39486         * tests/test-mbscasestr2.c: New file.
39487         * tests/test-mbscasestr3.sh: New file.
39488         * tests/test-mbscasestr3.c: New file.
39489         * tests/test-mbscasestr4.sh: New file.
39490         * tests/test-mbscasestr4.c: New file.
39491         * m4/locale-tr.m4: New file.
39492
39493 2007-02-11  Bruno Haible  <bruno@clisp.org>
39494
39495         Ensure O(n) worst-case complexity of mbsstr.
39496         * lib/mbsstr.c: Include stdbool.h.
39497         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
39498         functions.
39499         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
39500         bookkeeping indicates that it's worth it.
39501         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
39502
39503         * modules/mbsstr-tests: New file.
39504         * tests/test-mbsstr1.c: New file.
39505         * tests/test-mbsstr2.sh: New file.
39506         * tests/test-mbsstr2.c: New file.
39507         * tests/test-mbsstr3.sh: New file.
39508         * tests/test-mbsstr3.c: New file.
39509         * m4/locale-fr.m4: New file.
39510
39511 2007-02-11  Bruno Haible  <bruno@clisp.org>
39512
39513         * lib/mbsrchr.c (mbsrchr): Fix bug.
39514
39515         * modules/mbsrchr-tests: New file.
39516         * tests/test-mbsrchr.sh: New file.
39517         * tests/test-mbsrchr.c: New file.
39518
39519 2007-02-11  Bruno Haible  <bruno@clisp.org>
39520
39521         * lib/mbschr.c (mbschr): Fix bug.
39522
39523         * modules/mbschr-tests: New file.
39524         * tests/test-mbschr.sh: New file.
39525         * tests/test-mbschr.c: New file.
39526         * m4/locale-zh.m4: New file.
39527
39528 2007-02-11  Bruno Haible  <bruno@clisp.org>
39529
39530         Support for copying multibyte string iterators.
39531         * lib/mbiter.h: Include <string.h>.
39532         (mbiter_multi_copy): New function.
39533         (mbi_copy): New macro.
39534         * lib/mbuiter.h: Include <string.h>.
39535         (mbuiter_multi_copy): New function.
39536         (mbui_copy): New macro.
39537
39538 2007-02-11  Bruno Haible  <bruno@clisp.org>
39539
39540         New module mbslen.
39541         * modules/mbslen: New file.
39542         * lib/mbslen.c: New file.
39543         * lib/string_.h (mbslen): New declaration.
39544         * m4/mbslen.m4: New file.
39545         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
39546         GNULIB_MBSLEN.
39547         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
39548         * MODULES.html.sh (Internationalization functions): Add mbslen.
39549
39550 2007-02-11  Bruno Haible  <bruno@clisp.org>
39551
39552         Ensure O(n) worst-case complexity of strcasestr substitute.
39553         * lib/strcasestr.c: Include stdbool.h.
39554         (knuth_morris_pratt): New function.
39555         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
39556         bookkeeping indicates that it's worth it.
39557         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
39558
39559         * modules/strcasestr-tests: New file.
39560         * tests/test-strcasestr.c: New file.
39561
39562 2007-02-11  Bruno Haible  <bruno@clisp.org>
39563
39564         Ensure O(n) worst-case complexity of c_strcasestr.
39565         * lib/c-strcasestr.c: Include stdbool.h, string.h.
39566         (knuth_morris_pratt): New function.
39567         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
39568         the bookkeeping indicates that it's worth it.
39569         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
39570
39571         * modules/c-strcasestr-tests: New file.
39572         * tests/test-c-strcasestr.c: New file.
39573
39574 2007-02-11  Bruno Haible  <bruno@clisp.org>
39575
39576         Ensure O(n) worst-case complexity of c_strstr.
39577         * lib/c-strstr.c: Include stdbool.h, string.h.
39578         (knuth_morris_pratt): New function.
39579         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
39580         bookkeeping indicates that it's worth it.
39581         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
39582
39583         * lib/c-strstr.c: Complete rewrite for maintainability.
39584
39585         * modules/c-strstr-tests: New file.
39586         * tests/test-c-strstr.c: New file.
39587
39588 2007-02-11  Bruno Haible  <bruno@clisp.org>
39589
39590         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
39591         5.2.1 and earlier, whereby \055 was treated just like the range
39592         delimiter '-'.
39593         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
39594
39595 2007-02-08  Bruno Haible  <bruno@clisp.org>
39596
39597         * modules/regex (Depends-on): Add stdbool.
39598         Reported by Dalibor Topic <robilad@kaffe.org>.
39599
39600 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
39601
39602         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
39603         Prefer returning from main to exiting from it.
39604         Remove unnecessary parens after sizeof.
39605
39606 2007-02-05  Bruno Haible  <bruno@clisp.org>
39607
39608         New module mbssep.
39609         * modules/mbssep: New file.
39610         * lib/mbssep.c: New file.
39611         * lib/string_.h (strsep): Add a conditional link warning.
39612         (mbssep): New declaration.
39613         * m4/mbssep.m4: New file.
39614         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
39615         GNULIB_MBSSEP.
39616         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
39617         * MODULES.html.sh (Internationalization functions): Add mbssep.
39618
39619 2007-02-05  Bruno Haible  <bruno@clisp.org>
39620
39621         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
39622         Optimize search in case of 1 delimiter.
39623
39624 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
39625
39626         * lib/acl.h: Include sys/types.h before sys/acl.h.
39627
39628 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
39629
39630         Merge upstream fix for glibc bugzilla #3957:
39631
39632         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
39633
39634         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
39635         bit for RE_HAT_LISTS_NOT_NEWLINE.
39636         (build_charclass_op): Remove bogus comment.
39637
39638 2007-02-05  Simon Josefsson  <simon@josefsson.org>
39639
39640         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
39641
39642 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
39643
39644         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
39645         * lib/memmem.c [!defined _LIBC]: Include config.h.
39646
39647 2007-02-04  Bruno Haible  <bruno@clisp.org>
39648
39649         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
39650         warning message.
39651
39652 2007-02-04  Bruno Haible  <bruno@clisp.org>
39653
39654         New module mbstok_r.
39655         * modules/mbstok_r: New file.
39656         * lib/mbstok_r.c: New file.
39657         * lib/string_.h (strtok_r): Change argument names to match the
39658         comments. Add a conditional link warning.
39659         (mbstok_r): New declaration.
39660         * m4/mbstok_r.m4: New file.
39661         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
39662         GNULIB_MBSTOK_R.
39663         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
39664         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
39665
39666 2007-02-04  Bruno Haible  <bruno@clisp.org>
39667
39668         New module mbsspn.
39669         * modules/mbsspn: New file.
39670         * lib/mbsspn.c: New file.
39671         * lib/string_.h (strspn): Add a conditional link warning.
39672         (mbsspn): New declaration.
39673         * m4/mbsspn.m4: New file.
39674         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
39675         GNULIB_MBSSPN.
39676         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
39677         * MODULES.html.sh (Internationalization functions): Add mbsspn.
39678
39679 2007-02-04  Bruno Haible  <bruno@clisp.org>
39680
39681         New module mbspbrk.
39682         * modules/mbspbrk: New file.
39683         * lib/mbspbrk.c: New file.
39684         * lib/string_.h (strpbrk): Add a conditional link warning.
39685         (mbspbrk): New declaration.
39686         * m4/mbspbrk.m4: New file.
39687         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
39688         GNULIB_MBSPBRK.
39689         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
39690         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
39691
39692 2007-02-04  Bruno Haible  <bruno@clisp.org>
39693
39694         New module mbscspn.
39695         * modules/mbscspn: New file.
39696         * lib/mbscspn.c: New file.
39697         * lib/string_.h (strcspn): Add a conditional link warning.
39698         (mbscspn): New declaration.
39699         * m4/mbscspn.m4: New file.
39700         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
39701         GNULIB_MBSCSPN.
39702         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
39703         * MODULES.html.sh (Internationalization functions): Add mbscspn.
39704
39705 2007-02-04  Bruno Haible  <bruno@clisp.org>
39706
39707         New module mbscasestr, reduced goal of strcasestr.
39708         * modules/mbscasestr: New file.
39709         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
39710         (mbscasestr): Renamed from strcasestr.
39711         * lib/strcasestr.c: Don't include mbuiter.h.
39712         (strcasestr): Remove support for multibyte locales.
39713         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
39714         Change the conditional link warning.
39715         (mbscasestr): New declaration.
39716         * m4/mbscasestr.m4: New file.
39717         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
39718         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
39719         REPLACE_STRCASESTR.
39720         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
39721         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
39722         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
39723         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
39724         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
39725         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
39726         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
39727         (Depends-on): Remove mbuiter.
39728         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
39729
39730 2007-02-04  Bruno Haible  <bruno@clisp.org>
39731
39732         Simplify handling of strncasecmp.
39733         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
39734         the conditional link warning.
39735         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
39736         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
39737         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
39738         * modules/strcase (configure.ac): Don't invoke
39739         gl_STRING_MODULE_INDICATOR.
39740         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
39741
39742 2007-02-04  Bruno Haible  <bruno@clisp.org>
39743
39744         New module mbscasecmp, reduced goal of strcasecmp.
39745         * modules/mbscasecmp: New file.
39746         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
39747         (mbscasecmp): Renamed from strcasecmp.
39748         * lib/strcasecmp.c: Don't include mbuiter.h.
39749         (strcasecmp): Remove support for multibyte locales.
39750         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
39751         Change the conditional link warning.
39752         (mbscasecmp): New declaration.
39753         * m4/mbscasecmp.m4: New file.
39754         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
39755         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
39756         REPLACE_STRCASECMP.
39757         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
39758         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
39759         GNULIB_MBSCASECMP.
39760         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
39761         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
39762         * modules/strcase (Files): Remove m4/mbrtowc.m4.
39763         (Depends-on): Remove mbuiter.
39764         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
39765
39766 2007-02-04  Bruno Haible  <bruno@clisp.org>
39767
39768         New module mbsstr. Remove module strstr.
39769         * modules/mbsstr: New file.
39770         * modules/strstr: Remove file.
39771         * lib/mbsstr.c: Renamed from lib/strstr.c.
39772         (mbsstr): Renamed from strstr.
39773         * lib/string_.h (strstr): Remove declaration. Change the conditional
39774         link warning.
39775         (mbsstr): New declaration.
39776         * m4/mbsstr.m4: New file.
39777         * m4/strstr.m4: Remove file.
39778         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
39779         REPLACE_STRSTR.
39780         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
39781         Don't initialize GNULIB_STRSTR.
39782         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
39783         substitute GNULIB_STRSTR and REPLACE_STRSTR.
39784         * MODULES.html.sh (Internationalization functions): Add mbsstr.
39785         (Support for systems lacking ANSI C 89): Remove strstr.
39786
39787 2007-02-04  Bruno Haible  <bruno@clisp.org>
39788
39789         New module mbsrchr.
39790         * modules/mbsrchr: New file.
39791         * lib/mbsrchr.c: New file.
39792         * lib/string_.h (strrchr): Add a conditional link warning.
39793         (mbsrchr): New declaration.
39794         * m4/mbsrchr.m4: New file.
39795         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
39796         GNULIB_MBSRCHR.
39797         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
39798         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
39799
39800 2007-02-04  Bruno Haible  <bruno@clisp.org>
39801
39802         New module mbschr.
39803         * modules/mbschr: New file.
39804         * lib/mbschr.c: New file.
39805         * lib/string_.h (strchr): Add a conditional link warning.
39806         (mbschr): New declaration.
39807         * m4/mbschr.m4: New file.
39808         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
39809         GNULIB_MBSCHR.
39810         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
39811         * MODULES.html.sh (Internationalization functions): Add mbschr.
39812
39813 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
39814
39815         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
39816
39817         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
39818
39819 2007-02-04  Bruno Haible  <bruno@clisp.org>
39820
39821         New module description section 'configure.ac-early'.
39822         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
39823         (func_get_autoconf_early_snippet): New function.
39824         (func_import, func_create_testdir): Use it. Remove special cases for
39825         modules 'extensions' and 'lock'.
39826         * modules/extensions (configure.ac-early): Require
39827         gl_USE_SYSTEM_EXTENSIONS.
39828         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
39829
39830 2007-02-04  Bruno Haible  <bruno@clisp.org>
39831
39832         Make use of gcj-4.3's -fsource and -ftarget option.
39833         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
39834         and if so try the options -fsource and -ftarget.
39835         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
39836         source_version, ftarget_option, target_version arguments.
39837         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
39838         (is_envjavac_oldgcj_14_14_usable): Renamed from
39839         is_envjavac_gcj_14_14_usable.
39840         (is_envjavac_oldgcj_14_13_usable): Renamed from
39841         is_envjavac_gcj_14_13_usable.
39842         (is_gcj_present): Update.
39843         (is_gcj_43, is_gcj43_usable): New functions.
39844         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
39845         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
39846         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
39847         try the options -fsource and -ftarget.
39848
39849 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
39850
39851         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
39852         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
39853         larger value.
39854
39855 2007-02-03  Jim Meyering  <jim@meyering.net>
39856
39857         Give tools a better chance to allocate space for very large buffers.
39858         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
39859
39860         Make pwd and readlink work also when run with an unreadable parent dir
39861         on systems with openat support.
39862         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
39863         provided getcwd function, even when we have openat support.
39864         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
39865
39866 2007-02-02  Bruno Haible  <bruno@clisp.org>
39867
39868         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
39869         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
39870         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
39871         portability problems if one of these functions is only used on specific
39872         platforms.
39873         Reported by Paul Eggert.
39874
39875 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
39876
39877         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
39878         is causing more trouble than it's curing.
39879         * lib/regex_internal.h (__mempcpy): Remove.
39880         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
39881         (and make the code a tad smaller to boot).
39882         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
39883
39884 2007-02-02  Jim Meyering  <jim@meyering.net>
39885
39886         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
39887         section, not in the Makefile.am: one.
39888
39889 2007-02-02  Eric Blake  <ebb9@byu.net>
39890
39891         * lib/strchrnul.c: Always include config.h first.
39892
39893         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
39894         gnulib strstr is not necessary here.
39895
39896 2007-02-02  Simon Josefsson  <simon@josefsson.org>
39897
39898         * m4/socklen.m4: Fix typo.
39899
39900 2007-02-02  Eric Blake  <ebb9@byu.net>
39901
39902         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
39903         * modules/netinet_in (Makefile.am): Likewise.
39904
39905 2007-02-01  Bruno Haible  <bruno@clisp.org>
39906
39907         * lib/string_.h (GL_LINK_WARNING): New macro.
39908         (strcasecmp, strstr, strcasestr): If provided by the system,
39909         conditionally define as a macro that leads to a warning instead of to
39910         an error.
39911         (strncasecmp): Conditionally define as a macro that leads to a warning.
39912
39913 2007-02-01  Karl Berry  <karl@gnu.org>
39914
39915         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
39916
39917 2007-02-01  Bruno Haible  <bruno@clisp.org>
39918
39919         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
39920         renamings.
39921
39922 2007-02-01  Eric Blake  <ebb9@byu.net>
39923
39924         * modules/regex (Depends-on): Revert dependence on mempcpy.
39925         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
39926         module's definition of mempcpy.
39927         Reported by Paul Eggert.
39928
39929 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
39930
39931         * lib/string_.h: If the gnulib module XYZ is not present, undefine
39932         the symbol XYZ before redefining it.  This fixes a problem with
39933         programs that don't use XYZ, when compiled on systems that define
39934         XYZ to something else.
39935
39936 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
39937
39938         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
39939         occurs when "mkdir -m foo" creates a setgid directory that is (1)
39940         writeable to group or other and (2) is intended to have a special
39941         mode bit that is set or cleared.  In such a case, the directory
39942         should be neither group- nor other-writeable until the special
39943         mode bits are right.
39944
39945 2007-01-31  Eric Blake  <ebb9@byu.net>
39946
39947         * modules/mountlist (Depends-on): Add strstr.
39948
39949         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
39950         bug.
39951         * modules/string (Makefile.am): Remove redundant replacement.
39952         * modules/regex (Depends-on): Add mempcpy.
39953
39954 2007-01-31  Bruno Haible  <bruno@clisp.org>
39955
39956         New module description field 'Link'.
39957         * gnulib-tool (func_usage): Document --extract-link-directive.
39958         (sed_extract_prog): Recognize 'Link' directive.
39959         (func_get_link_directive): New function.
39960         (func_import): Show summary of link directives.
39961         Handle --extract-link-directive option.
39962         * modules/acl (Link): New section.
39963         * modules/clock-time (Link): New section.
39964         * modules/euidaccess (Link): New section.
39965         * modules/gettext (Link): New section.
39966         * modules/iconv (Link): New section.
39967         * modules/lock (Link): New section.
39968         * modules/nanosleep (Link): New section.
39969         * modules/readline (Link): New section.
39970
39971 2007-01-27  Bruno Haible  <bruno@clisp.org>
39972
39973         Enforce the use of gnulib modules for unportable <string.h> functions.
39974         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
39975         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
39976         (gl_HEADER_STRING_H_BODY): Require it.
39977         * lib/string_.h: If the gnulib module XYZ is not present, redefine
39978         the symbol XYZ to one that gives a link error.
39979         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
39980         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
39981         * modules/mempcpy (configure.ac): Likewise.
39982         * modules/memrchr (configure.ac): Likewise.
39983         * modules/stpcpy (configure.ac): Likewise.
39984         * modules/stpncpy (configure.ac): Likewise.
39985         * modules/strcase (configure.ac): Likewise.
39986         * modules/strcasestr (configure.ac): Likewise.
39987         * modules/strchrnul (configure.ac): Likewise.
39988         * modules/strdup (configure.ac): Likewise.
39989         * modules/strndup (configure.ac): Likewise.
39990         * modules/strnlen (configure.ac): Likewise.
39991         * modules/strpbrk (configure.ac): Likewise.
39992         * modules/strsep (configure.ac): Likewise.
39993         * modules/strstr (configure.ac): Likewise.
39994         * modules/strtok_r (configure.ac): Likewise.
39995
39996 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
39997
39998         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
39999
40000 2007-01-30  Jim Meyering  <jim@meyering.net>
40001
40002         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
40003
40004 2007-01-29  Bruno Haible  <bruno@clisp.org>
40005
40006         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
40007         * lib/execute.c: Likewise.
40008         * lib/pipe.c: Likewise.
40009         * lib/printf-args.h: Likewise.
40010         * lib/printf-args.c: Likewise.
40011         * lib/printf-parse.c: Likewise.
40012         * lib/vasnprintf.c: Likewise.
40013
40014 2007-01-29  Eric Blake  <ebb9@byu.net>
40015
40016         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
40017         declaration.
40018
40019 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
40020
40021         * lib/strptime.h (strptime): Use 'restrict' for args where
40022         POSIX requires this.
40023         * lib/strptime.c (strptime): Likewise.
40024         Change license notice from LGPL to GPL, since gnulib-tool will
40025         change this as needed.
40026         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
40027         defined.
40028         Include "strptime.h" first, to check interface.
40029         Do not #undef _LIBC and _NL_CURRENT.
40030         Do not include <stdlib.h>; no longer needed.
40031         Include "time_r.h" and declare ptime_locale_status
40032         only if _LIBC is not defined.
40033         (__P): Remove unused macro.
40034         (match_string): Bring back glibc version, but use it only if _LIBC
40035         is defined.
40036         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
40037         Remove unnecessary assertion and abort() call.
40038         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
40039         * m4/strptime.m4: Fix serial number comment.
40040         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
40041         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
40042         (Depends-on): Add time_r.
40043
40044 2007-01-29  Bruno Haible  <bruno@clisp.org>
40045
40046         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
40047         strptime.
40048         * modules/strptime (Depends-on): Add stdbool.
40049         * lib/strptime.h: Include <time.h> always. Add comments.
40050
40051 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
40052
40053         * modules/strptime: New file.
40054         * lib/strptime.h: New file.
40055         * lib/strptime.c: New file.
40056         * m4/strptime.m4: New file.
40057
40058 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
40059
40060         * MODULES.html.sh: New module mpsort.
40061         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
40062
40063         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
40064         a circularity problem with HP-UX ia64 reported by Bob Proulx in
40065         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
40066         All uses changed.
40067         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
40068         All uses changed.
40069         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
40070         to _Restrict_.
40071         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
40072         the parameter matches the prototype.
40073
40074 2007-01-28  Jim Meyering  <jim@meyering.net>
40075
40076         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
40077         sys/time.h here, reverting that part of the previous patch:
40078         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
40079
40080 2007-01-28  Bruno Haible  <bruno@clisp.org>
40081
40082         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
40083         value of $(SYS_TIME_H).
40084         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
40085         remove it conditionally, too. [added by Jim Meyering]
40086         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
40087         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
40088         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
40089         GETTIMEOFDAY_REPLACEMENT to 1.
40090
40091 2007-01-28  Bruno Haible  <bruno@clisp.org>
40092
40093         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
40094         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
40095         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
40096         Set UNISTD_H instead of UNISTD_H2.
40097         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
40098
40099 2007-01-28  Bruno Haible  <bruno@clisp.org>
40100
40101         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
40102         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
40103
40104 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40105
40106         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
40107         (func_create_testdir): Ensure C locale for `grep' and `tr'
40108         character ranges.
40109         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
40110         ACLOCAL_AMFLAGS parsing state machine.
40111
40112 2007-01-27  Bruno Haible  <bruno@clisp.org>
40113
40114         * modules/unistr/base: Update.
40115
40116 2007-01-27  Bruno Haible  <bruno@clisp.org>
40117
40118         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
40119         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
40120         * modules/unistr/u32-mbtouc-unsafe: Renamed from
40121         modules/unistr/u32-mbtouc.
40122         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
40123         * lib/unistr.h: Update.
40124         * lib/linebreak.c: Update.
40125         * modules/unistr/u32-mbtouc: Renamed from
40126         modules/unistr/u32-mbtouc-safe.
40127         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
40128         * lib/unistr.h: Update.
40129         * lib/unistr/u32-to-u8.c: Update.
40130         * lib/unistr/u32-to-u16.c: Update.
40131
40132 2007-01-27  Bruno Haible  <bruno@clisp.org>
40133
40134         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
40135         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
40136         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
40137         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
40138         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
40139         * modules/unistr/u16-mbtouc-unsafe: Renamed from
40140         modules/unistr/u16-mbtouc.
40141         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
40142         * lib/unistr.h: Update.
40143         * lib/linebreak.c: Update.
40144         * modules/linebreak: Update.
40145         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
40146         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
40147         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
40148         * modules/unistr/u16-mbtouc: Renamed from
40149         modules/unistr/u16-mbtouc-safe.
40150         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
40151         * lib/unistr.h: Update.
40152         * lib/unistr/u16-to-u8.c: Update.
40153         * modules/unistr/u16-to-u8: Update.
40154         * lib/unistr/u16-to-u32.c: Update.
40155         * modules/unistr/u16-to-u32: Update.
40156
40157 2007-01-27  Bruno Haible  <bruno@clisp.org>
40158
40159         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
40160         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
40161         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
40162         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
40163         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
40164         * modules/unistr/u8-mbtouc-unsafe: Renamed from
40165         modules/unistr/u8-mbtouc.
40166         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
40167         * lib/unistr.h: Update.
40168         * lib/striconveh.c: Update.
40169         * modules/striconveh: Update.
40170         * lib/linebreak.c: Update.
40171         * modules/linebreak: Update.
40172         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
40173         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
40174         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
40175         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
40176         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
40177         * lib/unistr.h: Update.
40178         * lib/striconveh.c: Update.
40179         * modules/striconveh: Update.
40180         * lib/unistr/u8-to-u16.c: Update.
40181         * modules/unistr/u8-to-u16: Update.
40182         * lib/unistr/u8-to-u32.c: Update.
40183         * modules/unistr/u8-to-u32: Update.
40184
40185 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40186
40187         Sync from Libtool.
40188         * lib/argz.c: Do not include strings.h nor memory.h, include
40189         string.h unconditionally.  Patch by Simon Josefsson.
40190
40191 2007-01-27  Bruno Haible  <bruno@clisp.org>
40192
40193         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
40194         from gl_HEADER_STRING_H_BODY.
40195         (gl_HEADER_STRING_H_BODY): Require it.
40196         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
40197         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
40198         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
40199         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
40200         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
40201         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
40202         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
40203         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
40204         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
40205         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
40206         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
40207         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
40208         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
40209         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
40210         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
40211
40212 2007-01-27  Bruno Haible  <bruno@clisp.org>
40213
40214         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
40215         check_PROGRAMS into noinst_PROGRAMS.
40216         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
40217         check_PROGRAMS in this case.
40218         (func_import): Set for_test to false.
40219         (func_create_testdir): Set for_test to true.
40220
40221 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
40222             Bruno Haible  <bruno@clisp.org>
40223
40224         * modules/strcasestr (Files): Remove lib/strcasestr.h.
40225         (Depends-on): Add string.
40226         (Includes): Use <string.h> instead of strcasestr.h.
40227         * modules/string (Makefile.am): Also substitute the value of
40228         REPLACE_STRCASESTR.
40229         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
40230         assume strcasestr is declared in <string.h> not <strings.h>. Also
40231         set REPLACE_STRCASESTR.
40232         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
40233         REPLACE_STRCASESTR.
40234         * lib/strcasestr.h: Remove file.
40235         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
40236         * lib/string_.h (strcasestr): New declaration.
40237
40238 2007-01-27  Bruno Haible  <bruno@clisp.org>
40239
40240         * lib/string_.h: Use 'extern'.
40241
40242 2007-01-27  Jim Meyering  <jim@meyering.net>
40243
40244         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
40245         of set-but-not-used local, "q".
40246
40247         * lib/mempcpy.c: Include <config.h> before <string.h>.
40248         This fixes a compilation error on HP-UX, due to the system's
40249         "restrict"-using mempcpy prototype.
40250
40251 2007-01-26  Bruno Haible  <bruno@clisp.org>
40252
40253         Small optimization.
40254         * lib/javacomp.c: Include c-strstr.h.
40255          (is_envjavac_gcj): Use c_strstr instead of strstr.
40256         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
40257
40258 2007-01-26  Bruno Haible  <bruno@clisp.org>
40259
40260         * MODULES.html.sh (Unicode string functions): Add the new modules.
40261
40262         * modules/uniconv/u32-strconv-to-locale: New file.
40263         * lib/uniconv/u32-strconv-to-locale.c: New file.
40264
40265         * modules/uniconv/u16-strconv-to-locale: New file.
40266         * lib/uniconv/u16-strconv-to-locale.c: New file.
40267
40268         * modules/uniconv/u8-strconv-to-locale: New file.
40269         * lib/uniconv/u8-strconv-to-locale.c: New file.
40270
40271         * modules/uniconv/u32-strconv-from-locale: New file.
40272         * lib/uniconv/u32-strconv-from-locale.c: New file.
40273
40274         * modules/uniconv/u16-strconv-from-locale: New file.
40275         * lib/uniconv/u16-strconv-from-locale.c: New file.
40276
40277         * modules/uniconv/u8-strconv-from-locale: New file.
40278         * lib/uniconv/u8-strconv-from-locale.c: New file.
40279
40280         * modules/uniconv/u32-strconv-to-enc: New file.
40281         * lib/uniconv/u32-strconv-to-enc.c: New file.
40282         * modules/uniconv/u32-strconv-to-enc-tests: New file.
40283         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
40284
40285         * modules/uniconv/u16-strconv-to-enc: New file.
40286         * lib/uniconv/u16-strconv-to-enc.c: New file.
40287         * lib/uniconv/u-strconv-to-enc.h: New file.
40288         * modules/uniconv/u16-strconv-to-enc-tests: New file.
40289         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
40290
40291         * modules/uniconv/u8-strconv-to-enc: New file.
40292         * lib/uniconv/u8-strconv-to-enc.c: New file.
40293         * modules/uniconv/u8-strconv-to-enc-tests: New file.
40294         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
40295
40296         * modules/uniconv/u32-strconv-from-enc: New file.
40297         * lib/uniconv/u32-strconv-from-enc.c: New file.
40298         * modules/uniconv/u32-strconv-from-enc-tests: New file.
40299         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
40300
40301         * modules/uniconv/u16-strconv-from-enc: New file.
40302         * lib/uniconv/u16-strconv-from-enc.c: New file.
40303         * modules/uniconv/u16-strconv-from-enc-tests: New file.
40304         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
40305
40306         * modules/uniconv/u8-strconv-from-enc: New file.
40307         * lib/uniconv/u8-strconv-from-enc.c: New file.
40308         * lib/uniconv/u-strconv-from-enc.h: New file.
40309         * modules/uniconv/u8-strconv-from-enc-tests: New file.
40310         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
40311
40312         * modules/uniconv/u32-conv-from-enc: New file.
40313         * lib/uniconv/u32-conv-from-enc.c: New file.
40314         * modules/uniconv/u32-conv-from-enc-tests: New file.
40315         * tests/uniconv/test-u32-conv-from-enc.c: New file.
40316
40317         * modules/uniconv/u16-conv-from-enc: New file.
40318         * lib/uniconv/u16-conv-from-enc.c: New file.
40319         * lib/uniconv/u-conv-from-enc.h: New file.
40320         * modules/uniconv/u16-conv-from-enc-tests: New file.
40321         * tests/uniconv/test-u16-conv-from-enc.c: New file.
40322
40323         * modules/uniconv/u8-conv-from-enc: New file.
40324         * lib/uniconv/u8-conv-from-enc.c: New file.
40325         * modules/uniconv/u8-conv-from-enc-tests: New file.
40326         * tests/uniconv/test-u8-conv-from-enc.c: New file.
40327
40328         * modules/uniconv/base: New file.
40329         * lib/uniconv.h: New file.
40330
40331 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
40332
40333         * doc/gnulib-tool.texi (Initial import): Update to match current
40334         behavior with strdup module.
40335         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
40336         * lib/memmem.h: Remove; all uses removed.  This is now done
40337         by <string.h>.
40338         * lib/mempcpy.h: Likewise.
40339         * lib/memrchr.h: Likewise.
40340         * lib/stpcpy.h: Likewise.
40341         * lib/stpncpy.h: Likewise.
40342         * lib/strcase.h: Likewise.
40343         * lib/strchrnul.h: Likewise.
40344         * lib/strdup.h: Likewise.
40345         * lib/strndup.h: Likewise.
40346         * lib/strnlen.h: Likewise.
40347         * lib/strpbrk.h: Likewise.
40348         * lib/strsep.h: Likewise.
40349         * lib/strstr.h: Likewise.
40350         * lib/strtok_r.h: Likewise.
40351         * lib/string_.h: New file.
40352         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
40353         Rely on <string.h> instead.
40354         * lib/canon-host.c: Likewise.
40355         * lib/chdir-long.c: Likewise.
40356         * lib/concatpath.c: Likewise.
40357         * lib/exclude.c: Likewise.
40358         * lib/fchdir.c: Likewise.
40359         * lib/getaddrinfo.c: Likewise.
40360         * lib/getcwd.c: Likewise.
40361         * lib/getsubopt.c: Likewise.
40362         * lib/glob.c: Likewise.
40363         * lib/hard-locale.c: Likewise.
40364         * lib/iconvme.c: Likewise.
40365         * lib/javacomp.c: Likewise.
40366         * lib/mempcpy.c: Likewise.
40367         * lib/memrchr.c: Likewise.
40368         * lib/regex_internal.h: Likewise.
40369         * lib/stpncpy.c: Likewise.
40370         * lib/strcasecmp.c: Likewise.
40371         * lib/strchrnul.c: Likewise.
40372         * lib/strdup.c: Likewise.
40373         * lib/striconv.c: Likewise.
40374         * lib/striconveh.c: Likewise.
40375         * lib/striconveha.c: Likewise.
40376         * lib/strncasecmp.c: Likewise.
40377         * lib/strndup.c: Likewise.
40378         * lib/strnlen.c: Likewise.
40379         * lib/strsep.c: Likewise.
40380         * lib/strstr.c: Likewise.
40381         * lib/strtok_r.c: Likewise.
40382         * lib/userspec.c: Likewise.
40383         * lib/w32spawn.h: Likewise.
40384         * lib/xstrndup.c: Likewise.
40385         * lib/mountlist.c (strstr): Remove decl.
40386         * m4/string_h.m4: New file.
40387         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
40388         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
40389         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
40390         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
40391         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
40392         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
40393         Set REPLACE_STRCASECMP if necessary.
40394         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
40395         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
40396         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
40397         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
40398         HAVE_DECL_STRDUP if necessary.
40399         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
40400         since gl_FUNC_STRNDUP does that now.
40401         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
40402         Check for decl here...
40403         (gl_PREREQ_STRNLEN): ... not here.
40404         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
40405         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
40406         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
40407         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
40408         necessary.
40409         * modules/string: New file.
40410         * modules/memmem (Files): Remove special-purpose include file.
40411         (Depends-on): Add string.
40412         (Include): Include <string.h>, not the removed file.
40413         * modules/mempcpy: Likewise.
40414         * modules/memrchr: Likewise.
40415         * modules/stpcpy: Likewise.
40416         * modules/stpncpy: Likewise.
40417         * modules/strcase: Likewise.
40418         * modules/strchrnul: Likewise.
40419         * modules/strdup: Likewise.
40420         * modules/strndup: Likewise.
40421         * modules/strnlen: Likewise.
40422         * modules/strpbrk: Likewise.
40423         * modules/strsep: Likewise.
40424         * modules/strstr: Likewise.
40425         * modules/strtok_r: Likewise.
40426         * tests/test-dirname.c: Don't include "strdup.h", since
40427         <string.h> now suffices.
40428         * tests/test-memmem.c: Don't include "memmem.h", since
40429         <string.h> now suffices.
40430
40431 2007-01-25  Bruno Haible  <bruno@clisp.org>
40432
40433         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
40434         *resultp is 0.
40435
40436         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
40437         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
40438         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
40439         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
40440
40441         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
40442         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
40443         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
40444         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
40445         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
40446         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
40447
40448 2007-01-24  Bruno Haible  <bruno@clisp.org>
40449
40450         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
40451         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
40452         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
40453         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
40454         gl_FUNC_FTS_CORE.
40455         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
40456         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
40457         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
40458         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
40459         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
40460         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
40461         gl_FUNC_FCHOWNAT.
40462         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
40463         gl_FUNC_STRFTIME.
40464         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
40465         Reported by Ralf Wildenhues.
40466
40467 2007-01-24  Bruno Haible  <bruno@clisp.org>
40468
40469         Drop AC_REQUIRE calls that are redundant with the module dependencies.
40470         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
40471         gl_GETADDRINFO.
40472         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
40473         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
40474         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
40475
40476 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
40477
40478         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
40479         Don't use 'exit'; just return from 'main'.
40480         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
40481
40482         * lib/fnmatch_.h: Readjust white space and comments to match
40483         glibc, to avoid spurious diffs.
40484
40485 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
40486
40487         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
40488         2004-12-01 change by Jakub Jelinek, since this code won't compile
40489         if !LIBC.  Problem reported by Bob Proulx.
40490
40491 2007-01-23  Bruno Haible  <bruno@clisp.org>
40492
40493         * lib/striconveh.c: Include c-strcaseeq.h.
40494         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
40495         * modules/striconveh (Depends-on): Add c-strcaseeq.
40496
40497 2007-01-23  Bruno Haible  <bruno@clisp.org>
40498
40499         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
40500
40501         * modules/c-strcaseeq: New file.
40502         * lib/c-strcaseeq.h: New file.
40503
40504         * modules/streq: New file.
40505         * lib/streq.h: New file.
40506
40507 2007-01-23  Bruno Haible  <bruno@clisp.org>
40508
40509         * modules/striconveha-tests: New file.
40510         * tests/test-striconveha.c: New file.
40511
40512         * lib/striconveha.h: Include <stdbool.h>.
40513         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
40514         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
40515         (mem_iconveha_notranslit): Renamed from mem_iconveha.
40516         (mem_iconveha): New function.
40517         (str_iconveha_notranslit): Renamed from str_iconveha.
40518         (str_iconveha): New function.
40519         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
40520         c-strcase.
40521
40522 2007-01-23  Bruno Haible  <bruno@clisp.org>
40523
40524         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
40525         encodings without forgiving before trying any encoding with handler.
40526         (str_iconveha): Try all encodings without forgiving before trying any
40527         encoding with handler.
40528
40529 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
40530
40531         Import the following changes from libc.
40532
40533         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
40534
40535         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
40536
40537         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
40538
40539         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
40540         normal_bracket label.
40541
40542         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
40543
40544         [BZ #361]
40545         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
40546         to normal_bracket after fetching the next character.
40547
40548 2007-01-22  Bruno Haible  <bruno@clisp.org>
40549
40550         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
40551         argument.
40552         * lib/striconveh.c (iconv_carefully_1): New function.
40553         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
40554         argument.
40555         (str_cd_iconveh): Update.
40556         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
40557         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
40558         * tests/test-striconveh.c (MAGIC): New macro.
40559         (new_offsets): New function.
40560         (main): Test call with and without offsets.
40561
40562 2007-01-22  Bruno Haible  <bruno@clisp.org>
40563
40564         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
40565         * modules/sys_select (Makefile.am): Likewise.
40566         * modules/sys_socket (Makefile.am): Likewise.
40567         * modules/sys_time (Makefile.am): Likewise.
40568
40569 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
40570
40571         * modules/gettimeofday (License): Change from GPL to LGPL, since
40572         gettimeofday is a library function.
40573
40574 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
40575
40576         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
40577
40578 2007-01-21  Bruno Haible  <bruno@clisp.org>
40579
40580         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
40581
40582 2007-01-21  Bruno Haible  <bruno@clisp.org>
40583
40584         * modules/striconveha: New file.
40585         * lib/striconveha.h: New file.
40586         * lib/striconveha.c: New file.
40587         * MODULES.html.sh (Internationalization functions): Add striconveha.
40588         * lib/striconv.c (str_iconv): Optimize the case of an empty input
40589         string.
40590         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
40591
40592 2007-01-21  Bruno Haible  <bruno@clisp.org>
40593
40594         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
40595         * lib/striconveh.c (str_iconveh): Likewise.
40596
40597 2007-01-21  Bruno Haible  <bruno@clisp.org>
40598
40599         * lib/striconveh.h (mem_iconveh): New declaration.
40600         * lib/striconveh.c (mem_iconveh): New function.
40601         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
40602
40603 2007-01-21  Bruno Haible  <bruno@clisp.org>
40604
40605         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
40606
40607         * lib/striconveh.h (mem_cd_iconveh): Change specification.
40608         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
40609         original result buffer.
40610         (str_cd_iconveh): Update.
40611         * tests/test-striconveh.c (main): Update.
40612
40613         * lib/striconv.h (mem_cd_iconv): Change specification.
40614         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
40615         result buffer.
40616         (str_cd_iconv): Update.
40617         * tests/test-striconv.c (main): Update.
40618
40619 2007-01-21  Bruno Haible  <bruno@clisp.org>
40620
40621         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
40622
40623 2007-01-20  Jim Meyering  <jim@meyering.net>
40624
40625         * lib/userspec.c (parse_with_separator): If a user or group string
40626         starts with "+", skip the corresponding name-to-ID look-up, since
40627         such a look-up must fail: user and group names may not include "+".
40628
40629 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
40630
40631         * lib/poll.c: Include sys/time.h and time.h unconditionally,
40632         since we now assume the sys_time module.
40633         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
40634         check for sys/time.h; no longer needed.
40635         * modules/poll (Depends-on): Depend on sys_time.
40636
40637 2007-01-18  Bruno Haible  <bruno@clisp.org>
40638
40639         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
40640         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
40641
40642         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
40643         gettimeofday.
40644
40645         * tests/test-gettimeofday.c: Include <time.h>.
40646         (dummy): Remove variable.
40647
40648         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
40649         gl_HEADER_SYS_TIME_H.
40650         (gl_HEADER_SYS_TIME_H): New macro.
40651
40652         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
40653         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
40654         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
40655         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
40656         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
40657         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
40658         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
40659         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
40660         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
40661         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
40662         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
40663
40664         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
40665         last change; it caused a compilation error when cross-compiling to
40666         Cygwin.
40667
40668 2007-01-18  Jim Meyering  <jim@meyering.net>
40669
40670         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
40671         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
40672         than the race-prone "test -d sys || mkdir sys".
40673         (configure.ac): Use AC_PROG_MKDIR_P.
40674         * modules/sys_select: Likewise.
40675         * modules/sys_socket: Likewise.
40676         * modules/sys_time: Likewise.
40677
40678 2007-01-18  Eric Blake  <ebb9@byu.net>
40679
40680         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
40681         replace gettimeofday.
40682         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
40683         name, to avoid infinite recursion.
40684
40685 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
40686
40687         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
40688         module sys_time.
40689         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
40690         assume timespec.h defines struct timeval.
40691         * lib/settime.c: Likewise.
40692         * lib/utimens.c: Likewise.
40693         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
40694         since we now assume the gettimeofday module.
40695         * lib/tempname.c (__gen_tempname): Likewise.
40696         * lib/gettimeofday.h: Remove.
40697         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
40698         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
40699         Include <time.h>, for 'time()'.
40700         (localtime_buffer_addr): Also use this workaround if
40701         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
40702         to simplify the uses.  All uses changed.
40703         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
40704         that #undef is inside {}, and 'const' follows type name consistently.
40705         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
40706         (gettimeofday): Do not use the maximum possible value for
40707         tv->tv_usec, since that might break usages other than ls.c.
40708         Instead, we'll leave ls.c alone.  This undoes today's patch
40709         by Bruno.  Add a compile-time warning for 1s-clock resolution;
40710         we've never observed the problem but might as well keep the
40711         canary.
40712         * lib/nanosleep.c: Include timespec.h first, for interface check.
40713         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
40714         now assume the sys_time module.
40715         * lib/tempname.c: Likewise.
40716         * lib/timespec.h: Likewise.
40717         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
40718         needed.
40719         * lib/strftime.c: Likewise.
40720         * lib/timespec.h: Likewise.
40721         * lib/posixtm.c: Include posixtm.h first, for interface check.
40722         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
40723         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
40724         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
40725         * lib/sys_time_.h: New file.
40726         * lib/timespec.h (struct timespec): Use long int, not long.
40727         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
40728         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
40729         Remove obsolescent call to AC_HEADER_TIME.
40730         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
40731         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
40732         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
40733         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
40734         Likewise.
40735         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
40736         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
40737         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
40738         into the sys_time module.  Check for gettimeofday just once.
40739         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
40740         for gettimeofday signature to just check the signature.  Merely
40741         compile it, since linking doesn't test signature.  Improve test for
40742         whether gettimeofday.o is actually needed.
40743         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
40744         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
40745         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
40746         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
40747         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
40748         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
40749         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
40750         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
40751         than worrying about sys/time.h.
40752         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
40753         Don't bother worrying about TIME_WITH_SYS_TIME.
40754         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
40755         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
40756         * m4/sys_time_h.m4: New file.
40757         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
40758         Don't include sys/time.h.  Return from main rather than exiting.
40759         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
40760         all uses changed.
40761         * modules/gethrxtime (Depends-on): Add sys_time.
40762         * modules/gettime (Depends-on): Likewise.
40763         * modules/gettimeofday (Depends-on): Likewise.
40764         * modules/nanosleep (Depends-on): Likewise.
40765         * modules/settime (Depends-on): Likewise.
40766         * modules/tempname (Depends-on): Likewise.
40767         * modules/utimens (Depends-on): Likewise.
40768         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
40769         (Include:) Change back to <sys/time.h>.
40770         (Maintainer:) Add self.
40771         * modules/sys_time: New file.
40772         * modules/tempname (Depends-on): Add gettimeofday.
40773         * tests/test-gettimeofday.c: Include <sys/time.h>
40774         rather than gettimeofday.h.
40775
40776 2007-01-17  Bruno Haible  <bruno@clisp.org>
40777
40778         * gnulib-tool (func_get_license): Revert last patch. Instead, let
40779         the license default to GPL.
40780         (func_create_testdir): Don't complain if a module is LGPL and its
40781         tests module depends on GPLed modules.
40782
40783 2007-01-17  Bruno Haible  <bruno@clisp.org>
40784
40785         * lib/gettimeofday.c (gettimeofday): Add code for the case
40786         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
40787         maximum possible value for tv->tv_usec, rather than the minimum one.
40788
40789 2005-10-08  Martin Lambers  <marlam@marlam.de>
40790 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
40791 2007-01-16  Bruno Haible  <bruno@clisp.org>
40792
40793         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
40794         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
40795         gl_FUNC_GETTIMEOFDAY.
40796         (Include): Add gettimeofday.h.
40797         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
40798         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
40799         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
40800         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
40801         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
40802         * lib/gettimeofday.h: New file.
40803         * lib/gettimeofday.c: Include <sys/timeb.h>.
40804         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
40805         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
40806         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
40807         fall back on time().
40808
40809         * tests/test-gettimeofday.c: New file.
40810         * modules/gettimeofday-tests: New file.
40811
40812 2007-01-16  Eric Blake  <ebb9@byu.net>
40813
40814         * modules/fnmatch (Depends-on): Depend on wchar.
40815         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
40816         * m4/fnmatch.m4: Likewise.
40817         * modules/mbchar (Makefile.am): Assume <wchar.h>.
40818         * m4/mbchar.m4: Likewise.
40819         * modules/mbswidth (Depends-on): Depend on wchar.
40820         * lib/mbswidth.c: Assume <wchar.h>.
40821         * m4/mbswidth.m4: Likewise.
40822         * modules/quotearg (Depends-on): Depend on wchar.
40823         * lib/quotearg.c: Assume <wchar.h>.
40824         * m4/quotearg.m4: Likewise.
40825         * modules/regex (Depends-on): Depend on wchar.
40826         * lib/regex_internal.h: Assume <wchar.h>.
40827         * m4/regex.m4: Likewise.
40828         * modules/stdint (Depends-on): Depend on wchar.
40829         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
40830         * m4/stdint.m4: Likewise.
40831         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
40832         * modules/strftime (Depends-on): Depend on wchar.
40833         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
40834         * modules/strtol (Depends-on): Depend on wchar.
40835         * lib/strtol.c: Assume <wchar.h>.
40836         * modules/wcwidth (Depends-on): Depend on wchar.
40837         * lib/wcwidth.h: Assume <wchar.h>.
40838         * m4/wcwidth.m4: Likewise.
40839
40840 2007-01-16  Bruno Haible  <bruno@clisp.org>
40841
40842         * modules/csharpexec-script: New, created from...
40843         * modules/csharpexec: ... this.
40844
40845 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
40846
40847         * modules/javaexec-script: New, created from...
40848         * modules/javaexec: ... this.
40849
40850 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
40851
40852         * modules/poll (Dependencies): Add sys_select.
40853
40854 2007-01-15  Jim Meyering  <jim@meyering.net>
40855
40856         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
40857         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
40858         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
40859         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
40860
40861 2007-01-15  Bruno Haible  <bruno@clisp.org>
40862
40863         * modules/striconveh: New file.
40864         * lib/striconveh.h: New file.
40865         * lib/striconveh.c: New file.
40866         * MODULES.html.sh (Internationalization functions): Add striconveh.
40867
40868         * modules/striconveh-tests: New file.
40869         * tests/test-striconveh.c: New file.
40870
40871 2007-01-15  Bruno Haible  <bruno@clisp.org>
40872
40873         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
40874         not from GNU libiconv or GNU libc.
40875
40876 2007-01-15  Bruno Haible  <bruno@clisp.org>
40877
40878         * doc/gnulib-intro.texi (Copyright): Explain the different license
40879         terms for module descriptions, autoconf macros, tests, documentation.
40880
40881 2007-01-14  Bruno Haible  <bruno@clisp.org>
40882
40883         * modules/striconv-tests: New file.
40884         * tests/test-striconv.c: New file.
40885
40886 2007-01-14  Bruno Haible  <bruno@clisp.org>
40887
40888         * modules/iconv-tests: New file.
40889         * tests/test-iconv.c: New file.
40890
40891 2007-01-14  Bruno Haible  <bruno@clisp.org>
40892
40893         * gnulib-tool (func_get_license): For test modules, use the license of
40894         the main module.
40895
40896 2007-01-14  Bruno Haible  <bruno@clisp.org>
40897
40898         * modules/iconv (Include): Clarify that <iconv.h> can only be included
40899         if iconv is found to exist.
40900
40901 2007-01-14  Bruno Haible  <bruno@clisp.org>
40902
40903         * modules/c-ctype-tests: New file.
40904         * tests/test-c-ctype.c: New file.
40905
40906 2007-01-14  Bruno Haible  <bruno@clisp.org>
40907
40908         * modules/binary-io-tests: New file.
40909         * tests/test-binary-io.sh: New file.
40910         * tests/test-binary-io.c: New file.
40911
40912 2007-01-14  Bruno Haible  <bruno@clisp.org>
40913
40914         * modules/array-oset-tests: New file.
40915         * tests/test-array_oset.c: New file.
40916
40917 2007-01-14  Bruno Haible  <bruno@clisp.org>
40918
40919         * modules/array-list-tests: New file.
40920         * tests/test-array_list.c: New file.
40921
40922 2007-01-14  Bruno Haible  <bruno@clisp.org>
40923
40924         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
40925         and make.
40926         Reported by Simon Josefsson in
40927         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
40928
40929 2007-01-14  Bruno Haible  <bruno@clisp.org>
40930
40931         * modules/allocsa-tests: New file.
40932         * tests/test-allocsa.c: New file.
40933
40934 2007-01-14  Bruno Haible  <bruno@clisp.org>
40935
40936         * modules/fchdir (Depends-on): Add absolute-header.
40937         * modules/unistd (Depends-on): Likewise.
40938
40939 2006-12-30  Bruno Haible  <bruno@clisp.org>
40940
40941         * modules/fchdir: New file.
40942         * modules/unistd (Files): Add lib/unistd_.h.
40943         (Makefile.am): Generate unistd.h from unistd_.h.
40944         * lib/fchdir.c: New file.
40945         * lib/dirent_.h: New file.
40946         * lib/unistd_.h: New file.
40947         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
40948         * m4/fchdir.m4: New file.
40949         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
40950         (gl_HEADER_UNISTD): Invoke it.
40951         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
40952         function.
40953         * lib/backupfile.c (opendir, closedir): Undefine.
40954         * lib/chown.c (open, close): Undefine.
40955         * lib/clean-temp.c (open, close): Undefine.
40956         * lib/copy-file.c (open, close): Undefine.
40957         * lib/execute.c (open, close): Undefine.
40958         * lib/fsusage.c (open, close): Undefine.
40959         * lib/gc-gnulib.c (open, close): Undefine.
40960         * lib/getcwd.c (opendir, closedir): Undefine.
40961         * lib/glob.c (opendir, closedir): Undefine.
40962         * lib/javacomp.c (open, close): Undefine.
40963         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
40964         * lib/openat-proc.c (open, close): Undefine.
40965         * lib/pagealign_alloc.c (open, close): Undefine.
40966         * lib/pipe.c (open, close): Undefine.
40967         * lib/progreloc.c (open, close): Undefine.
40968         * lib/savedir.c (opendir, closedir): Undefine.
40969         * lib/utime.c (open, close): Undefine.
40970         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
40971
40972 2007-01-10  Bruno Haible  <bruno@clisp.org>
40973
40974         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
40975
40976 2007-01-12  Eric Blake  <ebb9@byu.net>
40977
40978         Provide a robust <wchar.h>.  Further simplifications are now
40979         possible in other modules, but not included here.
40980         * modules/wchar: New module.
40981         * m4/wchar.m4: New file.
40982         * lib/wchar_.h: Likewise.
40983         * modules/mbchar (Depends-on): Depend on wchar, as the first use
40984         of the new module.
40985         * MODULES.html.sh (Extended multibyte and wide character utilities):
40986         New section.
40987
40988 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
40989
40990         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
40991         to a reasonable default for memory allocation.
40992         (xreadlink): Don't allocate a huge buffer, to work around a buggy
40993         file system that reports garbage st_size values for symlinks.
40994         Problem reported by Liyang Hu.
40995
40996 2007-01-11  Simon Josefsson  <simon@josefsson.org>
40997
40998         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
40999         Emacs .#* auto-save files).
41000
41001 2007-01-11  Bruno Haible  <bruno@clisp.org>
41002
41003         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
41004         directory.
41005
41006 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
41007
41008         Use @...@ consistently in lib/wctype_.h.
41009         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
41010         on it being set to 1 or 0.
41011         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
41012         go back to AC_SUBSTing it.
41013         * modules/wctype (Makefile.am): Undo previous change.
41014
41015 2007-01-10  Eric Blake  <ebb9@byu.net>
41016
41017         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
41018         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
41019         * modules/wctype (Makefile.am): Likewise.
41020         Reported by Chris McGuire.
41021
41022 2007-01-10  Jim Meyering  <jim@meyering.net>
41023
41024         fts.c: a small readability/maintainability improvement
41025         * lib/fts.c (fts_read): Make this code slightly more readable and
41026         maintainable by hoisting the "sp->fts_cur = p" assignments to
41027         immediately follow the statements that set P.  Derived from
41028         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
41029
41030 2007-01-10  Eric Blake  <ebb9@byu.net>
41031
41032         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
41033         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
41034         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
41035         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
41036         Reported by Chris McGuire.
41037
41038 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41039
41040         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
41041         in sed script.
41042
41043 2007-01-09  Bruno Haible  <bruno@clisp.org>
41044
41045         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
41046         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
41047         variables.
41048         (func_module): Use them.
41049
41050 2007-01-09  Bruno Haible  <bruno@clisp.org>
41051
41052         * modules/unistr/base: New file.
41053         * lib/unistr.h: New file.
41054
41055         * modules/unistr/u8-to-u16: New file.
41056         * lib/unistr/u8-to-u16.c: New file.
41057
41058         * modules/unistr/u8-to-u32: New file.
41059         * lib/unistr/u8-to-u32.c: New file.
41060
41061         * modules/unistr/u16-to-u8: New file.
41062         * lib/unistr/u16-to-u8.c: New file.
41063
41064         * modules/unistr/u16-to-u32: New file.
41065         * lib/unistr/u16-to-u32.c: New file.
41066
41067         * modules/unistr/u32-to-u8: New file.
41068         * lib/unistr/u32-to-u8.c: New file.
41069
41070         * modules/unistr/u32-to-u16: New file.
41071         * lib/unistr/u32-to-u16.c: New file.
41072
41073         * modules/unistr/u8-check: New file.
41074         * modules/unistr/u16-check: New file.
41075         * modules/unistr/u32-check: New file.
41076         * lib/unistr/u8-check.c: New file.
41077         * lib/unistr/u16-check.c: New file.
41078         * lib/unistr/u32-check.c: New file.
41079
41080         * modules/unistr/u8-chr: New file.
41081         * modules/unistr/u16-chr: New file.
41082         * modules/unistr/u32-chr: New file.
41083         * lib/unistr/u8-chr.c: New file.
41084         * lib/unistr/u16-chr.c: New file.
41085         * lib/unistr/u32-chr.c: New file.
41086
41087         * modules/unistr/u8-cmp: New file.
41088         * modules/unistr/u16-cmp: New file.
41089         * modules/unistr/u32-cmp: New file.
41090         * lib/unistr/u8-cmp.c: New file.
41091         * lib/unistr/u16-cmp.c: New file.
41092         * lib/unistr/u32-cmp.c: New file.
41093
41094         * modules/unistr/u8-cpy: New file.
41095         * modules/unistr/u16-cpy: New file.
41096         * modules/unistr/u32-cpy: New file.
41097         * lib/unistr/u8-cpy.c: New file.
41098         * lib/unistr/u16-cpy.c: New file.
41099         * lib/unistr/u32-cpy.c: New file.
41100         * lib/unistr/u-cpy.h: New file.
41101
41102         * modules/unistr/u8-cpy-alloc: New file.
41103         * modules/unistr/u16-cpy-alloc: New file.
41104         * modules/unistr/u32-cpy-alloc: New file.
41105         * lib/unistr/u8-cpy-alloc.c: New file.
41106         * lib/unistr/u16-cpy-alloc.c: New file.
41107         * lib/unistr/u32-cpy-alloc.c: New file.
41108         * lib/unistr/u-cpy-alloc.h: New file.
41109
41110         * modules/unistr/u8-endswith: New file.
41111         * modules/unistr/u16-endswith: New file.
41112         * modules/unistr/u32-endswith: New file.
41113         * lib/unistr/u8-endswith.c: New file.
41114         * lib/unistr/u16-endswith.c: New file.
41115         * lib/unistr/u32-endswith.c: New file.
41116         * lib/unistr/u-endswith.h: New file.
41117
41118         * modules/unistr/u8-mblen: New file.
41119         * modules/unistr/u16-mblen: New file.
41120         * modules/unistr/u32-mblen: New file.
41121         * lib/unistr/u8-mblen.c: New file.
41122         * lib/unistr/u16-mblen.c: New file.
41123         * lib/unistr/u32-mblen.c: New file.
41124
41125         * modules/unistr/u8-mbtouc: New file.
41126         * modules/unistr/u16-mbtouc: New file.
41127         * modules/unistr/u32-mbtouc: New file.
41128         * lib/unistr/u8-mbtouc.c: New file.
41129         * lib/unistr/u16-mbtouc.c: New file.
41130         * lib/unistr/u32-mbtouc.c: New file.
41131
41132         * modules/unistr/u8-mbtouc-safe: New file.
41133         * modules/unistr/u16-mbtouc-safe: New file.
41134         * modules/unistr/u32-mbtouc-safe: New file.
41135         * lib/unistr/u8-mbtouc-safe.c: New file.
41136         * lib/unistr/u16-mbtouc-safe.c: New file.
41137         * lib/unistr/u32-mbtouc-safe.c: New file.
41138
41139         * modules/unistr/u8-move: New file.
41140         * modules/unistr/u16-move: New file.
41141         * modules/unistr/u32-move: New file.
41142         * lib/unistr/u8-move.c: New file.
41143         * lib/unistr/u16-move.c: New file.
41144         * lib/unistr/u32-move.c: New file.
41145         * lib/unistr/u-move.h: New file.
41146
41147         * modules/unistr/u8-next: New file.
41148         * modules/unistr/u16-next: New file.
41149         * modules/unistr/u32-next: New file.
41150         * lib/unistr/u8-next.c: New file.
41151         * lib/unistr/u16-next.c: New file.
41152         * lib/unistr/u32-next.c: New file.
41153
41154         * modules/unistr/u8-prev: New file.
41155         * modules/unistr/u16-prev: New file.
41156         * modules/unistr/u32-prev: New file.
41157         * lib/unistr/u8-prev.c: New file.
41158         * lib/unistr/u16-prev.c: New file.
41159         * lib/unistr/u32-prev.c: New file.
41160
41161         * modules/unistr/u8-set: New file.
41162         * modules/unistr/u16-set: New file.
41163         * modules/unistr/u32-set: New file.
41164         * lib/unistr/u8-set.c: New file.
41165         * lib/unistr/u16-set.c: New file.
41166         * lib/unistr/u32-set.c: New file.
41167         * lib/unistr/u-set.h: New file.
41168
41169         * modules/unistr/u8-startswith: New file.
41170         * modules/unistr/u16-startswith: New file.
41171         * modules/unistr/u32-startswith: New file.
41172         * lib/unistr/u8-startswith.c: New file.
41173         * lib/unistr/u16-startswith.c: New file.
41174         * lib/unistr/u32-startswith.c: New file.
41175         * lib/unistr/u-startswith.h: New file.
41176
41177         * modules/unistr/u8-stpcpy: New file.
41178         * modules/unistr/u16-stpcpy: New file.
41179         * modules/unistr/u32-stpcpy: New file.
41180         * lib/unistr/u8-stpcpy.c: New file.
41181         * lib/unistr/u16-stpcpy.c: New file.
41182         * lib/unistr/u32-stpcpy.c: New file.
41183         * lib/unistr/u-stpcpy.h: New file.
41184
41185         * modules/unistr/u8-stpncpy: New file.
41186         * modules/unistr/u16-stpncpy: New file.
41187         * modules/unistr/u32-stpncpy: New file.
41188         * lib/unistr/u8-stpncpy.c: New file.
41189         * lib/unistr/u16-stpncpy.c: New file.
41190         * lib/unistr/u32-stpncpy.c: New file.
41191         * lib/unistr/u-stpncpy.h: New file.
41192
41193         * modules/unistr/u8-strcat: New file.
41194         * modules/unistr/u16-strcat: New file.
41195         * modules/unistr/u32-strcat: New file.
41196         * lib/unistr/u8-strcat.c: New file.
41197         * lib/unistr/u16-strcat.c: New file.
41198         * lib/unistr/u32-strcat.c: New file.
41199         * lib/unistr/u-strcat.h: New file.
41200
41201         * modules/unistr/u8-strchr: New file.
41202         * modules/unistr/u16-strchr: New file.
41203         * modules/unistr/u32-strchr: New file.
41204         * lib/unistr/u8-strchr.c: New file.
41205         * lib/unistr/u16-strchr.c: New file.
41206         * lib/unistr/u32-strchr.c: New file.
41207
41208         * modules/unistr/u8-strcmp: New file.
41209         * modules/unistr/u16-strcmp: New file.
41210         * modules/unistr/u32-strcmp: New file.
41211         * lib/unistr/u8-strcmp.c: New file.
41212         * lib/unistr/u16-strcmp.c: New file.
41213         * lib/unistr/u32-strcmp.c: New file.
41214
41215         * modules/unistr/u8-strcpy: New file.
41216         * modules/unistr/u16-strcpy: New file.
41217         * modules/unistr/u32-strcpy: New file.
41218         * lib/unistr/u8-strcpy.c: New file.
41219         * lib/unistr/u16-strcpy.c: New file.
41220         * lib/unistr/u32-strcpy.c: New file.
41221         * lib/unistr/u-strcpy.h: New file.
41222
41223         * modules/unistr/u8-strcspn: New file.
41224         * modules/unistr/u16-strcspn: New file.
41225         * modules/unistr/u32-strcspn: New file.
41226         * lib/unistr/u8-strcspn.c: New file.
41227         * lib/unistr/u16-strcspn.c: New file.
41228         * lib/unistr/u32-strcspn.c: New file.
41229         * lib/unistr/u-strcspn.h: New file.
41230
41231         * modules/unistr/u8-strdup: New file.
41232         * modules/unistr/u16-strdup: New file.
41233         * modules/unistr/u32-strdup: New file.
41234         * lib/unistr/u8-strdup.c: New file.
41235         * lib/unistr/u16-strdup.c: New file.
41236         * lib/unistr/u32-strdup.c: New file.
41237         * lib/unistr/u-strdup.h: New file.
41238
41239         * modules/unistr/u8-strlen: New file.
41240         * modules/unistr/u16-strlen: New file.
41241         * modules/unistr/u32-strlen: New file.
41242         * lib/unistr/u8-strlen.c: New file.
41243         * lib/unistr/u16-strlen.c: New file.
41244         * lib/unistr/u32-strlen.c: New file.
41245         * lib/unistr/u-strlen.h: New file.
41246
41247         * modules/unistr/u8-strmblen: New file.
41248         * modules/unistr/u16-strmblen: New file.
41249         * modules/unistr/u32-strmblen: New file.
41250         * lib/unistr/u8-strmblen.c: New file.
41251         * lib/unistr/u16-strmblen.c: New file.
41252         * lib/unistr/u32-strmblen.c: New file.
41253
41254         * modules/unistr/u8-strmbtouc: New file.
41255         * modules/unistr/u16-strmbtouc: New file.
41256         * modules/unistr/u32-strmbtouc: New file.
41257         * lib/unistr/u8-strmbtouc.c: New file.
41258         * lib/unistr/u16-strmbtouc.c: New file.
41259         * lib/unistr/u32-strmbtouc.c: New file.
41260
41261         * modules/unistr/u8-strncat: New file.
41262         * modules/unistr/u16-strncat: New file.
41263         * modules/unistr/u32-strncat: New file.
41264         * lib/unistr/u8-strncat.c: New file.
41265         * lib/unistr/u16-strncat.c: New file.
41266         * lib/unistr/u32-strncat.c: New file.
41267         * lib/unistr/u-strncat.h: New file.
41268
41269         * modules/unistr/u8-strncmp: New file.
41270         * modules/unistr/u16-strncmp: New file.
41271         * modules/unistr/u32-strncmp: New file.
41272         * lib/unistr/u8-strncmp.c: New file.
41273         * lib/unistr/u16-strncmp.c: New file.
41274         * lib/unistr/u32-strncmp.c: New file.
41275
41276         * modules/unistr/u8-strncpy: New file.
41277         * modules/unistr/u16-strncpy: New file.
41278         * modules/unistr/u32-strncpy: New file.
41279         * lib/unistr/u8-strncpy.c: New file.
41280         * lib/unistr/u16-strncpy.c: New file.
41281         * lib/unistr/u32-strncpy.c: New file.
41282         * lib/unistr/u-strncpy.h: New file.
41283
41284         * modules/unistr/u8-strnlen: New file.
41285         * modules/unistr/u16-strnlen: New file.
41286         * modules/unistr/u32-strnlen: New file.
41287         * lib/unistr/u8-strnlen.c: New file.
41288         * lib/unistr/u16-strnlen.c: New file.
41289         * lib/unistr/u32-strnlen.c: New file.
41290         * lib/unistr/u-strnlen.h: New file.
41291
41292         * modules/unistr/u8-strpbrk: New file.
41293         * modules/unistr/u16-strpbrk: New file.
41294         * modules/unistr/u32-strpbrk: New file.
41295         * lib/unistr/u8-strpbrk.c: New file.
41296         * lib/unistr/u16-strpbrk.c: New file.
41297         * lib/unistr/u32-strpbrk.c: New file.
41298         * lib/unistr/u-strpbrk.h: New file.
41299
41300         * modules/unistr/u8-strrchr: New file.
41301         * modules/unistr/u16-strrchr: New file.
41302         * modules/unistr/u32-strrchr: New file.
41303         * lib/unistr/u8-strrchr.c: New file.
41304         * lib/unistr/u16-strrchr.c: New file.
41305         * lib/unistr/u32-strrchr.c: New file.
41306
41307         * modules/unistr/u8-strspn: New file.
41308         * modules/unistr/u16-strspn: New file.
41309         * modules/unistr/u32-strspn: New file.
41310         * lib/unistr/u8-strspn.c: New file.
41311         * lib/unistr/u16-strspn.c: New file.
41312         * lib/unistr/u32-strspn.c: New file.
41313         * lib/unistr/u-strspn.h: New file.
41314
41315         * modules/unistr/u8-strstr: New file.
41316         * modules/unistr/u16-strstr: New file.
41317         * modules/unistr/u32-strstr: New file.
41318         * lib/unistr/u8-strstr.c: New file.
41319         * lib/unistr/u16-strstr.c: New file.
41320         * lib/unistr/u32-strstr.c: New file.
41321         * lib/unistr/u-strstr.h: New file.
41322
41323         * modules/unistr/u8-strtok: New file.
41324         * modules/unistr/u16-strtok: New file.
41325         * modules/unistr/u32-strtok: New file.
41326         * lib/unistr/u8-strtok.c: New file.
41327         * lib/unistr/u16-strtok.c: New file.
41328         * lib/unistr/u32-strtok.c: New file.
41329         * lib/unistr/u-strtok.h: New file.
41330
41331         * modules/unistr/u8-uctomb: New file.
41332         * modules/unistr/u16-uctomb: New file.
41333         * modules/unistr/u32-uctomb: New file.
41334         * lib/unistr/u8-uctomb.c: New file.
41335         * lib/unistr/u16-uctomb.c: New file.
41336         * lib/unistr/u32-uctomb.c: New file.
41337
41338         * MODULES.html.sh (Unicode string functions): Add the new modules.
41339
41340 2007-01-08  Bruno Haible  <bruno@clisp.org>
41341
41342         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
41343         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
41344         subdirectories.
41345
41346 2007-01-08  Karl Berry  <karl@gnu.org>
41347
41348         * doc/error.texi: mention that main() fns must set program_name
41349         when progname is used.
41350
41351 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
41352
41353         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
41354         WCTYPE_H is empty, for the benefit of builds from non-distclean
41355         directories.  Problem reported by Eric Blake in
41356         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
41357
41358 2007-01-08  Bruno Haible  <bruno@clisp.org>
41359
41360         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
41361         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
41362         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
41363         PROVIDE_CANONICALIZE_FILENAME_MODE.
41364         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
41365
41366 2007-01-08  Bruno Haible  <bruno@clisp.org>
41367
41368         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
41369         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
41370         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
41371         * lib/fts.c: Likewise.
41372         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
41373
41374 2006-12-25  Bruno Haible  <bruno@clisp.org>
41375
41376         * modules/utf8-ucs4-safe: New file.
41377         * lib/utf8-ucs4-safe.h: New file.
41378         * lib/unistr/utf8-ucs4-safe.c: New file.
41379
41380         * modules/utf16-ucs4-safe: New file.
41381         * lib/utf16-ucs4-safe.h: New file.
41382         * lib/unistr/utf16-ucs4-safe.c: New file.
41383
41384         * MODULES.html.sh (Unicode string functions): Add the new modules.
41385
41386 2007-01-08  Bruno Haible  <bruno@clisp.org>
41387
41388         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
41389         (Depends-on): Add unitypes.
41390         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
41391         (u8_mbtouc_aux): Move out to separate file.
41392         (u8_mbtouc): Use ucs4_t, uint8_t types.
41393         * lib/unistr/utf8-ucs4.c: New file.
41394
41395         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
41396         (Depends-on): Add unitypes.
41397         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
41398         (u16_mbtouc_aux): Move out to separate file.
41399         (u16_mbtouc): Use ucs4_t, uint16_t types.
41400         * lib/unistr/utf16-ucs4.c: New file.
41401
41402         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
41403         (Depends-on): Add unitypes.
41404         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
41405         (u8_uctomb_aux): Move out to separate file.
41406         (u8_uctomb): Use ucs4_t, uint8_t types.
41407         * lib/unistr/ucs4-utf8.c: New file.
41408
41409         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
41410         (Depends-on): Add unitypes.
41411         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
41412         (u16_uctomb_aux): Move out to separate file.
41413         (u16_uctomb): Use ucs4_t, uint16_t types.
41414         * lib/unistr/ucs4-utf16.c: New file.
41415
41416 2006-12-25  Bruno Haible  <bruno@clisp.org>
41417
41418         * modules/unitypes: New file.
41419         * lib/unitypes.h: New file.
41420         * MODULES.html.sh (func_all_modules): New section "Unicode string
41421         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
41422         this section. Add unitypes.
41423
41424 2007-01-08  Bruno Haible  <bruno@clisp.org>
41425
41426         Avoid variable names that conflict with those from libtool.
41427         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
41428         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
41429         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
41430         library_names_spec to acl_library_names_spec, hardcode_* to
41431         acl_hardcode_*.
41432         Reported by Ralf Wildenhues.
41433
41434 2007-01-08  Bruno Haible  <bruno@clisp.org>
41435
41436         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
41437         definition.
41438         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
41439         definition.
41440         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
41441         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
41442         definition.
41443         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
41444         definition.
41445         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
41446         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
41447         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
41448         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
41449         definition.
41450         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
41451         definition.
41452         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
41453         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
41454         GC_USE_<algorithm>.
41455         * lib/gc-libgcrypt.c: Likewise.
41456         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
41457         * modules/gc-arctwo (configure.ac): Likewise.
41458         * modules/gc-des (configure.ac): Likewise.
41459         * modules/gc-hmac-md5 (configure.ac): Likewise.
41460         * modules/gc-hmac-sha1 (configure.ac): Likewise.
41461         * modules/gc-md2 (configure.ac): Likewise.
41462         * modules/gc-md4 (configure.ac): Likewise.
41463         * modules/gc-md5 (configure.ac): Likewise.
41464         * modules/gc-random (configure.ac): Likewise.
41465         * modules/gc-rijndael (configure.ac): Likewise.
41466         * modules/gc-sha1 (configure.ac): Likewise.
41467
41468 2007-01-08  Bruno Haible  <bruno@clisp.org>
41469
41470         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
41471         macro definition.
41472         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
41473         definition.
41474         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
41475         definition.
41476         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
41477         * modules/fcntl-safer (configure.ac): Likewise.
41478         * modules/fopen-safer (configure.ac): Likewise.
41479         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
41480         GNULIB_FWRITEERROR macro definition.
41481
41482 2007-01-08  Bruno Haible  <bruno@clisp.org>
41483
41484         * m4/gnulib-common.m4: New file.
41485         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
41486         (func_get_filelist): Add m4/gnulib-common.m4.
41487
41488 2007-01-08  Bruno Haible  <bruno@clisp.org>
41489
41490         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
41491         command.
41492
41493 2007-01-08  Jim Meyering  <jim@meyering.net>
41494
41495         Use a more robust test for a "can't happen" condition.
41496         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
41497         narrowed the st_size value.  Presuming the "can't happen" condition
41498         is true, that narrowing could conceivably convert an invalid st_size
41499         value into a valid one.  Instead, use a change based on Matthew
41500         Woehlke's original patch.
41501
41502         Slight readability improvement: use an assert-like macro
41503         in place of literal "abort ()" uses.
41504         * lib/fts.c (fts_assert): Define.
41505         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
41506         Use this macro instead of a bare 'abort'.
41507
41508 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
41509
41510         Don't worry about using IRIX 5.3's wctype.h broken definitions;
41511         simply work around them.
41512         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
41513         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
41514         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
41515         declaring.
41516         Don't bother to define as macros, since the standard doesn't require it.
41517         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
41518         longer worry about IRIX 5.3.
41519         (HAVE_WCTYPE_CTMP_BUG): Remove.
41520
41521 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
41522
41523         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
41524         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
41525         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
41526         Problems reported by Georg Schwarz for IRIX 5.3.
41527
41528         * gnulib-tool (autoconf_minversion): Take the maximum version number
41529         found, not the minimum.  Problem reported by James Youngman.
41530
41531 2007-01-03  Karl Berry  <karl@gnu.org>
41532
41533         * doc/error.texi: new file, explaining interaction with progname.
41534         * doc/gnulib.texi: include it.  Update copyright.
41535
41536 2007-01-03  Simon Josefsson  <simon@josefsson.org>
41537
41538         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
41539         AC_CANONICAL_HOST, to improve autobuild outputs.
41540
41541 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
41542             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
41543
41544         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
41545         sockets, server sockets, and other file descriptors.  Count errors
41546         to compute the return value.  Reorder the code a bit to be easier
41547         to follow.  Don't set event bits that were not requested (except
41548         POLLERR and POLLHUP).
41549
41550 2007-01-01  Bruno Haible  <bruno@clisp.org>
41551
41552         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
41553
41554 2007-01-03  Jim Meyering  <jim@meyering.net>
41555
41556         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
41557
41558 2007-01-02  Bruno Haible  <bruno@clisp.org>
41559
41560         * modules/settime (Include): Require timespec.h.
41561         * modules/nanosleep (Include): Likewise.
41562
41563 2007-01-01  Bruno Haible  <bruno@clisp.org>
41564
41565         * gnulib-tool (func_emit_copyright_notice): Bump year.
41566         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
41567
41568 2007-01-01  Bruno Haible  <bruno@clisp.org>
41569
41570         Improve support for OpenBSD.
41571         * build-aux/config.rpath (libname_spec): Export.
41572         (library_names_spec): New variable. Export.
41573         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
41574         library_names_spec from the config.rpath output. Locate shared library
41575         through the name pattern in library_names_spec.
41576
41577 2007-01-01  Eric Blake  <ebb9@byu.net>
41578
41579         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
41580
41581 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
41582
41583         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
41584         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
41585         assume the C locale, and avoid an "eval" that could cause trouble.
41586         Problem with SORT reported by Bob Proulx.
41587
41588         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
41589         Define.  Trivial patch from Henning Nielsen Lund, originally
41590         sent to bug-grep@gnu.org today.
41591
41592 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
41593
41594         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
41595         struct stat.  Problem reported by Henning Nielsen Lund.
41596         * lib/acl.c: Include acl.h first, to check interface.  Don't
41597         bother to include sys/types.h and sys/stat.h again.
41598
41599 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
41600
41601         Import the following change from libc; problem reported by
41602         Sven Verdoolaege.
41603
41604         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
41605
41606         [BZ #1373]
41607         * lib/argp.h: Remove __NTH for __argp_usage inline function.
41608
41609 2006-12-28  Jim Meyering  <jim@meyering.net>
41610
41611         * build-aux/announce-gen: Do not assume that the package
41612         builds any of tar.gz, tar.bz2, and .xdelta files.
41613         Suggestion from Simon Josefsson.
41614
41615 2006-12-28  Simon Josefsson  <simon@josefsson.org>
41616
41617         * modules/announce-gen: New file.
41618
41619 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
41620
41621         * lib/mbchar.h: Just include <wctype.h>; the wctype module
41622         handles its gotchas now.
41623         * lib/mbswidth.c: Likewise.
41624         * lib/wcwidth.h: Likewise.
41625         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
41626         and iswcntrl; the wctype module does this stuff now.
41627         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
41628         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
41629         * modules/mbchar (Depends-on): Add wctype.
41630         * modules/mbswidth (Depends-on): Likewise.
41631         * modules/wcwidth (Depends-on): Likewise.
41632
41633 2006-12-27  Eric Blake  <ebb9@byu.net>
41634
41635         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
41636         module uses more than what <wctype.h> is required to provide.
41637
41638 2006-12-26  Eric Blake  <ebb9@byu.net>
41639
41640         * gnulib-tool (sed_extract_prog): Avoid space-tab.
41641
41642 2006-12-26  Eric Blake  <ebb9@byu.net>
41643
41644         * modules/absolute-header: New module.
41645         * modules/fcntl (Depends-on): Depend on it.
41646         * modules/inttypes (Depends-on): Likewise.
41647         * modules/stdint (Depends-on): Likewise.
41648         * modules/sys_stat (Depends-on): Likewise.
41649         * modules/wctype (Depends-on): Likewise.
41650         * MODULES.html.sh (Support for building libraries and
41651         executables): Document it.
41652
41653 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
41654
41655         * gnulib-tool (SED): Remove, undoing previous change.
41656         The problem was that it broke coreutils on Solaris, because
41657         "sed --posix" leaked into a makefile.
41658         (sed): New alias, if 'alias' and GNU sed.
41659
41660 2006-12-24  Jim Meyering  <jim@meyering.net>
41661
41662         Work around an fchownat bug in glibc-2.4:
41663         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
41664         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
41665         in spite of the -P option.
41666         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
41667         New macros.
41668         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
41669         * modules/openat (Files): Add lib/fchownat.c.
41670         * lib/openat.c (fchownat): Don't define here.  Move to...
41671         * lib/fchownat.c: ...this new file.
41672
41673 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
41674
41675         Fix bug reported by Bruno Haible in
41676         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
41677         where quotearg.c didn't compile on Mac OS X 10.2 because it
41678         lacks <wchar.h> and wint_t.
41679         * lib/wctype_.h (__wctype_wint_t): New type.
41680         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
41681         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
41682         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
41683         Arg is now of type __wctype_wint_t, not wint_t.
41684         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
41685         substitute HAVE_WINT_T.
41686         * modules/wctype (Files): Add m4/wint_t.m4.
41687         (wctype.h): Substitute HAVE_WINT_T.
41688
41689 2006-12-23  Bruno Haible  <bruno@clisp.org>
41690
41691         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
41692
41693 2006-12-23  Bruno Haible  <bruno@clisp.org>
41694
41695         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
41696         S_ISLNK.
41697         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
41698         mingw.
41699
41700 2006-12-22  Bruno Haible  <bruno@clisp.org>
41701
41702         * lib/copy-file.c: Include acl.h.
41703         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
41704         Close the file descriptors only after being done with copy_acl.
41705         * modules/copy-file (Depends-on): Add acl.
41706
41707 2006-12-22  Bruno Haible  <bruno@clisp.org>
41708
41709         * gnulib-tool (SED): New variable.
41710         Use $SED instead of sed everywhere.
41711
41712 2006-12-22  Bruno Haible  <bruno@clisp.org>
41713
41714         * modules/no-c++: New file.
41715         * m4/no-c++.m4: New file.
41716         * MODULES.html.sh (Support for building libraries and executables):
41717         Add no-c++.
41718
41719 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
41720
41721         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
41722         Include <limits.h>, and use its INT_MAX to rewrite the
41723         j loop so that it does not overflow 'int'.  Problem reported by
41724         Ralf Wildenhues in
41725         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
41726         Play it safe by shifting left by 1 rather than multiplying by 2,
41727         as GCC is less likely to optimize this away when the value
41728         is signed (when it assumes overflow leads to undefined behavior).
41729         Also, don't assume time_t uses two's complement.
41730
41731 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
41732
41733         * MODULES.html.sh: New module wctype.
41734         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
41735         * lib/fnmatch.c: Don't bother to include <wchar.h> before
41736         <wctype.h>, since the new wctype module should fix this.
41737         * lib/quotearg.c: Include <wctype.h> unconditionally, since
41738         the wctype module should arrange for it.
41739         * lib/regex_internal.h: Likewise.
41740         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
41741         since the wctype module should handle this now.
41742         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
41743         * modules/fnmatch (Depends-on): Add wctype.
41744         * modules/quotearg (Depends-on): Likewise.
41745         * modules/regex (Depends-on): Likewise.
41746
41747 2006-12-19  Bruno Haible  <bruno@clisp.org>
41748
41749         * lib/strdup.h [C++]: Wrap definitions in extern "C".
41750         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
41751
41752 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41753
41754         * modules/savewd (Depends-on): Fix dependency on fcntl.
41755
41756 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
41757
41758         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
41759         conforms to C99, rather than relying on the user's environment
41760         setting of STDINT_H.
41761
41762 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
41763         and Eric Blake  <ebb9@byu.net>
41764
41765         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
41766         This is more consistent with the other defines here.
41767         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
41768         Port to z/OS.  Problem reported by Paul Gilmartin.
41769         Change local vars to use gl_ prefix rather than ac_.
41770         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
41771         with other defines.
41772         * modules/double-slash-root: New module.
41773         * modules/dirname (Files): Remove m4/double-slash-root.m4.
41774         (Depends-on): Add double-slash-root.
41775         * MODULES.html.sh (File system functions): Mention new module.
41776
41777 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
41778
41779         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
41780         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
41781         This is for the benefit of gzip, which doesn't do i18n.
41782
41783 2006-12-12  Jim Meyering  <jim@meyering.net>
41784
41785         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
41786         Reported by Andreas Schwab <schwab@suse.de>.
41787
41788 2006-12-12  Bruno Haible  <bruno@clisp.org>
41789
41790         Merge these changes.
41791         2006-09-05  Bruno Haible  <bruno@clisp.org>
41792         * lib/iconvme.c (iconv_string): No need to save and restore errno when
41793         iconv_alloc succeeded.
41794         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
41795         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
41796         test for " && dest " at the end - dest is always != NULL there. Call
41797         iconv with 4xNULL arguments initially, to reset the state. Call iconv
41798         with 2xNULL arguments, also to flush the state storage. Handle the
41799         IRIX iconv behaviour. Realloc the final result, to throw away unused
41800         memory.
41801
41802 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
41803
41804         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
41805         and fchmodat unconditionally, since glibc 2.4 has them.
41806         Problem reported by Arkadiusz Miskiewicz.
41807
41808 2006-12-10  Bruno Haible  <bruno@clisp.org>
41809
41810         * gnulib-tool (func_import): Show the include files only for those
41811         modules that are copied and specified.
41812         Reported by Karl Berry.
41813
41814 2006-12-08  Jim Meyering  <jim@meyering.net>
41815
41816         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
41817         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
41818
41819         * build-aux/announce-gen: Add two new options, both optional:
41820         --bootstrap-tools=TOOL_LIST
41821               a comma-separated list of tools, e.g.,
41822               autoconf,automake,bison,gnulib
41823         --gnulib-snapshot-date=DATE
41824               if gnulib is in the bootstrap tool list,
41825               then report this as the snapshot date.
41826               If not specified, use the current date/time.
41827               If you specify a date here, be sure it's UTC.
41828
41829 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41830
41831         * tests/test-argp-2.sh: Fix test to match actual output.
41832         (func_compare): Fix sed script to be portable.
41833
41834 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
41835
41836         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
41837         workaround for this case.  It is not autoconfigured now; offhand
41838         it's hard to see how to autoconfigure it.
41839
41840 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
41841
41842         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
41843         a directory that is about to be chowned.  Such a directory's
41844         initial file permissions should permit the owner only and this
41845         should not be changed until after the chown, since the group and
41846         other bits would be incorrect if they granted permission before
41847         the chown.
41848
41849         Fix porting problem for iswctype reported by Georg Schwarz in:
41850         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
41851         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
41852         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
41853         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
41854         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
41855
41856 2006-12-03  Jim Meyering  <jim@meyering.net>
41857
41858         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
41859         p->fts_statp may not yet be defined.
41860         (fts_read): Instead, set it in the caller, once p->fts_statp is
41861         sure to be defined, and corresponds to a top-level directory.
41862         This bug made du -x fail.  Here's the coreutils test case:
41863         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
41864         Reported by Mike Frysinger.
41865
41866 2006-12-01  Jim Meyering  <jim@meyering.net>
41867
41868         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
41869         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
41870         Reported by Simon Josefsson.
41871
41872 2006-11-30  Jim Meyering  <jim@meyering.net>
41873
41874         * m4/warning.m4: Use the all-permissive copyright notice
41875         recommended by RMS (rather than LGPL).
41876         * m4/vararrays.m4: Likewise.
41877         * m4/flexmember.m4: Likewise.
41878
41879 2006-11-29  Bruno Haible  <bruno@clisp.org>
41880
41881         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
41882         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
41883         using +=.
41884         Reported by Simon Josefsson <simon@josefsson.org>.
41885
41886 2006-11-28  James Youngman <jay@gnu.org>
41887
41888         * README: Advise users that they might find the bug-gnulib@gnu.org
41889         and autotools-announce@gnu.org mailing lists useful.
41890
41891 2006-11-28  Bruno Haible  <bruno@clisp.org>
41892
41893         * m4/ptrdiff_max.m4: Remove file.
41894
41895 2006-11-21  Bruno Haible  <bruno@clisp.org>
41896
41897         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
41898         _AC_COMPUTE_INT.
41899         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
41900         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
41901         _AC_COMPUTE_INT.
41902         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
41903         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
41904         _AC_COMPUTE_INT.
41905         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
41906
41907 2006-11-28  Jim Meyering  <jim@meyering.net>
41908
41909         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
41910         warning from "gcc -Wshadow" about shadowing the builtin.
41911
41912 2006-11-27  Bruno Haible  <bruno@clisp.org>
41913
41914         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
41915         _AC_COMPUTE_INT.
41916         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
41917
41918 2006-11-27  Bruno Haible  <bruno@clisp.org>
41919             Paul Eggert  <eggert@cs.ucla.edu>
41920
41921         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
41922
41923 2006-11-26  Bruno Haible  <bruno@clisp.org>
41924
41925         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
41926         noinst_LTLIBRARIES.
41927
41928 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
41929             Bruno Haible  <bruno@clisp.org>
41930
41931         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
41932         if compiling with "gcc -ansi".
41933
41934 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
41935
41936         Fix some incompatibilities with gcc -ansi -pedantic.
41937         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
41938         if compiling pedantically with GCC, unless it's C99 or later.
41939         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
41940         it mishandles gcc -ansi -pedantic as well.
41941         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
41942         if gcc -pedantic.
41943         * lib/regexec.c (check_node_accept_bytes): Don't use auto
41944         initializers for struct if -pedantic, unless it's C99 or later.
41945
41946 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
41947
41948         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
41949         Don't close an fd more than once. Identical atimes indicate
41950         success, not failure.
41951
41952 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
41953
41954         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
41955
41956 2006-11-23  Jim Meyering  <jim@meyering.net>
41957
41958         * build-aux/announce-gen: New file.  From coreutils.
41959
41960 2006-11-22  Jim Meyering  <jim@meyering.net>
41961
41962         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
41963         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
41964         (fts_read): Use a temporary to narrow the overused st_size member
41965         before using it in a switch statement.  Reported by Matthew Woehlke.
41966
41967         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
41968         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
41969
41970 2006-11-20  Bruno Haible  <bruno@clisp.org>
41971
41972         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
41973         changequote instead of pairs of brackets.
41974         Reported by Andreas Schwab <schwab@suse.de>.
41975
41976 2006-11-21  Jim Meyering  <jim@meyering.net>
41977
41978         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
41979         so as to remain compatible with older compilers.
41980         Patch from Michael Deutschmann.
41981
41982 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
41983
41984         * MODULES.html.sh (File system functions): Add openat.
41985
41986         * lib/openat.h (rpl_fstatat): New macro, if
41987         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
41988         (fstatat): Define to rpl_fstatat under the same conditions,
41989         unless COMPILING_FSTATAT.
41990         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
41991         seems to have the bug.
41992         * lib/fstatat.c: New file.
41993         * modules/openat (Files): Add it.
41994
41995 2006-11-20  Bruno Haible  <bruno@clisp.org>
41996
41997         * Makefile: New file.
41998
41999 2006-11-20  Jim Meyering  <jim@meyering.net>
42000
42001         The beginnings of syntax-related checks for gnulib.
42002         * lib/Makefile: New file.
42003         * lib/t-idcache: New script.  Ensure that the two halves of
42004         idcache.c stay in sync.
42005
42006         * lib/idcache.c: Adjust comments in user- and group- portions to
42007         be more accurate, and to be consistent with one another.
42008
42009 2006-11-20  Jim Meyering  <jim@meyering.net>
42010
42011         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
42012         continue using the flexible array member (thus, this module performs
42013         half as many malloc calls), with the addition that...
42014         (getgroup, getuser): Consistently record a non-match via an empty
42015         "name" string, and map an empty string match to a NULL return value.
42016         * modules/idcache (Depends-on): Re-add flexmember.
42017
42018         * lib/idcache.c (getuser): Remove all uses of the register keyword.
42019         (getuidbyname, getgroup, getgidbyname): Likewise.
42020
42021         Use cleaner syntax: NULL rather than 0.
42022         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
42023
42024 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
42025
42026         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
42027         It mishandled the case where the group was missing.
42028         Problem reported by Greg Schafer.
42029         * modules/idcache: Likewise.
42030
42031 2006-11-18  Jim Meyering  <jim@meyering.net>
42032
42033         * check-module (%exempt_header): Add exception for some
42034         conditionally-included headers.
42035
42036         * modules/i-ring (Depends-on): Add verify.
42037         (License): Change to LGPL.
42038
42039 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
42040
42041         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
42042         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
42043         and inttostr.h.  Use snprintf rather than uinttostr, so that
42044         LGPLed code doesn't depend on GPLed.
42045
42046 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
42047
42048         * modules/inline (License): Change from GPL to LGPL.
42049
42050 2006-11-17  Jim Meyering  <jim@meyering.net>
42051
42052         * modules/d-type (License): Switch to LGPL.
42053
42054 2006-11-15  Bruno Haible  <bruno@clisp.org>
42055
42056         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
42057
42058 2006-11-15  Eric Blake  <ebb9@byu.net>
42059
42060         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
42061         the module dependency.
42062
42063 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
42064             Bruno Haible  <bruno@clisp.org>
42065
42066         * gnulib-tool (func_create_testdir): Add license consistency check.
42067
42068 2006-11-15  Eric Blake  <ebb9@byu.net>
42069
42070         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
42071         random "(cached)" in configure output.
42072
42073 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42074
42075         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
42076         test for conforming inttypes.h is both announced and cached.
42077
42078         * MODULES.html.sh (seen_modules, seen_files): New variables.
42079         (func_module): Rewrite to use a few less gnulib-tool and sed
42080         invocations.  Avoid a couple of quadratic algorithms for ...
42081         (missed_modules, missed_files): ... these, with ...
42082         (func_append, func_tmpdir): ... these new functions, from
42083         gnulib-tool.  Analogously, install traps for cleanup.
42084
42085         * tests/test-gc.c (main): Remove unused variables.
42086         * tests/test-read-file.c: Include stdlib.h, for 'free'.
42087
42088 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
42089
42090         * modules/inttostr (License): Change to LGPL.
42091
42092 2006-11-14  Eric Blake  <ebb9@byu.net>
42093
42094         * modules/tempname (License): Change to LGPL.
42095
42096 2006-11-14  Eric Blake  <ebb9@byu.net>
42097
42098         * doc/functions.texi (Function Portability): *printf functions on
42099         Cygwin now understand all POSIX size specifiers.
42100
42101 2006-11-14  Bruno Haible  <bruno@clisp.org>
42102
42103         * modules/c-ctype (License): Change to LGPL.
42104
42105 2006-11-12  Bruno Haible  <bruno@clisp.org>
42106
42107         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
42108         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
42109         for GNOME libraries, for which the include files are installed in
42110         subdirectories of $prefix/include.
42111
42112 2006-11-12  Bruno Haible  <bruno@clisp.org>
42113
42114         * m4/lib-link.m4: Require at least autoconf-2.54.
42115         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
42116         name to underscores for the --with option.
42117
42118 2006-11-13  Bruno Haible  <bruno@clisp.org>
42119
42120         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
42121         the tests directory.
42122         Reported by Ralf Wildenhues.
42123
42124 2006-11-13  Bruno Haible  <bruno@clisp.org>
42125
42126         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
42127         (func_emit_initmacro_end): Undo the override here.
42128         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
42129         Works around the famous automake error in coreutils.
42130
42131 2006-11-13  Eric Blake  <ebb9@byu.net>
42132
42133         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
42134         element, not its node.
42135
42136 2006-11-12  Bruno Haible  <bruno@clisp.org>
42137
42138         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
42139         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
42140
42141 2006-11-12  Bruno Haible  <bruno@clisp.org>
42142
42143         * gnulib-tool: New option --local-symlink.
42144         (func_usage): Document it.
42145         (lsymbolic): New variable.
42146         (func_import, func_create_testdir): If --symlink was not specified,
42147         test whether --local-symlink was specified and the file comes from
42148         the local_gnulib_dir.
42149
42150 2006-11-12  Bruno Haible  <bruno@clisp.org>
42151
42152         * gnulib-tool (func_ln): New function.
42153         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
42154
42155 2006-11-12  Bruno Haible  <bruno@clisp.org>
42156
42157         Finish support for source files in subdirectories.
42158         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
42159         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
42160         AUTOMAKE_OPTIONS.
42161         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
42162
42163 2006-11-12  Bruno Haible  <bruno@clisp.org>
42164
42165         * gnulib-tool (func_get_automake_snippet): Synthesize also an
42166         EXTRA_lib_SOURCES augmentation.
42167         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
42168
42169 2006-11-12  Jim Meyering  <jim@meyering.net>
42170
42171         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
42172         file descriptors.  This also averts a failure on systems with
42173         native openat support when a traversed directory lacks "x" access.
42174         * lib/fts_.h: Include "i-ring.h"
42175         (struct FTS) [fts_fd_ring]: New member.
42176         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
42177         (FCHDIR): Add parentheses.
42178         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
42179         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
42180         When descending, rather than simply closing the previous
42181         fts_cwd_fd value, push that file descriptor onto the ring.
42182         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
42183         (fts_open): Initialize the new fd_ring member.
42184         (fts_close): Clear the ring.
42185         (fts_safe_changedir): When possible, use our new fd_ring to skip
42186         the diropen and fstat and dev/ino comparison that would normally
42187         accompany a virtual `chdir ("..")'.
42188
42189         * modules/fts (Depends-on): Add i-ring.
42190         * modules/i-ring: New module.
42191         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
42192         * m4/i-ring.m4: New file.
42193
42194 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42195
42196         * gnulib-tool (func_create_testdir): Fix replacement of
42197         `build-aux' in configure.ac.  Run autotools in gltests
42198         subdirectory.
42199         (func_create_testdir, func_create_megatestdir, test): There is
42200         no need for '--force' in most autotool invocations in a new
42201         tree.  Actually fail the whole test if any of the tools, or the
42202         configure or make stages fail.
42203
42204         Sync from Automake.
42205         * build-aux/gnupload: Revert last change.  Add pointer to upload
42206         instructions of the GNU Maintenance Instructions.
42207         Suggestion by Karl Berry.
42208
42209 2006-11-10  Jim Meyering  <jim@meyering.net>
42210
42211         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
42212
42213 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
42214
42215         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
42216         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
42217         (bind_textdomain_codeset) [! ENABLE_NLS]:
42218         Evaluate all the arguments.  That way, callers get compatible behavior
42219         if the arguments have side effects.  Also, it avoids some GCC
42220         diagnostics in some cases; Joel E. Denny reported problems when Bison
42221         was configured with --enable-gcc-warnigs.
42222
42223 2006-11-10  Jim Meyering  <jim@meyering.net>
42224
42225         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
42226         relevant options in CFLAGS (like -O, -fno-inline) are taken into
42227         account.
42228
42229 2006-11-10  Jim Meyering  <jim@meyering.net>
42230
42231         * modules/inline: New file/module.
42232         * modules/xalloc (Files): Remove m4/inline.m4.
42233         (Depends-on): Add inline, instead.
42234         * modules/oset: Likewise.
42235         * modules/list: Likewise.
42236
42237 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
42238
42239         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
42240         Problem reported by Matthew Woehlke.
42241
42242 2006-11-09  Bruno Haible  <bruno@clisp.org>
42243
42244         * lib/tempname.c (gen_tempname): Remove variant that invokes
42245         __gen_tempname.
42246         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
42247         __gen_tempname.
42248
42249 2006-11-08  Bruno Haible  <bruno@clisp.org>
42250
42251         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
42252         to 'yes' instead of 'cross-compiling'.
42253
42254 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
42255
42256         * lib/quotearg.h (quotearg_free): New decl.
42257         * lib/quotearg.c (quotearg_free): New function.
42258         (slot0, nslots, slotvec0, slotvec):
42259         Now file-scope so that quotearg_free can get at them.
42260
42261 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42262
42263         Sync from Automake.
42264         * build-aux/gnupload: Add missing 'gnu' to example URL.
42265         Report by Karl Berry.
42266
42267 2006-11-08  Bruno Haible  <bruno@clisp.org>
42268
42269         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
42270         Suggested by Paul Eggert.
42271
42272 2006-11-08  Jim Meyering  <jim@meyering.net>
42273
42274         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
42275         It's already included if !_LIBC.
42276         (fts_safe_changedir): Add a comment.
42277
42278 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
42279
42280         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
42281         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
42282         Matthew Woehlke.
42283
42284         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
42285         definitions up, to avoid colliding with change below.
42286         (static_inline) [HAVE_INLINE]: New macro.
42287         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
42288         Provide extern decls when !HAVE_INLINE.  Do not define unless
42289         static_inline is defined, either by us or by xmalloc.c.  Use
42290         static_inline rather than static inline.
42291         (XCALLOC): Optimize sizeof(T) = 1 case.
42292         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
42293
42294 2006-11-07  Bruno Haible  <bruno@clisp.org>
42295
42296         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
42297         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
42298         AC_C_INLINE.
42299         * modules/xalloc (Files): Add m4/inline.m4.
42300
42301 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42302
42303         * README: Fix typo.
42304         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
42305         (Miscellanous Notes): ...from this.
42306
42307 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
42308
42309         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
42310         Mention that offsetof should be used instead of sizeof.
42311         From Bruno Haible.
42312
42313 2006-11-07  Bruno Haible  <bruno@clisp.org>
42314
42315         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
42316
42317 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
42318
42319         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
42320         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
42321         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
42322         (gl_tree_add_before, gl_tree_add_after):
42323         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
42324         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
42325         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
42326         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
42327         (gl_linked_add_after, gl_linked_add_at): Likewise.
42328         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
42329         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
42330         (gl_tree_add_before, gl_tree_add_after): Likewise.
42331         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
42332         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
42333         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
42334
42335 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42336
42337         * lib/gl_oset.h: Use C comment style, not C++ comment style.
42338
42339 2006-11-06  Bruno Haible  <bruno@clisp.org>
42340
42341         * m4/inline.m4: New file.
42342         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
42343         * modules/list (Files): Add m4/inline.m4.
42344         * modules/oset (Files): Likewise.
42345
42346 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
42347
42348         * lib/idcache.c: Include <stddef.h>, for offsetof.
42349         (struct userid.name): Change from char * to a flexible array member.
42350         All uses changed.
42351         * modules/idcache (Depends-on): Add flexmember.
42352
42353         * MODULES.html.sh (Core language properties): New module flexmember.
42354         * modules/flexmember, m4/flexmember.m4: New files.
42355
42356         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
42357         inline functions that are identical with the old xnmalloc_inline,
42358         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
42359         that we can avoid some unnecessary integer multiplications and
42360         divisions in the common case where the element size is known at
42361         compile time.
42362         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
42363         needed.
42364         (xnboundedmalloc): Remove.
42365         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
42366         arguments, for consistency with rest of this header.
42367         (xcharalloc): Rewrite using XNMALLOC.
42368         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
42369         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
42370         versions have been moved to lib/xalloc.h and renamed to be the
42371         non-*_inline versions.
42372         (xmalloc, xrealloc): Implement without reference to the xnmalloc
42373         and xnrealloc functions, since those functions are now inline and
42374         now call us.
42375         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
42376         renaming described above.
42377         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
42378         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
42379         captures the dependency in AC_C_INLINE.
42380
42381         New module canonicalize-lgpl, proposed by Charles Wilson in
42382         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
42383         with a few small changes afterwards.
42384         * MODULES.html.sh (File system functions): New module
42385         canonicalize-lgpl.
42386         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
42387         and canonicalize_file_name.
42388         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
42389         * modules/canonicalize-lgpl: New files.
42390
42391 2006-11-05  Bruno Haible  <bruno@clisp.org>
42392
42393         * gnulib-tool (func_import, func_create_testdir): Create directories
42394         also for files in subdirectories of lib/.
42395
42396 2006-11-05  Bruno Haible  <bruno@clisp.org>
42397
42398         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
42399         ANSI C compliant.
42400
42401 2006-11-03  Bruno Haible  <bruno@clisp.org>
42402
42403         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
42404         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
42405         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
42406         (xnboundedmalloc): New inline function.
42407         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
42408         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
42409         xmalloc.
42410         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
42411         xmalloc.
42412         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
42413         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
42414         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
42415         xmalloc.
42416         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
42417         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
42418         xmalloc.
42419         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
42420         gl_tree_add_after): Use XMALLOC instead of xmalloc.
42421         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
42422         xmalloc.
42423         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
42424         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
42425         gl_tree_add_after): Use XMALLOC instead of xmalloc.
42426         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
42427         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
42428         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
42429         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
42430
42431 2006-11-03  Bruno Haible  <bruno@clisp.org>
42432
42433         * lib/c-ctype.h [C++]: Define functions without name mangling.
42434         * lib/fwriteerror.h [C++]: Likewise.
42435         * lib/gcd.h [C++]: Likewise.
42436         * lib/linebreak.h [C++]: Likewise.
42437
42438 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
42439
42440         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
42441         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
42442         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
42443         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
42444         Check for functions and headers just once.
42445         Check for declaration of canonicalize_file_name.
42446         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
42447
42448 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
42449
42450         * gnulib-tool (func_import): Fix typo in actioncmd.
42451
42452 2006-11-02  Bruno Haible  <bruno@clisp.org>
42453
42454         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
42455         newline sequence in the Makefile.am snippet as a space, like "make"
42456         does.
42457         Reported by Roger Persson <perrog@gmail.com>.
42458
42459 2006-11-01  Bruno Haible  <bruno@clisp.org>
42460
42461         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
42462         already declared in <string.h>.
42463         * lib/strcase.h (strncasecmp): Don't declare it if yes.
42464
42465 2006-11-01  Bruno Haible  <bruno@clisp.org>
42466
42467         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
42468         * lib/strcase.h: Include <string.h>.
42469         (strcasecmp): Define to rpl_strcasecmp here.
42470
42471 2006-11-01  Bruno Haible  <bruno@clisp.org>
42472
42473         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
42474
42475 2006-11-01  Eric Blake  <ebb9@byu.net>
42476
42477         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
42478
42479         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
42480
42481 2006-10-29  Bruno Haible  <bruno@clisp.org>
42482
42483         Make it compile in C++ mode.
42484         * lib/full-write.c (full_rw): Add a cast.
42485
42486 2006-11-01  Bruno Haible  <bruno@clisp.org>
42487
42488         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
42489         be POSIX compliant.
42490         Reported by Roger Persson <perrog@gmail.com>.
42491
42492 2006-11-01  Eric Blake  <ebb9@byu.net>
42493
42494         * lib/getopt_.h: Fix comments.
42495
42496 2006-10-31  Eric Blake  <ebb9@byu.net>
42497
42498         * modules/tmpdir (Depends-on): Add sys_stat.
42499         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
42500         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
42501         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
42502         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
42503         tempname.
42504
42505 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
42506
42507         Avoid some C++ diagnostics reported by Bruno Haible.
42508         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
42509         xmalloc.
42510         (quotearg_alloc): Use xcharalloc rather than xmalloc.
42511         (struct slotvec): Move to top level.
42512         (quotearg_n_options): Rewrite to avoid xmalloc.
42513         * lib/xalloc.h (xcharalloc): New function.
42514         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
42515         [defined __cplusplus]: Add function template that provides result
42516         type propagation.  This part of the change is from Bruno Haible.
42517
42518 2006-10-29  Bruno Haible  <bruno@clisp.org>
42519
42520         Make it compile in C++ mode.
42521         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
42522         * lib/strnlen1.c (strnlen1): Cast memchr result.
42523         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
42524         * lib/clean-temp.c (string_equals, string_hash): Add casts.
42525         (create_temp_dir): Rename local variable 'template'.
42526         (compile_csharp_using_sscli): Add cast.
42527         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
42528         * lib/findprog.c (find_in_path): Likewise.
42529         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
42530         * lib/wait-process.c (register_slave_subprocess): Likewise.
42531
42532 2006-10-22  Bruno Haible  <bruno@clisp.org>
42533
42534         * modules/tsearch: New file.
42535         * lib/tsearch.h: New file.
42536         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
42537         * m4/tsearch.m4: New file.
42538         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
42539
42540 2006-10-29  Eric Blake  <ebb9@byu.net>
42541
42542         * lib/arcfour.c: Assume config.h.
42543         * lib/arctwo.c: Likewise.
42544         * lib/base64.c: Likewise.
42545         * lib/check-version.c: Likewise.
42546         * lib/crc.c: Likewise.
42547         * lib/des.c: Likewise.
42548         * lib/gc-gnulib.c: Likewise.
42549         * lib/gc-libgcrypt.c: Likewise.
42550         * lib/gc-pbkdf2-sha1.c: Likewise.
42551         * lib/getaddrinfo.c: Likewise.
42552         * lib/getdelim.c: Likewise.
42553         * lib/getline.c: Likewise.
42554         * lib/hmac-md5.c: Likewise.
42555         * lib/hmac-sha1.c: Likewise.
42556         * lib/iconvme.c: Likewise.
42557         * lib/md2.c: Likewise.
42558         * lib/md4.c: Likewise.
42559         * lib/memxor.c: Likewise.
42560         * lib/read-file.c: Likewise.
42561         * lib/readline.c: Likewise.
42562         * lib/rijndael-alg-fst.c: Likewise.
42563         * lib/rijndael-api-fst.c: Likewise.
42564         * lib/xgetdomainname.c: Likewise.
42565
42566 2006-10-28  Eric Blake  <ebb9@byu.net>
42567
42568         * lib/xstrndup.c: Assume config.h.
42569
42570 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
42571
42572         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
42573         stat-macros.h is now for our own macros, whereas stat_h is for
42574         macros in the <sys/stat.h> name space.
42575         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
42576         (STAT_MACROS_H): Remove.
42577         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
42578         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
42579         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
42580         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
42581         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
42582         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
42583         Move these macros to ...
42584         * lib/stat_.h: here.  Don't include stat-macros.h.
42585         * lib/canonicalize.c: Don't include stat-macros.h.
42586         * lib/chown.c: Likewise.
42587         * lib/euidaccess.c: Likewise.
42588         * lib/file-type.c: Likewise.
42589         * lib/filemode.c: Likewise.
42590         * lib/glob.c: Likewise.
42591         * lib/isapipe.c: Likewise.
42592         * lib/lchown.c: Likewise.
42593         * lib/lstat.c: Likewise.
42594         * lib/mkdir-p.c: Likewise.
42595         * lib/rmdir.c: Likewise.
42596         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
42597         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
42598         unless mkdir isn't declared, to speed up 'configure'.
42599         Always create sys/stat.h, since it's unlikely any real sys/stat.h
42600         would define all the S_* symbols.
42601         * modules/canonicalize (Depends-on):
42602         Depend on sys_stat, not stat-macros.
42603         * modules/chown: Likewise.
42604         * modules/euidaccess: Likewise.
42605         * modules/filemode: Likewise.
42606         * modules/file-type: Likewise.
42607         * modules/glob: Likewise.
42608         * modules/isapipe: Likewise.
42609         * modules/lchown: Likewise.
42610         * modules/lstat: Likewise.
42611         * modules/mkancesdirs: Likewise.
42612         * modules/rmdir: Likewise.
42613         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
42614         * modules/modechange: Likewise.
42615         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
42616         (configure.ac): Remove gl_STAT_MACROS.
42617         * modules/sys_stat (Depends-on): Remove stat-macros.
42618
42619 2006-10-27  Bruno Haible  <bruno@clisp.org>
42620
42621         * m4/signed.m4: Remove file.
42622         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
42623         invocation.
42624         * modules/vasnprintf (Files): Remove m4/signed.m4.
42625
42626 2006-10-27  Bruno Haible  <bruno@clisp.org>
42627
42628         Update to GNU gettext 0.16.
42629         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
42630         m4/inttypes-h.m4, m4/signed.m4.
42631         * m4/gettext.m4: Update to GNU gettext 0.16.
42632         * m4/intl.m4: New file, from GNU gettext.
42633         * m4/intldir.m4: New file, from GNU gettext.
42634         * config/srclist.txt: Update
42635
42636 2006-10-27  Eric Blake  <ebb9@byu.net>
42637
42638         * MODULES.html.sh: Document tempname.
42639         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
42640         dependencies.
42641         (Files): Move lib/tempname.c...
42642         * modules/tempname: ...to this new module.
42643         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
42644         (gl_PREREQ_TEMPNAME): Move...
42645         * m4/tempname.m4: ...to this new file.
42646         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
42647         * modules/sys_stat (Depends-on): Add stat-macros.
42648         * lib/stat_.h (includes): Pick up stat macros.
42649         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
42650         if stat macros are broken.
42651         * lib/tempname.c (includes): No need to include "stat-macros.h".
42652         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
42653         (direxists, __path_search) [!_LIBC]: Don't compile these in
42654         gnulib; the tmpdir module covers that.
42655         * lib/tempname.h: New file.
42656
42657 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
42658
42659         * COPYING: Explain how gnulib-tool converts licence headers.
42660         Almost all wording by Eric Blake.
42661
42662 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
42663
42664         * lib/mbchar.h (is_basic_table): Make read-only.
42665         * lib/mbchar.c (is_basic_table): Likewise.
42666         Reported by John Darrington.
42667
42668 2006-10-25  Bruno Haible  <bruno@clisp.org>
42669
42670         * lib/progname.h (set_program_name): Undefine before defining.
42671
42672 2006-10-25  Bruno Haible  <bruno@clisp.org>
42673
42674         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
42675         false for non-gcc C++ compilers.
42676         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
42677
42678 2006-10-24  Bruno Haible  <bruno@clisp.org>
42679
42680         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
42681         iconv implementations like Irix iconv.
42682
42683 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
42684
42685         * modules/vararrays: New file.
42686         * m4/vararrays.m4: New file, taken from diffutils.
42687         * MODULES.html.sh: New module vararrays.
42688
42689 2006-10-24  Karl Berry  <karl@gnu.org>
42690
42691         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
42692         Don't call GNU Unix.
42693
42694 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42695
42696         * users.txt: Add Libtool.
42697
42698         Sync from Libtool:
42699
42700         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
42701
42702         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
42703         to gnulib's policy of including config.h unconditionally.
42704
42705 2006-10-24  Bruno Haible  <bruno@clisp.org>
42706
42707         * modules/wcwidth (Files): Add m4/wint_t.m4.
42708         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
42709         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
42710
42711 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
42712
42713         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
42714         to pacify GCC with some -W flags enabled.  Problem reported by
42715         Bruno Haible.
42716
42717 2006-10-24  Jim Meyering  <jim@meyering.net>
42718
42719         * MODULES.html.sh: Remove uinttostr.  It's not a module.
42720         Reported by Karl Berry.
42721
42722 2006-10-23  Bruno Haible  <bruno@clisp.org>
42723
42724         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
42725
42726 2006-10-24  Bruno Haible  <bruno@clisp.org>
42727
42728         * lib/gl_list.h: Use C comment style, not C++ comment style.
42729
42730 2006-10-23  Eric Blake  <ebb9@byu.net>
42731
42732         * lib/getaddrinfo.c (includes): Add missing include.
42733
42734 2006-10-23  Bruno Haible  <bruno@clisp.org>
42735             Paul Eggert  <eggert@cs.ucla.edu>
42736
42737         Ability to rename obstack_free.
42738         * lib/obstack.h (__obstack_free): New macro. Declare instead of
42739         obstack_free.
42740         (obstack_free): Invoke the __obstack_free macro.
42741         * lib/obstack.c (obstack_free): Use __obstack_free macro.
42742
42743 2006-10-23  Bruno Haible  <bruno@clisp.org>
42744             Paul Eggert  <eggert@cs.ucla.edu>
42745
42746         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
42747         __argc, __argv from the declaration. (They are defined as macros on
42748         mingw.)
42749
42750 2006-10-22  Bruno Haible  <bruno@clisp.org>
42751
42752         * doc/gnulib-intro.texi: New file.
42753         * doc/gnulib.texi: Include it.
42754
42755 2006-10-21  Bruno Haible  <bruno@clisp.org>
42756
42757         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
42758         "Introduction", "Miscellanous Notes", "Particular Modules".
42759
42760 2006-10-21  Bruno Haible  <bruno@clisp.org>
42761
42762         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
42763         Change mostlyclean-local rule to avoid sh syntax error from bash
42764         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
42765
42766 2006-10-23  Jim Meyering  <jim@meyering.net>
42767
42768         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
42769         in place of snprintf.
42770
42771         * modules/inttostr (Files): Add lib/uinttostr.c.
42772         * lib/uinttostr.c (inttostr): New file/function.
42773         * lib/inttostr.h (uinttostr): Declare.
42774         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
42775         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
42776         Add uinttostr.
42777         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
42778
42779 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
42780
42781         * lib/canonicalize.c (ELOOP): Define if not already defined.
42782         Problem reported by Bruno Haible in
42783         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
42784
42785 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
42786
42787         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
42788         Problem reported by Perry Smith and Ville Laurikari.
42789
42790         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
42791         uses.
42792
42793 2006-10-19  Bruno Haible  <bruno@clisp.org>
42794
42795         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
42796         for mingw.
42797
42798 2006-10-19  Bruno Haible  <bruno@clisp.org>
42799
42800         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
42801         Needed for mingw.
42802
42803 2006-10-19  Bruno Haible  <bruno@clisp.org>
42804
42805         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
42806
42807 2006-10-19  Bruno Haible  <bruno@clisp.org>
42808
42809         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
42810         it.
42811
42812 2006-10-19  Bruno Haible  <bruno@clisp.org>
42813
42814         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
42815         invocation.
42816
42817 2006-10-19  Bruno Haible  <bruno@clisp.org>
42818
42819         * gnulib-tool (func_create_testdir): Don't include ftruncate and
42820         mountlist by default.
42821
42822 2006-10-16  Bruno Haible  <bruno@clisp.org>
42823
42824         * lib/c-strstr.c: Include c-strstr.h.
42825
42826 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
42827
42828         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
42829         in a slash.
42830
42831 2006-10-18  Bruno Haible  <bruno@clisp.org>
42832
42833         * lib/lock.h [C++]: Wrap definitions in extern "C".
42834
42835 2006-10-18  Bruno Haible  <bruno@clisp.org>
42836
42837         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
42838         gl_LIBOBJS list.
42839
42840 2006-10-18  Bruno Haible  <bruno@clisp.org>
42841
42842         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
42843
42844 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
42845
42846         * lib/xstrtol.h: Include gettext.h.
42847         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
42848         Problem reported by Eric Blake.
42849         * modules/xstrtol (Depends-on): Add gettext-h.
42850
42851 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
42852
42853         * lib/strftime.c (advance): New macro.
42854         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
42855         incomplete type, so you can't add 0 to it.  Problem and patch
42856         reported by Eelco Dolstra for dietlibc.
42857
42858 2006-10-18  Jim Meyering  <jim@meyering.net>
42859
42860         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
42861         type for a local, and rename it: s/up/user_proc/.
42862
42863 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
42864
42865         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
42866         READ_UTMP_USER_PROCESS.
42867         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
42868
42869 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
42870
42871         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
42872         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
42873
42874 2006-10-17  Eric Blake  <ebb9@byu.net>
42875
42876         * lib/sigprocmask.c (sigprocmask): Fix typo.
42877
42878         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
42879
42880         * modules/clean-temp (Makefile.am): Don't add to make output...
42881         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
42882         config.h.
42883
42884 2006-10-17  Bruno Haible  <bruno@clisp.org>
42885
42886         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
42887         differently if DEFAULT_TEXT_DOMAIN is set.
42888
42889 2006-10-16  Bruno Haible  <bruno@clisp.org>
42890
42891         * lib/clean-temp.c: Include fwriteerror.h.
42892
42893 2006-10-16  Bruno Haible  <bruno@clisp.org>
42894
42895         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
42896
42897 2006-10-16  Bruno Haible  <bruno@clisp.org>
42898
42899         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
42900         * lib/sigprocmask.h: Include <sys/types.h>.
42901         (sigset_t): Use the system's definition if present.
42902
42903 2006-10-17  Eric Blake  <ebb9@byu.net>
42904
42905         * lib/xvasprintf.c (includes): Assume config.h.
42906         * lib/xasprintf.c (includes): Likewise.
42907
42908 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
42909
42910         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
42911         at least as wide as intmax_t.
42912
42913 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
42914
42915         (Imported from Automake.)
42916         * build-aux/gnupload: Update to version 1.1 of directive file.
42917
42918 2006-10-16  Eric Blake  <ebb9@byu.net>
42919
42920         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
42921         match Automake 1.10a.
42922
42923 2006-10-14  Bruno Haible  <bruno@clisp.org>
42924
42925         * modules/sigprocmask: New file.
42926         * lib/sigprocmask.h: New file.
42927         * lib/sigprocmask.c: New file.
42928         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
42929         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
42930         request sigprocmask.o.
42931         (gl_PREREQ_SIGPROCMASK): New macro.
42932         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
42933         (Depends-on): Add sigprocmask.
42934         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
42935         gt_SIGNALBLOCKING. Test for 'raise' only once.
42936         * lib/fatal-signal.c: Include sigprocmask.h.
42937         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
42938         unblock_fatal_signals): Define always.
42939         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
42940         sigprocmask.
42941
42942 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
42943
42944         Sync from Automake.
42945         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
42946         which incorrectly sets the mode of an existing destination
42947         directory.  In some cases the unpatched install-sh could do the
42948         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
42949         system.  We hope this is rare in practice, but it's clearly worth
42950         fixing.  Problem reported by Alex Unleashed in
42951         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
42952         Also, don't bother to check for -m bugs unless we're using -m;
42953         suggested by Stepan Kasal.
42954
42955 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42956
42957         Sync from Automake.
42958         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
42959         `-c' flag, so they appear at the same position as in %FASTDEP%
42960         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
42961         which ignores unknown options only after the first non-option.
42962         Bug report against M4 by Nelson H. F. Beebe.
42963
42964 2006-10-13  Jim Meyering  <jim@meyering.net>
42965
42966         Fix a bug in yesterday's change.
42967         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
42968         p->fts_statp->st_dev would be used uninitialized.
42969         Ensures that we always call fts_stat on the very first entry.
42970         Miklos Szeredi reported that find -xdev stopped working.
42971
42972 2006-10-12  Bruno Haible  <bruno@clisp.org>
42973
42974         * gnulib-tool (func_get_automake_snippet): Append an automatically
42975         computed EXTRA_DIST augmentation.
42976         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
42977         * modules/alloca-opt (Makefile.am): Likewise.
42978         * modules/allocsa (Makefile.am): Likewise.
42979         * modules/arcfour (Makefile.am): Likewise.
42980         * modules/arctwo (Makefile.am): Likewise.
42981         * modules/argmatch (Makefile.am): Likewise.
42982         * modules/argz (Makefile.am): Likewise.
42983         * modules/atexit (Makefile.am): Likewise.
42984         * modules/backupfile (Makefile.am): Likewise.
42985         * modules/byteswap (Makefile.am): Likewise.
42986         * modules/c-strtod (Makefile.am): Likewise.
42987         * modules/c-strtold (Makefile.am): Likewise.
42988         * modules/calloc (Makefile.am): Likewise.
42989         * modules/canon-host (Makefile.am): Likewise.
42990         * modules/canonicalize (Makefile.am): Likewise.
42991         * modules/chdir-long (Makefile.am): Likewise.
42992         * modules/chdir-safer (Makefile.am): Likewise.
42993         * modules/check-version (Makefile.am): Likewise.
42994         * modules/chown (Makefile.am): Likewise.
42995         * modules/cloexec (Makefile.am): Likewise.
42996         * modules/close-stream (Makefile.am): Likewise.
42997         * modules/closeout (Makefile.am): Likewise.
42998         * modules/crc (Makefile.am): Likewise.
42999         * modules/csharpexec (Makefile.am): Likewise.
43000         * modules/cycle-check (Makefile.am): Likewise.
43001         * modules/des (Makefile.am): Likewise.
43002         * modules/dev-ino (Makefile.am): Likewise.
43003         * modules/dirfd (Makefile.am): Likewise.
43004         * modules/dirname (Makefile.am): Likewise.
43005         * modules/dup2 (Makefile.am): Likewise.
43006         * modules/eealloc (Makefile.am): Likewise.
43007         * modules/error (Makefile.am): Likewise.
43008         * modules/euidaccess (Makefile.am): Likewise.
43009         * modules/exclude (Makefile.am): Likewise.
43010         * modules/exitfail (Makefile.am): Likewise.
43011         * modules/fcntl-safer (Makefile.am): Likewise.
43012         * modules/fcntl (Makefile.am): Likewise.
43013         * modules/file-type (Makefile.am): Likewise.
43014         * modules/fileblocks (Makefile.am): Likewise.
43015         * modules/filemode (Makefile.am): Likewise.
43016         * modules/filenamecat (Makefile.am): Likewise.
43017         * modules/fnmatch (Makefile.am): Likewise.
43018         * modules/fopen-safer (Makefile.am): Likewise.
43019         * modules/fpending (Makefile.am): Likewise.
43020         * modules/fprintftime (Makefile.am): Likewise.
43021         * modules/free (Makefile.am): Likewise.
43022         * modules/fsusage (Makefile.am): Likewise.
43023         * modules/ftruncate (Makefile.am): Likewise.
43024         * modules/fts (Makefile.am): Likewise.
43025         * modules/gc-arcfour (Makefile.am): Likewise.
43026         * modules/gc-des (Makefile.am): Likewise.
43027         * modules/gc-hmac-md5 (Makefile.am): Likewise.
43028         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
43029         * modules/gc-md4 (Makefile.am): Likewise.
43030         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
43031         * modules/gc-sha1 (Makefile.am): Likewise.
43032         * modules/gc (Makefile.am): Likewise.
43033         * modules/getaddrinfo (Makefile.am): Likewise.
43034         * modules/getcwd (Makefile.am): Likewise.
43035         * modules/getdelim (Makefile.am): Likewise.
43036         * modules/getdomainname (Makefile.am): Likewise.
43037         * modules/getgroups (Makefile.am): Likewise.
43038         * modules/gethostname (Makefile.am): Likewise.
43039         * modules/gethrxtime (Makefile.am): Likewise.
43040         * modules/getline (Makefile.am): Likewise.
43041         * modules/getloadavg (Makefile.am): Likewise.
43042         * modules/getlogin_r (Makefile.am): Likewise.
43043         * modules/getndelim2 (Makefile.am): Likewise.
43044         * modules/getopt (Makefile.am): Likewise.
43045         * modules/getpagesize (Makefile.am): Likewise.
43046         * modules/getpass-gnu (Makefile.am): Likewise.
43047         * modules/getpass (Makefile.am): Likewise.
43048         * modules/getsubopt (Makefile.am): Likewise.
43049         * modules/gettime (Makefile.am): Likewise.
43050         * modules/gettimeofday (Makefile.am): Likewise.
43051         * modules/getugroups (Makefile.am): Likewise.
43052         * modules/getusershell (Makefile.am): Likewise.
43053         * modules/glob (Makefile.am): Likewise.
43054         * modules/group-member (Makefile.am): Likewise.
43055         * modules/hard-locale (Makefile.am): Likewise.
43056         * modules/hash (Makefile.am): Likewise.
43057         * modules/hmac-md5 (Makefile.am): Likewise.
43058         * modules/hmac-sha1 (Makefile.am): Likewise.
43059         * modules/human (Makefile.am): Likewise.
43060         * modules/idcache (Makefile.am): Likewise.
43061         * modules/imaxabs (Makefile.am): Likewise.
43062         * modules/imaxdiv (Makefile.am): Likewise.
43063         * modules/inet_ntop (Makefile.am): Likewise.
43064         * modules/inet_pton (Makefile.am): Likewise.
43065         * modules/intprops (Makefile.am): Likewise.
43066         * modules/inttostr (Makefile.am): Likewise.
43067         * modules/inttypes (Makefile.am): Likewise.
43068         * modules/isapipe (Makefile.am): Likewise.
43069         * modules/javaversion (Makefile.am): Likewise.
43070         * modules/lchmod (Makefile.am): Likewise.
43071         * modules/lchown (Makefile.am): Likewise.
43072         * modules/localcharset (Makefile.am): Likewise.
43073         * modules/long-options (Makefile.am): Likewise.
43074         * modules/lstat (Makefile.am): Likewise.
43075         * modules/malloc (Makefile.am): Likewise.
43076         * modules/mathl (Makefile.am): Likewise.
43077         * modules/mbchar (Makefile.am): Likewise.
43078         * modules/md2 (Makefile.am): Likewise.
43079         * modules/md4 (Makefile.am): Likewise.
43080         * modules/md5 (Makefile.am): Likewise.
43081         * modules/memcasecmp (Makefile.am): Likewise.
43082         * modules/memchr (Makefile.am): Likewise.
43083         * modules/memcmp (Makefile.am): Likewise.
43084         * modules/memcoll (Makefile.am): Likewise.
43085         * modules/memcpy (Makefile.am): Likewise.
43086         * modules/memmem (Makefile.am): Likewise.
43087         * modules/memmove (Makefile.am): Likewise.
43088         * modules/mempcpy (Makefile.am): Likewise.
43089         * modules/memrchr (Makefile.am): Likewise.
43090         * modules/memset (Makefile.am): Likewise.
43091         * modules/memxor (Makefile.am): Likewise.
43092         * modules/mkancesdirs (Makefile.am): Likewise.
43093         * modules/mkdir-p (Makefile.am): Likewise.
43094         * modules/mkdir (Makefile.am): Likewise.
43095         * modules/mkdtemp (Makefile.am): Likewise.
43096         * modules/mkstemp (Makefile.am): Likewise.
43097         * modules/mktime (Makefile.am): Likewise.
43098         * modules/modechange (Makefile.am): Likewise.
43099         * modules/mountlist (Makefile.am): Likewise.
43100         * modules/nanosleep (Makefile.am): Likewise.
43101         * modules/obstack (Makefile.am): Likewise.
43102         * modules/openat (Makefile.am): Likewise.
43103         * modules/pagealign_alloc (Makefile.am): Likewise.
43104         * modules/pathmax (Makefile.am): Likewise.
43105         * modules/physmem (Makefile.am): Likewise.
43106         * modules/poll (Makefile.am): Likewise.
43107         * modules/posixtm (Makefile.am): Likewise.
43108         * modules/posixver (Makefile.am): Likewise.
43109         * modules/putenv (Makefile.am): Likewise.
43110         * modules/quote (Makefile.am): Likewise.
43111         * modules/quotearg (Makefile.am): Likewise.
43112         * modules/raise (Makefile.am): Likewise.
43113         * modules/read-file (Makefile.am): Likewise.
43114         * modules/readline (Makefile.am): Likewise.
43115         * modules/readlink (Makefile.am): Likewise.
43116         * modules/readtokens (Makefile.am): Likewise.
43117         * modules/readutmp (Makefile.am): Likewise.
43118         * modules/realloc (Makefile.am): Likewise.
43119         * modules/regex (Makefile.am): Likewise.
43120         * modules/rename-dest-slash (Makefile.am): Likewise.
43121         * modules/rename (Makefile.am): Likewise.
43122         * modules/rijndael (Makefile.am): Likewise.
43123         * modules/rmdir (Makefile.am): Likewise.
43124         * modules/rpmatch (Makefile.am): Likewise.
43125         * modules/safe-read (Makefile.am): Likewise.
43126         * modules/safe-write (Makefile.am): Likewise.
43127         * modules/same-inode (Makefile.am): Likewise.
43128         * modules/same (Makefile.am): Likewise.
43129         * modules/save-cwd (Makefile.am): Likewise.
43130         * modules/savedir (Makefile.am): Likewise.
43131         * modules/setenv (Makefile.am): Likewise.
43132         * modules/settime (Makefile.am): Likewise.
43133         * modules/sha1 (Makefile.am): Likewise.
43134         * modules/sig2str (Makefile.am): Likewise.
43135         * modules/snprintf (Makefile.am): Likewise.
43136         * modules/stat-macros (Makefile.am): Likewise.
43137         * modules/stat-time (Makefile.am): Likewise.
43138         * modules/stdbool (Makefile.am): Likewise.
43139         * modules/stdint (Makefile.am): Likewise.
43140         * modules/stdlib-safer (Makefile.am): Likewise.
43141         * modules/stpcpy (Makefile.am): Likewise.
43142         * modules/stpncpy (Makefile.am): Likewise.
43143         * modules/strcase (Makefile.am): Likewise.
43144         * modules/strcasestr (Makefile.am): Likewise.
43145         * modules/strchrnul (Makefile.am): Likewise.
43146         * modules/strcspn (Makefile.am): Likewise.
43147         * modules/strdup (Makefile.am): Likewise.
43148         * modules/strerror (Makefile.am): Likewise.
43149         * modules/strftime (Makefile.am): Likewise.
43150         * modules/strndup (Makefile.am): Likewise.
43151         * modules/strnlen (Makefile.am): Likewise.
43152         * modules/strpbrk (Makefile.am): Likewise.
43153         * modules/strsep (Makefile.am): Likewise.
43154         * modules/strstr (Makefile.am): Likewise.
43155         * modules/strtod (Makefile.am): Likewise.
43156         * modules/strtoimax (Makefile.am): Likewise.
43157         * modules/strtok_r (Makefile.am): Likewise.
43158         * modules/strtol (Makefile.am): Likewise.
43159         * modules/strtoll (Makefile.am): Likewise.
43160         * modules/strtoul (Makefile.am): Likewise.
43161         * modules/strtoull (Makefile.am): Likewise.
43162         * modules/strtoumax (Makefile.am): Likewise.
43163         * modules/strverscmp (Makefile.am): Likewise.
43164         * modules/sys_socket (Makefile.am): Likewise.
43165         * modules/sys_stat (Makefile.am): Likewise.
43166         * modules/sysexits (Makefile.am): Likewise.
43167         * modules/time_r (Makefile.am): Likewise.
43168         * modules/timegm (Makefile.am): Likewise.
43169         * modules/timespec (Makefile.am): Likewise.
43170         * modules/tmpfile-safer (Makefile.am): Likewise.
43171         * modules/trim (Makefile.am): Likewise.
43172         * modules/unistd-safer (Makefile.am): Likewise.
43173         * modules/unlinkdir (Makefile.am): Likewise.
43174         * modules/unlocked-io (Makefile.am): Likewise.
43175         * modules/userspec (Makefile.am): Likewise.
43176         * modules/utime (Makefile.am): Likewise.
43177         * modules/utimecmp (Makefile.am): Likewise.
43178         * modules/utimens (Makefile.am): Likewise.
43179         * modules/vasnprintf (Makefile.am): Likewise.
43180         * modules/vasprintf (Makefile.am): Likewise.
43181         * modules/vsnprintf (Makefile.am): Likewise.
43182         * modules/xalloc (Makefile.am): Likewise.
43183         * modules/xgetcwd (Makefile.am): Likewise.
43184         * modules/xnanosleep (Makefile.am): Likewise.
43185         * modules/xreadlink (Makefile.am): Likewise.
43186         * modules/xstrtod (Makefile.am): Likewise.
43187         * modules/xstrtol (Makefile.am): Likewise.
43188         * modules/xstrtold (Makefile.am): Likewise.
43189         * modules/yesno (Makefile.am): Likewise.
43190         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
43191
43192 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
43193
43194         * modules/error (Makefile.am): Distribute files through
43195         EXTRA_DIST, not lib_SOURCES.
43196
43197 2006-10-12  Eric Blake  <ebb9@byu.net>
43198
43199         * modules/error (Makefile.am): Distribute files in /lib.
43200         * modules/obstack (Makefile.am): Likewise.
43201
43202 2006-10-12  Bruno Haible  <bruno@clisp.org>
43203
43204         * modules/acl (Makefile.am): Distribute all files in lib/ through
43205         EXTRA_DIST.
43206         * modules/arcfour (Makefile.am): Likewise.
43207         * modules/arctwo (Makefile.am): Likewise.
43208         * modules/argmatch (Makefile.am): Likewise.
43209         * modules/argz (Makefile.am): Likewise.
43210         * modules/atexit (Makefile.am): Likewise.
43211         * modules/backupfile (Makefile.am): Likewise.
43212         * modules/c-strtod (Makefile.am): Likewise.
43213         * modules/c-strtold (Makefile.am): Likewise.
43214         * modules/calloc (Makefile.am): Likewise.
43215         * modules/canon-host (Makefile.am): Likewise.
43216         * modules/canonicalize (Makefile.am): Likewise.
43217         * modules/chdir-long (Makefile.am): Likewise.
43218         * modules/chdir-safer (Makefile.am): Likewise.
43219         * modules/check-version (Makefile.am): Likewise.
43220         * modules/chown (Makefile.am): Likewise.
43221         * modules/cloexec (Makefile.am): Likewise.
43222         * modules/close-stream (Makefile.am): Likewise.
43223         * modules/closeout (Makefile.am): Likewise.
43224         * modules/crc (Makefile.am): Likewise.
43225         * modules/cycle-check (Makefile.am): Likewise.
43226         * modules/des (Makefile.am): Likewise.
43227         * modules/dirfd (Makefile.am): Likewise.
43228         * modules/dirname (Makefile.am): Likewise.
43229         * modules/dup2 (Makefile.am): Likewise.
43230         * modules/euidaccess (Makefile.am): Likewise.
43231         * modules/exclude (Makefile.am): Likewise.
43232         * modules/exitfail (Makefile.am): Likewise.
43233         * modules/fcntl-safer (Makefile.am): Likewise.
43234         * modules/file-type (Makefile.am): Likewise.
43235         * modules/fileblocks (Makefile.am): Likewise.
43236         * modules/filemode (Makefile.am): Likewise.
43237         * modules/filenamecat (Makefile.am): Likewise.
43238         * modules/fnmatch (Makefile.am): Likewise.
43239         * modules/fopen-safer (Makefile.am): Likewise.
43240         * modules/fpending (Makefile.am): Likewise.
43241         * modules/fprintftime (Makefile.am): Likewise.
43242         * modules/free (Makefile.am): Likewise.
43243         * modules/fsusage (Makefile.am): Likewise.
43244         * modules/ftruncate (Makefile.am): Likewise.
43245         * modules/fts (Makefile.am): Likewise.
43246         * modules/gc (Makefile.am): Likewise.
43247         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
43248         * modules/getaddrinfo (Makefile.am): Likewise.
43249         * modules/getcwd (Makefile.am): Likewise.
43250         * modules/getdelim (Makefile.am): Likewise.
43251         * modules/getdomainname (Makefile.am): Likewise.
43252         * modules/getgroups (Makefile.am): Likewise.
43253         * modules/gethostname (Makefile.am): Likewise.
43254         * modules/gethrxtime (Makefile.am): Likewise.
43255         * modules/getline (Makefile.am): Likewise.
43256         * modules/getloadavg (Makefile.am): Likewise.
43257         * modules/getlogin_r (Makefile.am): Likewise.
43258         * modules/getopt (Makefile.am): Likewise.
43259         * modules/getpass (Makefile.am): Likewise.
43260         * modules/getpass-gnu (Makefile.am): Likewise.
43261         * modules/getsubopt (Makefile.am): Likewise.
43262         * modules/gettime (Makefile.am): Likewise.
43263         * modules/gettimeofday (Makefile.am): Likewise.
43264         * modules/getugroups (Makefile.am): Likewise.
43265         * modules/getusershell (Makefile.am): Likewise.
43266         * modules/glob (Makefile.am): Likewise.
43267         * modules/group-member (Makefile.am): Likewise.
43268         * modules/hard-locale (Makefile.am): Likewise.
43269         * modules/hash (Makefile.am): Likewise.
43270         * modules/hmac-md5 (Makefile.am): Likewise.
43271         * modules/hmac-sha1 (Makefile.am): Likewise.
43272         * modules/human (Makefile.am): Likewise.
43273         * modules/idcache (Makefile.am): Likewise.
43274         * modules/imaxabs (Makefile.am): Likewise.
43275         * modules/imaxdiv (Makefile.am): Likewise.
43276         * modules/inet_ntop (Makefile.am): Likewise.
43277         * modules/inet_pton (Makefile.am): Likewise.
43278         * modules/inttostr (Makefile.am): Likewise.
43279         * modules/isapipe (Makefile.am): Likewise.
43280         * modules/lchown (Makefile.am): Likewise.
43281         * modules/long-options (Makefile.am): Likewise.
43282         * modules/lstat (Makefile.am): Likewise.
43283         * modules/malloc (Makefile.am): Likewise.
43284         * modules/mathl (Makefile.am): Likewise.
43285         * modules/mbchar (Makefile.am): Likewise.
43286         * modules/md2 (Makefile.am): Likewise.
43287         * modules/md4 (Makefile.am): Likewise.
43288         * modules/md5 (Makefile.am): Likewise.
43289         * modules/memcasecmp (Makefile.am): Likewise.
43290         * modules/memchr (Makefile.am): Likewise.
43291         * modules/memcmp (Makefile.am): Likewise.
43292         * modules/memcoll (Makefile.am): Likewise.
43293         * modules/memcpy (Makefile.am): Likewise.
43294         * modules/memmem (Makefile.am): Likewise.
43295         * modules/memmove (Makefile.am): Likewise.
43296         * modules/mempcpy (Makefile.am): Likewise.
43297         * modules/memrchr (Makefile.am): Likewise.
43298         * modules/memset (Makefile.am): Likewise.
43299         * modules/memxor (Makefile.am): Likewise.
43300         * modules/mkancesdirs (Makefile.am): Likewise.
43301         * modules/mkdir (Makefile.am): Likewise.
43302         * modules/mkdir-p (Makefile.am): Likewise.
43303         * modules/mkdtemp (Makefile.am): Likewise.
43304         * modules/mkstemp (Makefile.am): Likewise.
43305         * modules/mktime (Makefile.am): Likewise.
43306         * modules/modechange (Makefile.am): Likewise.
43307         * modules/mountlist (Makefile.am): Likewise.
43308         * modules/nanosleep (Makefile.am): Likewise.
43309         * modules/openat (Makefile.am): Likewise.
43310         * modules/pagealign_alloc (Makefile.am): Likewise.
43311         * modules/physmem (Makefile.am): Likewise.
43312         * modules/poll (Makefile.am): Likewise.
43313         * modules/posixtm (Makefile.am): Likewise.
43314         * modules/posixver (Makefile.am): Likewise.
43315         * modules/putenv (Makefile.am): Likewise.
43316         * modules/quote (Makefile.am): Likewise.
43317         * modules/quotearg (Makefile.am): Likewise.
43318         * modules/raise (Makefile.am): Likewise.
43319         * modules/read-file (Makefile.am): Likewise.
43320         * modules/readline (Makefile.am): Likewise.
43321         * modules/readlink (Makefile.am): Likewise.
43322         * modules/readtokens (Makefile.am): Likewise.
43323         * modules/readutmp (Makefile.am): Likewise.
43324         * modules/realloc (Makefile.am): Likewise.
43325         * modules/regex (Makefile.am): Likewise.
43326         * modules/rename (Makefile.am): Likewise.
43327         * modules/rename-dest-slash (Makefile.am): Likewise.
43328         * modules/rijndael (Makefile.am): Likewise.
43329         * modules/rmdir (Makefile.am): Likewise.
43330         * modules/rpmatch (Makefile.am): Likewise.
43331         * modules/safe-read (Makefile.am): Likewise.
43332         * modules/safe-write (Makefile.am): Likewise.
43333         * modules/same (Makefile.am): Likewise.
43334         * modules/save-cwd (Makefile.am): Likewise.
43335         * modules/savedir (Makefile.am): Likewise.
43336         * modules/setenv (Makefile.am): Likewise.
43337         * modules/settime (Makefile.am): Likewise.
43338         * modules/sha1 (Makefile.am): Likewise.
43339         * modules/sig2str (Makefile.am): Likewise.
43340         * modules/snprintf (Makefile.am): Likewise.
43341         * modules/stdlib-safer (Makefile.am): Likewise.
43342         * modules/stpcpy (Makefile.am): Likewise.
43343         * modules/stpncpy (Makefile.am): Likewise.
43344         * modules/strcase (Makefile.am): Likewise.
43345         * modules/strcasestr (Makefile.am): Likewise.
43346         * modules/strchrnul (Makefile.am): Likewise.
43347         * modules/strcspn (Makefile.am): Likewise.
43348         * modules/strdup (Makefile.am): Likewise.
43349         * modules/strerror (Makefile.am): Likewise.
43350         * modules/strftime (Makefile.am): Likewise.
43351         * modules/strndup (Makefile.am): Likewise.
43352         * modules/strnlen (Makefile.am): Likewise.
43353         * modules/strpbrk (Makefile.am): Likewise.
43354         * modules/strsep (Makefile.am): Likewise.
43355         * modules/strstr (Makefile.am): Likewise.
43356         * modules/strtod (Makefile.am): Likewise.
43357         * modules/strtoimax (Makefile.am): Likewise.
43358         * modules/strtok_r (Makefile.am): Likewise.
43359         * modules/strtol (Makefile.am): Likewise.
43360         * modules/strtoll (Makefile.am): Likewise.
43361         * modules/strtoul (Makefile.am): Likewise.
43362         * modules/strtoull (Makefile.am): Likewise.
43363         * modules/strtoumax (Makefile.am): Likewise.
43364         * modules/strverscmp (Makefile.am): Likewise.
43365         * modules/time_r (Makefile.am): Likewise.
43366         * modules/timegm (Makefile.am): Likewise.
43367         * modules/tmpfile-safer (Makefile.am): Likewise.
43368         * modules/unistd-safer (Makefile.am): Likewise.
43369         * modules/unlinkdir (Makefile.am): Likewise.
43370         * modules/userspec (Makefile.am): Likewise.
43371         * modules/utime (Makefile.am): Likewise.
43372         * modules/utimecmp (Makefile.am): Likewise.
43373         * modules/utimens (Makefile.am): Likewise.
43374         * modules/vasnprintf (Makefile.am): Likewise.
43375         * modules/vasprintf (Makefile.am): Likewise.
43376         * modules/vsnprintf (Makefile.am): Likewise.
43377         * modules/xalloc (Makefile.am): Likewise.
43378         * modules/xgetcwd (Makefile.am): Likewise.
43379         * modules/xnanosleep (Makefile.am): Likewise.
43380         * modules/xreadlink (Makefile.am): Likewise.
43381         * modules/xstrtod (Makefile.am): Likewise.
43382         * modules/xstrtol (Makefile.am): Likewise.
43383         * modules/xstrtold (Makefile.am): Likewise.
43384         * modules/yesno (Makefile.am): Likewise.
43385
43386 2006-10-12  Jim Meyering  <jim@meyering.net>
43387
43388         * m4/getloadavg.m4: Revert the change below.
43389
43390         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
43391         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
43392         fail with a symlink, which is what coreutils' ./bootstrap now
43393         creates by default.
43394
43395 2006-10-12  Bruno Haible  <bruno@clisp.org>
43396
43397         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
43398         mingw.
43399         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
43400         MSVC and mingw explicitly.
43401
43402 2006-10-11  Simon Josefsson  <jas@extundo.com>
43403             Bruno Haible  <bruno@clisp.org>
43404
43405         Add support for multiple gnulib-tool invocations in the scope of a
43406         single configure.ac file.
43407         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
43408         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
43409         with the same contents as the _LIBADD variable.
43410         (func_emit_initmacro_start, func_emit_initmacro_end,
43411         func_emit_initmacro_done): New functions.
43412         (func_import, func_create_testdir): Invoke them. Allow the identifiers
43413         gl_LIBOBJS and gl_LTLIBOBJS.
43414
43415 2006-10-11  Bruno Haible  <bruno@clisp.org>
43416
43417         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
43418         (func_create_testdir): Don't create po/Makefile.am, don't invoke
43419         autoreconf. Instead, invoke autopoint explicitly but move back the
43420         *.m4 files from gnulib.
43421
43422 2006-10-11  Bruno Haible  <bruno@clisp.org>
43423
43424         * gnulib-tool (func_usage): Make module names after --create-testdir
43425         optional.
43426         (func_create_testdir): If no module was specified, use nearly all
43427         modules.
43428
43429 2006-10-12  Jim Meyering  <jim@meyering.net>
43430
43431         Big performance improvement for fts-based tools that use FTS_NOSTAT.
43432         Avoid spurious inode-mismatch problems on non-POSIX file systems.
43433         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
43434         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
43435         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
43436         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
43437         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
43438         (fts_set_stat_required): New function.
43439         (fts_open): Defer the calls to fts_stat, if possible or requested.
43440         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
43441         into fts_stat itself.
43442         (fts_read): Perform any required (deferred) fts_stat call.
43443         (fts_build): Likewise, for the directory we're about to open and read.
43444         In the readdir loop, carefully decide whether each entry will require
43445         an eventual call to fts_stat, using dirent.d_type info if available.
43446         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
43447         a command line argument into this function.  Update all callers.
43448         Map a return value of FTS_DOT to FTS_D for a command line argument.
43449         * modules/fts (Depends-on): Add d-type.  Alphabetize.
43450         Thanks to Miklos Szeredi for his tenacity and for the initial
43451         bug report about "find" failing on a FUSE-based file system.
43452
43453         * lib/fts.c (fts_open): Use consistent indentation.
43454
43455 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
43456
43457         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
43458         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
43459         reported by Jim Meyering.  All uses of cache variables renamed
43460         to match Autoconf's.
43461         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
43462         the other one.
43463
43464         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
43465         Fix misspelling in diagnostic.
43466
43467 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
43468
43469         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
43470         defined.  Problem reported by Matthew Woehlke.
43471
43472         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
43473         Add support for Tandem NonStop R series.
43474         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
43475         Use new macro.
43476
43477         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
43478         (has_trailing_slash): Omit size arg; all callers changed.
43479         Omit 'inline', since it doesn't help performance and we'd
43480         need to configure it.
43481         Don't count //, ///, etc. as having a trailing slash.
43482         As a side effect, this removes a C99ism reported by Matthew Woehlke.
43483         (rpl_rename_dest_slash): On failure, use rename's errno rather
43484         than (in some cases) an incorrect or junk errno.
43485         Simplify code by removing need to compute length; this does
43486         cause it to make two passes instead of one over the file name,
43487         but it's worth it.
43488
43489         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
43490         change, since Autoconf's version may no longer be appropriate now
43491         that we are using CVS Autoconf's version.  Add support for Tandem.
43492
43493 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
43494             Bruno Haible  <bruno@clisp.org>
43495
43496         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
43497         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
43498         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
43499         gl_AC_TYPE_LONG_LONG.
43500
43501         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
43502         instead of HAVE_LONG_LONG.
43503         * lib/printf-args.c (printf_fetchargs): Likewise.
43504         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
43505         * lib/vasnprintf.c (VASNPRINTF): Likewise.
43506         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
43507         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
43508         gl_AC_TYPE_LONG_LONG.
43509
43510 2006-10-11  Bruno Haible  <bruno@clisp.org>
43511
43512         * m4/longlong.m4: Add comments.
43513         * m4/ulonglong.m4: Likewise.
43514
43515 2006-10-10  Bruno Haible  <bruno@clisp.org>
43516
43517         Make it possible to #define stpcpy, strdup to aliases.
43518         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
43519         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
43520
43521 2006-10-10  Bruno Haible  <bruno@clisp.org>
43522
43523         Make it possible to #define gcd to an alias.
43524         * lib/gcd.c: Include config.h.
43525
43526 2006-10-10  Bruno Haible  <bruno@clisp.org>
43527
43528         Make it possible to #define c_isascii to an alias.
43529         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
43530         defined. Undefine the macros before defining them, to avoid gcc
43531         warnings.
43532         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
43533         define NO_C_CTYPE_MACROS early.
43534
43535 2006-10-10  Bruno Haible  <bruno@clisp.org>
43536
43537         Make it possible to #define set_program_name to an alias.
43538         * lib/progname.c: Don't undefine set_program_name; instead, undefine
43539         ENABLE_RELOCATABLE early.
43540
43541 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
43542
43543         Port to Tandem NSK OSS, which has 64-bit signed int but at most
43544         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
43545         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
43546         More generally, don't assume that 64-bit signed int is available
43547         if unsigned int is, and vice versa.
43548         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
43549         unsigned symbols, not on their signed counterparts.
43550         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
43551         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
43552         (UINT64_C, UINTMAX_C):
43553         Likewise.
43554         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
43555         unsigned counterparts.
43556         (Have_long_long, Unsigned): New macros.
43557         (Int): Renamed from INT.
43558         (strtoimax): Use the new macros.
43559         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
43560         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
43561         * modules/inttypes (inttypes.h): Substitute
43562         HAVE_UNSIGNED_LONG_LONG_INT.
43563         * modules/stdint (stdint.h): Likewise.
43564         (Files): Add m4/ulonglong.m4.
43565
43566 2006-10-10  Bruno Haible  <bruno@clisp.org>
43567
43568         Fix a gcc -Wshadow warning.
43569         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
43570         to 'bucket'.
43571         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
43572         gl_linked_indexof_from_to): Likewise.
43573         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
43574         Likewise.
43575         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
43576         Likewise.
43577         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
43578         Reported by Eric Blake.
43579
43580 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
43581
43582         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
43583         for NetBSD.  Problem reported by Bruno Haible.
43584
43585 2006-10-09  Jim Meyering  <jim@meyering.net>
43586
43587         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
43588         Patch from Bruno Haible.
43589
43590 2006-10-09  Jim Meyering  <jim@meyering.net>
43591
43592         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
43593         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
43594         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
43595
43596 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
43597
43598         Don't include <config.h> twice; this doesn't work in some cases,
43599         e.g., when config.h has "#define intmax_t long long int" and
43600         we include <config.h>, <inttypes.h>, <config.h> in that order.
43601         Problem reported by Matthew Woehlke in:
43602         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
43603         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
43604         * lib/fts-cycle.c: Don't include config.h.
43605         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
43606         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
43607         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
43608         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
43609         inttypes.h.
43610         * lib/xstrtoumax.c: Likewise.
43611         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
43612         __strtol and the like, so that this module is more like its siblings.
43613         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
43614         Remove; no longer needed now that we assume gnulib inttypes.h.
43615
43616 2006-10-08  Bruno Haible  <bruno@clisp.org>
43617
43618         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
43619         option.
43620
43621 2006-10-07  Jim Meyering  <jim@meyering.net>
43622
43623         * modules/inttypes (inttypes.h): Revert what seems to have been
43624         an inadvertent part of today's change: use "|", not "/" in the
43625         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
43626
43627 2006-10-07  Bruno Haible  <bruno@clisp.org>
43628
43629         * modules/sublist: New file.
43630
43631 2006-10-07  Bruno Haible  <bruno@clisp.org>
43632
43633         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
43634         * modules/argz (argz.h): Likewise.
43635         * modules/arpa_inet (arpa/inet.h): Likewise.
43636         * modules/byteswap (byteswap.h): Likewise.
43637         * modules/configmake (configmake.h): Likewise.
43638         * modules/fcntl (fcntl.h): Likewise.
43639         * modules/fnmatch (fnmatch.h): Likewise.
43640         * modules/getopt (getopt.h): Likewise.
43641         * modules/glob (glob.h): Likewise.
43642         * modules/inttypes (inttypes.h): Likewise.
43643         * modules/netinet_in (netinet/in.h): Likewise.
43644         * modules/poll (poll.h): Likewise.
43645         * modules/stdbool (stdbool.h): Likewise.
43646         * modules/stdint (stdint.h): Likewise.
43647         * modules/sys_select (sys/select.h): Likewise.
43648         * modules/sys_socket (sys/socket.h): Likewise.
43649         * modules/sys_stat (sys/stat.h): Likewise.
43650         * modules/sysexits (sysexits.h): Likewise.
43651         * modules/unistd (unistd.h): Likewise.
43652         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
43653         Add a "DO NOT EDIT" comment to the generated file.
43654         (func_import): Likewise for gnulib-comp.m4.
43655
43656 2006-10-07  Bruno Haible  <bruno@clisp.org>
43657
43658         * lib/gl_sublist.h: New file.
43659         * lib/gl_sublist.c: New file.
43660
43661 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
43662
43663         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
43664         name (relative to the original working directory) and the file
43665         name component (relative to the temporary working directory).  All
43666         callers changed.
43667         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
43668         * lib/mkdir-p.c (make_dir_parents): Likewise.
43669         * lib/mkdir-p.h (make_dir_parents): Likewise.
43670
43671 2006-10-06  Eric Blake  <ebb9@byu.net>
43672
43673         Define several macros for use by the clean-temp module.
43674         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
43675         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
43676         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
43677
43678         * lib/clean-temp.h (close_stream_temp): New declaration.
43679         * lib/clean-temp.c (includes): Pull in headers according to what
43680         other modules are in use.
43681         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
43682
43683 2006-10-06  Bruno Haible  <bruno@clisp.org>
43684
43685         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
43686         instead of fopen, fwriteerror.
43687
43688 2006-10-06  Bruno Haible  <bruno@clisp.org>
43689
43690         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
43691         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
43692         int.
43693         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
43694         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
43695         Return an error indicator.
43696         Suggested by Eric Blake.
43697
43698 2006-10-06  Bruno Haible  <bruno@clisp.org>
43699
43700         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
43701         Reported by Eric Blake.
43702
43703 2006-10-06  Bruno Haible  <bruno@clisp.org>
43704
43705         * modules/closeout (Description): Mention stderr too.
43706
43707 2006-10-06  Bruno Haible  <bruno@clisp.org>
43708         and Paul Eggert  <eggert@cs.ucla.edu>
43709
43710         * lib/closeout.c (close_stdout): Also close stderr.
43711         * lib/closeout.h: Update comment.
43712
43713 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
43714
43715         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
43716         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
43717         * lib/dirchownmod.c: Include lchown.h.
43718         * lib/lchown.c: Don't include files that lchown.h now includes.
43719         Don't declare chown, since lchown.h now does that.
43720         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
43721         (lchown): Define to rpl_chown if lchown is declared but
43722         does not exist.  Declare using a prototype if lchown is not
43723         declared.  Add a copyright notice.
43724         * lib/mkstemp.h: Include <unistd.h>.
43725         * lib/openat.c: Include lchown.h.
43726
43727         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
43728         we now test for that separately.
43729         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
43730         rather than O_NOFOLLOW, when testing whether it's possible to
43731         avoid a race condition reliably.
43732         * lib/savewd.c (savewd_chdir): Likewise.
43733
43734         Remove macros that are no longer needed now that stdint.h is
43735         reliable.
43736         * lib/fsusage.c (UINTMAX_MAX): Remove.
43737         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
43738         * lib/utimecmp.c (SIZE_MAX): Remove.
43739
43740         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
43741
43742         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
43743         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
43744         O_NOATIME works.
43745
43746 2006-10-05  Bruno Haible  <bruno@clisp.org>
43747
43748         * lib/gl_list.h (gl_sortedlist_search_from_to,
43749         gl_sortedlist_indexof_from_to): New declarations.
43750         (gl_list_implementation): New fields sortedlist_search_from_to,
43751         sortedlist_indexof_from_to.
43752         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
43753         inline functions.
43754         * lib/gl_list.c (gl_sortedlist_search_from_to,
43755         gl_sortedlist_indexof_from_to): New functions.
43756         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
43757         function.
43758         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
43759         (gl_array_sortedlist_search_from_to): New function.
43760         (gl_array_list_implementation): Update.
43761         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
43762         function.
43763         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
43764         (gl_carray_sortedlist_search_from_to): New function.
43765         (gl_carray_list_implementation): Update.
43766         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
43767         gl_linked_sortedlist_indexof_from_to): New functions.
43768         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
43769         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
43770         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
43771         gl_tree_sortedlist_indexof_from_to): New functions.
43772         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
43773         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
43774         Update.
43775         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
43776         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
43777         Update.
43778
43779 2006-10-05  Bruno Haible  <bruno@clisp.org>
43780
43781         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
43782         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
43783         (struct gl_list_implementation): Add fields search_from_to,
43784         indexof_from_to. Remove fields search, indexof.
43785         (gl_list_search): Use the search_from_to method.
43786         (gl_list_search_from, gl_list_search_from_to): New functions.
43787         (gl_list_indexof): Use the indexof_from_to method.
43788         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
43789         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
43790         (gl_list_search_from, gl_list_search_from_to): New functions.
43791         (gl_list_indexof): Use the indexof_from_to method.
43792         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
43793         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
43794         gl_array_indexof. Add start_index, end_index arguments.
43795         (gl_array_search_from_to): Renamed from gl_array_search. Add
43796         start_index, end_index arguments.
43797         (gl_array_remove, gl_array_list_implementation): Update.
43798         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
43799         gl_carray_indexof. Add start_index, end_index arguments.
43800         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
43801         start_index, end_index arguments.
43802         (gl_carray_remove, gl_carray_list_implementation): Update.
43803         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
43804         gl_linked_search. Add start_index, end_index arguments.
43805         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
43806         start_index, end_index arguments.
43807         (gl_linked_remove): Update.
43808         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
43809         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
43810         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
43811         field to 'size_t'.
43812         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
43813         gl_tree_search. Add start_index, end_index arguments.
43814         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
43815         start_index, end_index arguments.
43816         (gl_tree_remove): Update.
43817         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
43818         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
43819         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
43820         function.
43821         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
43822         gl_tree_search. Add start_index, end_index arguments.
43823         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
43824         start_index, end_index arguments.
43825         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
43826         Update.
43827         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
43828
43829 2006-10-05  Bruno Haible  <bruno@clisp.org>
43830
43831         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
43832
43833         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
43834         fwriteerror_temp): New declarations.
43835         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
43836         (descriptors): New variable.
43837         (cleanup): First, close the descriptors.
43838         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
43839         fclose_temp, fwriteerror_temp): New functions.
43840
43841 2006-10-04  Jim Meyering  <jim@meyering.net>
43842
43843         * lib/fts.c (fts_open): Tiny comment change.
43844
43845 2006-10-04  Bruno Haible  <bruno@clisp.org>
43846
43847         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
43848         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
43849         gl_LOCK_BODY.
43850         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
43851         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
43852         gl_LOCK_EARLY_BODY.
43853         (gl_LOCK): Require gl_LOCK_BODY.
43854
43855 2006-10-04  Bruno Haible  <bruno@clisp.org>
43856
43857         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
43858         (gl_oset_search_atleast): New declaration.
43859         (struct gl_oset_implementation): Add field 'search_atleast'.
43860         (gl_oset_search_atleast): New inline function.
43861         * lib/gl_oset.c (gl_oset_search_atleast): New function.
43862         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
43863         (gl_array_oset_implementation): Update.
43864         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
43865         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
43866         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
43867
43868 2006-10-04  Bruno Haible  <bruno@clisp.org>
43869
43870         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
43871
43872 2006-10-03  Bruno Haible  <bruno@clisp.org>
43873
43874         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
43875         from gl_avltreehash_list_implementation.
43876
43877 2006-10-03  Bruno Haible  <bruno@clisp.org>
43878
43879         * lib/gl_oset.c (gl_oset_add): Fix return type.
43880
43881 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
43882
43883         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
43884
43885 2006-10-02  Eric Blake  <ebb9@byu.net>
43886
43887         * modules/strnlen (Depends-on): Add extensions.
43888
43889 2006-10-02  Eric Blake  <ebb9@byu.net>
43890
43891         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
43892         definition in 2.60+.
43893
43894 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
43895
43896         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
43897         checks.
43898
43899 2006-10-02  Bruno Haible  <bruno@clisp.org>
43900
43901         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
43902         to the AUTOMAKE_OPTIONS.
43903         Reported by Jim Meyering.
43904
43905 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
43906
43907         Work around bug in Solaris 10 /proc file system:
43908         /proc/self/fd/NNN/.. isn't the parent directory of
43909         the directory whose file descriptor is NNN.  This needs to
43910         be worked around at run time, not compile time, since a
43911         program might be built on Solaris 8, where things work, and
43912         run on Solaris 10.
43913         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
43914         to use the following interface instead:
43915         (OPENAT_BUFFER_SIZE): New macro.
43916         (openat_proc_name): New function.
43917         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
43918         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
43919         Likewise.
43920         * lib/openat-proc.c: New file.
43921         * modules/openat (Files): Add lib/openat-proc.c.
43922         (Depends-on): Add same-inode, stdbool.
43923         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
43924
43925 2006-09-29  Bruno Haible  <bruno@clisp.org>
43926
43927         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
43928         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
43929         argument. Set stdout_closed before testing for ferror, not after.
43930         (fwriteerror, fwriteerror_no_ebadf): New functions.
43931
43932 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43933
43934         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
43935
43936 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
43937
43938         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
43939         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
43940
43941 2006-09-28  Jim Meyering  <jim@meyering.net>
43942
43943         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
43944         Include <unistd.h>.
43945
43946 2006-09-28  Bruno Haible  <bruno@clisp.org>
43947
43948         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
43949         * modules/linkedhash-list (Depends-on): Likewise.
43950         * modules/rbtreehash-list (Depends-on): Likewise.
43951
43952 2006-09-28  Bruno Haible  <bruno@clisp.org>
43953
43954         * lib/strndup.h: Simplify the redefinition of strndup.
43955         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
43956         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
43957
43958 2006-09-28  Bruno Haible  <bruno@clisp.org>
43959
43960         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
43961         * lib/gl_linkedhash_list.c: Likewise.
43962         * lib/gl_rbtreehash_list.c: Likewise.
43963
43964 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
43965
43966         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
43967         getaddrinfo.
43968
43969         * lib/__fpending.h: Don't include <stdio_ext.h> unless
43970         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
43971         it causes <stdio_ext.h> to cause a compile-time error.
43972         Problem reported by Nelson H. F. Beebe.
43973         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
43974         of HAVE_DECL___PENDING.
43975
43976         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
43977         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
43978         declaration.
43979
43980 2006-09-27  Jim Meyering  <jim@meyering.net>
43981
43982         This file could end up with a definition for a function
43983         named __strndup, rather than rpl_strndup on a system with
43984         incomplete weak_alias support.
43985         * lib/strndup.c (strndup): Rename from __strndup.
43986         Remove #defines that used to map __strndup to strndup.
43987         Don't use K&R prototypes.
43988         Remove LIBC-related code, since this file is not sync'd with glibc.
43989         * lib/strndup.h: Revamp, accordingly.
43990         * m4/strndup.m4: Modernize.
43991
43992 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
43993
43994         * modules/savewd (Depends-on): Add 'raise'.
43995         * lib/savewd.c: Include <signal.h>, for 'raise'.
43996
43997 2006-09-26  Jim Meyering  <jim@meyering.net>
43998
43999         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
44000         when we detect Darwin 8.7.0's acl_get_file bug.
44001         Rearrange to perform the new (below) run-test while $LIBS
44002         contains any acl-related library.  Set USE_ACL at the end.
44003         (gl_ACL_GET_FILE): New function.
44004
44005 2006-09-26  Eric Blake  <ebb9@byu.net>
44006
44007         * lib/verror.c: Include <config.h> unconditionally.
44008
44009 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
44010
44011         * modules/clock-time (Maintainer): Add self.
44012         * modules/getlogin_r (Depends-on): Add extensions.
44013
44014 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44015
44016         * modules/clock-time: New module.
44017         * modules/nanosleep (Depends-on): Add clock-time.
44018         * modules/gethrxtime (Depends-on): Likewise.
44019         * modules/gettime (Depends-on): Likewise.
44020         * modules/settime (Depends-on): Likewise.
44021
44022         * modules/fts-lgpl: Depend on openat.
44023         * modules/mkancesdirs: Depend on savewd.
44024         * modules/mkdir-p: Likewise.
44025
44026 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44027
44028         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
44029
44030         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
44031         `gl_have_arbitrary_file_name_length_limit' to
44032         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
44033         actually works between configure runs.
44034
44035 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44036             Bruno Haible  <bruno@clisp.org>
44037
44038         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
44039
44040 2006-09-25  Jim Meyering  <jim@meyering.net>
44041
44042         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
44043         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
44044
44045 2006-09-25  Eric Blake  <ebb9@byu.net>
44046
44047         * gnulib-tool (func_import, func_create_testdir): Fix typos in
44048         exec's in 2006-09-18 patch when shuffling fds.
44049
44050 2006-09-25  Bruno Haible  <bruno@clisp.org>
44051
44052         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
44053         Reported by Jim Meyering.
44054
44055 2006-09-24  Jim Meyering  <jim@meyering.net>
44056
44057         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
44058         compare a pointer against a literal "0".  That caused failures with
44059         at least HP-UX's hpcc.
44060
44061 2006-09-22  Simon Josefsson  <jas@extundo.com>
44062
44063         * modules/gc-sha1:
44064         * modules/gc-md4:
44065         * modules/gc-hmac-sha1:
44066         * modules/gc-hmac-md5:
44067         * modules/gc-des:
44068         * modules/gc-arcfour: Distribute more files.
44069
44070 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44071
44072         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
44073         (gl_linked_iterator_from_to): Initialize struct completely.
44074         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
44075         (gl_tree_iterator_from_to): Likewise
44076         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
44077         * lib/gl_array_list.c [lint] (gl_array_iterator)
44078         (gl_array_iterator_from_to): Likewise.
44079         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
44080         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
44081         (gl_carray_iterator_from_to): Likewise.
44082
44083         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
44084         * lib/md4.c (md4_process_block): Remove unused variable.
44085         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
44086         parentheses for clarity.
44087
44088 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44089
44090         * modules/bison-i18n (Depends-on): Add gettext.
44091
44092 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44093
44094         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
44095         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
44096         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
44097         also add missing comma that caused broken test.
44098         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
44099         stdlib.h, for `abort'.
44100         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
44101         variables.
44102         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
44103         include unistd.h if present, for `rmdir'.
44104         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
44105         variables.
44106         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
44107         in the process include standard headers for prototypes.
44108         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
44109         gets declared on GNU/Linux.
44110         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
44111         unistd.h, for `rmdir'.
44112         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
44113
44114         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
44115         always true.
44116         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
44117
44118         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
44119
44120 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44121
44122         * gnulib-tool (func_version): Create output all at once.  This
44123         may help avoid triggering unnecessary SIGPIPEs, and at any
44124         rate it doesn't hurt.
44125
44126 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44127             Bruno Haible  <bruno@clisp.org>
44128
44129         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
44130         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
44131         * m4/signed.m4 (bh_C_SIGNED): Likewise.
44132
44133         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
44134         (gl_FUNC_VASPRINTF): Invoke it.
44135
44136 2006-09-22  Bruno Haible  <bruno@clisp.org>
44137
44138         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
44139         getloadavg.c as first argument.
44140
44141 2006-09-22  Bruno Haible  <bruno@clisp.org>
44142
44143         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
44144         at the beginning of the gl_INIT macro.
44145         * modules/getloadavg (configure.ac): Pass $gl_source_base to
44146         gl_GETLOADAVG.
44147
44148 2006-09-22  Bruno Haible  <bruno@clisp.org>
44149
44150         * gnulib-tool (func_create_megatestdir): Don't include the config-h
44151         module.
44152         Suggested by Ralf Wildenhues.
44153
44154 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
44155
44156         Import this patch from libc:
44157
44158         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
44159
44160         * lib/regex_internal.c (re_string_reconstruct): Handle
44161         offset < pstr->valid_raw_len && pstr->offsets_needed case.
44162         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
44163         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
44164         re_string_context_at.
44165
44166         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
44167         now requires it.
44168         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
44169         gl_REGEX now does it for us.
44170         (gl_REGEX): Add test taken from
44171         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
44172
44173         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
44174         Check that large offsets work.  Modernize Autoconf usages.
44175         Prefer "yes" to mean a good thing rather than a bad.
44176         Don't put "#define mkstemp" in config.h, as this might interfere
44177         with standard system headers that "#define mkstemp mkstemp64".
44178
44179         * modules/mkstemp (Depends-on): Add extensions, so that
44180         mkstemp is visible on some platforms.
44181         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
44182         (Include): Change to "mkstemp.h" from <stdlib.h>.
44183         (Files): Add mkstemp.h.
44184
44185         * lib/mkstemp.h: New file, since some standard headers
44186         #define mkstemp.
44187         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
44188         Include "mkstemp.h".
44189         Make the _LIBC code resemble glibc original more,
44190         e.g., use K&R style.
44191         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
44192         (mkstemp): Remove, since mkstemp.h does this for us.
44193         * lib/stdlib--.h: Include mkstemp.h.
44194
44195         Import this patch from libc:
44196
44197         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
44198
44199         * lib/tempname.c (__gen_tempname): Change attempts_min
44200         into a macro.  Use preprocessor to decide how to initialize
44201         attempts [Coverity CID 67].
44202
44203 2006-09-20  Bruno Haible  <bruno@clisp.org>
44204
44205         * lib/mkdtemp.c: Import from libc.
44206         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
44207                 * sysdeps/posix/tempname.c (__gen_tempname): Change
44208                 attempts_min into a macro.  Use preprocessor to decide how to
44209                 initialize attempts [Coverity CID 67].
44210         2001-11-27  Paul Eggert  <eggert@twinsun.com>
44211                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
44212                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
44213
44214 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44215
44216         * gnulib-tool (func_exit): New function, to allow to pass the
44217         exit status portably through the trap.  Use everywhere.
44218         (--help, --version): Signal a write error.
44219         (trap): catch SIGPIPE, for write errors.
44220         Exit at the end of the trap, with the correct exit status.
44221
44222 2006-09-19  Karl Berry  <karl@gnu.org>
44223
44224         * doc/gnulib.texi: note about the license texinfo files.
44225
44226 2006-09-19  Eric Blake  <ebb9@byu.net>
44227
44228         * gnulib-tool: Avoid space-tab.
44229
44230 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
44231
44232         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
44233         that prevented coreutils 6.1 from building.  Problem reported
44234         by Petter Reinholdtsen.
44235
44236 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
44237
44238         * gnulib-tool (avoidlist): Fix typo that broke options like
44239         --avoid=lock that are used by coreutils bootstrap.
44240
44241 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
44242
44243         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
44244         more systematically.
44245
44246 2006-09-18  Jim Meyering  <jim@meyering.net>
44247
44248         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
44249
44250 2006-09-18  Bruno Haible  <bruno@clisp.org>
44251
44252         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
44253
44254 2006-09-18  Bruno Haible  <bruno@clisp.org>
44255
44256         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
44257         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
44258         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
44259         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
44260         * m4/gettext.m4: Require autoconf >= 2.52.
44261         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
44262         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
44263         of gl_cv_header_inttypes_h.
44264
44265 2006-09-18  Bruno Haible  <bruno@clisp.org>
44266
44267         * lib/javaversion.c: Include configmake.h.
44268
44269 2006-09-18  Bruno Haible  <bruno@clisp.org>
44270
44271         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
44272         avoid that the while loops be executed in a subshell.
44273
44274 2006-09-18  Bruno Haible  <bruno@clisp.org>
44275
44276         * MODULES.html.sh (func_module): Break long lines.
44277         Suggested by Bruce Korb <bkorb@gnu.org>.
44278
44279 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44280
44281         Speed up by a factor of 1.12.
44282         * gnulib-tool (nl): New variable.
44283         (func_import): Rewrite include directive extraction to only read each
44284         directive once.
44285
44286 2006-09-17  Bruno Haible  <bruno@clisp.org>
44287
44288         * modules/javaversion (Makefile.am): Remove DEFS setting.
44289         (Depends-on): Add configmake, for PKGDATADIR definition.
44290
44291 2006-09-17  Bruno Haible  <bruno@clisp.org>
44292
44293         * gnulib-tool (func_create_testdir): Rewrite all files at once.
44294
44295 2006-09-17  Bruno Haible  <bruno@clisp.org>
44296
44297         * gnulib-tool (func_append): New function, stolen from libtool.m4.
44298         (func_modules_transitive_closure, func_modules_add_dummy,
44299         func_modules_to_filelist, func_import, func_create_testdir,
44300         func_create_megatestdir, ...): Use it wherever possible.
44301         Suggested by Ralf Wildenhues.
44302
44303 2006-09-16  Karl Berry  <karl@gnu.org>
44304
44305         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
44306         to avoid sectioning errors.
44307         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
44308         [ifinfo]: blank line after @center-ed titles.
44309         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
44310         Spell FSF address consistently with others.
44311         (These changes approved by rms.)
44312
44313 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44314
44315         Speed up by a factor of 1.61.
44316         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
44317         already checked module names again.
44318
44319 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44320
44321         Speed up by a factor of 1.13.
44322         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
44323         for new_files, and the input to func_add_or_update.
44324
44325 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44326
44327         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
44328         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
44329
44330 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
44331
44332         * modules/mkancesdirs (Depends-on): Add fcntl.
44333         * modules/savewd: New file.
44334         * MODULES.html.sh (File system functions): Add savewd.
44335
44336         * modules/configmake (Makefile.am): Add support for the
44337         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
44338
44339 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
44340
44341         * m4/savewd.m4: New file.
44342
44343 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
44344
44345         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
44346         (dirchownmod): New arg FD.  All callers changed.
44347         Use FD rather than opening the directory ourself, as opening is
44348         now the caller's responsibility.
44349         * lib/dirchownmod.h: Likewise.
44350         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
44351         hosts that require <sys/types.h> before <sys/stat.h>.  Include
44352         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
44353         (test_dir): Remove.
44354         (mkancesdirs): Return length of prefix of FILE that has already
44355         been made, or -2 if there is a child doing the work.  Redo
44356         algorithm so that it is O(N) rather than O(N**2).  Optimize away
44357         ".", and treat ".." specially since it might stray back into
44358         already-created areas.  Use a subprocess if necessary.  New arg
44359         WD; all users changed.  MAKE_DIR function should now return 1
44360         if it creates a directory that is not readable.  Return -2 if
44361         a child process is spun off.
44362         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
44363         Adjust signature to match code.
44364         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
44365         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
44366         all users changed.
44367         * lib/savewd.c, lib/savewd.h: New files.
44368
44369 2006-09-15  Jim Meyering  <jim@meyering.net>
44370
44371         * modules/rename-dest-slash: New module.
44372         * MODULES.html.sh (posix_compat): Add it here.
44373
44374         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
44375
44376 2006-09-15  Jim Meyering  <jim@meyering.net>
44377
44378         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
44379         file.
44380
44381         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
44382
44383 2006-09-15  Jim Meyering  <jim@meyering.net>
44384
44385         * lib/rename-dest-slash.c (has_trailing_slash): Use
44386         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
44387         (rpl_rename_dest_slash): Perform the cheaper trailing slash
44388         test before testing whether SRC is a directory.
44389         Suggestions from Bruno Haible.
44390
44391         Avoid a warning about an unused variable.
44392         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
44393         into the #ifdef block where it's used.
44394
44395         * lib/rename-dest-slash.c: New file.
44396
44397 2006-09-14  Bruno Haible  <bruno@clisp.org>
44398
44399         * lib/allocsa.c: Include <config.h> unconditionally.
44400         * lib/asnprintf.c: Likewise.
44401         * lib/asprintf.c: Likewise.
44402         * lib/c-strcasecmp.c: Likewise.
44403         * lib/c-strcasestr.c: Likewise.
44404         * lib/c-strncasecmp.c: Likewise.
44405         * lib/c-strstr.c: Likewise.
44406         * lib/classpath.c: Likewise.
44407         * lib/clean-temp.c: Likewise.
44408         * lib/concatpath.c: Likewise.
44409         * lib/copy-file.c: Likewise.
44410         * lib/csharpcomp.c: Likewise.
44411         * lib/csharpexec.c: Likewise.
44412         * lib/execute.c: Likewise.
44413         * lib/fatal-signal.c: Likewise.
44414         * lib/findprog.c: Likewise.
44415         * lib/fwriteerror.c: Likewise.
44416         * lib/gl_array_list.c: Likewise.
44417         * lib/gl_array_oset.c: Likewise.
44418         * lib/gl_avltree_list.c: Likewise.
44419         * lib/gl_avltree_oset.c: Likewise.
44420         * lib/gl_avltreehash_list.c: Likewise.
44421         * lib/gl_carray_list.c: Likewise.
44422         * lib/gl_linked_list.c: Likewise.
44423         * lib/gl_linkedhash_list.c: Likewise.
44424         * lib/gl_list.c: Likewise.
44425         * lib/gl_oset.c: Likewise.
44426         * lib/gl_rbtree_list.c: Likewise.
44427         * lib/gl_rbtree_oset.c: Likewise.
44428         * lib/gl_rbtreehash_list.c: Likewise.
44429         * lib/imaxabs.c: Likewise.
44430         * lib/imaxdiv.c: Likewise.
44431         * lib/javacomp.c: Likewise.
44432         * lib/javaexec.c: Likewise.
44433         * lib/javaversion.c: Likewise.
44434         * lib/linebreak.c: Likewise.
44435         * lib/localcharset.c: Likewise.
44436         * lib/lock.c: Likewise.
44437         * lib/mbchar.c: Likewise.
44438         * lib/mbswidth.c: Likewise.
44439         * lib/mkdtemp.c: Likewise.
44440         * lib/pipe.c: Likewise.
44441         * lib/printf-args.c: Likewise.
44442         * lib/printf-parse.c: Likewise.
44443         * lib/progname.c: Likewise.
44444         * lib/progreloc.c: Likewise.
44445         * lib/readlink.c: Likewise.
44446         * lib/sh-quote.c: Likewise.
44447         * lib/stpcpy.c: Likewise.
44448         * lib/stpncpy.c: Likewise.
44449         * lib/strcasecmp.c: Likewise.
44450         * lib/strcasestr.c: Likewise.
44451         * lib/strcspn.c: Likewise.
44452         * lib/striconv.c: Likewise.
44453         * lib/strncasecmp.c: Likewise.
44454         * lib/strnlen1.c: Likewise.
44455         * lib/strstr.c: Likewise.
44456         * lib/strtok_r.c: Likewise.
44457         * lib/tls.c: Likewise.
44458         * lib/tmpdir.c: Likewise.
44459         * lib/unicodeio.c: Likewise.
44460         * lib/unsetenv.c: Likewise.
44461         * lib/vasnprintf.c: Likewise.
44462         * lib/vasprintf.c: Likewise.
44463         * lib/wait-process.c: Likewise.
44464         * lib/xallocsa.c: Likewise.
44465         * lib/xsetenv.c: Likewise.
44466         * lib/xstriconv.c: Likewise.
44467
44468 2006-09-13  Simon Josefsson  <jas@extundo.com>
44469
44470         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
44471         that internally, suggested by Ralf Wildenhues
44472         <Ralf.Wildenhues@gmx.de>.
44473
44474 2006-09-13  Simon Josefsson  <jas@extundo.com>
44475
44476         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
44477         @LIBOBJS@.
44478         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
44479
44480 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
44481
44482         * lib/_fpending.c: Include <config.h> unconditionally, since we no
44483         longer worry about uses that don't define HAVE_CONFIG_H.
44484         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
44485         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
44486         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
44487         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
44488         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
44489         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
44490         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
44491         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
44492         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
44493         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
44494         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
44495         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
44496         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
44497         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
44498         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
44499         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
44500         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
44501         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
44502         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
44503         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
44504         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
44505         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
44506         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
44507         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
44508         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
44509         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
44510         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
44511         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
44512         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
44513         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
44514         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
44515         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
44516         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
44517         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
44518         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
44519         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
44520         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
44521         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
44522         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
44523         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
44524         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
44525         Likewise.
44526
44527 2006-09-13  Eric Blake  <ebb9@byu.net>
44528
44529         * lib/getopt.c: Fix typo in last commit.
44530
44531 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
44532
44533         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
44534         dgettext.
44535
44536 2006-09-12  Jim Meyering  <jim@meyering.net>
44537
44538         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
44539         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
44540         Reported by Nelson H. F. Beebe.
44541
44542 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
44543
44544         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
44545         program_invocation_name and program_invocation_short_name are
44546         initialized.
44547         * lib/argp-namefrob.h: Move declarations of program_invocation_name
44548         and program_invocation_short_name to argp.h, so they are visible
44549         to user programs.
44550         * lib/argp.h: Likewise
44551
44552 2006-09-10  Bruno Haible  <bruno@clisp.org>
44553
44554         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
44555         m4/inttypes_h.m4, m4/uintmax_t.m4.
44556
44557 2006-09-10  Bruno Haible  <bruno@clisp.org>
44558
44559         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
44560         gl_AC_TYPE_UINTMAX_T.
44561
44562 2006-09-10  Bruno Haible  <bruno@clisp.org>
44563
44564         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
44565
44566 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
44567
44568         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
44569         convention.  Text proposed by Bruno Haible.
44570         (struct argp_option): Document the use of N_() wrappers.
44571
44572         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
44573         '\v', and translate the two parts separately, instead of feeding
44574         the whole string to gettext.  This allows to exclude
44575         '\v' from the strings visible to the translator by writing doc
44576         strings as N_("..") "\v" N_("..").
44577
44578 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
44579
44580         * config/srclist.txt: Undo latest change; the bug was fixed.
44581
44582 2006-09-09  Bruno Haible  <bruno@clisp.org>
44583
44584         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
44585         assignments if building a library without libtool.
44586         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
44587         in func_emit_lib_Makefile_am.
44588         (func_import): When building a static library libfoo.a, arrange to
44589         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
44590         (func_create_testdir): Likewise.
44591         * modules/gc (configure.ac, Makefile.am): If building statically,
44592         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
44593         * modules/iconvme (configure.ac, Makefile.am): Likewise.
44594         * modules/striconv (configure.ac, Makefile.am): Likewise.
44595         Based on a suggestion by Ralf Wildenhues.
44596
44597 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
44598
44599         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
44600         Check for unistd.h too, since Autoconf doesn't assume POSIX.
44601         Also:
44602
44603         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
44604         Add year_2050_test to catch glibc bug 2821
44605         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
44606
44607         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
44608         Prefer #ifdef to #if.
44609
44610         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
44611         Return from 'main' instead of calling 'exit'.
44612
44613 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
44614
44615         * lib/mktime.c (guess_time_tm): Fix bug where mktime
44616         returned the maximum time_t value rather than (time_t) -1.
44617         Problem originally reported by William Bardwell
44618         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
44619
44620         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
44621         Moved to here ...
44622         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
44623         ... from here.
44624
44625 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
44626
44627         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
44628         2821 is fixed.
44629
44630 2006-09-08  Jim Meyering  <jim@meyering.net>
44631
44632         Don't make generated files read-only.  That would bother too many
44633         people.  However, do retain the ability to work when targets are
44634         read-only: remove the destination and temporary files before writing
44635         them (when generated via sed or echo), or by using the -f option for
44636         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
44637         * modules/alloca-opt, modules/argz, modules/arpa_inet:
44638         * modules/byteswap, modules/configmake, modules/fcntl:
44639         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
44640         * modules/localcharset, modules/netinet_in, modules/poll:
44641         * modules/stdbool, modules/stdint, modules/sys_select:
44642         * modules/sys_socket, modules/sys_stat, modules/sysexits:
44643
44644 2006-09-08  Jim Meyering  <jim@meyering.net>
44645
44646         Avoid new build failure on FreeBSD 6.0.
44647         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
44648         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
44649         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
44650
44651 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44652
44653         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
44654
44655 2006-09-07  Jim Meyering  <jim@meyering.net>
44656
44657         Fix global typo in last change: use chmod u-w, not chmod u-x.
44658         Spotted by Paul Eggert and Bruce Korb.
44659         * modules/alloca-opt, modules/argz, modules/arpa_inet:
44660         * modules/byteswap, modules/configmake, modules/fcntl:
44661         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
44662         * modules/localcharset, modules/netinet_in, modules/poll:
44663         * modules/stdbool, modules/stdint, modules/sys_select:
44664         * modules/sys_socket, modules/sys_stat, modules/sysexits:
44665
44666 2006-09-06  Jim Meyering  <jim@meyering.net>
44667
44668         Make generated files be read-only.
44669         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
44670         Ensure that each generated file is now read-only.
44671         * modules/argz: Likewise.
44672         * modules/arpa_inet: Likewise.
44673         * modules/byteswap: Likewise.
44674         * modules/configmake: Likewise.
44675         * modules/fcntl: Likewise.
44676         * modules/fnmatch: Likewise.
44677         * modules/getopt: Likewise.
44678         * modules/glob: Likewise.
44679         * modules/inttypes: Likewise.
44680         * modules/netinet_in: Likewise.
44681         * modules/poll: Likewise.
44682         * modules/stdbool: Likewise.
44683         * modules/stdint: Likewise.
44684         * modules/sys_select: Likewise.
44685         * modules/sys_socket: Likewise.
44686         * modules/sys_stat: Likewise.
44687         * modules/sysexits: Likewise.
44688         * modules/localcharset: Same as above, but continue using temporary
44689         file named "t-$@" (why different?) rather than the "$@-t" used
44690         everywhere else.
44691
44692         * modules/sysexits (Makefile.am): Replace literal occurrences
44693         of "sysexit.h" more readable, and more consistent, "$@".
44694
44695 2006-09-06  Bruno Haible  <bruno@clisp.org>
44696
44697         * modules/striconv: New file.
44698         * modules/xstriconv: New file.
44699         * MODULES.html.sh (Internationalization functions): Add striconv,
44700         xstriconv.
44701
44702 2006-09-06  Bruno Haible  <bruno@clisp.org>
44703
44704         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
44705         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
44706         not using libtool correctly.
44707
44708 2006-09-06  Bruno Haible  <bruno@clisp.org>
44709
44710         * lib/striconv.h: New file.
44711         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
44712         iconvstring.c.
44713         * lib/xstriconv.h: New file.
44714         * lib/xstriconv.c: New file.
44715
44716 2006-09-06  Bruno Haible  <bruno@clisp.org>
44717
44718         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
44719         lib_..._LDFLAGS.
44720
44721 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44722
44723         * lib/argz_.h: Sync from Libtool.
44724
44725         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
44726                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
44727
44728         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
44729
44730 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
44731
44732         * modules/trim: New file.
44733
44734 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
44735
44736         * lib/trim.h: New file.
44737         * lib/trim.c: New file.
44738
44739 2006-09-05  Bruno Haible  <bruno@clisp.org>
44740
44741         * MODULES.html.sh (String handling): Add trim.
44742
44743 2006-09-04  Karl Berry  <karl@gnu.org>
44744
44745         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
44746         until next release.
44747
44748 2006-09-03  Bruno Haible  <bruno@clisp.org>
44749
44750         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
44751         correctly.
44752
44753 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
44754
44755         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
44756         not gl_GETLOADAVG.  Omit unneeded semicolons.
44757         Problems reported by Ralf Wildenhues in
44758         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
44759         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
44760         at the end, which is the usual gnulib style.
44761
44762         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
44763         of doing all the work ourselves.
44764         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
44765         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
44766
44767 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
44768
44769         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
44770         Problem reported by Ralf Wildenhues in
44771         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
44772
44773         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
44774         HAVE_STRUCT_STATFS_F_FSTYPENAME.
44775
44776 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
44777
44778         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
44779         yesterday's patch by changing test -n to test -z.
44780
44781 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
44782
44783         * modules/getloadavg (Files): Add m4/getloadavg.m4.
44784         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
44785         the former is now obsolescent.
44786
44787         * modules/chdir-long (Depends-on): Add fcntl.
44788
44789 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
44790
44791         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
44792         obsolescent, and programs should use gnulib instead.
44793         * m4/getloadavg.m4: New file, with contents taken from Autoconf
44794         but with prefixes changed.
44795
44796 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
44797
44798         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
44799         or stdbool.h, because they might not exist while configuring.
44800
44801         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
44802         Don't include unistd.h or limits.h; not needed, since chdir-long.h
44803         does that for us.
44804         (O_DIRECTORY): Remove.
44805
44806 2006-08-31  Eric Blake  <ebb9@byu.net>
44807
44808         * gnulib-tool: Don't let emacs change spaces to TAB.
44809
44810 2006-08-31  Bruno Haible  <bruno@clisp.org>
44811
44812         * gnulib-tool: When calling func_import more than once, do it in a
44813         subshell.
44814         Reported by Eric Blake <ebb9@byu.net>.
44815
44816 2006-08-31  Bruno Haible  <bruno@clisp.org>
44817
44818         * gnulib-tool (nl): Remove variable.
44819         (sed_transform_lib_file): Use more robust test for config-h module.
44820         (func_import): Fix typo in 2006-08-25 patch.
44821
44822 2006-08-31  Bruno Haible  <bruno@clisp.org>
44823
44824         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
44825         specified, augment Makefile.am variables instead of assigning them.
44826
44827 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
44828
44829         Work around a bug in both the Linux and SunOS 64-bit kernels:
44830         nanosleep mishandles sleeps for longer than 2**31 seconds.
44831         Problem reported by Frank v Waveren in
44832         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
44833         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
44834         Check for nanosleep bug.
44835         (LIB_NANOSLEEP): Append clock_gettime library if needed.
44836
44837 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
44838
44839         Work around a bug in both the Linux and SunOS 64-bit kernels:
44840         nanosleep mishandles sleeps for longer than 2**31 seconds.
44841         Problem reported by Frank v Waveren in
44842         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
44843         * lib/nanosleep.c (BILLION): New constant.
44844         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
44845         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
44846         implementation.
44847
44848 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
44849
44850         * modules/nanosleep (Depends-on): Add gettime.
44851
44852 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
44853         and Simon Josefsson  <jas@extundo.com>
44854         and Oskar Liljeblad  <oskar@osk.mine.nu>
44855
44856         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
44857         * gnulib-tool (func_import): New license type 'unmodifiable license
44858         text'.
44859         * modules/fdl: Use it.  Longer description.
44860         * module/gpl, module/lgpl: New files.
44861
44862 2006-08-30  Jim Meyering  <jim@meyering.net>
44863
44864         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
44865         shadowing the parameter.
44866
44867 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44868
44869         Sync from Libtool:
44870
44871         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44872
44873         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
44874         sharing with gnulib.  Report by Eric Blake.
44875
44876 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
44877
44878         * modules/isapipe: New file.
44879         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
44880
44881 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
44882
44883         * modules/configmake (Makefile.am): Add a comment, and omit
44884         the CONFIGMAKE_ prefix from generated macro names.  Suggested
44885         by Bruno Haible.
44886
44887 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
44888
44889         * m4/isapipe.m4: New file.
44890
44891 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
44892
44893         * lib/isapipe.c, lib/isapipe.h: New files.
44894
44895 2006-08-29  Jim Meyering  <jim@meyering.net>
44896
44897         * modules/configmake (Makefile.am): Make configmake.h depend on
44898         Makefile.  Otherwise, a stale configmake.h could hang around.
44899
44900 2006-08-29  Eric Blake  <ebb9@byu.net>
44901
44902         * lib/error.c (error_at_line, print_errno_message): Match libc, after
44903         resolution of upstream bug 3044.
44904
44905 2006-08-29  Bruno Haible  <bruno@clisp.org>
44906
44907         * modules/localcharset (Depends-on): Add configmake.
44908         (Makefile.am): Remove setting of LIBDIR through DEFS.
44909
44910 2006-08-29  Bruno Haible  <bruno@clisp.org>
44911
44912         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
44913         defined.
44914
44915 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
44916
44917         * modules/fcntl: New file.
44918         * modules/chdir-safer (Depends-on): Add fcntl.
44919         * modules/fts: Likewise.
44920         * modules/mkdir-p: Likewise.
44921
44922         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
44923         This undoes the most recent change, since we're now addressing the
44924         problem in a different way.
44925
44926         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
44927         into output, since the output might be called Makefile.am even
44928         if $makefile_name is something different.
44929         (func_import): Use $makefile_am rather than
44930         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
44931         empty.
44932
44933         * modules/inttypes (Files): Add m4/inttypes-h.m4.
44934
44935 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
44936
44937         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
44938         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
44939         recent change to stdint.m4, since we're now addressing the problem in a
44940         different way.
44941
44942 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
44943
44944         * m4/fcntl_h.m4: New file.
44945
44946 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
44947
44948         * lib/fcntl_.h: New file.
44949         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
44950         the fcntl module.
44951         * lib/dirchownmod.c: Likewise.
44952         * lib/fts.c: Likewise.
44953
44954         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
44955         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
44956         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
44957         just before including <inttypes.h>, to avoid circular inclusion.
44958
44959 2006-08-28  Jim Meyering  <jim@meyering.net>
44960
44961         * doc/visibility.texi: Actually read and correct the grammar of the
44962         sentence affected by yesterday's change.
44963
44964 2006-08-28  Eric Blake  <ebb9@byu.net>
44965
44966         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
44967         needs wrapper.
44968
44969 2006-08-28  Eric Blake  <ebb9@byu.net>
44970
44971         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
44972
44973 2006-08-28  Eric Blake  <ebb9@byu.net>
44974
44975         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
44976
44977 2006-08-28  Bruno Haible  <bruno@clisp.org>
44978
44979         * modules/c-strstr: New file, from GNU gettext.
44980         * MODULES.html.sh (String handling): Add c-strstr.
44981
44982 2006-08-28  Bruno Haible  <bruno@clisp.org>
44983
44984         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
44985         macros.
44986         Reported by Eric Blake.
44987
44988 2006-08-28  Bruno Haible  <bruno@clisp.org>
44989
44990         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
44991         (VASNPRINTF): Return a string of length > INT_MAX without failing.
44992         * lib/vasprintf.c: Include errno.h, limits.h.
44993         (EOVERFLOW): New fallback definition.
44994         (vasprintf): Test here whether the string length is > INT_MAX.
44995         * lib/vsnprintf.c: Include errno.h, limits.h.
44996         (EOVERFLOW): New fallback definition.
44997         (vsnprintf): Fix bug when generated string was too long for the buffer.
44998         Test here whether the string length is > INT_MAX.
44999
45000 2006-08-28  Bruno Haible  <bruno@clisp.org>
45001
45002         * lib/inttypes_.h (SCNX*): Remove definitions.
45003         Reported by Eric Blake.
45004
45005 2006-08-28  Bruno Haible  <bruno@clisp.org>
45006
45007         * lib/c-strstr.h: New file, from GNU gettext.
45008         * lib/c-strstr.c: New file, from GNU gettext.
45009
45010 2006-08-28  Bruno Haible  <bruno@clisp.org>
45011
45012         * gnulib-tool: Reorder some statements.
45013
45014 2006-08-28  Bruno Haible  <bruno@clisp.org>
45015
45016         * gnulib-tool: New option --makefile-name.
45017         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
45018         $makefile_name.
45019         (func_import): Write $makefile_name to the cache file, and read it from
45020         there unless explicitly specified. Use $makefile_name as file name
45021         instead of Makefile.am. Adjust the recommendations accordingly.
45022
45023 2006-08-28  Bruno Haible  <bruno@clisp.org>
45024
45025         * gnulib-tool (func_verify_module): Check against misapplying patch.
45026
45027 2006-08-28  Bruno Haible  <bruno@clisp.org>
45028
45029         * gnulib-tool (func_relativize, func_relconcat): New functions.
45030         Give an error if --local-dir is given with --update.
45031         Remove trailing slashes from $local_gnulib_dir.
45032         (func_import): Store the relativized $local_gnulib_dir in
45033         gnulib-cache.m4, and read it from there if not specified explicitly.
45034
45035 2006-08-28  Bruno Haible  <bruno@clisp.org>
45036
45037         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
45038         is the current directory. Respect also $local_gnulib_dir.
45039
45040 2006-08-28  Bruno Haible  <bruno@clisp.org>
45041             Simon Josefsson  <jas@extundo.com>
45042
45043         BeOS portability.
45044         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
45045
45046 2006-08-27  Jim Meyering  <jim@meyering.net>
45047
45048         * doc/visibility.texi: Remove duplicate word: "pointer".
45049
45050 2006-08-26  Bruno Haible  <bruno@clisp.org>
45051
45052         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
45053         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
45054         (Makefile.am): Create inttypes.h from inttypes_.h.
45055         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
45056
45057         * modules/imaxabs: New file.
45058
45059         * modules/imaxdiv: New file.
45060
45061 2006-08-26  Bruno Haible  <bruno@clisp.org>
45062
45063         * m4/inttypes.m4: New file.
45064         * m4/_inttypes_h.m4: Remove file.
45065         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
45066         PRI_MACROS_BROKEN.
45067         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
45068
45069         * m4/imaxabs.m4: New file.
45070
45071         * m4/imaxdiv.m4: New file.
45072
45073 2006-08-26  Bruno Haible  <bruno@clisp.org>
45074
45075         * lib/inttypes_.h: New file.
45076         * lib/inttypes.h: Remove file.
45077         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
45078
45079         * lib/imaxabs.c: New file.
45080
45081         * lib/imaxdiv.c: New file.
45082
45083 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
45084
45085         New config-h module, so that "make" output needn't be cluttered
45086         by -DHAVE_CONFIG_H.
45087         * MODULES.html.sh (Support for building libraries and executables):
45088         Add config-h.
45089         * modules/config-h: New file.
45090         * gnulib-tool (nl, sed_transform_lib_file): New vars.
45091         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
45092         the config-h module is used.
45093
45094         New configmake module, so that "make" output needn't be cluttered
45095         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
45096         * MODULES.html.sh (Support for building libraries and executables):
45097         Add configmake.
45098         * modules/configmake: New file.
45099
45100 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
45101
45102         * m4/config-h.m4: New file.
45103
45104 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
45105
45106         * config/srclist.txt: Add elisp-comp.
45107
45108 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
45109
45110         * MODULES.html.sh (Support for building libraries and executables):
45111         Add elisp-comp.
45112         * build-aux/elisp-comp: New file.
45113         * modules/elisp-comp: New file.
45114
45115 2006-08-24  Bruno Haible  <bruno@clisp.org>
45116
45117         * gnulib-tool (func_create_testdir): Use non-default values of
45118         sourcebase and m4base.
45119
45120 2006-08-24  Bruno Haible  <bruno@clisp.org>
45121
45122         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
45123         HTML structure.
45124
45125 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
45126
45127         * modules/openat (Depends-on): Add lchown.
45128
45129 2006-08-23  Bruno Haible  <bruno@clisp.org>
45130
45131         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
45132         of gl_LOCK_EARLY instead of gl_LOCK.
45133
45134 2006-08-23  Bruno Haible  <bruno@clisp.org>
45135
45136         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
45137         on OSF/1 to no.
45138         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
45139
45140 2006-08-23  Bruno Haible  <bruno@clisp.org>
45141
45142         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
45143         as unusable.
45144
45145         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
45146         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
45147         (gl_LOCK): New macro.
45148
45149 2006-08-22  Simon Josefsson  <jas@extundo.com>
45150
45151         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
45152         to md5 module.
45153
45154 2006-08-22  Simon Josefsson  <jas@extundo.com>
45155
45156         * MODULES.html.sh: Add "Support for maintaining and release
45157         projects".
45158
45159         * build-aux/gnupload: New file, from coreutils.
45160
45161 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
45162
45163         Avoid the need for AC_LIBSOURCES in m4 macros.
45164         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
45165         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
45166         * modules/check-version (EXTRA_DIST): Add check-version.h.
45167         * modules/crc (EXTRA_DIST): Add crc.h.
45168         * modules/des (EXTRA_DIST): Add des.h.
45169         * modules/gc (EXTRA_DIST): Add gc.h.
45170         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
45171         * modules/getline (EXTRA_DIST): Add getline.h.
45172         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
45173         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
45174         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
45175         * modules/md2 (EXTRA_DIST): Add md2.h.
45176         * modules/md4 (EXTRA_DIST): Add md4.h.
45177         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
45178         * modules/read-file (EXTRA_DIST): Add read-file.h.
45179         * modules/readline (EXTRA_DIST): Add readline.h.
45180         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
45181         rijndael-api-fst.h.
45182
45183 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
45184
45185         * m4/rijndael.m4 (gl_ARCFOUR):
45186         * m4/arctwo.m4 (gl_ARCTWO):
45187         * m4/check-version.m4 (gl_CHECK_VERSION):
45188         * m4/crc.m4 (gl_CRC):
45189         * m4/des.m4 (gl_DES):
45190         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
45191         * m4/gc.m4 (gl_GC):
45192         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
45193         * m4/getline.m4 (gl_FUNC_GETLINE):
45194         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
45195         * m4/hmac-md5.m4 (gl_HMAC_MD5):
45196         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
45197         * m4/md2.m4 (gl_MD2):
45198         * m4/md4.m4 (gl_MD4):
45199         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
45200         * m4/read-file.m4 (gl_FUNC_READ_FILE):
45201         * m4/readline.m4 (gl_FUNC_READLINE):
45202         * m4/rijndael.m4 (gl_RIJNDAEL):
45203         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
45204         to get the necessary .h files and whatnot.
45205
45206 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
45207
45208         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
45209         gnulib rather than the other way around.
45210         * config/srclistvars.sh (COREUTILS): Remove.
45211
45212 2006-08-22  Jim Meyering  <jim@meyering.net>
45213
45214         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
45215
45216         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
45217
45218 2006-08-22  Eric Blake  <ebb9@byu.net>
45219
45220         * modules/regexprops-generic: New file.
45221         * MODULES.html.sh (Support for building documentation): List it.
45222
45223 2006-08-22  Eric Blake  <ebb9@byu.net>
45224
45225         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
45226         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
45227         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
45228         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
45229
45230 2006-08-22  Bruno Haible  <bruno@clisp.org>
45231
45232         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
45233         and lib_LTLIBRARIES like the other lib_* variables.
45234
45235 2006-08-22  Bruno Haible  <bruno@clisp.org>
45236
45237         * build-aux/x-to-1.in: New file, from GNU gettext.
45238
45239 2006-08-22  Bruno Haible  <bruno@clisp.org>
45240
45241         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
45242         <utmpx.h> exists.
45243
45244 2006-08-22  Bruno Haible  <bruno@clisp.org>
45245
45246         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
45247         <utmpx.h> exists.
45248
45249 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
45250
45251         BeOS portability.
45252         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
45253         exist.
45254         Problem reported by Bruno Haible.
45255
45256 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
45257
45258         Avoid the need for AC_LIBSOURCES in m4 macros.
45259         * modules/acl (EXTRA_DIST): Add acl.h.
45260         * modules/argmatch (Files): Add m4/argmatch.m4.
45261         (configure.ac): Add gl_ARGMATCH.
45262         (EXTRA_DIST): Renamed from lib_SOURCES, for
45263         consistency with the other modules.  Remove argmatch.c.
45264         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
45265         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
45266         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
45267         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
45268         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
45269         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
45270         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
45271         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
45272         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
45273         * modules/closeout (EXTRA_DIST): Add closeout.h.
45274         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
45275         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
45276         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
45277         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
45278         dirname.h; remove basename.c and stripslash.c.
45279         * modules/exclude (EXTRA_DIST): Add exclude.h.
45280         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
45281         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
45282         * modules/file-type (EXTRA_DIST): Add file-type.h.
45283         * modules/filemode (EXTRA_DIST): Add filemode.h.
45284         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
45285         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
45286         * modules/fpending (EXTRA_DIST): Add __fpending.h.
45287         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
45288         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
45289         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
45290         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
45291         * modules/getdate (EXTRA_DIST): Add getdate.c.
45292         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
45293         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
45294         * modules/getpass (EXTRA_DIST): Add getpass.h.
45295         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
45296         * modules/group-member (EXTRA_DIST): Add group-member.h.
45297         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
45298         * modules/hash (EXTRA_DIST): Add hash.h.
45299         * modules/human (EXTRA_DIST): Add human.h.
45300         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
45301         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
45302         * modules/lchown (EXTRA_DIST): Add lchown.h.
45303         * modules/long-options (EXTRA_DIST): Add long-options.h.
45304         * modules/lstat (EXTRA_DIST): Add lstat.h.
45305         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
45306         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
45307         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
45308         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
45309         * modules/memxor (EXTRA_DIST): Add memxor.h.
45310         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
45311         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
45312         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
45313         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
45314         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
45315         * modules/physmem (EXTRA_DIST): Add physmem.h.
45316         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
45317         * modules/posixver (EXTRA_DIST): Add posixver.h.
45318         * modules/quote (EXTRA_DIST): Add quote.h.
45319         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
45320         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
45321         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
45322         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
45323         regex_internal.h regexec.c.
45324         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
45325         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
45326         * modules/same (EXTRA_DIST): Add same.h.
45327         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
45328         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
45329         * modules/savedir (EXTRA_DIST): Add savedir.h.
45330         * modules/sha1 (EXTRA_DIST): Add sha1.h.
45331         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
45332         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
45333         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
45334         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
45335         * modules/strdup (EXTRA_DIST): Add strdup.h.
45336         * modules/strftime (EXTRA_DIST): Add strftime.h.
45337         * modules/strndup (EXTRA_DIST): Add strndup.h.
45338         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
45339         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
45340         * modules/time_r (EXTRA_DIST): Add time_r.h.
45341         * modules/timespec (EXTRA_DIST): Add timespec.h.
45342         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
45343         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
45344         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
45345         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
45346         * modules/userspec (EXTRA_DIST): Add userspec.h.
45347         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
45348         * modules/utimens (EXTRA_DIST): Add utimens.h.
45349         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
45350         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
45351         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
45352         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
45353         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
45354         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
45355         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
45356         * modules/yesno (EXTRA_DIST): Add yesno.h.
45357
45358 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
45359
45360         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
45361
45362         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
45363         * m4/dev-ino.m4, same-inode.m4: Remove.
45364
45365         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
45366         * m4/acl.m4 (AC_FUNC_ACL):
45367         * m4/backupfile.m4 (gl_BACKUPFILE):
45368         * m4/c-strtod.m4 (gl_C99_STRTOLD):
45369         * m4/canon-host.m4 (gl_CANON_HOST):
45370         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
45371         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
45372         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
45373         * m4/cloexec.m4 (gl_CLOEXEC):
45374         * m4/close-stream.m4 (gl_CLOSE_STREAM):
45375         * m4/closeout.m4 (gl_CLOSEOUT):
45376         * m4/dirfd.m4 (gl_FUNC_DIRFD):
45377         * m4/dirname.m4 (gl_DIRNAME):
45378         * m4/exclude.m4 (gl_EXCLUDE):
45379         * m4/exitfail.m4 (gl_EXITFAIL):
45380         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
45381         * m4/file-type.m4 (gl_FILE_TYPE):
45382         * m4/filemode.m4 (gl_FILEMODE):
45383         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
45384         * m4/fpending.m4 (gl_FUNC_FPENDING):
45385         * m4/fprintftime.m4 (gl_FPRINTFTIME):
45386         * m4/fts.m4 (gl_FUNC_FTS):
45387         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
45388         * m4/getdate.m4 (gl_GETDATE):
45389         * m4/gethrxtime.m4 (gl_GETHRXTIME):
45390         * m4/getpagesize.m4 (gl_GETPAGESIZE):
45391         * m4/getpass.m4 (gl_FUNC_GETPASS):
45392         * m4/gettime.m4 (gl_GETTIME):
45393         * m4/getugroups.m4 (gl_GETUGROUPS):
45394         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
45395         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
45396         * m4/hard-locale.m4 (gl_HARD_LOCALE):
45397         * m4/hash.m4 (gl_HASH):
45398         * m4/idcache.m4 (gl_IDCACHE):
45399         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
45400         * m4/lchown.m4 (gl_FUNC_LCHOWN):
45401         * m4/long-options.m4 (gl_LONG_OPTIONS):
45402         * m4/lstat.m4 (gl_FUNC_LSTAT):
45403         * m4/md5.m4 (gl_MD5):
45404         * m4/memcasecmp.m4 (gl_MEMCASECMP):
45405         * m4/memcoll.m4 (gl_MEMCOLL):
45406         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
45407         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
45408         * m4/memxor.m4 (gl_MEMXOR):
45409         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
45410         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
45411         * m4/modechange.m4 (gl_MODECHANGE):
45412         * m4/mountlist.m4 (gl_MOUNTLIST):
45413         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
45414         * m4/openat.m4 (gl_FUNC_OPENAT):
45415         * m4/pathmax.m4 (gl_PATHMAX):
45416         * m4/physmem.m4 (gl_PHYSMEM):
45417         * m4/posixtm.m4 (gl_POSIXTM):
45418         * m4/posixver.m4 (gl_POSIXVER):
45419         * m4/quote.m4 (gl_QUOTE):
45420         * m4/quotearg.m4 (gl_QUOTEARG):
45421         * m4/readtokens.m4 (gl_READTOKENS):
45422         * m4/readutmp.m4 (gl_READUTMP):
45423         * m4/regex.m4 (gl_REGEX):
45424         * m4/safe-read.m4 (gl_SAFE_READ):
45425         * m4/safe-write.m4 (gl_SAFE_WRITE):
45426         * m4/same.m4 (gl_SAME):
45427         * m4/save-cwd.m4 (gl_SAVE_CWD):
45428         * m4/savedir.m4 (gl_SAVEDIR):
45429         * m4/settime.m4 (gl_SETTIME):
45430         * m4/sha1.m4 (gl_SHA1):
45431         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
45432         * m4/stat-macros.m4 (gl_STAT_MACROS):
45433         * m4/stat-time.m4 (gl_STAT_TIME):
45434         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
45435         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
45436         * m4/strdup.m4 (gl_FUNC_STRDUP):
45437         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
45438         * m4/strndup.m4 (gl_FUNC_STRNDUP):
45439         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
45440         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
45441         * m4/time_r.m4 (gl_TIME_R):
45442         * m4/timespec.m4 (gl_TIMESPEC):
45443         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
45444         * m4/unlinkdir.m4 (gl_UNLINKDIR):
45445         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
45446         * m4/userspec.m4 (gl_USERSPEC):
45447         * m4/utimecmp.m4 (gl_UTIMECMP):
45448         * m4/utimens.m4 (gl_UTIMENS):
45449         * m4/xalloc.m4 (gl_XALLOC):
45450         * m4/xgetcwd.m4 (gl_XGETCWD):
45451         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
45452         * m4/xreadlink.m4 (gl_XREADLINK):
45453         * m4/xstrtod.m4 (gl_XSTRTOD):
45454         * m4/yesno.m4 (gl_YESNO):
45455         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
45456         to get the necessary .h files and whatnot.
45457
45458 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
45459             Bruno Haible  <bruno@clisp.org>
45460
45461         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
45462         /bin/sh understanding of '!' conditional negation.
45463
45464 2006-08-21  Jim Meyering  <jim@meyering.net>
45465
45466         * modules/openat (Depends-on): Really alphabetize.
45467
45468         * modules/acl (Depends-on): Add error and quote.
45469
45470         * check-module (find_included_lib_files): Add at-func.c to the
45471         ok-to-include-more-than-once white list.
45472
45473         * modules/openat (Depends-on): Add lstat.  Alphabetize.
45474
45475 2006-08-21  Bruno Haible  <bruno@clisp.org>
45476
45477         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
45478         Emit a pkgdata_DATA variable only if some snippets add contents to it.
45479         Reported by Martin Lambers <marlam@marlam.de>.
45480
45481 2006-08-21  Bruno Haible  <bruno@clisp.org>
45482
45483         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
45484         specify an installation location, don't emit a noinst_LIBRARIES or
45485         noinst_LTLIBRARIES assignment.
45486
45487 2006-08-21  Bruno Haible  <bruno@clisp.org>
45488
45489         BeOS portability.
45490         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
45491         BeOS has mbrtowc() but no <wctype.h>.
45492
45493 2006-08-21  Bruno Haible  <bruno@clisp.org>
45494
45495         BeOS portability.
45496         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
45497         exist.
45498
45499 2006-08-21  Bruno Haible  <bruno@clisp.org>
45500
45501         BeOS portability.
45502         * lib/mbchar.h: Include <wctype.h> only if it exists.
45503
45504 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
45505
45506         Remove files that are no longer needed by their respective modules.
45507         * m4/obstack.m4: Remove.
45508         * m4/strerror_r.m4: Remove.
45509         * m4/uint32_t.m4: Remove.
45510         * m4/uintptr_t.m4: Remove.
45511         * m4/ullong_max.m4: Remove.
45512         * m4/xstrtoimax.m4: Remove.
45513         * m4/xstrtoumax.m4: Remove.
45514
45515         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
45516         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
45517         dependencies now capture this.
45518
45519         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
45520         Do not use AC_LIBSOURCES, since gnulib modules now do this.
45521         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
45522         * m4/human.m4 (gl_HUMAN): Likewise.
45523         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
45524         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
45525
45526         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
45527
45528         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
45529         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
45530         stdint.
45531         * m4/human.m4 (gl_HUMAN): Likewise.
45532         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
45533         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
45534         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
45535         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
45536         * m4/xstrtol (gl_XSTRTOL): Likewise.
45537
45538         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
45539         AC_TYPE_LONG_LONG_INT.
45540         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
45541         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
45542         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
45543         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
45544
45545         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
45546         on stdbool.
45547
45548         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
45549         (gl_PREREQ_XSTRTOUL): Remove.
45550
45551         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
45552
45553         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
45554         mode.
45555
45556 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
45557
45558         Add and change modules to make it easier for coreutils to use
45559         gnulib-tool.
45560         * modules/backupfile (Files): Remove m4/d-ino.m4.
45561         (Depends-on): Add d-ino.
45562         * modules/cycle-check (Depends-on): Add stdint.
45563         (lib_SOURCES): Add cycle-check.h.
45564         * modules/d-ino: New module.
45565         * modules/d-type: New module.
45566         * modules/error (Files): Remove m4/strerror_r.m4.
45567         * modules/filemode (Files): Add m4/st_dm_mode.m4.
45568         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
45569         m4/inttypes_h.m4, m4/uintmax_t.m4.
45570         (Depends-on): Add stdint.
45571         (lib_SOURCES): Add fsusage.h.
45572         * modules/getcwd (Files): Remove d-ino.m4.
45573         (Depends-on): Add d-ino.
45574         * modules/getndelim2 (Depends-on): Add stdint.
45575         * modules/glob (Files): Remove m4/d-type.m4.
45576         (Depends-on): Add d-type.
45577         * modules/host-os: New module.
45578         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
45579         m4/inttypes_h.m4, m4/uintmax_t.m4.
45580         * Depends-on: Add stdint.
45581         (lib_SOURCES): Add human.h.
45582         * modules/inttostr (Files): Remove m4/intmax_t.m4,
45583         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
45584         m4/uintmax_t.m4, m4/ulonglong.m4.
45585         (Depends-on): Add stdint.
45586         (EXTRA_DIST): Add inttostr.h.
45587         * modules/lchmod: New module.
45588         * modules/link-follow: New module.
45589         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
45590         (Depends-on): Add lchmod.
45591         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
45592         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
45593         (Depends-on): Add stdint.
45594         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
45595         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
45596         (Depends-on): Add stdint.
45597         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
45598         * modules/perl: New module.
45599         * modules/regex (Depends-on): Add stdint.
45600         * modules/rmdir-errno: New module.
45601         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
45602         m4/intmax_t.m4.
45603         (Depends-on): Add stdint.
45604         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
45605         m4/uintmax_t.m4.
45606         (Depends-on): Add stdint.
45607         * modules/unlink-busy: New module.
45608         * modules/utimecmp (Depends-on): Add stdint.
45609         * modules/uptime: New module.
45610         * modules/winsz-ioctl: New module.
45611         * modules/winsz-termios: New module.
45612         * modules/xnanosleep (Depends-on): Add nanosleep.
45613         * modules/ullong_max: Remove.
45614         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
45615         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
45616         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
45617         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
45618         (Depends-on): Add inttypes.
45619         (lib_SOURCES): Add xstrtol.h.
45620         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
45621         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
45622         * MODULES.html.sh: Move 'assert' into the assert section.
45623         Move 'dummy' into the linking section.
45624         Remove ullong_max.
45625         Add section for compatibility checks for POSIX:2001 functions,
45626         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
45627         winsz-ioctl, and winsz-termios into it.
45628         Add lchmod.
45629         Add top-level Misc section and put host-os, perl, and uptime
45630         into it.
45631
45632 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
45633
45634         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
45635         now assume the stdint module.  Do not include inttypes.h.
45636         * lib/fsusage.h: Likewise.
45637         * lib/getndelim2.c: Likewise.
45638         * lib/human.h: Likewise.
45639         * lib/inttostr.h: Likewise.
45640         * lib/obstack.c: Likewise.
45641         * lib/regex_internal.h: Likewise.
45642         * lib/tempname.c: Likewise.
45643         * lib/utimecmp.c: Likewise.
45644         * lib/xstrtol.h: Likewise.
45645
45646         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
45647
45648         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
45649         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
45650         * lib/xtime.h: Likewise.
45651
45652 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
45653
45654         * modules/openat (Files): Add lib/fchmodat.c.
45655         Fixes problem reported by Jay Youngman.
45656
45657 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
45658
45659         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
45660         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
45661
45662 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
45663             Bruno Haible  <bruno@clisp.org>
45664
45665         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
45666         and is a script that invokes bison. Tighten the code. Add comments.
45667
45668 2006-08-18  Jim Meyering  <jim@meyering.net>
45669
45670         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
45671         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
45672         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
45673         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
45674
45675 2006-08-18  Bruno Haible  <bruno@clisp.org>
45676
45677         * modules/bison-i18n: New file.
45678         * MODULES.html.sh (Internationalization functions): Add it.
45679
45680 2006-08-18  Bruno Haible  <bruno@clisp.org>
45681
45682         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
45683         sys/statvfs.h. When getmntinfo was found, check its declaration and
45684         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
45685
45686 2006-08-18  Bruno Haible  <bruno@clisp.org>
45687
45688         * m4/bison-i18n.m4: New file, from bison.
45689
45690 2006-08-18  Bruno Haible  <bruno@clisp.org>
45691
45692         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
45693         (ME_DUMMY): Treat "kernfs" as a dummy.
45694         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
45695
45696 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
45697
45698         Update from coreutils.
45699
45700         2006-08-15  Jim Meyering  <jim@meyering.net>
45701
45702         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
45703
45704         2006-01-17  Jim Meyering  <jim@meyering.net>
45705
45706         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
45707
45708         2006-01-11  Jim Meyering  <jim@meyering.net>
45709
45710         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
45711         Check for the lchmod function.
45712
45713 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
45714
45715         Update from coreutils.
45716
45717         * lib/__fpending.h: Add copyright notice.
45718         * lib/fprintftime.h: Likewise.
45719         * lib/savedir.c: Use (C) in copyright notice.
45720         * lib/savedir.h: Likewise.
45721
45722         2006-08-15  Jim Meyering  <jim@meyering.net>
45723
45724         * lib/at-func.c: New file, with the logic of all emulated at-functions.
45725         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
45726         in support of the EXPECTED_ERRNO macro.
45727         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
45728         definitions.  Instead, define the appropriate symbols and include
45729         "at-func.c".
45730         * lib/mkdirat.c (mkdirat): Likewise.
45731         * lib/fchmodat.c (fchmodat): Likewise.
45732         (ENOSYS): Remove definition.
45733         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
45734         it.  Don't include "unistd--.h" -- it wasn't ever used.
45735
45736         2006-01-17  Jim Meyering  <jim@meyering.net>
45737
45738         Rewrite fts.c not to change the current working directory,
45739         by using openat, fstatat, fdopendir, etc..
45740
45741         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
45742         (HAVE_OPENAT_SUPPORT): Define.
45743         [_LIBC] (fchdir): Don't undef or define; no longer used.
45744         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
45745         Now, this `function' always succeeds, and consumes its file descriptor
45746         parameter -- so callers must not close such FDs.  Update callers.
45747         (diropen_fd, opendirat, cwd_advance_fd): New functions.
45748         (diropen): Add parameter, SP.  Adjust all callers.
45749         Implement using diropen_fd, rather than open.
45750         (fts_open): Initialize new member, fts_cwd_fd.
45751         Remove fts_rft-setting code.
45752         (fts_close): Close fts_cwd_fd, if necessary.
45753         (__opendir2): Define in terms of opendir or opendirat,
45754         depending on whether the FST_NOCHDIR flag is set.
45755         (fts_build): Since fts_safe_changedir consumes its FD, and since
45756         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
45757         and close the dup'd file descriptor upon failure.
45758         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
45759         (fts_safe_changedir): Tweak semantics to reflect that this function
45760         now calls cwd_advance_fd and hence consumes its FD argument.
45761         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
45762         [struct FTS] (fts_rft): Remove now-unused member.
45763         [struct FTS] (fts_cycle.state): Improve comment.
45764
45765         * lib/openat.c (openat_needs_fchdir): New function.
45766         * lib/openat.h (openat_needs_fchdir): Declare it.
45767
45768 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
45769
45770         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
45771         Problem and fix reported by Pádraig Brady in
45772         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
45773
45774 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
45775
45776         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
45777
45778 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
45779
45780         * lib/memcoll.c (memcoll): Optimize for the common case where the
45781         arguments are bytewise equal.
45782
45783 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
45784
45785         * doc/regexprops-generic.texi: Add a copyright notice.
45786
45787 2006-08-15  Bruno Haible  <bruno@clisp.org>
45788
45789         * modules/tmpdir (License): Change to LGPL.
45790
45791 2006-08-15  Bruno Haible  <bruno@clisp.org>
45792
45793         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
45794         module.
45795
45796 2006-08-14  Simon Josefsson  <jas@extundo.com>
45797
45798         * config/srclist.txt: Add gnupload.
45799
45800 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
45801
45802         Change copyright notice from LGPL 2 to GPL 2, since that's the
45803         standard form used in the gnulib repository.
45804         * tests/test-lock.c: Likewise.
45805         * tests/test-stdint.c: Likewise.
45806         * tests/test-tls.c: Likewise.
45807
45808         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
45809         prelude-manager.  User shorter URLs for GNU projects, without '?'.
45810         Add copyright notice.
45811
45812         * check-module: Add copyright notice.  Output a copyright
45813         notice if "--version" is specified.
45814         * modules/COPYING: New file.
45815         * tests/test-getaddrinfo.c: Add copyright notice.
45816         * tests/test-verify.c: Likewise.
45817
45818 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
45819
45820         Change copyright notice from LGPL 2 to GPL 2, since that's the
45821         standard form used in the gnulib repository.
45822         * lib/lock.c: LGPL -> GPL.
45823         * lib/lock.h: Likewise.
45824         * lib/strnlen1.c: Likewise.
45825         * lib/strnlen1.h: Likewise.
45826         * lib/tls.c: Likewise.
45827         * lib/tls.h: Likewise.
45828         * lib/tmpdir.c: Likewise.
45829
45830         * lib/TODO: Remove; this belongs only in coreutils.
45831
45832 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
45833
45834         Add copyright notices to long-enough files that lack them, since
45835         otherwise the files aren't clearly free.  Use the same notice that
45836         getdate.texi already uses.
45837         * doc/alloca-opt.texi: Add copyright notice.
45838         * doc/alloca.texi: Likewise.
45839         * doc/ctime.texi: Likewise.
45840         * doc/functions.texi: Likewise.
45841         * doc/gcd.texi: Likewise.
45842         * doc/gnulib-tool.texi: Likewise.
45843         * doc/inet_ntoa.texi: Likewise.
45844         * doc/visibility.texi: Likewise.
45845
45846         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
45847         * doc/quote.texi: Add copyright notice.
45848
45849         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
45850         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
45851         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
45852         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
45853         is now obsolete, and give a pointer to the Sun list.
45854         Add copyright notice.
45855
45856 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
45857
45858         * config/srclistvars.sh: Add copyright notice.
45859
45860 2006-08-14  Eric Blake  <ebb9@byu.net>
45861
45862         Import the following change from libc:
45863
45864         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
45865
45866         Upstream bug 2997.
45867         * lib/misc/error.c: Add space between program name and message if file
45868         name is missing.
45869
45870 2006-08-12  Karl Berry  <karl@gnu.org>
45871
45872         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
45873         remove, these originate in gnulib now.
45874
45875 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45876
45877         * doc/Makefile (standards.info standards.html standards.dvi):
45878         Also depend on make-stds.texi.
45879
45880 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
45881
45882         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
45883         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
45884
45885         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
45886         in wchar_t.  Problem reported by Eric Blake.
45887
45888         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
45889         LEN is smaller than SIZE.  Suggested by Bruno Haible.
45890         Also, help the compiler to keep LEN in a register.
45891
45892 2006-08-11  Eric Blake  <ebb9@byu.net>
45893
45894         * users.txt: Sort.  Add tar.
45895
45896 2006-08-11  Bruno Haible  <bruno@clisp.org>
45897
45898         * users.txt: New file.
45899
45900 2006-08-11  Bruno Haible  <bruno@clisp.org>
45901
45902         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
45903         before <wchar.h>. Needed for OSF/1 and BSD/OS.
45904
45905 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
45906
45907         * modules/snprintf (Depends-on): Remove minmax.
45908         (Maintainer): Add self and Bruno.
45909
45910 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
45911
45912         * lib/.cppi-disable: Add snprintf.h, socket_.h.
45913         * lib/snprintf.c: Include <errno.h> and <limits.h>.
45914         (EOVERFLOW): Define if the system does not.
45915         Do not include "minmax.h"; it wasn't used.
45916         (snprintf): Don't assume size_t promotes to an unsigned type.
45917         Fix bug when generated string was too long for the buffer: the
45918         buffer's contents are supposed to be the initial prefix of the
45919         output.  Don't assume vasnprintf returns EOVERFLOW if the size
45920         exceeds INT_MAX; do the check ourselves.
45921
45922         Import the following changes from libc:
45923
45924         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
45925
45926         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
45927         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
45928         set wc to the byte which couldn't be converted.
45929         (re_string_reconstruct): Don't clear valid_raw_len before calling
45930         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
45931         tip_context using re_string_context_at.
45932
45933         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
45934
45935         * lib/posix/regex.h: g++ still cannot handled [restrict].
45936
45937         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
45938
45939         * lib/posix/regex.h: Remove special handling for VMS.
45940
45941 2006-08-10  Jim Meyering  <jim@meyering.net>
45942
45943         * modules/same-inode: New module.
45944         * modules/dev-ino: New module.
45945         * modules/cycle-check: Depend on these modules, rather than simply
45946         including their .h files.
45947         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
45948         required via m4/cycle-check.m4.
45949         * modules/same: Depend on new same-inode module, rather than
45950         including same-inode.h.
45951         * modules/chdir-safer: New file.
45952
45953         * modules/chown (Depends-on): Add stat-macros.
45954
45955 2006-08-10  Jim Meyering  <jim@meyering.net>
45956
45957         * m4/cycle-check.m4: New file.
45958         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
45959         * m4/dev-ino.m4, m4/same-inode.m4: New files.
45960
45961 2006-08-10  Eric Blake  <ebb9@byu.net>
45962
45963         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
45964         in from original proposal.
45965
45966 2006-08-10  Eric Blake  <ebb9@byu.net>
45967         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
45968
45969         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
45970         namespace.
45971
45972 2006-08-10  Bruno Haible  <bruno@clisp.org>
45973
45974         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
45975         as well.
45976
45977 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
45978
45979         Sync from coreutils.
45980
45981         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
45982
45983         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
45984         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
45985
45986 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
45987
45988         * modules/restrict: Remove; no longer needed now that we assume
45989         Autoconf 2.59 or later.
45990         * MODULES.html.sh: Remove 'restrict'.
45991         * modules/argp (Depends-on): Remove 'restrict'.
45992         * modules/base64 (Depends-on): Likewise.
45993         * modules/gc (Depends-on): Likewise.
45994         * modules/getaddrinfo (Depends-on): Likewise.
45995         * modules/glob (Depends-on): Likewise.
45996         * modules/inet_ntop (Depends-on): Likewise.
45997         * modules/inet_pton (Depends-on): Likewise.
45998         * modules/memxor (Depends-on): Likewise.
45999         * modules/regex (Depends-on): Likewise.
46000         * modules/strtok_r (Depends-on): Likewise.
46001         * modules/time_r (Depends-on): Likewise.
46002
46003 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
46004
46005         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
46006         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
46007         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
46008         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
46009         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
46010         * m4/memxor.m4 (gl_MEMXOR): Likewise.
46011         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
46012         gl_C_RESTRICT replaced by AC_C_RESTRICT.
46013
46014         Merge from coreutils.
46015         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
46016         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
46017         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
46018         * m4/time_r.m4 (gl_TIME_R): Likewise.
46019
46020 2006-08-09  Karl Berry  <karl@gnu.org>
46021
46022         * config/srclist.txt: no more gettext-tools, per Bruno.
46023
46024 2006-08-08  Eric Blake  <ebb9@byu.net>
46025
46026         * modules/verror: New module.
46027         * MODULES.html.sh: Document it.
46028
46029 2006-08-08  Eric Blake  <ebb9@byu.net>
46030
46031         * lib/verror.h, lib/verror.c: New files.
46032
46033 2006-08-08  Eric Blake  <ebb9@byu.net>
46034
46035         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
46036         verror_at_line output complies with GNU Coding Standards even when
46037         file is NULL.
46038
46039 2006-08-07  Bruno Haible  <bruno@clisp.org>
46040
46041         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
46042         versions of AIX.
46043         Reported by Ralf Wildenhues.
46044
46045 2006-08-07  Bruno Haible  <bruno@clisp.org>
46046
46047         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
46048         in an AC_DEFUN. Needed so that the autoconf snippets can use
46049         AC_REQUIRE.
46050
46051 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46052
46053         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
46054         Initialize pkgdata_DATA.
46055         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
46056         overriding it.
46057
46058 2006-08-06  Eric Blake  <ebb9@byu.net>
46059
46060         * lib/error.h: Fold in some upstream changes from glibc.
46061         * lib/error.c: Likewise.
46062
46063 2006-08-04  Bruno Haible  <bruno@clisp.org>
46064
46065         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
46066         Make the mostlyclean-local rule depend on mostlyclean-generic.
46067         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
46068
46069 2006-07-31  Bruno Haible  <bruno@clisp.org>
46070
46071         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
46072         <stdlib.h>, <string.h>.
46073
46074 2006-07-30  Bruno Haible  <bruno@clisp.org>
46075
46076         * modules/readlink (License): Change to LGPL.
46077
46078 2006-07-30  Bruno Haible  <bruno@clisp.org>
46079
46080         * modules/javaversion (Makefile.am): Distribute javaversion.java and
46081         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
46082         set PKGDATADIR to point to it.
46083
46084 2006-07-30  Bruno Haible  <bruno@clisp.org>
46085
46086         * modules/csharpexec (configure.ac): Comment out macro invocation.
46087         * modules/javaexec (configure.ac): Likewise.
46088         * modules/javacomp-script (configure.ac): Likewise.
46089
46090         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
46091
46092 2006-07-30  Bruno Haible  <bruno@clisp.org>
46093
46094         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
46095         linked-list.
46096
46097 2006-07-30  Bruno Haible  <bruno@clisp.org>
46098
46099         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
46100
46101 2006-07-30  Bruno Haible  <bruno@clisp.org>
46102
46103         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
46104         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
46105         get removed.
46106
46107 2006-07-29  Bruno Haible  <bruno@clisp.org>
46108
46109         Make it possible for gnulib-tool to work with locally modified or
46110         augmented gnulib repositories.
46111         * gnulib-tool (func_usage): Document --local-dir option.
46112         (local_gnulib_dir): New variable.
46113         Handle --local-dir option.
46114         (func_lookup_file): New function.
46115         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
46116         (func_get_description, func_get_filelist, func_get_description,
46117         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
46118         func_get_automake_snippet, func_get_include_directive,
46119         func_get_license, func_get_maintainer): Use func_lookup_file.
46120         (func_import, func_create_testdir): Use func_lookup_file.
46121
46122 2006-07-29  Bruno Haible  <bruno@clisp.org>
46123
46124         * modules/setenv (Depends-on): Add unistd.
46125
46126 2006-07-29  Bruno Haible  <bruno@clisp.org>
46127
46128         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
46129
46130 2006-07-29  Bruno Haible  <bruno@clisp.org>
46131
46132         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
46133
46134 2006-07-29  Bruno Haible  <bruno@clisp.org>
46135
46136         * gnulib-tool (import, update): If there is no Makefile.am, look at
46137         aclocal.m4, instead of bailing out.
46138
46139 2006-07-29  Bruno Haible  <bruno@clisp.org>
46140
46141         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
46142         Categorize the options by when they are useful.
46143
46144 2006-07-29  Bruno Haible  <bruno@clisp.org>
46145
46146         * gnulib-tool (func_usage): Document option --no-libtool.
46147         Handle option --no-libtool.
46148         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
46149         for changed semantics of $libtool variable.
46150         (func_import): Likewise. If libtool is not used, show this through
46151         an option --no-libtool.
46152         (func_create_testdir): Update.
46153
46154 2006-07-29  Bruno Haible  <bruno@clisp.org>
46155
46156         * gnulib-tool (func_import): Extend error message about missing
46157         --doc-base.
46158
46159 2006-07-29  Bruno Haible  <bruno@clisp.org>
46160
46161         * gnulib-tool (func_import): Don't create the $docbase directory if
46162         there is no file to store there.
46163
46164 2006-07-29  Bruno Haible  <bruno@clisp.org>
46165
46166         * gnulib-tool (autoconf_minversion): If a --dir option is given and
46167         relevant, look for configure.ac there, not in the current directory.
46168         Also use a simple search for AC_PREREQ, not "autoconf --trace".
46169
46170 2006-07-29  Bruno Haible  <bruno@clisp.org>
46171
46172         * gnulib-tool (SORT): New variable.
46173         (func_usage): Undocument --assume-autoconf option.
46174         Remove --assume-autoconf option handling.
46175         (autoconf_minversion): Determine from the contents of configure.ac.
46176         (func_import): Remove autoconf_minversion handling.
46177         Suggested by Eric Blake.
46178
46179 2006-07-29  Bruno Haible  <bruno@clisp.org>
46180
46181         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
46182
46183 2006-07-29  Bruno Haible  <bruno@clisp.org>
46184
46185         * config/srclist.txt (*setenv.[ch]): Remove rules.
46186
46187 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
46188
46189         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
46190
46191 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
46192
46193         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
46194         arpa/inet.h.
46195
46196 2006-07-28  Simon Josefsson  <jas@extundo.com>
46197
46198         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
46199         * modules/inet_pton (Depends-on): Likewise.
46200
46201 2006-07-28  Simon Josefsson  <jas@extundo.com>
46202
46203         * m4/netinet_in_h.m4: New file.
46204
46205 2006-07-28  Simon Josefsson  <jas@extundo.com>
46206
46207         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
46208         #include's.
46209
46210 2006-07-28  Simon Josefsson  <jas@extundo.com>
46211
46212         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
46213         #include's.
46214
46215 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
46216
46217         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
46218         setgid on directories only if they set these bits.
46219         * lib/modechange.h: Remove obsolete comment about masks.
46220
46221 2006-07-28  Eric Blake  <ebb9@byu.net>
46222
46223         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
46224         macro expansion.
46225
46226 2006-07-28  Bruno Haible  <bruno@clisp.org>
46227
46228         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
46229
46230 2006-07-28  Bruno Haible  <bruno@clisp.org>
46231
46232         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
46233
46234 2006-07-28  Bruno Haible  <bruno@clisp.org>
46235
46236         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
46237         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
46238         Define fallbacks.
46239         Avoids link error on FreeBSD 4.x.
46240         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
46241
46242         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
46243         encoding.
46244         * lib/mbswidth.c (iswcntrl): Likewise.
46245
46246 2006-07-27  Bruno Haible  <bruno@clisp.org>
46247
46248         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
46249         test.
46250
46251 2006-07-27  Bruno Haible  <bruno@clisp.org>
46252
46253         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
46254         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
46255         defined.
46256
46257 2006-07-26  Eric Blake  <ebb9@byu.net>
46258
46259         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
46260
46261 2006-07-26  Eric Blake  <ebb9@byu.net>
46262
46263         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
46264         like mingw that lack mkstemp.
46265         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
46266         avoid compilation warning on mingw.
46267
46268 2006-07-26  Bruno Haible  <bruno@clisp.org>
46269
46270         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
46271         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
46272         INT_FAST*_MIN, INTPTR_MIN.
46273
46274 2006-07-25  Bruno Haible  <bruno@clisp.org>
46275
46276         * modules/version-etc (Depends-on): Add stdarg.
46277
46278 2006-07-25  Bruno Haible  <bruno@clisp.org>
46279
46280         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
46281         complex commands.
46282
46283 2006-07-25  Bruno Haible  <bruno@clisp.org>
46284
46285         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
46286         defined in <stdarg.h> or config.h.
46287
46288 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
46289
46290         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
46291         (gl_STDIO_SAFER): Remove.
46292
46293 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
46294
46295         * MODULES.html.sh (File stream based Input/Output):
46296         Add fopen-safer, tmpfile-safer; remove stdio-safer.
46297         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
46298         * modules/fopen-safer, modules/tmpfile-safer: New files.
46299         * modules/stdio-safer: Remove.
46300
46301 2006-07-24  Bruno Haible  <bruno@clisp.org>
46302
46303         * modules/tmpdir: New file.
46304         * MODULES.html.sh (File system functions): Add it.
46305
46306 2006-07-24  Bruno Haible  <bruno@clisp.org>
46307
46308         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
46309         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
46310
46311 2006-07-24  Bruno Haible  <bruno@clisp.org>
46312
46313         * modules/clean-temp: New file.
46314
46315 2006-07-24  Bruno Haible  <bruno@clisp.org>
46316
46317         * m4/tmpdir.m4: New file, from GNU gettext.
46318
46319 2006-07-24  Bruno Haible  <bruno@clisp.org>
46320
46321         * lib/tmpdir.h: New file, from GNU gettext.
46322         * lib/tmpdir.c: New file, from GNU gettext.
46323
46324 2006-07-24  Bruno Haible  <bruno@clisp.org>
46325
46326         * lib/clean-temp.h: New file, from GNU gettext.
46327         * lib/clean-temp.c: New file, from GNU gettext.
46328
46329 2006-07-23  Eric Blake  <ebb9@byu.net>
46330
46331         * modules/stdio-safer (Files): Add tmpfile-safer.c.
46332         (Depends-on): Add binary-io.
46333
46334 2006-07-23  Eric Blake  <ebb9@byu.net>
46335
46336         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
46337
46338 2006-07-23  Eric Blake  <ebb9@byu.net>
46339
46340         * lib/tmpfile-safer.c: New file.
46341         * lib/stdio-safer.h (fopen_safer): Add prototype.
46342         * lib/stdio--.h (tmpfile): Make safer.
46343
46344 2006-07-23  Bruno Haible  <bruno@clisp.org>
46345
46346         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
46347         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
46348         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
46349         gl_linked_remove_at): Use it.
46350
46351 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
46352         and Simon Josefsson <jas@extundo.com>
46353
46354         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
46355
46356         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
46357
46358 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
46359
46360         * modules/close-stream: New file.
46361         * modules/closeout (Description): Make it clear that it exits
46362         with a diagnostic on error.
46363         (Depends-on): Add close-stream.  Remove fpending, stdbool.
46364         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
46365
46366 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
46367
46368         * m4/close-stream.m4: New file.
46369
46370 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
46371
46372         * lib/close-stream.c, lib/close-stream.h: New files.
46373
46374 2006-07-22  Bruno Haible  <bruno@clisp.org>
46375
46376         Merge from GNU gettext 0.15.
46377
46378         2006-05-01  Bruno Haible  <bruno@clisp.org>
46379
46380                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
46381
46382         2006-07-22  Bruno Haible  <bruno@clisp.org>
46383
46384                 * modules/javaversion: New file.
46385                 * MODULES.html.sh (Java): Add javaversion.
46386
46387         2006-03-12  Bruno Haible  <bruno@clisp.org>
46388
46389                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
46390
46391         2005-12-04  Bruno Haible  <bruno@clisp.org>
46392
46393                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
46394                 (untested).
46395
46396         2006-06-21  Bruno Haible  <bruno@clisp.org>
46397
46398                 Avoid warnings from recent versions of mcs.
46399                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
46400                 -o, -L, -r any more. Use options documented since mcs-1.0
46401                 instead. Similarly for -g.
46402
46403         2005-12-04  Bruno Haible  <bruno@clisp.org>
46404
46405                 * build-aux/csharpcomp.sh.in: Suffix for resources is
46406                 .resources, not .resource.
46407
46408         2005-07-09  Bruno Haible  <bruno@clisp.org>
46409
46410                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
46411                 add a .dll suffix.
46412                 Reported by Mark Junker <mjscod@gmx.de>.
46413
46414         2006-07-22  Bruno Haible  <bruno@clisp.org>
46415
46416                 * modules/gettext: Upgrade to gettext-0.15.
46417                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
46418                 m4/visibility.m4.
46419                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
46420
46421 2006-07-22  Bruno Haible  <bruno@clisp.org>
46422
46423         Merge from GNU gettext 0.15.
46424
46425         2006-03-25  Bruno Haible  <bruno@clisp.org>
46426
46427                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
46428
46429         2006-07-21  Bruno Haible  <bruno@clisp.org>
46430
46431                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
46432                 "1.1".
46433
46434         2006-05-09  Bruno Haible  <bruno@clisp.org>
46435
46436                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
46437                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
46438                 for the conftestver execution.
46439
46440         2006-05-01  Bruno Haible  <bruno@clisp.org>
46441
46442                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
46443                 optional target-version argument. Verify that the compiler
46444                 groks source of the specified source-version, or add -source
46445                 option as necessary. Verify that the compiler produces
46446                 bytecode in the specified target-version, or add -target and
46447                 -source options as necessary. Make the result of the test
46448                 available as variable CONF_JAVAC. Also log error output in
46449                 config.log.
46450
46451         2006-03-11  Bruno Haible  <bruno@clisp.org>
46452
46453                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
46454
46455         2006-05-09  Bruno Haible  <bruno@clisp.org>
46456
46457                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
46458                 CLASSPATH_SEPARATOR to a semicolon.
46459
46460         2006-03-12  Bruno Haible  <bruno@clisp.org>
46461
46462                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
46463                 available as variable CONF_JAVA, for subsequent autoconf
46464                 tests. Also log error output in config.log.
46465
46466         2006-07-19  Bruno Haible  <bruno@clisp.org>
46467
46468                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
46469                 that getline works on glibc2 systems. Needed to avoid trouble
46470                 in relocatable.c.
46471                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
46472
46473         2005-12-04  Bruno Haible  <bruno@clisp.org>
46474
46475                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
46476                 launcher (untested).
46477
46478         2005-12-04  Bruno Haible  <bruno@clisp.org>
46479
46480                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
46481
46482         2006-07-22  Bruno Haible  <bruno@clisp.org>
46483
46484                 * gettext.m4: Update from GNU gettext-0.15.
46485                 * nls.m4: Likewise.
46486                 * po.m4: Likewise.
46487                 * inttypes-pri.m4: Likewise.
46488                 * inttypes-h.m4: Renamed from inttypes.m4.
46489                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
46490
46491 2006-07-22  Bruno Haible  <bruno@clisp.org>
46492
46493         Merge from GNU gettext 0.15.
46494
46495         2005-07-05  Bruno Haible  <bruno@clisp.org>
46496
46497                 * printf-args.c (printf_fetchargs): Work around broken
46498                 definition of wint_t on mingw.
46499
46500         2005-02-12  Bruno Haible  <bruno@clisp.org>
46501
46502                 * xallocsa.h: Add extern "C" for C++.
46503
46504         2006-05-17  Bruno Haible  <bruno@clisp.org>
46505
46506                 Cygwin portability.
46507                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
46508
46509         2006-04-30  Bruno Haible  <bruno@clisp.org>
46510
46511                 * progreloc.c: Include <mach-o/dyld.h> if available.
46512                 (find_executable): Use _NSGetExecutablePath when possible.
46513
46514         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
46515
46516                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
46517                 function.
46518
46519         2005-12-29  Bruno Haible  <bruno@clisp.org>
46520
46521                 * progreloc.c (set_program_name_and_installdir): Fix
46522                 compilation error.
46523
46524         2005-12-04  Bruno Haible  <bruno@clisp.org>
46525
46526                 Cygwin portability.
46527                 * progreloc.c: Include <windows.h> also on Cygwin.
46528                 (find_executable): Add support for Cygwin.
46529                 (set_program_name_and_installdir): Handle also platforms with
46530                 nonempty EXEEXT.
46531
46532         2006-07-11  Bruno Haible  <bruno@clisp.org>
46533
46534                 * javacomp.c: Fix a comment.
46535                 Reported by Jim Meyering.
46536
46537         2006-04-30  Bruno Haible  <bruno@clisp.org>
46538
46539                 * javacomp.h (compile_java_class): Add source_version,
46540                 target_version arguments.
46541                 * javacomp.c: Rewritten to choose only a compiler that
46542                 respects the specified source_version and target_version.
46543
46544         2006-06-27  Bruno Haible  <bruno@clisp.org>
46545
46546                 Assume correct S_ISDIR macro.
46547                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
46548
46549         2006-07-22  Bruno Haible  <bruno@clisp.org>
46550
46551                 * javaversion.h: New file, from GNU gettext.
46552                 * javaversion.c: New file, from GNU gettext.
46553                 * javaversion.java: New file, from GNU gettext.
46554                 * javaversion.class: New file, from GNU gettext.
46555
46556         2006-05-17  Bruno Haible  <bruno@clisp.org>
46557
46558                 Cygwin portability.
46559                 * javaexec.c (execute_java_class): Test for jview program
46560                 also on Cygwin.
46561
46562         2006-04-09  Bruno Haible  <bruno@clisp.org>
46563
46564                 * fatal-signal.c: Don't include string.h.
46565                 (at_fatal_signal): Use a copying loop instead of memcpy.
46566
46567         2005-12-04  Bruno Haible  <bruno@clisp.org>
46568
46569                 * csharpexec.c: Add support for 'clix' launcher (untested).
46570                 (execute_csharp_using_sscli): New function.
46571                 (execute_csharp_program): Call it.
46572
46573         2006-06-21  Bruno Haible  <bruno@clisp.org>
46574
46575                 Avoid warnings from recent versions of mcs.
46576                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
46577                 -o, -L, -r any more. Use options documented since mcs-1.0
46578                 instead. Similarly for -g.
46579
46580         2005-07-09  Bruno Haible  <bruno@clisp.org>
46581
46582                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
46583                 add a .dll suffix.
46584                 Reported by Mark Junker <mjscod@gmx.de>.
46585
46586         2006-06-17  Bruno Haible  <bruno@clisp.org>
46587
46588                 * config.charset: Update for NetBSD 3.0.
46589
46590         2006-05-17  Bruno Haible  <bruno@clisp.org>
46591
46592                 Cygwin portability.
46593                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
46594
46595         2006-05-16  Bruno Haible  <bruno@clisp.org>
46596
46597                 * localcharset.c [CYGWIN]: Include <windows.h>.
46598                 (get_charset_aliases): For Cygwin, return the same CPxxx
46599                 aliases list as under WIN32.
46600                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
46601                 the environment variables. Fall back to GetACP().
46602
46603         2006-04-05  Bruno Haible  <bruno@clisp.org>
46604
46605                 * config.charset: Update Juan Manuel Guerrero's address.
46606
46607         2005-02-12  Bruno Haible  <bruno@clisp.org>
46608
46609                 * allocsa.h: Add extern "C" for C++.
46610
46611         2005-02-10  Bruno Haible  <bruno@clisp.org>
46612
46613                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
46614                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
46615
46616         2006-07-22  Bruno Haible  <bruno@clisp.org>
46617
46618                 * gettext.h: Update to GNU gettext-0.15.
46619
46620 2006-07-22  Bruno Haible  <bruno@clisp.org>
46621
46622         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
46623         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
46624         lib-prefix.m4, longdouble.m4, ssize_t.m4.
46625
46626 2006-07-21  Eric Blake  <ebb9@byu.net>
46627
46628         * modules/stdlib-safer: New file.
46629         * MODULES.html.sh (File stream based Input/Output): Add
46630         stdlib-safer.
46631
46632 2006-07-21  Eric Blake  <ebb9@byu.net>
46633
46634         * lib/stdlib-safer.h: New file from coreutils, required by
46635         stdlib--.h.
46636
46637 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
46638
46639         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
46640
46641 2006-07-20  Bruno Haible  <bruno@clisp.org>
46642
46643         * gnulib-tool: Recognize new option --assume-autoconf.
46644         (autoconf_minversion): New variable.
46645         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
46646
46647 2006-07-20  Bruno Haible  <bruno@clisp.org>
46648
46649         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
46650
46651 2006-07-19  Derek R. Price  <derek@ximbiot.com>
46652
46653         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
46654         Reindent and repaginate.
46655
46656 2006-07-19  Derek Price  <derek@ximbiot.com>
46657
46658         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
46659         Correct grammar.
46660
46661 2006-07-17  Bruno Haible  <bruno@clisp.org>
46662
46663         * modules/list: New file.
46664         * modules/array-list: New file.
46665         * modules/carray-list, modules/carray-list-tests: New files.
46666         * modules/linked-list, modules/linked-list-tests: New files.
46667         * modules/avltree-list, modules/avltree-list-tests: New files.
46668         * modules/rbtree-list, modules/rbtree-list-tests: New files.
46669         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
46670         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
46671         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
46672         * modules/oset: New file.
46673         * modules/array-oset: New file.
46674         * modules/avltree-oset, modules/avltree-oset-tests: New files.
46675         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
46676         * tests/test-carray_list.c: New file.
46677         * tests/test-linked_list.c: New file.
46678         * tests/test-avltree_list.c: New file.
46679         * tests/test-rbtree_list.c: New file.
46680         * tests/test-linkedhash_list.c: New file.
46681         * tests/test-avltreehash_list.c: New file.
46682         * tests/test-rbtreehash_list.c: New file.
46683         * tests/test-avltree_oset.c: New file.
46684         * tests/test-rbtree_oset.c: New file.
46685         * MODULES.html.sh (Container data structures): New section.
46686
46687 2006-07-17  Bruno Haible  <bruno@clisp.org>
46688
46689         * m4/gl_list.m4: New file.
46690
46691 2006-07-17  Bruno Haible  <bruno@clisp.org>
46692
46693         * lib/gl_list.h: New file.
46694         * lib/gl_list.c: New file.
46695         * lib/gl_array_list.h: New file.
46696         * lib/gl_array_list.c: New file.
46697         * lib/gl_carray_list.h: New file.
46698         * lib/gl_carray_list.c: New file.
46699         * lib/gl_linked_list.h: New file.
46700         * lib/gl_linked_list.c: New file.
46701         * lib/gl_anylinked_list1.h: New file.
46702         * lib/gl_anylinked_list2.h: New file.
46703         * lib/gl_avltree_list.h: New file.
46704         * lib/gl_avltree_list.c: New file.
46705         * lib/gl_anyavltree_list1.h: New file.
46706         * lib/gl_anyavltree_list2.h: New file.
46707         * lib/gl_rbtree_list.h: New file.
46708         * lib/gl_rbtree_list.c: New file.
46709         * lib/gl_anyrbtree_list1.h: New file.
46710         * lib/gl_anyrbtree_list2.h: New file.
46711         * lib/gl_anytree_list1.h: New file.
46712         * lib/gl_anytree_list2.h: New file.
46713         * lib/gl_linkedhash_list.h: New file.
46714         * lib/gl_linkedhash_list.c: New file.
46715         * lib/gl_anyhash_list1.h: New file.
46716         * lib/gl_anyhash_list2.h: New file.
46717         * lib/gl_avltreehash_list.h: New file.
46718         * lib/gl_avltreehash_list.c: New file.
46719         * lib/gl_rbtreehash_list.h: New file.
46720         * lib/gl_rbtreehash_list.c: New file.
46721         * lib/gl_anytreehash_list1.h: New file.
46722         * lib/gl_anytreehash_list2.h: New file.
46723
46724         * lib/gl_oset.h: New file.
46725         * lib/gl_oset.c: New file.
46726         * lib/gl_array_oset.h: New file.
46727         * lib/gl_array_oset.c: New file.
46728         * lib/gl_avltree_oset.h: New file.
46729         * lib/gl_avltree_oset.c: New file.
46730         * lib/gl_rbtree_oset.h: New file.
46731         * lib/gl_rbtree_oset.c: New file.
46732         * lib/gl_anytree_oset.h: New file.
46733
46734 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
46735
46736         * m4/mkancesdirs.m4: New file.
46737         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
46738         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
46739         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
46740         it.
46741
46742 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
46743
46744         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
46745         * lib/mkancesdirs.h: New files.
46746         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
46747         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
46748         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
46749         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
46750         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
46751         callers changed.  Revamp internals significantly, by not
46752         attempting to create directories that are temporarily more
46753         permissive than the final results.  Do not attempt to use
46754         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
46755         This removes some race conditions, fixes some bugs, and simplifies
46756         things.  Use new dirchownmod function to do owner and mode changes.
46757         * lib/mkdir-p.h: Likewise.
46758         * lib/modechange.c (octal_to_mode): New function.
46759         (struct mode_change): New member mentioned.
46760         (make_node_op_equals): New arg mentioned.  All callers changed.
46761         (mode_compile): Keep track of which mode bits the user has explicitly
46762         mentioned.
46763         (mode_adjust): New arg DIR, so that we implement the X op correctly.
46764         New arg PMODE_BITS, to keep track of which mode bits the user
46765         mentioned; it treats S_ISUID and S_ISGID speciall.
46766         All callers changed.
46767         * lib/modechange.h: Likewise.
46768
46769 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
46770
46771         * MODULES.html.sh: Add mkancestors.
46772         * modules/mkancesdirs: New module.
46773         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
46774         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
46775         The chdir-safer and afs files are now orphans; I'll remove them
46776         unless someone speaks up.
46777         Add lib/dirchownmod.c, lib/dirchownmod.h.
46778         (Depends-on): Remove alloca, chown, save-cwd, dirname.
46779         Add lchown, mkancesdirs.
46780         (Maintainer): Add self.
46781
46782 2006-07-15  Karl Berry  <karl@gnu.org>
46783
46784         * gnulib-tool: help message wording/arrangement.
46785
46786 2006-07-14  Simon Josefsson  <jas@extundo.com>
46787
46788         * doc/gnulib.texi (Libtool and Windows): New section.
46789
46790 2006-07-12  Simon Josefsson  <jas@extundo.com>
46791
46792         * modules/gendocs (License): Fix license, approved by Karl.
46793
46794 2006-07-12  Eric Blake  <ebb9@byu.net>
46795
46796         * MODULES.html.sh: Add gendocs.
46797
46798 2006-07-11  Eric Blake  <ebb9@byu.net>
46799
46800         * modules/fdl: New module, to install doc/fdl.texi.
46801         * MODULES.html.sh: Add new section for documentation modules.
46802         * gnulib-tool: Avoid space-tab.
46803         (--doc-base): New option, to manage files from doc.
46804
46805 2006-07-11  Eric Blake  <ebb9@byu.net>
46806
46807         * m4/absolute-header.m4: Fix comments to match recent change.
46808
46809 2006-07-11  Eric Blake  <ebb9@byu.net>
46810
46811         * gnulib-tool: List --doc-base before --tests-base.
46812
46813 2006-07-11  Derek R. Price  <derek@ximbiot.com>
46814
46815         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
46816
46817 2006-07-11  Bruno Haible  <bruno@clisp.org>
46818
46819         * README: Mention where to put documentation.
46820
46821 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46822
46823         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
46824
46825 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
46826
46827         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
46828         to stdint.m4.
46829
46830 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
46831
46832         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
46833         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
46834         "no/such/file/stdint.h" when there is no such file, so that
46835         the resulting C code can be parsed by dodgy compilers.
46836         Problems reported by Bob Proulx.
46837
46838 2006-07-10  Derek R. Price  <derek@ximbiot.com>
46839
46840         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
46841         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
46842         macros into the GNU _D_EXACT_NAMLEN.
46843         * lib/savedir.c:  Likewise.
46844         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
46845
46846 2006-07-10  Derek R. Price  <derek@ximbiot.com>
46847         and Paul Eggert  <eggert@cs.ucla.edu>
46848
46849         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
46850         * m4/savedir.m4:
46851         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
46852         macros into the GNU _D_EXACT_NAMLEN.
46853
46854 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
46855
46856         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
46857         around the absolute name, to work around a problem with the HP-UX
46858         11.23 native C compiler, reported by Bob Proulx.
46859
46860 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
46861
46862         * doc/maintain.texi, make-stds.texi: Sync from
46863         <http://savannah.gnu.org/projects/gnustandards>.
46864
46865 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
46866
46867         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
46868
46869 2006-07-09  Jim Meyering  <jim@meyering.net>
46870
46871         * m4/glob.m4: Remove a doubled word in a comment.
46872
46873 2006-07-09  Jim Meyering  <jim@meyering.net>
46874
46875         * lib/argp-pv.c: Remove a doubled word in a comment.
46876         * lib/check-version.c (check_version): Likewise.
46877         * lib/javacomp.c (compile_java_class): Likewise.
46878
46879 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
46880
46881         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
46882         for the benefit of people using Autoconf 2.60.  If you want to
46883         support older Autoconf versions you can copy m4/onceonly_2_57.m4
46884         (or m4/onceonly.m4, if pre-2.57) manually.
46885
46886 2006-07-08  Jim Meyering  <jim@meyering.net>
46887
46888         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
46889         comment.
46890         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
46891         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
46892         comment.
46893
46894 2006-07-08  Jim Meyering  <jim@meyering.net>
46895
46896         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
46897
46898 2006-07-07  Simon Josefsson  <jas@extundo.com>
46899
46900         * tests/test-crc.c: Change expected crc value, the test vector
46901         were probably computed using the old broken crc.c?
46902
46903 2006-07-06  Simon Josefsson  <jas@extundo.com>
46904
46905         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
46906         now the canonical place for the M4 file).
46907
46908         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
46909         from the sys_socket dependency now.
46910
46911         * modules/inet_pton (Files): Ditto.
46912
46913         * modules/inet_ntop (Files): Ditto.
46914
46915 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
46916
46917         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
46918         not gl_PREREQ_GETUSERSHELL.
46919
46920 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46921
46922         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
46923         with only one argument, for Autoconf 2.60.
46924         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
46925         expand to nothing, so add a shell command to avoid syntax error.
46926         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
46927
46928 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46929
46930         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
46931
46932 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
46933
46934         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
46935         no longer needed.  Check for isblank decl.
46936         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
46937         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
46938         of existence.
46939
46940 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
46941
46942         * lib/getloadavg.c: Use __VMS, not VMS.
46943         * lib/getopt.c: Likewise.
46944         * lib/getpagesize.h: Likewise.
46945         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
46946         and probably does not work.
46947
46948 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
46949
46950         * lib/.cppi-disable: Add wcwidth.
46951         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
46952         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
46953         (ISGRAPH): Remove.  All uses changed to isgraph.
46954         (FOLD) [!defined _LIBC]: Remove special case.
46955         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
46956         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
46957         HAVE_ISBLANK.
46958         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
46959         case.
46960
46961 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
46962
46963         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
46964         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
46965         brackets.  Other minor changes to suppress some compiler
46966         warnings.
46967
46968 2006-07-06  Derek R. Price  <derek@ximbiot.com>
46969         and Paul Eggert  <eggert@cs.ucla.edu>
46970
46971         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
46972         of invoking obsolescent AC_HEADER_DIRENT macro.
46973         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
46974         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
46975         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
46976         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
46977         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
46978         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
46979         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
46980         * m4/readdir.m4: Remove; no longer needed.
46981
46982 2006-07-06  Derek R. Price  <derek@ximbiot.com>
46983         and Paul Eggert  <eggert@cs.ucla.edu>
46984
46985         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
46986         Don't worry about this obsolete case any more.
46987         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
46988         directories.
46989         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
46990         worry about this obsolete case any more.
46991         * lib/fts.c: Likewise.
46992         * lib/getcwd.c: Likewise.
46993         * lib/glob.h: Likewise.
46994         * lib/savedir.c: Likewise.
46995
46996 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
46997
46998         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
46999         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
47000         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
47001         needed.
47002         All uses removed.
47003         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
47004         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
47005         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
47006         needed.
47007         * m4/getdate.m4 (gl_GETDATE): Likewise.
47008         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
47009         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
47010         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
47011         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
47012         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
47013         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
47014         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
47015         needed.
47016
47017 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
47018
47019         * lib/memcasecmp.c: Include <limits.h>.
47020         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
47021         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
47022         Don't assume isdigit succeeds only on '0' through '9'.
47023
47024 2006-07-05  Eric Blake  <ebb9@byu.net>
47025
47026         * modules/getaddrinfo (Depends-on): Add snprintf.
47027
47028 2006-07-05  Eric Blake  <ebb9@byu.net>
47029
47030         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
47031         to avoid 'header present but could not be compiled' on cygwin.
47032
47033 2006-07-05  Eric Blake  <ebb9@byu.net>
47034
47035         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
47036         missing from netdb.h.
47037         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
47038
47039 2006-07-05  Derek R. Price  <derek@ximbiot.com>
47040
47041         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
47042         no longer needed.
47043         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
47044         * m4/getdate.m4 (gl_GETDATE): Likewise.
47045         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
47046         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
47047         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
47048         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
47049         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
47050
47051 2006-07-05  Derek R. Price  <derek@ximbiot.com>
47052
47053         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
47054         All uses of is_space replaced by isspace.
47055         * lib/exit.h: Don't talk about STDC_HEADERS.
47056         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
47057         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
47058         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
47059         replaced by isprint etc.
47060         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
47061         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
47062         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
47063         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
47064         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
47065         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
47066
47067 2006-07-05  Bruno Haible  <bruno@clisp.org>
47068
47069         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
47070         the function exists, before testing against AIX.
47071         Reported by Martin Lambers <marlam@marlam.de>.
47072
47073 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
47074
47075         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
47076         From Mark D. Baushke.
47077
47078 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
47079
47080         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
47081         to the absolute name, not just one, to bypass Sun C 5.8's
47082         "warning: #include of /usr/include/... may be non-portable".
47083
47084 2006-07-04  Eric Blake  <ebb9@byu.net>
47085
47086         * modules/dirname-tests: New test module.
47087         * tests/test-dirname.c: New file, replacing dirname.c
47088         TEST_DIRNAME section that was recently deleted.
47089
47090 2006-07-04  Bruno Haible  <bruno@clisp.org>
47091
47092         Assume ANSI C header files and <ctype.h> functions.
47093         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
47094         (mbsnwidth): Use isprint, iscntrl instead.
47095
47096 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
47097
47098         Merge from coreutils.
47099         * MODULES.html.sh: Add xstrtold.
47100         * modules/xstrtold: New file.
47101         * modules/cycle-check (Files): Add lib/same-inode.h.
47102         * modules/dirname (Files): Add m4/double-slash-root.m4.
47103         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
47104         * modules/mkdir-p (Files): Add lib/same-inode.h.
47105         * modules/same (Files): Add lib/same-inode.h.
47106
47107 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
47108
47109         * m4/absolute-header.m4: Renamed from full-header-path.m4.
47110         This is to keep the terminology clean; POSIX talks about
47111         "absolute pathnames", not "full pathnames", but the GNU
47112         Coding Standards say to use "path" for something else;
47113         so use "absolute" to keep both sides happy.
47114         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
47115         Set gl_absolute_header, not gl_full_header_path.
47116         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
47117         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
47118         All uses changed.
47119
47120         Merge from coreutils.
47121
47122         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
47123
47124         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
47125         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
47126         want to require the building of c-strtod.o.
47127         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
47128         needs -lm directly.
47129         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
47130
47131         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
47132
47133         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
47134         --as-needed option if available.  Problem reported by Albert Chin in
47135         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
47136         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
47137         cc merely issues a bunch of annoying warnings for --as-needed
47138         (this problem was reported by Bob Proulx).  Also, try linking with
47139         -lm to detect a bug in binutils 2.16 (this problem was reported
47140         by Ralf Wildenhues).
47141
47142         2006-06-18  Jim Meyering  <jim@meyering.net>
47143
47144         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
47145         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
47146         macro.
47147         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
47148         also check for glibc-2.4's abort-inducing bug.
47149
47150         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
47151         Low-probability clean-up should be to use rmdir to get rid of
47152         the just-created directory, not unlink.
47153
47154         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
47155         configure fail, and request a bug report to inform us about it.
47156         Add a comment that, barring reports to the contrary, in 2007 we'll
47157         assume ftruncate is universally available.
47158
47159         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
47160
47161         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
47162
47163         2006-03-12  Jim Meyering  <jim@meyering.net>
47164
47165         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
47166         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
47167         * m4/same.m4 (gl_SAME): Likewise.
47168         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
47169
47170         2006-03-11  Eric Blake  <ebb9@byu.net>
47171
47172         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
47173         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
47174         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
47175         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
47176
47177 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
47178
47179         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
47180         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
47181         reported by Mark D. Baushke, one in
47182         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
47183
47184         Merge from coreutils.
47185
47186         * lib/.cppi-disable: Add stdint_.h.
47187         * lib/.cvsignore: Add stdint.h.
47188
47189         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
47190
47191         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
47192         both double and long double versions.
47193         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
47194         * lib/xstrtold.c: New file.
47195         * lib/xstrtod.h (xstrtold): New decl.
47196
47197         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
47198
47199         * lib/filemode.c (setst): Remove.
47200         (strmode): Rewrite to avoid setst.  This makes the code shorter,
47201         (arguably) clearer, and the generated code is a bit smaller on my
47202         Debian GNU/Linux stable x86 host.
47203
47204         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
47205
47206         * lib/filemode.c: Include "filemode.h" first, to test the interface.
47207         Assume that filemode.h includes sys/types.h and sys/stat.h.
47208         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
47209         (ftypelet): Reorder to put common cases first, for efficiency.
47210         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
47211         to do 'M'.
47212         (strmode): Renamed from mode_string, and now stores 12 bytes instead
47213         of 10, for compatibility with FreeBSD.  All callers changed.
47214         (filemodestring): Now stores 12 bytes instead of 10, and sets file
47215         types that can't be deduced solely from st_mode.  First arg is now a
47216         const pointer.
47217         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
47218         (strmode): Renamed from mode_string.
47219         (filemodestring): New decl.
47220         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
47221         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
47222         needed.
47223         (S_ISPORT, S_ISWHT): New macros, if not already defined.
47224
47225         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
47226
47227         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
47228         fsusage.h now does that.  Include fsusage.h first, to test interface.
47229         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
47230         at most one method (the old code could have generated decls that
47231         didn't conform to C89, not that this was ever exercised).
47232         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
47233
47234         2006-03-19  Jim Meyering  <jim@meyering.net>
47235
47236         Work even in a chroot where d_ino values for entries in "/"
47237         don't match the stat.st_ino values for the same names.
47238         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
47239         number, iterate through all entries again, using lstat instead.
47240         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
47241         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
47242
47243         * lib/getcwd.c (__getcwd): Clarify a comment.
47244         Use memcpy in place of a call to strcpy.
47245
47246         2006-03-12  Jim Meyering  <jim@meyering.net>
47247
47248         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
47249         matches that of the current directory (which we're about to chdir ".."
47250         out of), then save the dev-ino of the parent, instead.
47251
47252         * lib/same-inode.h (SAME_INODE): New file/macro.
47253         * lib/chdir-safer.c (SAME_INODE): Remove definition.
47254         Include "same-inode.h", instead.
47255         * lib/same.c: Likewise.
47256         * lib/cycle-check.h: Include "same-inode.h".
47257         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
47258         * lib/cycle-check.c (SAME_INODE): Remove definition.
47259         * lib/root-dev-ino.h: Include "same-inode.h".
47260
47261         2006-03-11  Eric Blake  <ebb9@byu.net>
47262
47263         * lib/same.c (same_name): s/base_name/last_component/
47264         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
47265         * lib/filenamecat.c (file_name_concat): Likewise.
47266
47267         2006-03-11  Eric Blake  <ebb9@byu.net>,
47268                     Paul Eggert  <eggert@cs.ucla.edu>
47269
47270         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
47271         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
47272         drive prefix.
47273         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
47274         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
47275         (last_component): New method.
47276         * lib/dirname.c (dir_len): Determine when drive letters need a
47277         subsequent slash.  Preserve // when it is special.
47278         (dir_name): Don't append dot when drive letter is absolute.
47279         [TEST_DIRNAME]: Move into a full-blown gnulib test.
47280         * lib/basename.c (base_name): New semantics - malloc the result.
47281         Preserve // when it is special.  Preserve relative files that look
47282         like drive letters.
47283         (base_len): Preserve // when it is special.
47284         (last_component): New method, similar to old base_name semantics.
47285         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
47286         base_name.  Strip redundant slashes from ///.
47287
47288 2006-07-03  Jim Meyering  <jim@meyering.net>
47289
47290         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
47291         macro is used before the first cycle_check call.
47292
47293 2006-07-03  Eric Blake  <ebb9@byu.net>
47294
47295         * modules/dirname (Depends-on): Add xstrndup.
47296
47297 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
47298
47299         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
47300         test cases, so that config.log is a bit easier to follow.
47301
47302 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
47303
47304         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
47305         both are 64 bits, since this seems to be the tradition, and this
47306         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
47307         we ever run into a host that prefers long long to long in this
47308         case, we'll need another configure-time test.  Problem reported by
47309         Jim Meyering.
47310
47311 2006-07-02  Eric Blake  <ebb9@byu.net>
47312
47313         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
47314
47315 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
47316
47317         * modules/inttypes (Depends-on): No longer depends on stdint.
47318         * modules/stdint (Description): Say more about assumptions.
47319         Say that the fast types might differ.  Say macros are used.
47320         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
47321         (Makefile.am): Revise list of substituted symbols to match
47322         new stdint.m4.
47323         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
47324         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
47325         * tests/test-stdint.c (verify_same_types)
47326         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
47327         the code conforms to C99/C89.
47328         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
47329         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
47330
47331 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
47332
47333         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
47334         but fix a bug, by requiring at least 64 bits.
47335         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
47336         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
47337         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
47338         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG) Likewise.
47339
47340         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
47341         changes.  Make 2.59 a prerequisite.  Check and substitute for
47342         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
47343         inttypes.h.  Do not use special include files; just use the
47344         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
47345         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
47346         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
47347         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
47348         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
47349         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
47350         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
47351         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
47352         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
47353         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
47354         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
47355         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
47356         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
47357         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
47358         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
47359         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
47360         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
47361         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
47362         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
47363         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
47364         WINT_MAX.  Check for C99 conformance more strictly, by detecting
47365         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
47366         not check for things that C99 does not require, e.g., int8_t.  If
47367         a test isn't needed unless <stdint.h> isn't working, and is
47368         unlikely to be needed for any other reason, then don't do it
47369         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
47370         size_t, since we assume C89 freestanding at least.  Do not check
47371         for sig_atomic_t, wchar_t, or wint_t, since the code now does
47372         the right thing even if the types are not defined.  Instead use:
47373         (gl_STDINT_TYPE_PROPERTIES): New macro.
47374         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
47375         testing whether <sys/types.h> clashes, as Autoconf does this for
47376         us now.  All uses removed.
47377         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
47378         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
47379         (gl_CHECK_TYPE_SAME):
47380         Remove; no longer needed.
47381         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
47382         exists, since we'll return 0 anyway in that case.
47383         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
47384
47385 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
47386
47387         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
47388         possible collision with system files.
47389         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
47390         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
47391         WCHAR_MIN and WCHAR_MAX in this case.
47392         (<stddef.h>): Do not include; no longer needed.
47393         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
47394         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
47395         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
47396         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
47397         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
47398         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
47399         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
47400         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
47401         !defined(__c99))]: Include in this case too, since it's harmless
47402         now.
47403         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
47404         dangerous to do so.
47405         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
47406         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
47407         (_STDINT_MIN, _STDINT_MAX): New macros.
47408         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
47409         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
47410         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
47411         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
47412         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
47413         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
47414         macros, not typedefs; this simplifies things quite a bit.
47415         Use long int for all types narrower than int64_t.
47416         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
47417         Define in terms of long long int or int64_t or long int,
47418         not int64_t or int32_t.  This saves some compile-time testing.
47419         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
47420         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
47421         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
47422         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
47423         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
47424         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
47425         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
47426         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
47427         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
47428         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
47429         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
47430         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
47431         undef any previous version and define our own version, for
47432         simplicity and consistency with the new macros for types.
47433         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
47434         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
47435         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
47436         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
47437         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
47438         @WINT_T_SUFFIX@ to keep things simple here.
47439         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
47440         Simplify by assuming typical 8/16/32/64 host, since we're
47441         already doing that elsewhere anyway.
47442         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
47443         and assume long long int is 64 bits if available.  This
47444         speeds up 'configure'.
47445
47446 2006-07-01  Eric Blake  <ebb9@byu.net>
47447
47448         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
47449         Reported by Andreas Buening.
47450
47451 2006-07-01  Eric Blake  <ebb9@byu.net>
47452
47453         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
47454
47455 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
47456
47457         * lib/getaddrinfo.c: fixed typo
47458
47459 2006-06-29  Jim Meyering  <jim@meyering.net>
47460
47461         * modules/strftime (Maintainer): Add my name, since with the
47462         FPRINTFTIME changes strftime.c has forked from glibc.
47463
47464 2006-06-29  Eric Blake  <ebb9@byu.net>
47465
47466         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
47467
47468 2006-06-29  Eric Blake  <ebb9@byu.net>
47469
47470         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
47471
47472 2006-06-29  Eric Blake  <ebb9@byu.net>
47473
47474         * lib/stat_.h: New file.
47475
47476 2006-06-29  Eric Blake  <ebb9@byu.net>
47477
47478         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
47479         unused static function.
47480
47481 2006-06-29  Eric Blake  <ebb9@byu.net>
47482
47483         * doc/functions.texi (Function Portability): Document missing lstat
47484         on mingw.
47485
47486 2006-06-29  Eric Blake  <ebb9@byu.net>
47487
47488         * MODULES.html.sh: Add sys_stat.
47489         * modules/sys_stat: New module.
47490         * modules/mkstemp (Depends-on): Add sys_stat.
47491
47492 2006-06-29  Derek R. Price  <derek@ximbiot.com>
47493
47494         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
47495
47496 2006-06-29  Derek R. Price  <derek@ximbiot.com>
47497
47498         * m4/c-bs-a.m4: Removed.
47499
47500 2006-06-29  Derek R. Price  <derek@ximbiot.com>
47501
47502         * lib/strftime.c: Assume strftime() exists.
47503
47504 2006-06-29  Derek Price  <derek@ximbiot.com>
47505
47506         * modules/c-bs-a: Removed - \a is C89.
47507         * MODULES.html.sh: Remove c-bs-a.
47508
47509 2006-06-29  Bruno Haible  <bruno@clisp.org>
47510
47511         * modules/wcwidth (License): Change to LGPL.
47512
47513 2006-06-28  Simon Josefsson  <jas@extundo.com>
47514
47515         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
47516         on _WIN32.
47517
47518         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
47519         getnameinfo.
47520
47521 2006-06-28  Simon Josefsson  <jas@extundo.com>
47522
47523         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
47524
47525 2006-06-28  Simon Josefsson  <jas@extundo.com>
47526
47527         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
47528         functions there.  It will succeed on Windows XP, but on Windows
47529         2000 and (presumably) earlier, it will fail, and use the internal
47530         re-implementation.
47531         (use_win32_p): New function.
47532         (getaddrinfo): Use strtoul on servname, to support numeric ports.
47533         Support AI_NUMERICSERV to disable getservbyname.
47534         (getnameinfo): New function, only supports
47535         NI_NUMERICHOST|NI_NUMERICSERV for now.
47536
47537         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
47538         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
47539         getnameinfo.
47540
47541 2006-06-28  Eric Blake  <ebb9@byu.net>
47542
47543         * modules/wcwidth: New file.
47544         * modules/mbchar (Depends-on): Add wcwidth.
47545         * modules/mbswidth (Depends-on): Add wcwidth.
47546         * MODULES.html.sh: Add wcwidth.
47547
47548 2006-06-28  Eric Blake  <ebb9@byu.net>
47549
47550         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
47551         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
47552
47553 2006-06-28  Eric Blake  <ebb9@byu.net>
47554
47555         * lib/xvasprintf.h: Fix comments.
47556
47557 2006-06-28  Eric Blake  <ebb9@byu.net>
47558
47559         * lib/mbchar.h (wcwidth): Include wcwidth.h.
47560         * lib/mbswidth.c (wcwidth): Move from here...
47561         * lib/wcwidth.h: ...to this new file.
47562
47563 2006-06-28  Derek R. Price  <derek@ximbiot.com>
47564
47565         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
47566
47567         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
47568         it's obsolete.
47569         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
47570
47571 2006-06-28  Derek R. Price  <derek@ximbiot.com>
47572
47573         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
47574         Autoconf 2.60 says this stuff was obsolete.
47575
47576 2006-06-28  Bruno Haible  <bruno@clisp.org>
47577
47578         * modules/wcwidth (Files): Add m4/wchar_t.m4.
47579
47580 2006-06-28  Bruno Haible  <bruno@clisp.org>
47581
47582         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
47583         gt_TYPE_WCHAR_T.
47584
47585 2006-06-28  Bruno Haible  <bruno@clisp.org>
47586
47587         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
47588         declaration for wcwidth.
47589         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctypes.h>.
47590
47591 2006-06-28  Bruno Haible  <bruno@clisp.org>
47592
47593         * lib/mkdtemp.c [MINGW]: Include <io.h>.
47594         (mkdir): Define using _mkdir.
47595
47596 2006-06-28  Bruno Haible  <bruno@clisp.org>
47597
47598         * lib/getaddrinfo.h: Fix POSIX URL.
47599         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
47600         _WIN32.
47601         (use_win32_p): Make static.
47602         (getaddrinfo): Reject service name if it is empty or does not consist
47603         solely of decimal digits, or if its value is > 65535.
47604         (getnameinfo): Remove useless casts.
47605
47606 2006-06-27  Simon Josefsson  <jas@extundo.com>
47607
47608         * modules/sys_select: New file, suggested by Bruno Haible, Paul
47609         Eggert and Martin Lambers.
47610
47611 2006-06-27  Simon Josefsson  <jas@extundo.com>
47612
47613         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
47614         Eggert and Martin Lambers.
47615
47616 2006-06-27  Bruno Haible  <bruno@clisp.org>
47617
47618         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
47619         result to 0, not to empty.
47620         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
47621
47622 2006-06-27  Bruno Haible  <bruno@clisp.org>
47623
47624         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
47625
47626 2006-06-26  Simon Josefsson  <jas@extundo.com>
47627
47628         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
47629         present.
47630
47631 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
47632
47633         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
47634         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
47635         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
47636
47637 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
47638
47639         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
47640
47641 2006-06-26  Bruno Haible  <bruno@clisp.org>
47642
47643         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
47644
47645 2006-06-26  Bruno Haible  <bruno@clisp.org>
47646
47647         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
47648
47649 2006-06-26  Bruno Haible  <bruno@clisp.org>
47650
47651         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
47652         SGI C compiler in pre-C99 mode.
47653         Suggested by Mark D. Baushke and Larry Jones.
47654
47655 2006-06-26  Bruno Haible  <bruno@clisp.org>
47656
47657         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
47658         WCHAR_MAX.
47659         Reported by Mark D. Baushke and Larry Jones.
47660
47661 2006-06-26  Bruno Haible  <bruno@clisp.org>
47662
47663         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
47664         in pre-C99 mode.
47665         Suggested by Mark D. Baushke and Larry Jones.
47666
47667 2006-06-23  Simon Josefsson  <jas@extundo.com>
47668             Bruno Haible  <bruno@clisp.org>
47669
47670         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
47671         Emit mostlyclean-local rule.
47672         (func_emit_tests_Makefile_am): Likewise.
47673         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
47674
47675 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
47676
47677         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
47678
47679 2006-06-23  Bruno Haible  <bruno@clisp.org>
47680
47681         * tests/test-stdint.c: Update to match ISO C 99 Technical
47682         Corrigendum 1.
47683
47684 2006-06-23  Bruno Haible  <bruno@clisp.org>
47685
47686         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
47687
47688 2006-06-23  Bruno Haible  <bruno@clisp.org>
47689
47690         * lib/stdint_.h: Treat IRIX like OpenBSD.
47691
47692 2006-06-23  Bruno Haible  <bruno@clisp.org>
47693
47694         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
47695         ISO C 99 Technical Corrigendum 1.
47696
47697 2006-06-22  Simon Josefsson  <jas@extundo.com>
47698
47699         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
47700         MinGW.
47701
47702 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
47703
47704         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
47705         needed.  Some compiler complained about some of them.  Problem reported
47706         by Larry Jones in
47707         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
47708
47709 2006-06-21  Simon Josefsson  <jas@extundo.com>
47710
47711         * tests/test-getaddrinfo.c: New file.
47712
47713         * modules/getaddrinfo-tests: New file.
47714
47715         * MODULES.html.sh: Add inet_pton.
47716
47717         * modules/inet_pton: New file.
47718
47719 2006-06-21  Simon Josefsson  <jas@extundo.com>
47720
47721         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
47722         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
47723         of using the (limited) gnulib implementation on Windows XP.
47724
47725         * m4/inet_pton.m4: New file.
47726
47727 2006-06-21  Simon Josefsson  <jas@extundo.com>
47728
47729         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
47730         variable.
47731
47732         * lib/socket_.h: Don't define WINVER.
47733
47734         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
47735         slightly modified to work in gnulib.
47736
47737 2006-06-21  Simon Josefsson  <jas@extundo.com>
47738
47739         * doc/gnulib.texi (Windows sockets): Add.
47740
47741 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
47742
47743         * lib/read-file.c (fread_file): Start with buffer allocation of
47744         0 bytes rather than 1 byte; this simplifies the code.
47745         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
47746         code to free buffer and save/restore errno.
47747         (internal_read_file): Remove unused local.
47748
47749 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
47750
47751         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
47752         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
47753         Problem reported by Denis Excoffier in
47754         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
47755
47756 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
47757
47758         * modules/sys_socket, modules/socklen: Include sys/types since
47759         FreeBSD 4.x's sys/socket.h needs it.
47760
47761 2006-06-19  Simon Josefsson  <jas@extundo.com>
47762
47763         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
47764
47765 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
47766
47767         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
47768
47769 2006-06-19  Bruno Haible  <bruno@clisp.org>
47770
47771         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
47772         and FULL_PATH_INTTYPES_H in angle brackets.
47773         Reported by Mark D. Baushke <mdb@gnu.org>.
47774
47775 2006-06-17  Eric Blake  <ebb9@byu.net>
47776
47777         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
47778         errno.
47779
47780 2006-06-17  Bruno Haible  <bruno@clisp.org>
47781
47782         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
47783         <sys/inttypes.h>.
47784
47785 2006-06-17  Bruno Haible  <bruno@clisp.org>
47786
47787         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
47788         whether errno is declared. Assume <errno.h> declares errno.
47789
47790 2006-06-17  Bruno Haible  <bruno@clisp.org>
47791
47792         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
47793
47794 2006-06-17  Bruno Haible  <bruno@clisp.org>
47795
47796         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
47797         problem on Solaris 2.5.1.
47798
47799 2006-06-16  Eric Blake  <ebb9@byu.net>
47800
47801         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
47802         * lib/unicodeio.c [!defined errno]: Likewise.
47803         * lib/strtol.c [!defined errno]: Likewise.
47804         * lib/strtod.c [!defined errno]: Likewise.
47805
47806 2006-06-15  Eric Blake  <ebb9@byu.net>
47807
47808         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
47809
47810 2006-06-15  Eric Blake  <ebb9@byu.net>
47811
47812         * config/srclist.txt (ssize_t.m4): Lose sync.
47813
47814 2006-06-15  Bruno Haible  <bruno@clisp.org>
47815
47816         * modules/stdint (Files): Include m4/full-header-path.m4,
47817         m4/size_max.m4, m4/wchar_t.m4.
47818         (Makefile.am): Many more substitutions.
47819         * modules/stdint-tests: New file.
47820         * tests/test-stdint.c: New file.
47821
47822 2006-06-15  Bruno Haible  <bruno@clisp.org>
47823
47824         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
47825         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
47826         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
47827         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
47828         gl_CHECK_TYPE_SAME): New macros.
47829
47830 2006-06-15  Bruno Haible  <bruno@clisp.org>
47831
47832         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
47833
47834 2006-06-15  Bruno Haible  <bruno@clisp.org>
47835
47836         * lib/stdint_.h: Rewritten to be fully auto-configured.
47837         Fixes bug on HP-UX/IA64.
47838
47839 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
47840
47841         * lib/getdate.y (__attribute__): Don't define if already defined.
47842         Problem reported by Larry Jones.
47843         * lib/utimens.c (__attribute__): Likewise.
47844
47845 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
47846
47847         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
47848         reported by Andreas Schwab.
47849
47850 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47851             Bruno Haible  <bruno@clisp.org>
47852
47853         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
47854         check for the declaration of strnlen and a run test that exposes the
47855         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
47856         rpl_strndup.
47857
47858 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47859             Bruno Haible  <bruno@clisp.org>
47860
47861         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
47862
47863 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47864
47865         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
47866         compile test, for Tru64 4.0D.
47867
47868 2006-05-28  Karl Berry  <karl@gnu.org>
47869
47870         * config/srclist.txt (printf-args.c): lose sync.
47871
47872 2006-05-26  Martin Lambers  <marlam@marlam.de>
47873
47874         * lib/getpass.c: Updates the test for the native W32 API, and adds
47875         missing includes, thus fixing compilation warnings.
47876
47877 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
47878
47879         * lib/exclude.c (exclude_fnmatch): New function.
47880         (excluded_file_name): Call exclude_fnmatch.
47881         * lib/exclude.h (excluded_file_name): New prototype
47882
47883 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
47884
47885         * lib/tempname.c (small_open, large_open): New macros.
47886         (__open, __open64) [!_LIBC]: Remove.
47887         (__gen_tempname): Use small_open and large_open instead of __open
47888         and __open64.  This fixes a portability bug on HP-UX 11.11i
47889         reported by Simon Wing-Tang in
47890         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
47891
47892 2006-05-24  Bruno Haible  <bruno@clisp.org>
47893
47894         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
47895         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
47896         Reported by Thorsten Maerz <torte@netztorte.de> via
47897         Aaron Stone <aaron@serendipity.cx>.
47898
47899 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
47900
47901         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
47902         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
47903         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
47904         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
47905         not really conditional on the cache.
47906         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
47907
47908 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
47909
47910         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
47911         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
47912         (my_usleep): Don't mishandle maximum value.
47913
47914 2006-05-19  Jim Meyering  <jim@meyering.net>
47915
47916         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
47917
47918 2006-05-17  Bruno Haible  <bruno@clisp.org>
47919
47920         Cygwin portability.
47921         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
47922
47923 2006-05-17  Bruno Haible  <bruno@clisp.org>
47924
47925         * lib/stdint_.h: Fix recognition of Cygwin.
47926
47927 2006-05-15  Bruno Haible  <bruno@clisp.org>
47928
47929         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
47930         on libtool patch by Ralf Wildenhues.
47931
47932 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
47933
47934         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
47935         test for C99 conformance; (bool) 0.5 is an integer constant
47936         expression, but (bool) -0.5 is not.  Problem reported by Fedor
47937         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
47938
47939 2006-05-11  Simon Josefsson  <jas@extundo.com>
47940
47941         * m4/xvasprintf.m4: Fix obvious typo.
47942
47943 2006-05-11  Jim Meyering  <jim@meyering.net>
47944
47945         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
47946         James Lemley.
47947
47948 2006-05-10  Simon Josefsson  <jas@extundo.com>
47949
47950         * lib/md4.c: Typo fix, update copyright years.
47951         (K1, K2): Don't use L because it turn computations into 64-bit on
47952         64-bit platforms.
47953
47954 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
47955
47956         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
47957         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
47958         unwanted sign propagation, e.g., on hosts with 64-bit int.
47959         There still are some problems with reeelly weird theoretical hosts
47960         (e.g., 33-bit int) but it's not worth worrying about now.
47961         * lib/sha1.c (rol): Likewise.
47962         (K1, K2, K3, K4): Remove unnecessary L suffix.
47963
47964 2006-05-10  Bruno Haible  <bruno@clisp.org>
47965
47966         * lib/des.c: Cast to avoid warnings.
47967
47968 2006-05-09  Bruno Haible  <bruno@clisp.org>
47969
47970         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
47971         (Depends-on): Depend also on xsize, stdarg.
47972         (configure.ac): Add gl_XVASPRINTF.
47973
47974 2006-05-09  Bruno Haible  <bruno@clisp.org>
47975
47976         * m4/xvasprintf.m4: New file.
47977
47978 2006-05-09  Bruno Haible  <bruno@clisp.org>
47979
47980         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
47981         (EOVERFLOW): Define fallback value.
47982         (xstrcat): New function.
47983         (xvasprintf): Recognize the special case of a string concatenation.
47984
47985 2006-05-08  Eric Blake  <ebb9@byu.net>
47986
47987         * gnulib-tool (func_version): Base copyright year on CVS date.
47988         (func_emit_copyright_notice): New function.
47989         (func_emit_lib_Makefile_am): Use it.
47990         (func_emit_tests_Makefile_am): Likewise.
47991         (func_import): Likewise.
47992
47993 2006-05-08  Bruno Haible  <bruno@clisp.org>
47994
47995         * modules/stdarg: New file.
47996         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
47997
47998 2006-05-08  Bruno Haible  <bruno@clisp.org>
47999
48000         * m4/stdarg.m4: New file, from GNU gettext.
48001
48002 2006-05-08  Bruno Haible  <bruno@clisp.org>
48003
48004         * config/srclist.txt (build-aux/config.rpath): different from latest
48005         release.
48006
48007 2006-05-08  Bruno Haible  <bruno@clisp.org>
48008
48009         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
48010
48011 2006-05-05  Jim Meyering  <jim@meyering.net>
48012
48013         * m4/warning.m4: New file, derived from bison's file by the same name.
48014
48015 2006-05-03  Bruno Haible  <bruno@clisp.org>
48016
48017         * lib/stdint_.h: Shorter URL.
48018         * lib/inttypes.h: Likewise.
48019
48020 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
48021
48022         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
48023
48024 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
48025
48026         * lib/verify.h: Document the internals better.  Most of this change
48027         was written by Bruno Haible.
48028
48029 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
48030
48031         * doc/verify.texi: New file, partly based on a proposal by
48032         Bruno Haible.
48033
48034 2006-05-02  Bruno Haible  <bruno@clisp.org>
48035
48036         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
48037         test from here...
48038         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
48039
48040 2006-04-29  Bruno Haible  <bruno@clisp.org>
48041
48042         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
48043         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
48044
48045 2006-04-29  Bruno Haible  <bruno@clisp.org>
48046
48047         * gnulib-tool: Make --update option actually work.
48048
48049 2006-04-29  Bruno Haible  <bruno@clisp.org>
48050
48051         * doc/gcd.texi: New file.
48052         * doc/gnulib.texi: Include it.
48053
48054 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
48055
48056         * lib/getdate.y (get_date): When adding relative date, start with the
48057         initial time, not with the result of the first mktime call.
48058
48059 2006-04-25  Bruno Haible  <bruno@clisp.org>
48060
48061         * gnulib-tool (func_import): Output the include directives in three
48062         blocks, sorted separately.
48063         Reported by Ben Pfaff <blp@cs.stanford.edu>.
48064
48065 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
48066
48067         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
48068         to define main with arguments, for C++.  Reported by Eric Blake.
48069         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
48070         Prefer 'int main ()' to 'int main (void)', for C++.
48071         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
48072         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
48073         for 'main', for C99 and C++.
48074
48075 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
48076
48077         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
48078         Don't assume that exit status -1 is valid.
48079         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
48080         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
48081         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
48082         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
48083         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
48084         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
48085         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
48086         functions can be used without declaring them, or that you can
48087         exit with status -1.
48088         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
48089
48090 2006-04-24  Karl Berry  <karl@gnu.org>
48091
48092         * config/srclist.txt (longdouble.m4): sync lost.
48093
48094 2006-04-24  Eric Blake  <ebb9@byu.net>
48095
48096         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
48097
48098 2006-04-24  Bruno Haible  <bruno@clisp.org>
48099
48100         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
48101         poll() implementation in AIX.
48102         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
48103
48104 2006-04-24  Bruno Haible  <bruno@clisp.org>
48105
48106         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
48107         assigned exactly once.
48108
48109 2006-04-23  Claudio Fontana  <claudio@gnu.org>
48110             Bruno Haible  <bruno@clisp.org>
48111
48112         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
48113         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
48114         for AM_CPPFLAGS.
48115
48116 2006-04-23  Bruno Haible  <bruno@clisp.org>
48117
48118         * modules/copy-file: Depend on unistd.
48119         * modules/execute: Likewise.
48120         * modules/fatal-signal: Likewise.
48121         * modules/findprog: Likewise.
48122         * modules/mkdtemp : Likewise.
48123         * modules/pipe: Likewise.
48124         * modules/wait-process: Likewise.
48125
48126 2006-04-23  Bruno Haible  <bruno@clisp.org>
48127
48128         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
48129         condition was already detected.
48130         Reported by Ben Pfaff <blp@cs.stanford.edu>.
48131
48132 2006-04-23  Bruno Haible  <bruno@clisp.org>
48133
48134         * lib/copy-file.c: Include <unistd.h> unconditionally.
48135         * lib/execute.c: Likewise.
48136         * lib/fatal-signal.c: Likewise.
48137         * lib/findprog.c: Likewise.
48138         * lib/mkdtemp.c: Likewise.
48139         * lib/pipe.h: Likewise.
48140         * lib/pipe.c: Likewise.
48141         * lib/wait-process.h: Likewise.
48142
48143 2006-04-23  Bruno Haible  <bruno@clisp.org>
48144
48145         * gnulib-tool (func_usage): Fix --import description. Document
48146         --update.
48147         (func_import): Create temporary file in a temporary directory, if
48148         --dry-run is specified. Silence errors from 'grep' when there are no
48149         m4 files in $m4dir.
48150         (func_create_testdir): Silence errors from 'grep' when there are no
48151         m4 files in $m4dir.
48152         Reported by Karl Berry <karl@freefriends.org>.
48153
48154 2006-04-20  Bruno Haible  <bruno@clisp.org>
48155
48156         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
48157         one argument, so that the code will be portable to Autoconf 2.60.
48158         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
48159         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
48160         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
48161
48162 2006-04-19  Derek Price  <derek@ximbiot.com>
48163             Eric Blake  <ebb9@byu.net>
48164
48165         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
48166         rather than "/full/path.h".  Update comment to match.  Shorten &
48167         generalize m4_translit call via AS_TR_CPP.
48168
48169 2006-04-19  Derek Price  <derek@ximbiot.com>
48170             Eric Blake  <ebb9@byu.net>
48171
48172         * lib/inttypes.h: Correct grammar in comment.
48173
48174 2006-04-18  Derek Price  <derek@ximbiot.com>
48175             Paul Eggert  <eggert@cs.ucla.edu>
48176
48177         * modules/inttypes: New file.
48178         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
48179
48180 2006-04-18  Derek Price  <derek@ximbiot.com>
48181             Paul Eggert  <eggert@cs.ucla.edu>
48182
48183         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
48184         New files.
48185
48186 2006-04-18  Derek Price  <derek@ximbiot.com>
48187             Paul Eggert  <eggert@cs.ucla.edu>
48188
48189         * lib/inttypes.h: New file.
48190         * lib/strtoimax.c: Assume <inttypes.h>.
48191
48192 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
48193
48194         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
48195         isn't mounted.  Problem reported by Kir Kolyshkin.
48196
48197 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
48198
48199         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
48200         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
48201         Derek R. Price.
48202         * lib/regex.h (RE_DUP_MAX): Update comment to match current
48203         implementation.
48204
48205 2006-04-12  Eric Blake  <ebb9@byu.net>
48206
48207         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
48208         is now done automatically by the corresponding Autoconf macro.
48209
48210 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
48211
48212         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
48213         time_r.h.
48214
48215 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
48216
48217         Merge regex changes from libc, removing some of our
48218         POSIX-conformance changes that were rejected and redoing them in a
48219         less-intrusive way.
48220
48221         * lib/regcomp.c (re_compile_internal, init_dfa):
48222         Length arg is now size_t, not Idx.  All uses changed.
48223         (peek_token): Forward decl now says internal_function.
48224         (__re_error_msgid, __re_error_msgid_idx):
48225         Now static rather than extern with attribute_hidden.
48226         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
48227         For some reason libc prefers K&R style defns for external functions.
48228         (regerror) [!defined _LIBC]: Likewise.
48229         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
48230         (seek_collating_symbol_entry, lookup_collation_sequence_value):
48231         (build_range_exp, build_collating_symbol):
48232         Use K&R-style defn.
48233         (re_compile_fastmap): Use '\0' to memset, not 0.
48234         (utf8_sb_map): Make the calculations more obvious.
48235         (init_dfa, parse_bracket_exp, build_charclass_op):
48236         Call calloc and cast result, as glibc does.
48237         (init_word_char, fetch_token, peek_token, peek_token_bracket):
48238         (build_range_exp, build_collating_symbol):
48239         Now internal functions.
48240
48241         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
48242
48243         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
48244         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
48245         Don't depend on VMS; depend on __VMS instead, for POSIX
48246         namespace cleanness.
48247         (regoff_t): Define to ssize_t, not long int.
48248
48249         Remove the REG_ macros named below.  Instead, make the old names
48250         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
48251         __USE_GNU_REGEX.
48252         (REG_BACKSLASH_ESCAPE_IN_LISTS):
48253         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
48254         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
48255         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
48256         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
48257         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
48258         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
48259         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
48260         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
48261         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
48262         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
48263         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
48264         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
48265         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
48266         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
48267         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
48268         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
48269         (REG_NREGS):
48270         Remove.  All uses replaced by the old RE_* names.
48271         (RE_BACKSLASH_ESCAPE_IN_LISTS):
48272         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
48273         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
48274         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
48275         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
48276         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
48277         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
48278         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
48279         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
48280         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
48281         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
48282         Don't bother having these macros be independent of each others'
48283         values, since they no longer exist in the POSIX name space.
48284
48285         Rename the following member names back to their old names,
48286         unless !__USE_GNU_REGEX.  All uses changed back.
48287         (buffer): Renamed from re_buffer.
48288         (allocated): Renamed from re_allocated.
48289         (used): Renamed from re_used.
48290         (syntax): Renamed from re_syntax.
48291         (fastmap): Renamed from re_fastmap.
48292         (translate): Renamed from re_translate.
48293         (can_be_null): Renamed from re_can_be_null.
48294         (regs_allocated): Renamed from re_regs_allocated.
48295         (fastmap_accurate): Renamed from re_fastmap_accurate.
48296         (no_sub): Renamed from re_no_sub.
48297         (not_bol): Renamed from re_not_bol.
48298         (not_eol): Renamed from re_not_eol.
48299         (newline_anchor): Renamed from re_newline_anchor.
48300         (num_regs): Renamed from rm_num_regs.
48301         (start): Renamed from rm_start.
48302         (end): Renamed from rm_end.
48303
48304         (free_state): Move up a bit.
48305
48306         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
48307         #define to be empty.
48308         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
48309         when that is what is intended.
48310         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
48311         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
48312         (MAX): New macro.
48313         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
48314         All uses changed back to re_malloc, etc.  It's now the caller's
48315         responsibility to check for overflow; all callers changed.
48316         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
48317         (re_x2nrealloc): Remove.
48318         (free_state): Remove decl.
48319
48320         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
48321         (re_set_registers, re_exec):
48322         Use K&R-style defn.
48323
48324         2006-01-31  Roland McGrath  <roland@redhat.com>
48325
48326         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
48327         Reported by Mike Frysinger <vapier@gentoo.org>.
48328
48329         2006-01-15  Andreas Jaeger  <aj@suse.de>
48330
48331         [BZ #1950]
48332         * lib/regex_internal.c (re_string_reconstruct): Adjust for
48333         build_wcs_upper_buffer change.
48334         (build_wcs_upper_buffer): Change return type.
48335
48336         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
48337
48338         * lib/regex_internal.h: Include <stdint.h> if available.
48339
48340         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
48341
48342         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
48343
48344         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
48345
48346         * lib/regcomp.c: Adjust for changed secondary hash function.
48347
48348         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
48349
48350         * lib/regex.h: Pretty printing.
48351         Clean up namespace a bit.
48352
48353         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
48354
48355         * lib/regexec.c (update_cur_sifted_state, check_arrival,
48356         check_arrival_add_next_nodes): Avoid using uninitialized variable.
48357
48358         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
48359                     Ulrich Drepper  <drepper@redhat.com>
48360
48361         [BZ #1302]
48362         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
48363         changed.
48364         (bitset_word_t): Renamed from bitset_word.  All uses changed.
48365
48366         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
48367
48368         [BZ #281]
48369         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
48370         * lib/regcomp.c: Remove unnecessary uses of
48371         unsigned RE_TRANSLATE_TYPE.
48372         * lib/regex_internal.h: Likewise.
48373         * lib/regex_internal.c: Likewise.
48374         * lib/regexec.c: Likewise.
48375         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
48376
48377         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
48378
48379         * lib/regexec.c (find_recover_state): Remove unnecessary
48380         initialization.
48381         (transit_state_bkref): Make DFA a const pointer.
48382         (get_subexp): Likewise.
48383         (check_arrival): Likewise.
48384         (update_cur_sifted_state): Likewise.
48385         (re_search_internal): Likewise.
48386         (prune_impossible_nodes): Likewise.
48387         (acquire_init_state_context): Likewise.
48388         (proceed_next_node): Likewise.
48389         (set_regs): Likewise.
48390         (free_fail_stack_return): Likewise.
48391         (check_arrival_expand_ecl): Mark DFA parameter as const.
48392         (check_arrival_expand_ecl_sub): Likewise.
48393         (check_subexp_limits): Likewise.
48394         (sub_epsilon_src_nodes):  Likewise.
48395         (add_epsilon_src_nodes):  Likewise.
48396         (merge_state_array): Likewise.
48397         (update_regs): Likewise.
48398         (build_trtable): Likewise.
48399         (sift_states_backward): Mark MCTX parameter as const.
48400         (build_sifted_states): Likewise.
48401         (update_cur_sifted_state): Likewise.
48402         (sift_states_mkref): Likewise.
48403         (check_arrival_expand_ecl): Mark eclosure as const.
48404         (check_dst_limits_calc_pos_1): Likewise.
48405         * lib/regex_internal.h (re_match_context_t): Make dfa a const
48406         pointer.
48407
48408         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
48409
48410         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
48411         (transit_state_sb): Likewise.
48412         (transit_state_mb): Likewise.
48413         (sift_states_iter_mb): Likewise.
48414         (check_arrival_add_next_nodes): Likewise.
48415         (check_node_accept_bytes): Change first parameter to pointer-to-const.
48416         [_LIBC] (re_search_2_stub): Use mempcpy.
48417
48418         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
48419         mbrtowc for very simple UTF-8 case.
48420
48421         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
48422         a pointer-to-const.
48423         (re_acquire_state_context): Likewise.
48424         * lib/regex_internal.h: Adjust prototypes.
48425
48426         * lib/regex.c: Prevent using C++ compilers.
48427
48428         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
48429         (re_acquire_state_context): Likewise.
48430
48431 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
48432
48433         * modules/regex (Depends-on): Add ssize_t.
48434
48435 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
48436
48437         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
48438         translation table.
48439
48440 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
48441
48442         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
48443
48444 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
48445             Bruno Haible  <bruno@clisp.org>
48446
48447         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
48448         <sys/types.h> and <inttypes.h>.
48449
48450 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48451
48452         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
48453         `__error_t_defined', so argp.h will not typedef the former.
48454
48455 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
48456
48457         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
48458         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
48459         glibc names.  Even if glibc is changed to conform to POSIX, the
48460         traditional names will be available anyway, since regex depends on
48461         the extensions module.  Also, fix a longstanding typo in the
48462         implementation of Spencer ERE test #75 from grep 2.3.  Problems
48463         reported by Emanuele Giaquinta.  Also, change sense of cached
48464         variable, so that the message makes sense.
48465
48466 2006-03-24  Simon Josefsson  <jas@extundo.com>
48467
48468         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
48469         including some doc fixes.
48470         (base64_encode_alloc): Fix +1 bug on allocation failures.
48471
48472 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48473
48474         * lib/base64.c (base64_encode): Do not read past end of array with
48475         unsanitized input on systems with CHAR_BIT > 8.
48476
48477 2006-03-24  Eric Blake  <ebb9@byu.net>
48478
48479         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
48480
48481 2006-03-22  Karl Berry  <karl@gnu.org>
48482
48483         * config/srclist.txt (*setenv.[ch]): get from coreutils.
48484         * config/srclistvars.sh (COREUTILS): new var.
48485
48486 2006-03-17  Jim Meyering  <jim@meyering.net>
48487
48488         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
48489         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
48490
48491 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
48492
48493         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
48494         no longer needs it.  Instead, check that regoff_t is as least
48495         as wide as ptrdiff_t.
48496
48497         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
48498         so that our regex.h stays compatible with the installed regex.
48499         This is helpful for installers who configure --without-included-regex.
48500         Problem reported by Emanuele Giaquinta.
48501
48502 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
48503
48504         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
48505         Typedef to long int, not to off_, as POSIX will likely change
48506         in that direction.
48507
48508 2006-03-15  Eric Blake  <ebb9@byu.net>
48509
48510         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
48511
48512 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
48513
48514         * lib/argp-help.c (validate_uparams): Fix typo
48515         * lib/argp-parse.c (argp_default_options): Consistently begin help
48516         messages with a lowercase letter.
48517
48518 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
48519
48520         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
48521         overrun buffers and shouldn't be used (much as gets shouldn't be
48522         used).
48523         * lib/time_r.c (asctime_r, ctime_r): Likewise.
48524
48525 2006-03-08  Simon Josefsson  <jas@extundo.com>
48526
48527         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
48528         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
48529
48530 2006-03-08  Simon Josefsson  <jas@extundo.com>
48531
48532         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
48533         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
48534
48535 2006-03-08  Simon Josefsson  <jas@extundo.com>
48536
48537         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
48538         signal that configure disabled the device.
48539
48540 2006-03-08  Simon Josefsson  <jas@extundo.com>
48541
48542         * build-aux/maint.mk: Fix refresh-po, to handle no translated
48543         languages.
48544
48545 2006-03-07  Simon Josefsson  <jas@extundo.com>
48546
48547         * modules/getopt (Depends-on): Add unistd.
48548
48549         * modules/unistd: New file.
48550
48551 2006-03-07  Simon Josefsson  <jas@extundo.com>
48552
48553         * modules/gc-random: New file.
48554
48555 2006-03-07  Simon Josefsson  <jas@extundo.com>
48556
48557         * m4/unistd_h.m4: New file.
48558
48559 2006-03-07  Simon Josefsson  <jas@extundo.com>
48560
48561         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
48562         test to be side-effect free by storing the result in the cache
48563         variable gl_cv_lib_readline, and moving the assignment of
48564         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
48565         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
48566
48567 2006-03-07  Simon Josefsson  <jas@extundo.com>
48568
48569         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
48570         error on missing devices (the functions will return an error).
48571
48572         * m4/gc.m4: Move random stuff to gc-random.m4
48573
48574 2006-03-07  Simon Josefsson  <jas@extundo.com>
48575
48576         * lib/unistd_.h: New file.
48577
48578 2006-03-07  Simon Josefsson  <jas@extundo.com>
48579
48580         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
48581
48582 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
48583
48584         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
48585         Problem reported by Juan Manuel Guerrero.
48586
48587 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
48588
48589         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
48590         the unistd module.
48591         * lib/getlogin_r.c: Likewise.
48592         * lib/getlogin_r.h: Likewise.
48593         * lib/glob.c: Likewise.
48594         * lib/pagealign_alloc.c: Likewise.
48595         * lib/unistd_.h: Remove; no longer needed.
48596
48597 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
48598
48599         * MODULES.html.sh (Support for systems lacking POSIX:2001):
48600         Add unistd.
48601         * modules/c-stack (Depends-on): Add unistd.
48602         * modules/getlogin_r: Likewise.
48603         * modules/glob: Likewise.
48604         * modules/pagealign_alloc: Likewise.
48605         * modules/unistd (Files): Remove lib/unistd_.h.
48606         (EXTRA_DIST): Remove.
48607         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
48608         need unistd_.h.
48609         (MOSTLYCLEANFILES): Remove unistd.h-t.
48610
48611 2006-03-03  Simon Josefsson  <jas@extundo.com>
48612
48613         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
48614
48615 2006-03-03  Simon Josefsson  <jas@extundo.com>
48616
48617         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
48618         libidn and bison.
48619
48620 2006-03-03  Simon Josefsson  <jas@extundo.com>
48621
48622         * build-aux/maint.mk: Add indent target.
48623
48624 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
48625
48626         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
48627         our replacement poll.h in any case, to avoid a differing
48628         declaration from a system header.  Seen on AIX.
48629
48630 2006-03-01  Simon Josefsson  <jas@extundo.com>
48631
48632         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
48633         <kasal@ucw.cz>.
48634
48635 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
48636
48637         * modules/gettime (Depends-on): Add extensions module.
48638         * modules/nanosleep (Depends-on): Likewise.
48639         * modules/settime (Depends-on): Likewise.
48640
48641 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
48642
48643         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
48644         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
48645         pedantically.
48646         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
48647         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
48648
48649         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
48650         not "==".  Reported by Ralf Wildenhues.
48651
48652 2006-03-01  Karl Berry  <karl@gnu.org>
48653
48654         * doc/Copyright/request-*: new files, synced from gnuorg.
48655
48656 2006-03-01  Karl Berry  <karl@gnu.org>
48657
48658         * config/srclist.txt (Copyright/*): new entries.
48659
48660 2006-02-28  Simon Josefsson  <jas@extundo.com>
48661
48662         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
48663
48664 2006-02-27  Simon Josefsson  <jas@extundo.com>
48665
48666         * lib/base64.h: Indent #define's.  From Jim Meyering
48667         <jim@meyering.net>.
48668
48669 2006-02-27  Jim Meyering  <jim@meyering.net>
48670
48671         Revert the change of 2006-02-24, so these files can continue
48672         to be sync'd from gettext.
48673         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
48674         of `config.h'.
48675
48676 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
48677
48678         * modules/intprops: New file.
48679         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
48680         Add intprops.
48681         * modules/getloadavg (Files): Remove lib/intprops.h.
48682         (Depends-on): Add intprops.
48683         * modules/human: Likewise.
48684         * modules/inttostr: Likewise.
48685         * modules/openat: Likewise.
48686         * modules/sig2str: Likewise.
48687         * modules/userspec: Likewise.
48688         * modules/utimecmp: Likewise.
48689         * modules/xnanosleep: Likewise.
48690         * modules/xstrtol: Likewise.
48691
48692 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
48693
48694         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
48695         * modules/lock-tests (TESTS): Use $(EXEEXT).
48696         * modules/tls-tests: Likewise.
48697         * modules/argp-tests: Likewise.
48698         (check_PROGRAMS): New var, replacing...
48699         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
48700
48701 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48702
48703         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
48704         `config.h'.
48705
48706 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
48707
48708         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
48709
48710 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48711
48712         Sync from coreutils.
48713         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
48714         gl_CHDIR_SAFER.
48715
48716 2006-02-22  Jim Meyering  <jim@meyering.net>
48717
48718         Sync from coreutils.
48719         * m4/chdir-safer.m4: New file.
48720
48721 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
48722
48723         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
48724         AT_FDCWD exceeds INT_MAX.
48725         * lib/openat.h (AT_FDCWD): Likewise.
48726
48727 2006-02-17  Eric Blake  <address@hidden>
48728
48729         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
48730
48731 2006-02-16  Simon Josefsson  <jas@extundo.com>
48732
48733         * modules/getaddrinfo (Depends-on): Add sys_socket.
48734
48735 2006-02-15  Simon Josefsson  <jas@extundo.com>
48736
48737         * build-aux/maint.mk: Add dsyntax-check rule.
48738
48739 2006-02-15  Eric Blake  <ebb9@byu.net>
48740
48741         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
48742         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
48743         'present but cannot compile' warnings on cygwin.
48744         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
48745         use ws2tcpip.h if sys/socket.h works.
48746         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
48747         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
48748
48749 2006-02-14  Simon Josefsson  <jas@extundo.com>
48750
48751         * modules/maintainer-makefile (Files): Rename.
48752
48753         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
48754         and (the local) Makefile.cfg to maint-cfg.mk.
48755
48756         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
48757         to the latter.
48758
48759         * modules/maintainer-makefile: New module.
48760
48761         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
48762         severaly stripped to make it possible to build it up from scratch
48763         with reliable tests.
48764
48765         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
48766         fixes to permit overriding the default actions when configure and
48767         makefile are not available.
48768
48769 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
48770
48771         Sync from coreutils.
48772         * modules/lstat (Depends-on): Don't depend on xalloc.
48773         (License): Change from GPL to LGPL, since this is now simply a
48774         replacement for a libc function.
48775
48776 2006-02-14  Jim Meyering  <jim@meyering.net>
48777
48778         Sync from coreutils.
48779
48780         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
48781         failure on deficient systems, and simplify gnulib lgpl dependencies.
48782         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
48783         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
48784
48785         * lib/xalloc-die.c: Remove unused definition of N_.
48786
48787 2006-02-14  Jim Meyering  <jim@meyering.net>
48788
48789         Sync from coreutils.
48790         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
48791         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
48792         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
48793         double-quote uses of that variable, to accommodate the rare case in
48794         which getmntent is available in none of the libraries checked.  This
48795         happens at least on FreeBSD 5.0.
48796
48797 2006-02-13  Simon Josefsson  <jas@extundo.com>
48798
48799         * gnulib-tool (Usage): Fix --import, from
48800         karl@freefriends.org (Karl Berry).
48801
48802 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
48803
48804         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
48805
48806 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
48807
48808         * lib/argp-namefrob.h: Restore changes accidentally lost during the
48809         "autoupdate" on 2005-12-12.
48810
48811 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
48812
48813         * modules/closeout (Depends-on): Remove atexit.
48814
48815 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
48816
48817         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
48818         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
48819
48820 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
48821
48822         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
48823         __EXTENSIONS__ if this causes compilation to fail.  Problem
48824         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
48825         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
48826
48827 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
48828
48829         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
48830         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
48831         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
48832         All uses changed.
48833
48834 2006-01-26  Simon Josefsson  <jas@extundo.com>
48835
48836         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
48837         prototype is visible on mingw32.
48838
48839         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
48840         for mingw32.
48841
48842         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
48843         mingw32).
48844
48845 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
48846
48847         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
48848         attempt to open for write; this always fails, at least on POSIX
48849         hosts.  This reinstates the 2006-01-09 change, which was
48850         inadvertently removed.
48851
48852 2006-01-26  Bruno Haible  <bruno@clisp.org>
48853
48854         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
48855         Reported by Paul Eggert.
48856
48857 2006-01-26  Bruno Haible  <bruno@clisp.org>
48858             Paul Eggert  <eggert@cs.ucla.edu>
48859
48860         * lib/stdbool_.h (_Bool)
48861         [(! (defined __cplusplus || defined __BEOS__)
48862           && !defined __GNUC__
48863           && !(defined __HP_cc || defined __xlc__
48864                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
48865                || defined __sgi))]:
48866         #define to signed char in these cases too; this simplifies
48867         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
48868         etc., separately) and makes it more conservative.
48869
48870 2006-01-25  Simon Josefsson  <jas@extundo.com>
48871
48872         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
48873         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
48874         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
48875
48876 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
48877
48878         * lib/argp-namefrob.h: Bugfix. Remove stray #
48879
48880 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
48881
48882         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
48883         so that we test the test.
48884         Check for yet another HP-UX cc bug involving *bool |= bool.
48885
48886 2006-01-25  Karl Berry  <karl@gnu.org>
48887
48888         * config/srclist.txt (vasnprintf.c): sync lost.
48889
48890 2006-01-25  Jim Meyering  <jim@meyering.net>
48891
48892         Sync from the stable (b5) branch of coreutils:
48893
48894         * lib/fts.c (fts_children): Don't let close() clobber errno from
48895         failed fchdir().
48896
48897         * lib/fts.c (fts_stat): When following a symlink-to-directory,
48898         don't necessarily interpret stat-fails+lstat-succeeds as indicating
48899         a dangling symlink.  That can also happen at least for ELOOP.
48900         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
48901         FYI, this bug predates the inclusion of fts.c in coreutils.
48902
48903         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
48904         in their own block, so pre-c99 compilers don't object.
48905
48906         Avoid the double-free (first in fts_read, second in fts_close) that
48907         would occur when an `active' directory is made inaccessible (e.g.,
48908         via chmod a-x) during a traversal.
48909         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
48910         before returning.  Reproduce this failure by
48911         mkdir -p a/b; cd a; chmod a-x . b
48912         Reported by Stavros Passas.
48913
48914 2006-01-25  Jim Meyering  <jim@meyering.net>
48915
48916         * lib/fileblocks.c: Remove more useless parentheses.
48917         * lib/readutmp.h: Likewise.
48918
48919 2006-01-25  Bruno Haible  <bruno@clisp.org>
48920
48921         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
48922         warnings.
48923         Reported by Paul Eggert.
48924
48925 2006-01-25  Bruno Haible  <bruno@clisp.org>
48926
48927         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
48928         rid of a trap command. For Solaris sh.
48929         Reported by Mark D. Baushke <mdb@gnu.org>.
48930
48931 2006-01-24  Simon Josefsson  <jas@extundo.com>
48932
48933         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
48934         Bruno.
48935
48936 2006-01-24  Karl Berry  <karl@gnu.org>
48937
48938         * config/srclist.txt (argp-namefrob.h): sync lost.
48939
48940 2006-01-24  Jim Meyering  <jim@meyering.net>
48941
48942         * modules/openat (Files): Add lib/intprops.h.
48943         From Mark D. Baushke.
48944
48945 2006-01-24  Jim Meyering  <jim@meyering.net>
48946
48947         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
48948         Reported by Mark D. Baushke.
48949
48950 2006-01-24  Jim Meyering  <jim@meyering.net>
48951
48952         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
48953
48954 2006-01-24  Bruno Haible  <bruno@clisp.org>
48955
48956         * modules/strnlen (Maintainer): Change from glibc to all.
48957
48958 2006-01-24  Bruno Haible  <bruno@clisp.org>
48959
48960         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
48961         Patch by Paul Eggert.
48962
48963 2006-01-24  Bruno Haible  <bruno@clisp.org>
48964
48965         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
48966         already has it.
48967         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
48968         2005-11-26.
48969
48970         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
48971         'signed char' to avoid problems with the built-in _Bool type.
48972         Reported by Paul Eggert on 2005-11-26.
48973
48974 2006-01-24  Bruno Haible  <bruno@clisp.org>
48975
48976         * gnulib-tool (func_import): Avoid constructing complicated sed
48977         expressions inside backquote.
48978         Report and solution by Mark D. Baushke <mdb@gnu.org>.
48979
48980 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
48981
48982         These changes imported from libc.
48983         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
48984         test and two separate function calls.
48985         * lib/strndup.c (__strndup): Add libc_hidden_def.
48986
48987 2006-01-23  Simon Josefsson  <jas@extundo.com>
48988
48989         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
48990         Remove the test_*_SOURCES variable: automake infers it by default.
48991         * modules/tls-tests: Likewise.
48992
48993 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
48994
48995         Work around porting bugs reported by Dieter in
48996         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
48997         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
48998         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
48999         Include "getopt.h" first, to check interface.
49000         (getenv): Declare only if defined HAVE_DECL_GETENV &&
49001         !HAVE_DECL_GETENV.
49002         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
49003         (__strndup): Revert to K&R-style function dfns, the glibc style.
49004         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
49005         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
49006         Include strnlen.h first, to get prototype properly.
49007         (strnlen): Renamed from __strnlen.
49008         Remove weak alias.
49009
49010 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
49011
49012         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
49013
49014 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
49015
49016         * config/srclist.txt: Adjust to reflect glibc reorganization.
49017         This affects only comments.
49018
49019 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
49020
49021          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
49022          Reported by Bruce Korb <bkorb@gnu.org>.
49023
49024 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
49025
49026         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
49027         to pacify gcc -Wswitch-default.
49028
49029 2006-01-22  Bruno Haible  <bruno@clisp.org>
49030
49031         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
49032         temporary buffer for sprintf, take into account the precision also
49033         for 'd', 'i', 'u', 'o', 'x', 'X'.
49034
49035 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
49036
49037         * modules/argp-tests: New module
49038         * tests/test-argp.c: New file
49039         * tests/test-argp-2.sh: New file
49040
49041 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
49042
49043         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
49044         (__argp_base_name): Removed
49045         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
49046         typo.
49047         (__argp_base_name): Provide macro definition or extern declaration
49048         depending on the configuration
49049
49050 2006-01-20  Simon Josefsson  <jas@extundo.com>
49051
49052         * modules/inet_ntop (Depends-on): Depend on sys_socket.
49053
49054 2006-01-20  Simon Josefsson  <jas@extundo.com>
49055
49056         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
49057
49058 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
49059
49060         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
49061         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
49062         Suggested by Bruno Haible.
49063
49064 2006-01-20  Karl Berry  <karl@gnu.org>
49065
49066         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
49067         until changes propagate, I guess.
49068
49069 2006-01-19  Simon Josefsson  <jas@extundo.com>
49070
49071         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
49072
49073 2006-01-19  Simon Josefsson  <jas@extundo.com>
49074
49075         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
49076
49077 2006-01-19  Simon Josefsson  <jas@extundo.com>
49078
49079         * gnulib-tool: Set check_PROGRAMS.
49080
49081         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
49082         modules/des-tests, modules/gc-arcfour-tests,
49083         modules/gc-arctwo-tests, modules/gc-des-tests,
49084         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
49085         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
49086         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
49087         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
49088         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
49089         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
49090         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
49091         test_*_SOURCES.
49092
49093 2006-01-18  Simon Josefsson  <jas@extundo.com>
49094
49095         * modules/socklen (Depends-on): Depend on sys_socket.
49096
49097 2006-01-18  Simon Josefsson  <jas@extundo.com>
49098
49099         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
49100         modules/des-tests, modules/gc-arcfour-tests,
49101         modules/gc-arctwo-tests, modules/gc-des-tests,
49102         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
49103         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
49104         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
49105         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
49106         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
49107         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
49108         $(EXEEXT) to automake TESTS variable, for mingw32.
49109
49110 2006-01-17  Simon Josefsson  <jas@extundo.com>
49111
49112         * modules/socklen (Include): Need sys/socket.h.
49113
49114 2006-01-17  Bruno Haible  <bruno@clisp.org>
49115
49116         * modules/ssize_t (Include): Add <sys/types.h>.
49117
49118 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
49119
49120         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
49121         it's not portable and it doesn't work with cross-compiles.
49122         Problem reported by Bruno Haible.  Fix missing-$ typo in
49123         'test "gl_cv_ignore_unused_libraries" ...' that prevented
49124         -zignore from being used with Sun's C compiler.
49125
49126 2006-01-12  Simon Josefsson  <jas@extundo.com>
49127
49128         * lib/base64.c: Fix warning, reported by Bruno Haible
49129         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
49130
49131 2006-01-12  Bruno Haible  <bruno@clisp.org>
49132
49133         * modules/ldd: New file.
49134         * build-aux/ldd.sh.in: New file.
49135         * MODULES.html.sh (Support for building libraries and executables): Add
49136         ldd.
49137
49138 2006-01-12  Bruno Haible  <bruno@clisp.org>
49139
49140         * m4/ldd.m4: New file.
49141
49142 2006-01-12  Bruno Haible  <bruno@clisp.org>
49143
49144         * gnulib-tool (func_import, func_create_testdir): Don't go into an
49145         endless loop while replacing $auxdir with build-aux.
49146
49147 2006-01-11  Simon Josefsson  <jas@extundo.com>
49148
49149         * lib/stdint_.h (SIZE_MAX): Add missing (.
49150
49151 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
49152
49153         Sync from coreutils.
49154         * lib/md5.c: Fix commentary typos.
49155         (alignof, UNALIGNED_P): No need for a GCC-specific version.
49156         * lib/md5.h (__attribute__): Remove; unused.
49157         * lib/sha1.c: Fix commentary to match md5 better.
49158         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
49159         so that we don't need to worry about alignment.  All uses changed.
49160         This merges the 2005-10-28 md5 change into sha1.
49161
49162 2006-01-11  Jim Meyering  <jim@meyering.net>
49163
49164         Sync from coreutils.
49165         * lib/md5.c (OP): Fix spacing.
49166
49167 2006-01-11  Bruno Haible  <bruno@clisp.org>
49168
49169         Ensure automatic ordering between gl_LOCK and gl_ARGP.
49170         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
49171         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
49172
49173 2006-01-11  Bruno Haible  <bruno@clisp.org>
49174
49175         Ensure automatic ordering between gl_LOCK and gl_ARGP.
49176         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
49177         the "early" section as well.
49178
49179 2006-01-11  Bruno Haible  <bruno@clisp.org>
49180
49181         Avoid "ar: no archive members specified" error on MacOS X.
49182         * gnulib-tool (func_modules_add_dummy): New function.
49183         (func_import, func_create_testdir): Invoke it.
49184
49185 2006-01-11  Bruno Haible  <bruno@clisp.org>
49186
49187         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
49188         with $auxdir in AC_CONFIG_FILES statements.
49189
49190 2006-01-11  Bruno Haible  <bruno@clisp.org>
49191
49192         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
49193         Initialize also noinst_HEADERS to empty.
49194
49195 2006-01-11  Bruno Haible  <bruno@clisp.org>
49196
49197         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
49198         variables.
49199         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
49200         autoreconf.
49201
49202 2006-01-11  Bruno Haible  <bruno@clisp.org>
49203
49204         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
49205         overridable by the user.
49206         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
49207
49208 2006-01-10  Simon Josefsson  <jas@extundo.com>
49209
49210         * modules/sys_socket: New file.
49211
49212 2006-01-10  Simon Josefsson  <jas@extundo.com>
49213
49214         * m4/sys_socket_h.m4: New file.
49215
49216 2006-01-10  Simon Josefsson  <jas@extundo.com>
49217
49218         * lib/socket_.h: New file.
49219
49220 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
49221
49222         * modules/readutmp (Maintainer): Add myself.
49223
49224 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
49225
49226         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
49227         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
49228         People who are still concerned with buggy memcmp implementations
49229         can invoke gl_FUNC_MEMCMP themselves.
49230
49231 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
49232
49233         * lib/regex_internal.h (BITSET_WORD_BITS):
49234         Work around a bug in 64-bit PGC (before version 6.1-2), where the
49235         preprocessor mishandles large unsigned values as if they were signed.
49236         Problem reported by Claudio Fontana in
49237         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
49238
49239 2006-01-10  Jim Meyering  <jim@meyering.net>
49240
49241         Avoid the double-free (first in fts_read, second in fts_close) that
49242         would occur when an `active' directory is made inaccessible (e.g.,
49243         via chmod a-x) during a traversal.
49244         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
49245         before returning.  Reproduce this failure by
49246         mkdir -p a/b; cd a; chmod a-x . b
49247         Reported by Stavros Passas.
49248
49249         Sync from coreutils.
49250         * lib/sha1.c: Tweak grammar in a comment.
49251
49252 2006-01-10  Jim Meyering  <jim@meyering.net>
49253
49254         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
49255         Patch by Joerg Sonnenberger.
49256
49257 2006-01-10  Bruno Haible  <bruno@clisp.org>
49258
49259         * modules/readutmp: Depend on module free.
49260         * modules/strtok_r: Depend on module restrict.
49261
49262 2006-01-10  Bruno Haible  <bruno@clisp.org>
49263
49264         * modules/gettext (configure.ac): Add an invocation of
49265         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
49266
49267 2006-01-10  Bruno Haible  <bruno@clisp.org>
49268
49269         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
49270         Reported by Werner Lemberg <wl@gnu.org>.
49271
49272 2006-01-10  Bruno Haible  <bruno@clisp.org>
49273
49274         * lib/localcharset.c: Update from GNU gettext.
49275
49276 2006-01-10  Bruno Haible  <bruno@clisp.org>
49277
49278         * lib/argp.h (__const): Remove macro. Use const instead.
49279         * lib/argp-fmtstream.h (__const): Likewise.
49280         * lib/glob_.h (__const): Remove macro.
49281         * lib/glob-libc.h: Use const instead of __const.
49282
49283 2006-01-10  Bruno Haible  <bruno@clisp.org>
49284
49285         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
49286         variable.
49287         Needed to avoid an automake error regarding the 'gettext' module.
49288
49289 2006-01-09  Simon Josefsson  <jas@extundo.com>
49290
49291         * modules/inet_ntop (Depends-on): Add restrict.
49292
49293 2006-01-09  Simon Josefsson  <jas@extundo.com>
49294
49295         * modules/gc-rijndael-tests (License): Put under LGPL.
49296
49297         * modules/gc-des-tests (License): Likewise.
49298
49299         * modules/gc-arcfour-tests (License): Likewise.
49300
49301         * modules/gc-arctwo-tests (License): Likewise.
49302
49303         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
49304
49305         * modules/gc-hmac-sha1-tests (Files): Likewise.
49306
49307         * modules/gc-hmac-md5-tests (License): Likewise.
49308
49309         * modules/gc-sha1-tests (License): Likewise.
49310
49311         * modules/gc-md5-tests (License): Likewise.
49312
49313         * modules/gc-md4-tests (License): Likewise.
49314
49315         * modules/gc-md2-tests (License): Likewise.
49316
49317         * modules/gc-tests (License): Likewise.
49318
49319         * modules/des-tests (License): Likewise.
49320
49321         * modules/md4-tests (License): Likewise.
49322
49323         * modules/md2-tests (License): Likewise.
49324
49325 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
49326
49327         Sync from coreutils:
49328
49329         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
49330         * modules/lib-ignore: New file.
49331         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
49332         chdir-safer.m4, lchmod.m4.
49333         * modules/openat: Add mkdirat.c, openat-priv.h.
49334
49335 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
49336
49337         Sync from coreutils.
49338         * m4/lib-ignore.m4: New file.
49339         * m4/lchmod.m4: New file.
49340
49341 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
49342
49343         Sync from coreutils.
49344         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
49345         for write access: POSIX says that must fail.
49346         * lib/fts.c (diropen): Likewise.
49347         * lib/save-cwd.c (save_cwd): Likewise.
49348         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
49349         well, for minor improvements on hosts that lack O_DIRECTORY.
49350         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
49351         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
49352         Fall back on chown if open failed with EACCES.
49353
49354         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
49355         Report an error at compile-time if only a 1-second nominal clock
49356         resolution is found.
49357
49358         * lib/lchmod.h: New file.
49359         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
49360         (make_dir_parents): Use lchown rather than chown, and
49361         lchmod rather than chmod.
49362
49363         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
49364         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
49365         "proc" reported by n0dalus.
49366
49367         * lib/mountlist.c: Include <limits.h>.
49368         (dev_from_mount_options)
49369         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
49370         New function.  It no longer assumes "dev=" has the System V meaning
49371         on Linux (since it doesn't).  It also parses "dev=" more carefully.
49372         (read_file_system_list)
49373         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
49374         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
49375         dev= in that case.
49376
49377         * lib/posixtm.h (PDS_PRE_2000): New macro.
49378         * lib/posixtm.c (year): Arg is now syntax_bits rather than
49379         allow_century.  All usages changed.  Reject dates outside the range
49380         1969-1999 if PDS_PRE_2000 is used.
49381
49382 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
49383
49384         Sync from coreutils.
49385         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
49386         (Time of day items): Mention the possibility of leap seconds.
49387         Problem reported by Dr. David Alan Gilbert.
49388
49389 2006-01-09  Jim Meyering  <jim@meyering.net>
49390
49391         Sync from coreutils.
49392
49393         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
49394
49395         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
49396
49397         * lib/modechange.c (mode_compile): Reject an invalid mode string
49398         that starts with an octal digit.  From Andreas Gruenbacher.
49399
49400         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
49401         and dup to open_safer and dup_safer, respectively.
49402         (openat_permissive): Fix typo in comment.
49403
49404         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
49405         "gettext.h"; either no longer needed or are guaranteed by openat.h.
49406         (_): Remove; no longer needed.
49407         (openat): Renamed from rpl_openat; no need for rpl_openat
49408         since openat.h renames openat for us.
49409         Replace most of the body with a call to openat_permissive,
49410         to avoid duplicate code.
49411         Port to (probably hypothetical) environments were mode_t is
49412         wider than int.
49413         (openat_permissive): Require mode arg, so that we can check
49414         types better.  Put it just after flags.  Change cwd failure
49415         indicator from pointer-to-bool to pointer-to-errno-value.
49416         All callers changed.
49417         Invoke openat_save_fail and/or openat_restore_fail if
49418         cwd_errno is null, so that openat can call us.
49419         (openat_permissive, fdopendir, fstatat, unlinkat):
49420         Simplify errno handling to avoid some duplicate code,
49421         as it's OK to set errno on success.
49422         * lib/openat.h: Revamp code so that function macros depend on
49423         __OPENAT_PREFIX only, not also on AT_FDCWD.
49424         (openat_ro): Remove.  Caller changed to use openat_permissive.
49425         (openat_permissive): Now a macro, if not a function.
49426         (openat_restore_fail, openat_save_fail): Now always functions,
49427         since mkdirat needs them even if __OPENAT_PREFIX is defined.
49428
49429         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
49430         and openat.c.
49431         * lib/mkdirat.c: Include openat-priv.h.
49432         Remove definitions of macros defined therein.
49433         * lib/openat.c: Likewise.
49434
49435         * lib/mkdirat.c (mkdirat): New file and function.
49436         * lib/openat.h (mkdirat): Declare.
49437
49438         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
49439
49440         * lib/openat.h (openat_permissive): Declare.
49441         (openat_ro): Define.
49442
49443         * lib/openat.c (EXPECTED_ERRNO): New macro.
49444         (openat_permissive): New function -- used in remove.c rewrite.
49445         (all functions): Set errno just before returning, only if there
49446         was an actual failure.
49447         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
49448
49449         Emulate openat-family functions using Linux's procfs, if possible.
49450         Idea and some code based on Ulrich Drepper's glibc changes.
49451
49452         * lib/openat.c: (BUILD_PROC_NAME): New macro.
49453         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
49454         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
49455         before falling back on save_cwd and restore_cwd.
49456         (fdopendir, fstatat, unlinkat): Likewise.
49457
49458         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
49459         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
49460
49461         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
49462         as second argument to va_arg.  Otherwise, some versions of gcc
49463         warn that `if this code is reached, the program will abort'.
49464
49465 2006-01-09  Jim Meyering  <jim@meyering.net>
49466
49467         Sync from coreutils.
49468         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
49469         Require openat-priv.h.
49470
49471 2006-01-09  Bruno Haible  <bruno@clisp.org>
49472
49473         * modules/strnlen (Include): Use strnlen.h.
49474
49475 2006-01-09  Bruno Haible  <bruno@clisp.org>
49476
49477         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
49478
49479 2006-01-09  Bruno Haible  <bruno@clisp.org>
49480
49481         * lib/sysexit_.h (EX_OK): New macro.
49482         Suggested by Martin Lambers <marlam@marlam.de>.
49483
49484 2006-01-09  Bruno Haible  <bruno@clisp.org>
49485
49486         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
49487         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
49488
49489 2006-01-09  Bruno Haible  <bruno@clisp.org>
49490
49491         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
49492         numbers.
49493
49494 2006-01-09  Bruno Haible  <bruno@clisp.org>
49495
49496         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
49497         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
49498         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
49499         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
49500
49501 2006-01-09  Bruno Haible  <bruno@clisp.org>
49502
49503         * build-aux/javacomp.sh.in: New file, moved from lib/.
49504         * modules/javacomp-script (Files): Update.
49505         (configure.ac): Add AC_CONFIG_FILES invocation.
49506         (EXTRA_DIST): Remove variable.
49507
49508         * build-aux/javaexec.sh.in: New file, moved from lib/.
49509         * modules/javaexec (Files): Update.
49510         (configure.ac): Add AC_CONFIG_FILES invocation.
49511         (EXTRA_DIST): Remove javaexec.sh.in.
49512
49513         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
49514         * modules/csharpcomp-script (Files): Update.
49515         (configure.ac): Add AC_CONFIG_FILES invocation.
49516         (EXTRA_DIST): Remove variable.
49517
49518         * build-aux/csharpexec.sh.in: New file, moved from lib/.
49519         * modules/csharpexec (Files): Update.
49520         (configure.ac): Add AC_CONFIG_FILES invocation.
49521         (EXTRA_DIST): Remove csharpexec.sh.in.
49522
49523 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
49524
49525         Sync from coreutils.
49526
49527         Add POSIX ACL support
49528         * lib/acl.h (copy_acl, set_acl): Add declarations.
49529         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
49530         systems other than Linux.
49531         (chmod_or_fchmod): New function: use fchmod when possible,
49532         and chmod otherwise.
49533         (file_has_acl): Add a POSIX ACL implementation, with a
49534         Linux-specific subcase.
49535         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
49536         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
49537         acls are unsupported.
49538         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
49539         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
49540         are unsupported.
49541
49542 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
49543
49544         Sync from coreutils.
49545         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
49546
49547 2006-01-07  Bruno Haible  <bruno@clisp.org>
49548
49549         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
49550         gl_EARLY.
49551
49552 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
49553
49554         * lib/strftime.c (tzname): Don't declare if it is already #defined.
49555         Problem reported for Mingw by Mark Junker.
49556
49557 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
49558
49559         * README: Gnulib normally doesn't generate a tarball.
49560
49561 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
49562
49563         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
49564         long int, not int, for nanosecond counts, so that people who are
49565         used to POSIX struct timespec won't be surprised.  Reported by Jim
49566         Meyering.
49567
49568 2005-12-28  Bruno Haible  <bruno@clisp.org>
49569
49570         * build-aux/config.rpath: Update from GNU gettext.
49571
49572 2005-12-16  Jim Meyering  <jim@meyering.net>
49573
49574         * modules/fprintftime: New module.
49575         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
49576
49577 2005-12-16  Jim Meyering  <jim@meyering.net>
49578
49579         * m4/fprintftime.m4: New file.
49580
49581 2005-12-16  Jim Meyering  <jim@meyering.net>
49582
49583         * lib/fprintftime.c, lib/fprintftime.h: New files.
49584
49585 2005-12-15  Simon Josefsson  <jas@extundo.com>
49586
49587         * modules/socklen (configure.ac): Fix M4 macro name, to align with
49588         new m4/socklen.m4.
49589
49590 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
49591
49592         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
49593         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
49594
49595 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
49596
49597         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
49598         * lib/argp-help.c (fill_in_uparams): Check if the constructed
49599         struct uparams is valid. Fall back to the default values if it is
49600         not.
49601
49602 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
49603
49604         * modules/argp (Files): Add argp-pin.c
49605         (Depends-on): dirname
49606         (lib_SOURCES): Add argp-pin.c
49607
49608 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
49609
49610         * m4/argp.m4:  Check if program_invocation_name and
49611         program_invocation_short_name are declared and define appropriate
49612         macros if they are not.
49613
49614 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
49615
49616         * lib/argp-help.c (__argp_base_name): New function
49617         (__argp_short_program_name): Rewrite using __argp_base_name
49618         * lib/argp-namefrob.h: Define program_invocation_name and
49619         program_invocation_short_name if requested
49620         (__argp_base_name): Add prototype
49621         * lib/argp-parse.c (argp_def): Use gettext wrappers
49622         (argp_default_parser): Use __argp_base_name
49623         * lib/argp-pin.c: New file. Defines program_invocation_name and
49624         program_invocation_short_name on systems that lack them.
49625
49626 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
49627
49628         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
49629         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
49630         porting problem reported by Georg Schwarz in
49631         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
49632
49633 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
49634
49635         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
49636         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
49637         porting problem reported by Georg Schwarz in
49638         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
49639
49640 2005-12-05  Bruno Haible  <bruno@clisp.org>
49641
49642         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
49643         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
49644         Reported by Mark Junker <mjscod@gmx.de>.
49645
49646 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
49647
49648         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
49649         Use implementation from Albert Chin, with some
49650         comments/corrections by Stepan Kasal and myself.
49651
49652 2005-12-02  Bruno Haible  <bruno@clisp.org>
49653
49654         * gnulib-tool (func_import): Accept GPLed build tool modules when
49655         --lgpl is given.
49656         * modules/csharpcomp-script: New file.
49657         * modules/csharpcomp: Depend on it.
49658         * modules/javacomp-script: New file.
49659         * modules/javacomp: Depend on it.
49660         Suggested by Simon Josefsson.
49661
49662 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
49663
49664         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
49665         statement, to work around an HP-UX 10.20 compiler bug reported by
49666         Peter O'Gorman.
49667
49668 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
49669
49670         * modules/savedir (Depends-on): Add openat.
49671
49672 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
49673
49674         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
49675         (uintmax_t) [defined uintmax_t]: Do not declare.
49676         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
49677         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
49678         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
49679         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
49680         sake of portability to weird hosts that C allows (though we don't
49681         know of any practical examples).
49682
49683         * lib/savedir.h (fdsavedir): New decl.
49684         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
49685         contains most of the former guts of savedir.
49686         (savedir): Use savedirstream.
49687         Include "openat.h".
49688
49689 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
49690
49691         * modules/obstack (Files): Add m4/ulonglong.m4.
49692         Problem reported by Davide Angelocola.
49693
49694 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
49695
49696         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
49697         coreutils no longer futzes with rounding modes.
49698
49699 2005-11-14  Jim Meyering  <jim@meyering.net>
49700
49701         * lib/mkstemp-safer.c: Include <config.h>, required for possible
49702         replacement of mkstemp.
49703
49704 2005-11-10  Simon Josefsson  <jas@extundo.com>
49705
49706         * lib/readline.c: Remove EOL.
49707
49708 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
49709
49710         * modules/gethrxtime (Depends-on): Add gettime.
49711
49712 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
49713
49714         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
49715         or gettimeofday; no longer needed.
49716
49717 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
49718
49719         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
49720         time business.
49721         (gethrxtime) [! (HAVE_NANOUPTIME
49722         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
49723         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
49724         our own approximation.
49725
49726 2005-11-08  Eric Blake  <ebb9@byu.net>
49727
49728         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
49729
49730 2005-11-08  Eric Blake  <ebb9@byu.net>
49731
49732         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
49733
49734 2005-11-04  Bruno Haible  <bruno@clisp.org>
49735
49736         * gnulib-tool: Implement --update mode.
49737
49738 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
49739
49740         Fix porting problem reported by Theodoros V. Kalamatianos.
49741         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
49742         Don't assume that futimes failing means we must fail.
49743
49744 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
49745
49746         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
49747         variables to suggest the intended function of the PATH_MAX check.
49748
49749 2005-10-30  Kean Johnston  <jkj@sco.com>
49750
49751         Trivial changes to support SCO systems.
49752         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
49753         as PATH_MAX.
49754         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
49755         where __ptr is null when no I/O is pending.
49756
49757 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
49758
49759         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
49760         leave errno alone.  Problem reported by Dmitry V. Levin.
49761
49762 2005-10-28  Simon Josefsson  <jas@extundo.com>
49763
49764         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
49765         Test more.
49766
49767         * tests/test-gc-md2.c, tests/test-md2.c: New files.
49768
49769         * modules/md2, modules/md2-tests: New files.
49770
49771 2005-10-28  Simon Josefsson  <jas@extundo.com>
49772
49773         * m4/inet_ntop.m4: More tests.
49774
49775         * m4/gc-md2.m4, md2.m4: New file.
49776
49777 2005-10-28  Simon Josefsson  <jas@extundo.com>
49778
49779         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
49780         "restrict" keywords, as per POSIX.  Protect the function
49781         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
49782         Don't use K&R prototypes.  Check the sprintf return values.
49783         Re-define EAFNOSUPPORT if not present.  Indent.
49784
49785         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
49786         suggested by Bruno Haible <bruno@clisp.org>.
49787
49788         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
49789
49790         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
49791
49792         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
49793         libgcrypt).
49794
49795         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
49796
49797         * lib/md2.h, lib/md2.c: New files.
49798
49799 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
49800
49801         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
49802         errno alone.  Problem reported by Frederic Jolliton.
49803
49804 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
49805
49806         * modules/verify (License): Change from GPL to LGPL.  This is a
49807         tiny module and there are apparently near-equivalents that are
49808         under the BSD license.
49809
49810 2005-10-24  Simon Josefsson  <jas@extundo.com>
49811
49812         * modules/sha1: Relicense to LGPL.
49813
49814 2005-10-24  Simon Josefsson  <jas@extundo.com>
49815
49816         * lib/md4.h: Shrink buffer size, now that we changed the type.
49817
49818 2005-10-23  Simon Josefsson  <jas@extundo.com>
49819
49820         * gnulib-tool (func_import): Fix --tests-base.
49821
49822 2005-10-22  Simon Josefsson  <jas@extundo.com>
49823
49824         * modules/arcfour (Depends-on): Need stdint.
49825
49826 2005-10-22  Simon Josefsson  <jas@extundo.com>
49827
49828         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
49829         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
49830
49831 2005-10-22  Simon Josefsson  <jas@extundo.com>
49832
49833         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
49834         suggested by Bruno Haible <bruno@clisp.org>.
49835
49836 2005-10-22  Simon Josefsson  <jas@extundo.com>
49837
49838         * lib/crc.h: Include stddef.h, for size_t.
49839
49840 2005-10-22  Simon Josefsson  <jas@extundo.com>
49841
49842         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
49843         arcfour_context struct (simplify test vector testing in GNU
49844         Shishi).
49845
49846 2005-10-21  Simon Josefsson  <jas@extundo.com>
49847
49848         * modules/des, modules/des-tests: New files.
49849
49850         * modules/gc-des, modules/gc-des-tests: New files.
49851
49852         * tests/test-des.c, tests/test-gc-des.c: New file.
49853
49854 2005-10-21  Simon Josefsson  <jas@extundo.com>
49855
49856         * modules/arctwo, modules/arctwo-tests: New files.
49857
49858         * tests/test-arctwo.c: New file.
49859
49860         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
49861
49862         * tests/test-gc-arctwo.c: New file.
49863
49864 2005-10-21  Simon Josefsson  <jas@extundo.com>
49865
49866         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
49867         Bruno Haible <bruno@clisp.org>.
49868
49869         * m4/gc-des.m4: New file.
49870
49871 2005-10-21  Simon Josefsson  <jas@extundo.com>
49872
49873         * m4/arctwo.m4: New file.
49874
49875         * m4/gc-arctwo.m4: New file.
49876
49877 2005-10-21  Simon Josefsson  <jas@extundo.com>
49878
49879         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
49880         block.
49881
49882 2005-10-21  Simon Josefsson  <jas@extundo.com>
49883
49884         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
49885         <bruno@clisp.org>.
49886
49887         * lib/hmac-sha1.c (hmac_sha1): Likewise.
49888
49889         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
49890         Bruno Haible <bruno@clisp.org>.
49891
49892         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
49893         <bruno@clisp.org>.
49894
49895 2005-10-21  Simon Josefsson  <jas@extundo.com>
49896
49897         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
49898
49899 2005-10-21  Simon Josefsson  <jas@extundo.com>
49900
49901         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
49902
49903 2005-10-21  Simon Josefsson  <jas@extundo.com>
49904
49905         * lib/des.h, lib/des.c: New files.
49906
49907         * lib/gc-gnulib.c: Support DES.c
49908
49909 2005-10-21  Simon Josefsson  <jas@extundo.com>
49910
49911         * lib/arctwo.h, lib/arctwo.c: New files.
49912
49913         * lib/gc-gnulib.c: Support ARCTWO.
49914
49915 2005-10-21  Simon Josefsson  <jas@extundo.com>
49916
49917         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
49918         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
49919
49920 2005-10-21  Simon Josefsson  <jas@extundo.com>
49921
49922         * gnulib-tool (func_import, func_create_testdir): Define automake
49923         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
49924         Makefile.am snippet),
49925         suggested by Bruno Haible <bruno@clisp.org>.
49926
49927         * modules/gc (Makefile.am): Use it.
49928
49929 2005-10-21  Bruno Haible  <bruno@clisp.org>
49930
49931         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
49932         patch.
49933
49934 2005-10-19  Simon Josefsson  <jas@extundo.com>
49935
49936         * tests/test-gc-rijndael.c: New file.
49937
49938         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
49939
49940 2005-10-19  Simon Josefsson  <jas@extundo.com>
49941
49942         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
49943         interface too.
49944
49945 2005-10-19  Simon Josefsson  <jas@extundo.com>
49946
49947         * tests/test-gc-arcfour.c: New file.
49948
49949         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
49950
49951 2005-10-19  Simon Josefsson  <jas@extundo.com>
49952
49953         * modules/gc-md4, modules/gc-md4-tests: New file.
49954
49955         * tests/test-gc-md4.c: New file.
49956
49957 2005-10-19  Simon Josefsson  <jas@extundo.com>
49958
49959         * m4/gc-md4.m4: New file.
49960
49961 2005-10-19  Simon Josefsson  <jas@extundo.com>
49962
49963         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
49964         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
49965         <kasal@ucw.cz>.
49966
49967 2005-10-19  Simon Josefsson  <jas@extundo.com>
49968
49969         * m4/gc-arcfour.m4: New file.
49970
49971         * m4/gc-rijndael.m4: New file.
49972
49973 2005-10-19  Simon Josefsson  <jas@extundo.com>
49974
49975         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
49976
49977 2005-10-19  Simon Josefsson  <jas@extundo.com>
49978
49979         * lib/gc-gnulib.c: Support ARCFOUR.
49980
49981 2005-10-19  Simon Josefsson  <jas@extundo.com>
49982
49983         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
49984         support.
49985
49986         * lib/gc.h: Add ECB enum type.
49987
49988         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
49989
49990 2005-10-18  Simon Josefsson  <jas@extundo.com>
49991
49992         * tests/test-md5.c: New file.
49993
49994         * modules/md5-tests: New file.
49995
49996 2005-10-18  Simon Josefsson  <jas@extundo.com>
49997
49998         * tests/test-md4.c: New file.
49999
50000         * modules/md4, modules/md4-tests: New files.
50001
50002 2005-10-18  Simon Josefsson  <jas@extundo.com>
50003
50004         * m4/md4.m4: New file.
50005
50006 2005-10-18  Simon Josefsson  <jas@extundo.com>
50007
50008         * lib/md4.h, lib/md4.c: New files, based on md5.?.
50009
50010 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
50011
50012         * gnulib-tool (func_create_testdir): Omit the second check whether
50013         BUILT_SOURCES in nonempty.
50014
50015 2005-10-17  Simon Josefsson  <jas@extundo.com>
50016
50017         * tests/test-rijndael.c: New file.
50018
50019 2005-10-17  Simon Josefsson  <jas@extundo.com>
50020
50021         * modules/sha1: Depend on stdint instead of md5.
50022
50023         * modules/md5: Depend on stdint, remove uint32_t.
50024
50025 2005-10-17  Simon Josefsson  <jas@extundo.com>
50026
50027         * modules/gc-sha1-tests: New file.
50028
50029         * tests/test-gc-sha1.c: New file.
50030
50031 2005-10-17  Simon Josefsson  <jas@extundo.com>
50032
50033         * m4/md5.m4: Remove call to uint32_t.m4.
50034
50035 2005-10-17  Simon Josefsson  <jas@extundo.com>
50036
50037         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
50038
50039         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
50040         md5.h.
50041
50042         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
50043
50044         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
50045
50046 2005-10-17  Simon Josefsson  <jas@extundo.com>
50047
50048         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
50049
50050 2005-10-17  Simon Josefsson  <jas@extundo.com>
50051
50052         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
50053
50054 2005-10-17  Simon Josefsson  <jas@extundo.com>
50055
50056         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
50057
50058         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
50059
50060 2005-10-17  Bruno Haible  <bruno@clisp.org>
50061
50062         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
50063         that it can also be used in a test.
50064
50065 2005-10-16  Bruno Haible  <bruno@clisp.org>
50066
50067         * gnulib-tool (func_emit_tests_Makefile_am): Also define
50068         TESTS_ENVIRONMENT, so that individual tests can augment it.
50069
50070         * gnulib-tool (func_create_testdir): Use an intermediate target for
50071         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
50072         macros, like $(ALLOCA_H), which cannot be passed through the command
50073         line.
50074
50075 2005-10-15  Simon Josefsson  <jas@extundo.com>
50076
50077         * modules/rijndael-tests: New file.
50078
50079         * modules/rijndael: New file.
50080
50081 2005-10-15  Simon Josefsson  <jas@extundo.com>
50082
50083         * m4/rijndael.m4: New file.
50084
50085 2005-10-15  Simon Josefsson  <jas@extundo.com>
50086
50087         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
50088
50089         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
50090
50091 2005-10-14  Simon Josefsson  <jas@extundo.com>
50092
50093         * tests/test-arcfour.c: New file.
50094
50095         * modules/arcfour, modules/arcfour-tests: New files.
50096
50097 2005-10-14  Simon Josefsson  <jas@extundo.com>
50098
50099         * m4/arcfour.m4: New file.
50100
50101 2005-10-14  Simon Josefsson  <jas@extundo.com>
50102
50103         * lib/arcfour.h, lib/arcfour.c: New files.
50104
50105 2005-10-14  Roland McGrath  <roland@redhat.com>
50106
50107         Import from libc.  [BZ #1331]
50108         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
50109         macro argument.
50110         Reported by Matej Vela <vela@debian.org>.
50111
50112 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
50113
50114         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
50115         include <wchar.h>; no longer needed.
50116
50117 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
50118
50119         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
50120
50121 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
50122         and  Ulrich Drepper  <drepper@redhat.com>
50123
50124         Import from libc.
50125         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
50126         instead of inline stream orientation test and two separate
50127         function calls.  Pay no attention to USE_IN_LIBIO.
50128
50129 2005-10-13  Simon Josefsson  <jas@extundo.com>
50130
50131         * modules/gc-hmac-md5-tests: New file.
50132
50133         * tests/test-gc-hmac-sha1.c: New file.
50134
50135         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
50136
50137         * modules/gc-hmac-md5-tests: New file.
50138
50139         * tests/test-gc-md5.c: New file.
50140
50141         * modules/gc-md5-tests: New file.
50142
50143 2005-10-13  Simon Josefsson  <jas@extundo.com>
50144
50145         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
50146         Move memory allocation outside of loop.
50147
50148 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
50149
50150         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
50151         intermediate directory is in a read-only file system.  Problem
50152         reported by Eric Blake.
50153
50154 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
50155
50156         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
50157
50158 2005-10-12  Simon Josefsson  <jas@extundo.com>
50159
50160         * tests/test-hmac-sha1.c: New file.
50161
50162         * modules/hmac-sha1-tests: New file.
50163
50164         * modules/hmac-sha1: New file.
50165
50166 2005-10-12  Simon Josefsson  <jas@extundo.com>
50167
50168         * modules/gc-sha1: New file.
50169
50170 2005-10-12  Simon Josefsson  <jas@extundo.com>
50171
50172         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
50173
50174         * tests/test-gc-pbkdf2-sha1.c: New file.
50175
50176 2005-10-12  Simon Josefsson  <jas@extundo.com>
50177
50178         * modules/gc-md5, modules/gc-hmac-md5: New files.
50179
50180         * modules/gc (Files): Remove md5, memxor and hmac files.
50181
50182 2005-10-12  Simon Josefsson  <jas@extundo.com>
50183
50184         * m4/gc-pbkdf2-sha1.m4: New file.
50185
50186         * m4/gc-hmac-sha1.m4: New file.
50187
50188         * m4/gc-sha1: New file.
50189
50190         * m4/hmac-sha1.m4: New file.
50191
50192 2005-10-12  Simon Josefsson  <jas@extundo.com>
50193
50194         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
50195
50196         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
50197
50198 2005-10-12  Simon Josefsson  <jas@extundo.com>
50199
50200         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
50201         suggested by Bruno Haible <bruno@clisp.org>.
50202
50203 2005-10-12  Simon Josefsson  <jas@extundo.com>
50204
50205         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
50206
50207 2005-10-12  Simon Josefsson  <jas@extundo.com>
50208
50209         * lib/gc-pbkdf2-sha1.c: New file.
50210
50211         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
50212
50213 2005-10-12  Simon Josefsson  <jas@extundo.com>
50214
50215         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
50216
50217         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
50218
50219 2005-10-12  Simon Josefsson  <jas@extundo.com>
50220
50221         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
50222         GC_USE_HMAC_MD5, respectively.
50223
50224         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
50225         (gc_md5): Fix typo.
50226
50227         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
50228
50229         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
50230
50231         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
50232
50233 2005-10-12  Bruno Haible  <bruno@clisp.org>
50234
50235         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
50236         Reported by Stepan Kasal <kasal@ucw.cz>.
50237
50238 2005-10-11  Simon Josefsson  <jas@extundo.com>
50239
50240         * tests/test-crc.c: New file.
50241
50242         * modules/crc, modules/crc-tests: New files.
50243
50244 2005-10-11  Simon Josefsson  <jas@extundo.com>
50245
50246         * m4/crc.m4: New file.
50247
50248 2005-10-11  Simon Josefsson  <jas@extundo.com>
50249
50250         * lib/gc.h: Add gc_hash and gc_hash_buffer.
50251
50252         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
50253
50254         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
50255
50256 2005-10-11  Simon Josefsson  <jas@extundo.com>
50257
50258         * lib/crc.h, lib/crc.c: New files.
50259
50260         * lib/gc.h (gc_hash_buffer): Add doc.
50261
50262 2005-10-11  Bruno Haible  <bruno@clisp.org>
50263
50264         * modules/c-strcasestr: New file.
50265         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
50266
50267 2005-10-11  Bruno Haible  <bruno@clisp.org>
50268
50269         * modules/c-strcase: New file.
50270         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
50271
50272 2005-10-11  Bruno Haible  <bruno@clisp.org>
50273
50274         * lib/strcasecmp.c: Include limits.h.
50275         (strcasecmp): Avoid integer overflow on exotic platforms.
50276         * lib/strncasecmp.c: Include limits.h.
50277         (strncasecmp): Avoid integer overflow on exotic platforms.
50278         Reported by Paul Eggert.
50279
50280 2005-10-11  Bruno Haible  <bruno@clisp.org>
50281
50282         * lib/c-strcasestr.h: New file, from GNU gettext.
50283         * lib/c-strcasestr.c: New file, from GNU gettext.
50284
50285 2005-10-11  Bruno Haible  <bruno@clisp.org>
50286
50287         * lib/c-strcase.h: New file, from GNU gettext.
50288         * lib/c-strcasecmp.c: New file, from GNU gettext.
50289         * lib/c-strncasecmp.c: New file, from GNU gettext.
50290
50291 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
50292
50293         * modules/mempcpy (License): GPL -> LGPL.
50294         * modules/strchrnul (License): Likewise.
50295         * modules/sysexits (License): Likewise.
50296
50297 2005-10-08  Simon Josefsson  <jas@extundo.com>
50298
50299         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
50300
50301 2005-10-07  Simon Josefsson  <jas@extundo.com>
50302
50303         * m4/memxor.m4: Remove gl_C_RESTRICT call.
50304
50305 2005-10-06  Simon Josefsson  <jas@extundo.com>
50306
50307         * tests/test-hmac-md5.c: New file.
50308
50309         * modules/hmac-md5-tests: New file.
50310
50311         * modules/hmac-md5: New file.
50312
50313 2005-10-06  Simon Josefsson  <jas@extundo.com>
50314
50315         * m4/hmac-md5.m4: New file.
50316
50317         * m4/memxor.m4: Require gl_C_RESTRICT.
50318
50319 2005-10-06  Simon Josefsson  <jas@extundo.com>
50320
50321         * lib/memxor.c (memxor): Avoid casts and warnings.
50322
50323 2005-10-06  Simon Josefsson  <jas@extundo.com>
50324
50325         * lib/hmac-md5.c: New file.
50326
50327         * lib/hmac.h: New file.
50328
50329 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
50330
50331         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
50332         promotes to int, not unsigned int, to catch the AIX 5.3
50333         compiler bug.
50334
50335 2005-10-05  Simon Josefsson  <jas@extundo.com>
50336
50337         * modules/memxor: New file.
50338
50339         * modules/iconv (Files): Move config.rpath to havelib, it is used
50340         there.
50341
50342         * modules/havelib (Files): Add config.rpath.
50343
50344 2005-10-05  Simon Josefsson  <jas@extundo.com>
50345
50346         * m4/memxor.m4: New file.
50347
50348 2005-10-05  Simon Josefsson  <jas@extundo.com>
50349
50350         * lib/memxor.c (memxor): Fix compiler error.
50351
50352         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
50353         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
50354
50355         * lib/memxor.h, lib/memxor.c: New files.
50356
50357         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
50358         we assume all systems have it, suggested by Jim Meyering
50359         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
50360         any systems lack sys/socket.h; mingw32 is known to lack it, but we
50361         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
50362         same reasons.
50363
50364 2005-10-05  Simon Josefsson  <jas@extundo.com>
50365
50366         * config/srclist.txt: Add glibc bug 1423 for md5.h.
50367
50368 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
50369
50370         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
50371         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
50372         needed, since the source code now assumes these .h files.
50373
50374 2005-10-05  Derek Price  <derek@ximbiot.com>
50375
50376         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
50377
50378 2005-10-05  Bruno Haible  <bruno@clisp.org>
50379
50380         * modules/stdint (License): Change to LGPL.
50381
50382 2005-10-04  Simon Josefsson  <jas@extundo.com>
50383
50384         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
50385         D. Baushke" <mdb@gnu.org>.
50386
50387 2005-10-04  Bruno Haible  <bruno@clisp.org>
50388
50389         * lib/verify.h (verify_true): Provide alternative definition for C++.
50390
50391 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
50392
50393         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
50394         (SSIZE_MAX): New macro, if not already defined.
50395         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
50396         than 2 GiB.
50397
50398 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
50399
50400         Sync from coreutils.
50401         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
50402         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
50403         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
50404         ULLONG_MAX doesn't work with 2.7.2.1.
50405
50406 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
50407
50408         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
50409         From Ben Pfaff.
50410
50411         * modules/exclude (Depends-on): Depend on verify.
50412         * modules/strtoimax (Depends-on): Likewise.
50413         * modules/utimecmp (Depends-on): Likewise.
50414
50415 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
50416
50417         * lib/exclude.c: Include verify.h.
50418         (verify): Remove.  All callers changed to use verify.h's version.
50419         * lib/strtoimax.c: Likewise.
50420         * lib/utimecmp.c: Likewis.e
50421
50422         Sync from coreutils.
50423         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
50424         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
50425         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
50426         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
50427         bother returning ENOSYS if settimeofday or stime fails; just let
50428         them return whatever errno they want to return.
50429         * lib/utimens.c: Include unistd.h, for dup2.
50430         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
50431         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
50432
50433 2005-10-02  Jim Meyering  <jim@meyering.net>
50434
50435         Sync from coreutils.
50436         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
50437         from glibc-2.2.5 that fails for read-only files.
50438
50439 2005-10-02  Jim Meyering  <jim@meyering.net>
50440
50441         Sync from coreutils.
50442         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
50443         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
50444         `#if HAVE_CONFIG_H'.
50445         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
50446         Remove AT_FDCWD test.
50447         Do not consume the fd unless successful.
50448         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
50449         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
50450         block, so that we don't even try to compile it if settimeofday is
50451         available.  This works around a compilation failure on OSF1 V5.1,
50452         due to stime requiring a `long int*' while tv_sec is `int'.
50453
50454 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
50455
50456         Sync from coreutils.
50457         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
50458         against `yes', rather than just testing for nonempty.
50459
50460 2005-10-01  Simon Josefsson  <jas@extundo.com>
50461
50462         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
50463         and Darwin.
50464
50465         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
50466         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
50467         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
50468         freeaddrinfo and gai_strerror are declared by the POSIX headers.
50469         Check if struct addrinfo is declared.
50470
50471 2005-10-01  Simon Josefsson  <jas@extundo.com>
50472
50473         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
50474         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
50475         AI_* and EAI_* definitions.  Protect function declarations.
50476
50477 2005-10-01  Jim Meyering  <jim@meyering.net>
50478
50479         Sync from coreutils.
50480
50481         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
50482         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
50483         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
50484         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
50485         in the inet and nsl libraries.  Required on Solaris 5.7.
50486
50487 2005-10-01  Jim Meyering  <jim@meyering.net>
50488
50489         Sync from coreutils.
50490         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
50491         in the inet and nsl libraries.  Required on Solaris 5.7.
50492
50493 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
50494
50495         * lib/getdelim.c (getdelim): Remove unused variables.
50496
50497 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
50498
50499         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
50500         so that the code works even with ancient cpp.  Portability problem
50501         with GCC 2.7.2.1 reported by Thomas M.Ott.
50502
50503 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
50504
50505         * modules/regex (Depends-on): Add strcase.
50506
50507         * modules/gethostname (Licence): Change from GPL to LGPL, since
50508         gethostname.c is a trivial implementation of a standard library
50509         function.
50510         * modules/poll (License): Change from GPL to LGPL, since it's
50511         derived from LGPL code.
50512
50513 2005-09-27  Jim Meyering  <jim@meyering.net>
50514
50515         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
50516         HAVE_CONFIG_H.
50517
50518         * lib/intprops.h (signed_type_or_expr__): Define.
50519         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
50520         for unsigned types.
50521
50522 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
50523
50524         * lib/verify.h (verify_expr): Remove, replacing with:
50525         (verify_true): New macro that returns true instead of void.
50526         (verify_type__): Remove.
50527         (verify): Use verify_true rather than verify_type__.
50528
50529 2005-09-26  Bruno Haible  <bruno@clisp.org>
50530
50531         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
50532         is necessary.
50533         (lib_SOURCES): Remove mbchar.c.
50534         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
50535         (Files): Add m4/mbrtowc.m4.
50536         * modules/mbiter: Likewise.
50537         * modules/mbuiter: Likewise.
50538
50539 2005-09-26  Bruno Haible  <bruno@clisp.org>
50540
50541         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
50542         compile mbchar.c if they are not both present.
50543         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
50544         * m4/mbiter.m4 (gl_MBITER): Likewise.
50545         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
50546         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
50547         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
50548
50549 2005-09-25  Jim Meyering  <jim@meyering.net>
50550
50551         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
50552         also uses socklen_t.
50553
50554 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
50555
50556         * lib/utimens.c (ENOSYS): Define if not already defined.
50557         (futimens): Support having a null PATH if the file descriptor
50558         is nonnegative.
50559
50560         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
50561         Remove.
50562         (__attribute): Define to empty unless GCC 3.1 or later.
50563         This works around a core dump on OpenBSD 3.4, which has GCC
50564         2.95.3, which dumps core when given __attribute__(()).  It also
50565         simplifies other tests, since we really don't want to bother with
50566         worrying about which ancient version of GCC supported what.
50567         Original problem reported by Yoann Vandoorselaere, with part of
50568         the fix suggested by Derek Price.
50569
50570 2005-09-24  Jim Meyering  <jim@meyering.net>
50571
50572         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
50573         so we can once again use a positive bitfield width of 1 -- now we
50574         don't have to explain why we were using a bitfield width of 2.
50575
50576 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
50577
50578         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
50579         and similarly for the other external symbols.  Problem reported
50580         by James Gallager.
50581
50582         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
50583         bug reported by Jim Meyering.
50584
50585         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
50586         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
50587         not needed, since socklen is a prerequisite module.
50588
50589 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
50590
50591         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
50592         Problem reported by Eric Blake.
50593         (getaddrinfo): Initialize se so that it's not garbage.
50594         Redo internal storage allocation so that it doesn't make unportable
50595         assumptions about alignment.
50596         Fix a memory leak.
50597
50598         * lib/utimens.c (futimens): Use futimesat if available.
50599         Prefer it to futimes since it doesn't have the futimes bug.
50600
50601         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
50602         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
50603         Instead, declare a function that returns a pointer to an array,
50604         and use verify_type__ to declare the size of the array.
50605         Problem and germ of a solution reported by Bruno Haible.
50606         (verify_type__): Use 2, not 1, for bitfield size, to avoid
50607         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
50608
50609 2005-09-23  Jim Meyering  <jim@meyering.net>
50610
50611         Sync from coreutils.
50612         Correct build failure (socklen_t not defined) on at least
50613         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
50614         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
50615
50616 2005-09-23  Jim Meyering  <jim@meyering.net>
50617
50618         * modules/getaddrinfo (Depends-on): Add socklen.
50619
50620 2005-09-23  Bruno Haible  <bruno@clisp.org>
50621
50622         * tests/test-verify.c: New file.
50623
50624 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
50625
50626         Sync from coreutils.
50627
50628         * modules/argmatch (Depends-on): Add verify.
50629         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
50630         unistd-safer.
50631         * modules/save-cwd (Depends-on): Likewise.
50632
50633         * modules/openat (Files): Add lib/openat-die.c.
50634         (Depends-on): Remove error, exitfail.
50635         Add dirname.
50636
50637         * modules/verify: New file.
50638         * MODULES.html.sh (Diagnostics <assert.h>): New section,
50639         with "verify" module.
50640
50641 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
50642
50643         Sync from coreutils.
50644
50645         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
50646         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
50647         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
50648         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
50649         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
50650         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
50651         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
50652         Don't bother checking for string.h, stdlib.h, unistd.h.
50653         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
50654         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
50655         module's job.
50656         * m4/jm-macros.m4 (gl_MACROS): Likewise.
50657         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
50658
50659         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
50660         (gl_GETDATE): Use it.
50661
50662         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
50663
50664 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
50665
50666         Sync from coreutils.
50667
50668         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
50669         stat-time.h.
50670         * lib/argmatch.h: Include verify.h
50671         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
50672         (ARGMATCH_ASSERT): Remove; unused.
50673         * lib/canonicalize.c: Assume STDC_HEADERS.
50674         * lib/exclude.c: Include "strcase.h".
50675         * lib/regex_internal.h [!defined _LIBC]: Likewise.
50676         * lib/getusershell.c: Include stdio--.h rather than stdio.h
50677         and stdio-safer.h.
50678         (getusershell): Call fopen, not fopen_safer.
50679         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
50680         Do not include unistd-safer.h.
50681         (save_cwd): Don't call fd_safer; no longer needed
50682         now that we include fcntl--.h.
50683
50684         * lib/getdate.y (relative_time): New type.
50685         (RELATIVE_TIME_0): New constant.
50686         (parser_control): Use relative_time instead of doing it ourselves.
50687         (%union): Add new relative_time rel member.
50688         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
50689         Now typeless.
50690         (relunit, relunit_snumber): Now of type rel.
50691         (zone, rel, relunit, get_date): Adjust to above changes.
50692
50693         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
50694         Do not include unistd-safer.h.
50695         (getloadavg): Don't call fd_safer; no longer needed
50696         now that we include fcntl--.h.
50697
50698         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
50699         (make_dir_parents): Treat ENOSYS like EEXIST.
50700
50701         Improve quality of diagnostics on restore_cwd failure.
50702         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
50703         (make_dir_parents): Last arg is now int * (for errno), not bool *.
50704         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
50705         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
50706         each time through the loop.  Do not diagnose restore_cwd failure;
50707         that is the caller's job (and perhaps the caller does not care).
50708
50709         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
50710         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
50711         If the file already exists but is not a directory, don't bother
50712         to try to make its parents.
50713         Close potential file descriptor leak if we can't chdir("/") (!).
50714         Don't always return true if chdir($PWD) fails; return true only
50715         if the requested action was done successfully (except for the
50716         chdir($PWD)).
50717         Don't log final directory unless we actually made it.
50718         Refactor to avoid duplicate code to fix up permissions.
50719         Don't attempt to fix up parent permissions if chdir($PWD) fails.
50720
50721         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
50722         to make it a bit faster and (I hope) clearer.
50723         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
50724         Fix bug in formats like %2N.
50725
50726         * lib/verify.h: New file.
50727
50728 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
50729
50730         Sync from coreutils.
50731         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
50732
50733 2005-09-22  Jim Meyering  <jim@meyering.net>
50734
50735         Sync from coreutils.
50736
50737         * m4/lstat.m4 (gl_FUNC_LSTAT):
50738         Use AC_LIBSOURCES to require lstat.c and lstat.h.
50739         Remove obsolete comment.
50740         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
50741         * m4/xstrtod.m4: Likewise.
50742
50743         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
50744
50745 2005-09-22  Jim Meyering  <jim@meyering.net>
50746
50747         Sync from coreutils.
50748
50749         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
50750
50751         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
50752         the .tm_year member, since otherwise gcc-4.0 would now warn about
50753         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
50754
50755         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
50756         order to avoid an unsuppressible warning from gcc on 64-bit systems.
50757
50758         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
50759         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
50760         when run in a time zone for which daylight savings time is in effect
50761         for the starting date.
50762
50763         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
50764         stop us from restricting permissions of just-created absolute-named
50765         directories.
50766         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
50767         to restore initial working directory.
50768         * lib/mkdir-p.c (make_dir_parents): New parameter:
50769         different_working_dir, to tell caller if/when we change the working
50770         directory and are unable to return to the initial one.
50771         * lib/mkdir-p.h (make_dir_parents): Update prototype.
50772         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
50773         `return false'.  This fixes a bug introduced on 2004-07-30.
50774
50775         * lib/openat.c (fdopendir): Be sure to close the supplied
50776         file descriptor before returning.  This makes our replacement
50777         implementation a little closer to Solaris's, where fdopendir
50778         ties the file descriptor to the returned DIR* pointer.
50779         * lib/openat.c (unlinkat): New function.
50780         * lib/openat.h (unlinkat): Add prototype.
50781         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
50782         (openat_restore_fail): Rename from openat_restore_die.
50783         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
50784
50785         Provide an alternative to exiting immediately upon save_cwd or
50786         restore_cwd failure.  Now, an application can arrange e.g.,
50787         to perform a longjump in that case.
50788         * lib/openat.c: Include dirname.h.
50789         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
50790         (rpl_openat, fdopendir, fstatat): Call openat_save_die
50791         and openat_restore_die rather than calling error directly.
50792         Don't include "error.h" or "exitfail.h"; they're no longer needed.
50793
50794         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
50795         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
50796         define.
50797
50798         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
50799         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
50800                             int utc, int nanoseconds);
50801         Background:
50802         date should not have to allocate a megabyte of virtual memory to
50803         handle a format argument like +%1048575T.  When implemented with
50804         strftime, it must allocate such a buffer, use strftime to fill it
50805         in, print it, then free it.
50806         With fprintftime, it simply prints everything and exits.
50807         With no need for memory allocation, that's one fewer way to fail.
50808         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
50809         optional field width, not before, so we accept %9:z, not %:9z.
50810         (my_strftime): Be sure to use L_('x') for literals.
50811
50812         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
50813         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
50814         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
50815         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
50816         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
50817         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
50818         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
50819         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
50820         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
50821         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
50822         * lib/xgethostname.c, lib/xreadlink.c:
50823         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
50824
50825         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
50826         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
50827         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
50828         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
50829         and don't include <sys/file.h>).
50830
50831 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
50832
50833         Sync from coreutils.
50834
50835         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
50836         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
50837         [!LDAV_DONE]: Avoid unused variable warning.
50838
50839 2005-09-21  Bruno Haible  <bruno@clisp.org>
50840
50841         * lib/unicodeio.h (unicode_to_mb): New declaration.
50842
50843 2005-09-20  Derek Price  <derek@ximbiot.com>
50844
50845         * lib/getaddrinfo.c: Don't include <netdb.h> included from
50846         getaddrinfo.h.
50847
50848 2005-09-20  Bruno Haible  <bruno@clisp.org>
50849
50850         * gnulib-tool: Remove trailing slashes from the values specified for
50851         --source-base, --m4-base, --tests-base, --aux-dir.
50852         Suggested by Simon Josefsson <jas@extundo.com>.
50853
50854 2005-09-20  Bruno Haible  <bruno@clisp.org>
50855
50856         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
50857         func_modules_to_filelist, func_import, func_create_testdir): Make all
50858         sorting results locale-independent, so that gnulib-cache.m4 doesn't
50859         change when gnulib-tool is invoked in a different locale.
50860
50861 2005-09-19  Simon Josefsson  <jas@extundo.com>
50862
50863         * m4/socklen.m4: Fix typo.
50864
50865 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50866
50867         Use a consistent style for including <config.h>.
50868         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
50869         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
50870         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
50871         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
50872         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
50873         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
50874         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
50875         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
50876         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
50877         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
50878         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
50879         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
50880         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
50881         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
50882         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
50883         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
50884         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
50885         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
50886         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
50887         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
50888         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
50889         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
50890         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
50891         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
50892         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
50893         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
50894         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
50895         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
50896         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
50897         lib/xstrtoumax.c, lib/yesno.c:
50898         Standardize inclusion of config.h.
50899         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
50900         lib/inttostr.h:  Removed inclusion of config.h from header files.
50901         * lib/inttostr.c:  Adjusted in-tree users.
50902         * lib/timespec.h: Remove superfluous warning to include config.h.
50903         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
50904         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
50905         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
50906         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
50907         config.h with HAVE_CONFIG_H.
50908
50909 2005-09-19  Jim Meyering  <jim@meyering.net>
50910
50911         * modules/pathmax (License): Change to LGPL.
50912
50913 2005-09-19  Derek Price  <derek@ximbiot.com>
50914
50915         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
50916
50917 2005-09-19  Bruno Haible  <bruno@clisp.org>
50918
50919         * gnulib-tool (import): Provide default for --tests-base.
50920
50921 2005-09-19  Bruno Haible  <bruno@clisp.org>
50922
50923         * doc/quote.texi: New file, extracted from gnulib.texi.
50924         * doc/ctime.texi: New file, extracted from gnulib.texi.
50925         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
50926         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
50927         * doc/gnulib.texi: Include them.
50928
50929 2005-09-18  Bruno Haible  <bruno@clisp.org>
50930
50931         Portability fix.
50932         * gnulib-tool (func_readlink): New function.
50933         (func_ln_if_changed): Use it.
50934
50935 2005-09-18  Bruno Haible  <bruno@clisp.org>
50936
50937         * gnulib-tool: Support --with-tests also with --import.
50938         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
50939         (func_import): Use variables $testsbase and $inctests. Emit a
50940         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
50941         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
50942         SUBDIRS += $testsdir.
50943         (func_create_testdir): Update.
50944
50945 2005-09-18  Bruno Haible  <bruno@clisp.org>
50946
50947         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
50948         instead of $dry_run.
50949         (func_cp_if_changed, func_mv_if_changed): Remove functions.
50950         (func_ln_if_changed): Don't handle dry-run here.
50951         (func_import): In dry-run mode, detect more precisely which actions
50952         would be performed, and don't use "...ing" verbs.
50953
50954 2005-09-18  Bruno Haible  <bruno@clisp.org>
50955
50956         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
50957         (func_import): Use join on two temporary files instead of three nested
50958         loops, in order to determine which files are new or old.
50959
50960 2005-09-18  Bruno Haible  <bruno@clisp.org>
50961
50962         * gnulib-tool (func_import): Comment out code that spits out the
50963         new files with --dry-run.
50964
50965 2005-09-18  Bruno Haible  <bruno@clisp.org>
50966
50967         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
50968
50969 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
50970
50971         * lib/stat-time.h: New file.
50972         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
50973         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
50974         in a different way.
50975         (timespec_cmp): New function.
50976         * lib/utimecmp.c: Include stat-time.h.
50977         (SYSCALL_RESOLUTION): Depend on whether various struct stat
50978         members exist, not on the obsolescent ST_MTIM_NSEC.
50979         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
50980
50981 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
50982
50983         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
50984
50985 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
50986
50987         * MODULES.html.sh (File system functions): Add stat-time.
50988         * modules/stat-time: New file.
50989         * modules/timespec (Files): Remove m4/st_mtim.m4; this
50990         is now done in a different way, by the stat-time module.
50991         * modules/utimecmp (Depends-on): Add stat-time.
50992
50993 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
50994
50995         * m4/st_mtim.m4: Remove.  Superseded by...
50996         * m4/stat-time.m4: New file.
50997         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
50998         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
50999
51000 2005-09-15  Derek Price  <derek@ximbiot.com>
51001
51002         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
51003
51004 2005-09-15  Derek Price  <derek@ximbiot.com>
51005
51006         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
51007         * lib/regex_internal.c: Ditto, using this...
51008         (__GNUC_PREREQ): ...new macro.
51009         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
51010         using...
51011         (__GNUC_PREREQ): ...this new macro.
51012
51013         * lib/strstr.h: Include string.h. Define strstr as a macro here.
51014
51015 2005-09-15  Derek Price  <derek@ximbiot.com>
51016             Paul Eggert  <eggert@cs.ucla.edu>
51017
51018         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
51019         changes, consolidating in...
51020         * lib/regex_internal.h: ...this file.
51021
51022 2005-09-13  Jim Meyering  <jim@meyering.net>
51023
51024         * lib/canon-host.c: Filter through gnu indent and reword comments
51025         slightly.
51026         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
51027
51028 2005-09-13  Derek Price  <derek@ximbiot.com>
51029
51030         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
51031         failure.
51032         Reported by Jim Meyering  <jim@meyering.net>.
51033
51034 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
51035
51036         * lib/base64.c: Typo.
51037         (base64_encode): Put b64str in initialized data section.
51038
51039 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
51040
51041         Merge glibc and coreutils changes into gnulib, plus a few
51042         extra fixes.
51043         * lib/md5.c: Use #error rather than a string.
51044         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
51045         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
51046         (__attribute__): Define to empty for non recent-GCC.
51047         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
51048         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
51049         Renamed from their non-__ counterparts, with new macros replacing
51050         them if not _LIBC.  Add __THROW attribute.
51051         (rol): Remove.
51052         (struct md5_ctx): Align buffer if using GCC.
51053         * lib/sha1.h (struct sha1_ctx): Likewise.
51054         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
51055         The old name was backwards.
51056         (NOTSWAP): Remove; not used.
51057         (rol): New macro, moved here from md5.h.
51058         (sha1_process_block): Remove a FIXME that doesn't make sense.
51059
51060 2005-09-12  Derek Price  <derek@ximbiot.com>
51061
51062         Return usable errors from canon-host.
51063         * lib/canon-host.h: New file.
51064         * lib/canon-host.c (canon_host): Wrap...
51065         (canon_host_r): ...this new function, which now relies exclusively on
51066         getaddrinfo.
51067         (ch_strerror): New function.
51068         (last_cherror): New global.
51069         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
51070         interface.
51071         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
51072         void *.
51073         (freeaddrinfo): Free ai->ai_canonname when set.
51074
51075 2005-09-12  Derek Price  <derek@ximbiot.com>
51076
51077         Make canon-host require getaddrinfo.
51078         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
51079         AC_LIBSOURCE canon-host.h.  Call...
51080         (gl_PREREQ_CANON_HOST): ...this new function, which requires
51081         gl_GETADDRINFO.
51082         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
51083
51084 2005-09-12  Derek Price  <derek@ximbiot.com>
51085
51086         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
51087         LGPL.
51088         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
51089
51090 2005-09-12  Derek Price  <derek@ximbiot.com>
51091
51092         * lib/gai_strerror.c: Include config.h when available.  Include
51093         getaddrinfo.h before other headers to test interface.
51094         Reported by Larry Jones <lawrence.jones@ugs.com>.
51095
51096 2005-09-12  Derek Price  <derek@ximbiot.com>
51097             Paul Eggert  <eggert@cs.ucla.edu>
51098
51099         * modules/glob (Files): Add glob-libc.h.
51100
51101 2005-09-12  Derek Price  <derek@ximbiot.com>
51102             Paul Eggert  <eggert@cs.ucla.edu>
51103
51104         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
51105         glob_.h, glob-libc.h.
51106         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
51107
51108 2005-09-12  Derek Price  <derek@ximbiot.com>
51109             Paul Eggert  <eggert@cs.ucla.edu>
51110
51111         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
51112         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
51113         protecting things that should be done only in gnulib contexts.
51114         * lib/glob_.h: New file, containing only the glob things needed for
51115         gnulib.
51116         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
51117         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
51118         (glob, globfree, glob_pattern_p): Now defined simply in terms of
51119         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
51120         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
51121         and to respect the namespace rules better.
51122
51123 2005-09-08  Simon Josefsson  <jas@extundo.com>
51124
51125         * modules/socklen: New file.
51126
51127 2005-09-08  Simon Josefsson  <jas@extundo.com>
51128
51129         * m4/socklen.m4: New file.
51130
51131 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
51132
51133         * modules/utimens (Files): Add m4/utimbuf.m4, since
51134         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
51135         Reported by Sergey Poznyakoff.
51136
51137 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
51138
51139         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
51140         definitions, since that's the preferred style in glibc.
51141         Fix a minor spacing issue, and update copyright notice to match
51142         glibc's.
51143
51144 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
51145
51146         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
51147
51148 2005-09-06  Simon Josefsson  <jas@extundo.com>
51149
51150         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
51151         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
51152
51153 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
51154
51155         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
51156         warning.
51157
51158 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
51159
51160         * config/srclist.txt: Add glibc bug 1302.
51161
51162 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
51163
51164         Change bitset word type from unsigned int to unsigned long int,
51165         as this has better performance on typical 64-bit hosts.
51166         Port bitset code to hosts with unusual word sizes.
51167         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
51168         (build_collating_symbol):
51169         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
51170         argument is a bitset.  This is merely a style issue, but it makes
51171         it clearer that an entire array is expected.
51172         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
51173         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
51174         Port to the case where bitset_word is not the same as unsigned int.
51175         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
51176         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
51177         Likewise.
51178         * lib/regexec.c (check_dst_limits_calc_pos_1,
51179         check_subexp_matching_top):
51180         (build_trtable, group_nodes_into_DFAstates):
51181         Likewise.
51182         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
51183         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
51184         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
51185         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
51186         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
51187         * lib/regcomp.c (optimize_subexps, lower_subexp):
51188         Work even if bitset_word has holes in its bitwise representation.
51189         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
51190         * lib/regexec.c (check_dst_limits_calc_pos_1,
51191         check_subexp_matching_top):
51192         Likewise.
51193         * lib/regex_internal.c (re_string_reconstruct):
51194         Don't assume UCHAR_MAX == 255.
51195         * lib/regex_internal.h (bitset_set_all): Likewise.
51196         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
51197         All uses changed.
51198         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
51199         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
51200         All uses changed.
51201         (BITSET_WORD_MAX): New macro.
51202         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
51203         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
51204         (bitset_empty, bitset_copy):
51205         Prefer sizeof (bitset) to multiplying it out ourselves.
51206         (bitset_not_merge): Remove; unused.
51207         (bitset_contain): Return bool, not unsigned int with one bit on.
51208         All callers changed.
51209         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
51210         alignment than re_node_set; do this by defining a new internal
51211         type struct dests_alloc and using it to allocate memory.
51212
51213 2005-09-05  Bruno Haible  <bruno@clisp.org>
51214
51215         * gnulib-tool (func_import): Fix comparison in handling of symbolic
51216         links.
51217
51218 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
51219
51220         * modules/size_max (Makefile.am): Add size_max.h
51221
51222 2005-09-04  Derek Price  <derek@ximbiot.com>
51223
51224         * gnulib-tool (func_import): Fix reversed $symbolic logic.
51225
51226 2005-09-03  Simon Josefsson  <jas@extundo.com>
51227
51228         * gnulib-tool: Fix typo.
51229
51230 2005-09-03  Simon Josefsson  <jas@extundo.com>
51231
51232         * config/srclist.txt: Add glibc bug 1293.
51233
51234 2005-09-03  Derek Price  <derek@ximbiot.com>
51235
51236         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
51237         From Larry Jones <lawrence.jones@ugs.com>.
51238
51239 2005-09-02  Simon Josefsson  <jas@extundo.com>
51240
51241         * modules/socklen: New file.
51242
51243 2005-09-02  Simon Josefsson  <jas@extundo.com>
51244
51245         * modules/havelib: New module.
51246
51247         * modules/gettext, modules/iconv, modules/lock, modules/readline:
51248         Use havelib.
51249
51250 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
51251
51252         Check for arithmetic overflow when calculating sizes, to prevent
51253         some buffer-overflow issues.  These patches are conservative, in the
51254         sense that when I couldn't determine whether an overflow was possible,
51255         I inserted a run-time check.
51256         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
51257         macros.
51258         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
51259         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
51260         (re_xnrealloc, re_x2nrealloc): New inline functions.
51261         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
51262         parse_bracket_exp):
51263         (build_equiv_class, build_charclass): Check for arithmetic overflow
51264         in size expression calculations.
51265         * lib/regex_internal.c (re_string_realloc_buffers):
51266         (build_wcs_upper_buffer, re_node_set_add_intersect):
51267         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
51268         (re_dfa_add_node, register_state): Likewise.
51269         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
51270         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
51271         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
51272         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
51273
51274 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
51275
51276         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
51277         m4/ulonglong.m4.  Problem reported by Martin Lambers.
51278
51279 2005-09-02  Bruno Haible  <bruno@clisp.org>
51280
51281         Support for lib vs. lib64 distinction on biarch platforms.
51282         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
51283         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
51284         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
51285
51286 2005-09-02  Bruno Haible  <bruno@clisp.org>
51287
51288         * gnulib-tool (import): In the other first-use case, provide defaults
51289         as well.
51290
51291 2005-09-02  Bruno Haible  <bruno@clisp.org>
51292
51293         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
51294         patches not yet found in the latest gettext release.
51295
51296 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
51297
51298         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
51299         to avoid a collision with bits/local_lim.h in glibc.
51300         All uses changed.  Problem reported by Dmitry V. Levin in
51301         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
51302
51303         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
51304         bugs in int versus size_t comparisons.
51305         (re_string_context_at): Fix bug where the code assumed that
51306         Idx is signed.
51307
51308         Use bool where appropriate.
51309         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
51310         All callers changed.
51311         (calc_eclosure_iter): Likewise, for ROOT arg.
51312         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
51313         (build_charclass_op): Likewise, for NON_MATCH arg.
51314         * lib/regex_internal.c (re_string_allocate, re_string_construct):
51315         (re_string_construct_common): Likewise, for ICASE arg.
51316         * lib/regexec.c (re_search_2_stub, re_search_stub):
51317         Likewise, for RET_LEN arg.
51318         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
51319         (set_regs): Likewise, for FL_BACKTRACK arg.
51320         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
51321         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
51322         (calc_eclosure_iter, parse_bracket_exp):
51323         Use bool for internal variables that are booleans.
51324         * lib/regexec.c (re_search_internal, check_matching,
51325         proceed_next_node):
51326         (set_regs, build_sifted_states, sift_states_bkref):
51327         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
51328         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
51329         (find_collation_sequence_value):
51330         Likewise.
51331         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
51332         (re_node_set_compare):
51333         Return bool, not int. All callers changed.
51334         * lib/regexec.c (check_halt_node_context, check_dst_limits):
51335         (build_trtable, check_node_accept): Likewise.
51336         * lib/regex_internal.h: Include stdbool.h.
51337
51338         Fix bugs uncovered when converting to bool.
51339         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
51340         failure instead of charging ahead blindly.
51341         * lib/regex_internal.c (register_state): Likewise.
51342         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
51343         for freeing internal storage.
51344         (group_nodes_into_DFA_states): Use unsigned int, not int, for
51345         bitset pieces used as boolean, to avoid undefined behavior
51346         on hosts that do int overflow checking.
51347
51348 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
51349
51350         * config/srclist.txt: Add glibc bugs 1285-1287.
51351
51352 2005-09-01  Jim Meyering  <jim@meyering.net>
51353
51354         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
51355         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
51356         Require gl_STAT_MACROS, too.
51357
51358 2005-09-01  Bruno Haible  <bruno@clisp.org>
51359
51360         * gnulib-tool (import): In the first-use case, provide defaults.
51361
51362 2005-09-01  Bruno Haible  <bruno@clisp.org>
51363
51364         * gnulib-tool (func_import): Remove the .tmp files.
51365
51366 2005-09-01  Bruno Haible  <bruno@clisp.org>
51367
51368         * gnulib-tool (func_import): Fix handling of symbolic links.
51369
51370 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
51371
51372         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
51373         old glibc regex code mishandles strings longer than 2**31 bytes.
51374         This patch fixes this when the regex code is used in gnulib
51375         (i.e., outside glibc).
51376
51377         This patch should not affect the use of the regex code inside
51378         glibc.  No doubt this problem also needs to be handled for glibc
51379         as well, but the result will be an incompatible change to the
51380         glibc ABI, and the old ABI will have to be supported too.  That
51381         can be the the subject for another patch.
51382
51383         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
51384         governing whether the rest of this patch is active.  By default,
51385         the macro is disabled and the patch has no effect.
51386         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
51387         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
51388         (struct re_pattern_buffer, re_search, re_search_2, re_match):
51389         (re_match_2, re_set_registers): Use the new types.
51390         * lib/regex_internal.h (Idx, re_hashval_t): New types.
51391         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
51392         New macros.
51393         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
51394         (re_string_context_at, bin_tree_t, re_dfastate_t):
51395         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
51396         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
51397         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
51398         (re_string_char_size_at, re_string_wchar_at):
51399         (re_string_elem_size_at):
51400         Use the new types and macros to port to 64-bit hosts.
51401         Use unsigned types for internal values, so that the code
51402         mostly works even for arrays larger than SSIZE_MAX.
51403         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
51404         (search_duplicated_node, calc_eclosure_iter, fetch_number):
51405         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
51406         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
51407         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
51408         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
51409         (calc_inveclosure, parse_dup_op, build_range_exp):
51410         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
51411         (fetch_number, create_token_tree, mark_opt_subexp):
51412         Likewise.
51413         * lib/regex_internal.c (re_string_construct_common,
51414         create_ci_newstate):
51415         (create_cd_newstate, re_string_allocate, re_string_construct):
51416         (re_string_realloc_buffers, build_wcs_upper_buffer):
51417         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
51418         (re_string_reconstruct, re_string_peek_byte_case):
51419         (re_string_fetch_byte_case, re_string_context_at):
51420         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
51421         (re_node_set_init_copy, re_node_set_add_intersect):
51422         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
51423         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
51424         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
51425         (re_acquire_state, re_acquire_state_context, register_state):
51426         Likewise.
51427         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
51428         search_cur_bkref_entry):
51429         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
51430         (re_search_internal, re_search_2_stub, re_search_stub)
51431         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
51432         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
51433         (update_cur_sifted_state, check_dst_limits):
51434         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
51435         (check_subexp_limits, sift_states_bkref, merge_state_array):
51436         (check_subexp_matching_top, get_subexp, get_subexp_sub):
51437         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
51438         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
51439         (expand_bkref_cache, check_node_accept_bytes):
51440         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
51441         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
51442         (acquire_init_state_context, check_halt_node_context):
51443         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
51444         (sift_states_backward, clean_state_log_if_needed):
51445         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
51446         (find_recover_state, transit_state_sb, transit_state_mb):
51447         (transit_state_bkref, build_trtable, match_ctx_clean):
51448         Likewise.
51449         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
51450         to work around an assumption that REG_MISSING is negative.
51451
51452         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
51453         (seek_collating_symbol_entry) [defined _LIBC]:
51454         (lookup_collation_sequence_value) [defined _LIBC]:
51455         (build_range_exp, build_collating_symbol) [defined _LIBC]:
51456         Use prototypes rather than old-style function definitions.
51457         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
51458         (transit_state_sb) [0]:
51459         (find_collation_sequence_value) [defined _LIBC]: Likewise.
51460
51461         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
51462         rm_eo.
51463
51464         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
51465         (optimize_subexps, lower_subexp):
51466         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
51467         since the signed shift might overflow.  Use 1u<<31 instead.
51468         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
51469         Likewise.
51470         * lib/regexec.c (check_dst_limits_calc_pos_1,
51471         check_subexp_matching_top): Likewise.
51472
51473         * lib/regcomp.c (optimize_subexps, lower_subexp):
51474         Use CHAR_BIT rather than 8, for clarity.
51475         * lib/regexec.c (check_dst_limits_calc_pos_1):
51476         (check_subexp_matching_top): Likewise.
51477         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
51478         have to worry about portability issues when shifting it left.
51479         Remove no-longer-needed test for table_size > 0.
51480         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
51481         in a word, as the resulting behavior is undefined.
51482         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
51483         in one case, a <= should have been an <, and in another case the
51484         whole test was missing.
51485         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
51486         the standard name CHAR_BIT.
51487         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
51488         this is not true on one's complement and signed-magnitude hosts.
51489
51490         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
51491         next_last_offset.
51492         (struct re_dfa_t): Remove unused member states_alloc.
51493         * lib/regcomp.c (init_dfa): Don't initialize unused members.
51494
51495 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
51496
51497         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
51498         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
51499         and large-file glibc and in 32-bit large-file Solaris.
51500
51501 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
51502
51503         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
51504         lengths fit in regoff_t; this isn't true if regoff_t is the same
51505         width as size_t.
51506         * lib/regex.c (re_search_internal): 5th arg is LAST_START
51507         (= START + RANGE) instead of RANGE.  This avoids overflow
51508         problems when regoff_t is the same width as size_t.
51509         All callers changed.
51510         (re_search_2_stub): Check for overflow when adding the
51511         sizes of the two strings.
51512         (re_search_stub): Check for overflow when adding START
51513         to RANGE; if it occurs, substitute the extreme value.
51514
51515 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
51516
51517         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
51518
51519 2005-08-31  Jim Meyering  <jim@meyering.net>
51520
51521         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
51522         a pointer-to-const.
51523         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
51524         (register_state): Likewise.
51525         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
51526         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
51527         (group_nodes_into_DFAstates): Likewise.
51528
51529 2005-08-31  Jim Meyering  <jim@meyering.net>
51530
51531         * check-module: Add a FIXME comment.
51532
51533 2005-08-31  Eric Blake  <ebb9@byu.net>
51534
51535         * modules/unistd-safer (Files): Add unistd--.h.
51536         * modules/stdio-safer (Files): Add stdio--.h.
51537
51538 2005-08-31  Derek Price  <derek@ximbiot.com>
51539
51540         * lib/getdelim.c (getdelim): Return EOF on EOF.
51541         Reported by Larry Jones <lawrence.jones@ugs.com>.
51542
51543 2005-08-31  Bruno Haible  <bruno@clisp.org>
51544
51545         Avoid unnecessary diffs in the generated lib/Makefile.am.
51546         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
51547         the generated files.
51548         (func_import): Don't set cmd.
51549
51550 2005-08-31  Bruno Haible  <bruno@clisp.org>
51551
51552         * lib/strstr.c: Include <stddef.h>, for NULL.
51553         * lib/strcasestr.c: Likewise.
51554         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
51555
51556 2005-08-31  Bruno Haible  <bruno@clisp.org>
51557
51558         * gnulib-tool: New option --macro-prefix.
51559         (func_import): Use macro_prefix.
51560         (import): Handle option --macro-prefix.
51561
51562 2005-08-31  Bruno Haible  <bruno@clisp.org>
51563
51564         * gnulib-tool (import): Rename most ac_* variables to cached_*.
51565         Also use new variables cached_lgpl, cached_libtool.
51566
51567 2005-08-31  Bruno Haible  <bruno@clisp.org>
51568
51569         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
51570         always instantiating them.
51571
51572 2005-08-31  Bruno Haible  <bruno@clisp.org>
51573
51574         * gnulib-tool (func_import): Read the previous cached settings
51575         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
51576         earlier added by gnulib but are now dropped. Warn when a gnulib file
51577         overwrites a non-gnulib file.
51578
51579 2005-08-31  Bruno Haible  <bruno@clisp.org>
51580
51581         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
51582         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
51583         projects that don't keep autogenerated files in CVS. Put into
51584         actioncmd only the specified modules, not the transitive closure.
51585
51586 2005-08-31  Bruno Haible  <bruno@clisp.org>
51587
51588         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
51589         Create directories that shall be filled.
51590         (import): Don't look for gl_* macros in configure.ac. Recurse across
51591         all directories containing a gnulib-cache.m4 files, if meaningful.
51592
51593 2005-08-31  Bruno Haible  <bruno@clisp.org>
51594
51595         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
51596         (import): Set seen_libtool when we see gl_LIBTOOL.
51597
51598 2005-08-31  Bruno Haible  <bruno@clisp.org>
51599
51600         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
51601         declaration macro definitions from generated gnulib.m4.
51602
51603 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
51604
51605         * lib/iconvme.h: Add prototype for iconv_alloc.
51606
51607 2005-08-29  Simon Josefsson  <jas@extundo.com>
51608
51609         * lib/iconvme.c: Fix errno.
51610
51611 2005-08-29  Bruno Haible  <bruno@clisp.org>
51612
51613         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
51614         that it works when the directory contains spaces.
51615
51616 2005-08-29  Bruno Haible  <bruno@clisp.org>
51617
51618         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
51619
51620 2005-08-29  Bruno Haible  <bruno@clisp.org>
51621
51622         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
51623         Emit more advice.
51624
51625 2005-08-29  Bruno Haible  <bruno@clisp.org>
51626         and Stepan Kasal  <kasal@ucw.cz>
51627
51628         * check-module: If more parameters are given, check each of them
51629         separately; add more exceptions, as noted by Jim Meyering.
51630         (check_module): New procedure.
51631         (%exempt_header): Now contains all exceptions.
51632
51633 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
51634
51635         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
51636
51637 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
51638
51639         * lib/iconvme.c: Split iconv_string into iconv_alloc.
51640
51641 2005-08-28  Bruno Haible  <bruno@clisp.org>
51642
51643         * m4/gnulib-tool.m4: New file.
51644
51645 2005-08-27  Jim Meyering  <jim@meyering.net>
51646
51647         * modules/unistd-safer (Files): Add pipe-safer.c.
51648         * modules/fcntl-safer (Files): Add creat-safer.c.
51649
51650 2005-08-27  Jim Meyering  <jim@meyering.net>
51651
51652         * m4/stdlib-safer.m4: New file.  From coreutils.
51653         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
51654         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
51655         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
51656         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
51657         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
51658
51659 2005-08-27  Jim Meyering  <jim@meyering.net>
51660
51661         * lib/fopen-safer.c: Merge minor changes from coreutils.
51662         * lib/dup-safer.c: Likewise.
51663         * lib/fd-safer.c: Likewise.
51664
51665         Merge from coreutils.
51666         * lib/stdio--.h: New file.
51667         * lib/stdlib--.h: New file.
51668         * lib/mkstemp-safer.c: New file.
51669
51670         GNU tar needs these.
51671         * lib/pipe-safer.c: New file.
51672         * lib/creat-safer.c: New file.
51673         * lib/fcntl--.h (creat): Define to creat_safer.
51674         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
51675         * lib/unistd--.h (pipe): Define to pipe_safer.
51676         * lib/unistd-safer.h: Declare pipe_safer.
51677
51678 2005-08-26  Simon Josefsson  <jas@extundo.com>
51679
51680         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
51681         Haible <bruno@clisp.org>.
51682
51683 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
51684
51685         * lib/regex_internal.h: Remove all references to
51686         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
51687         or better.
51688         (bitset_not, bitset_merge, bitset_not_merge):
51689         (bitset_mask, re_string_allocate, re_string_construct):
51690         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
51691         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
51692         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
51693         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
51694         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
51695         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
51696         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
51697         (re_acquire_state_context):
51698         Remove unnecessary forward decls.
51699         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
51700         Put __attribute at function definition,
51701         now that the function decl has been removed.
51702         * lib/regex_internal.c (re_string_peek_byte_case):
51703         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
51704         Likewise.
51705
51706 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
51707
51708         * m4/regex.m4: Add AC_PREREQ(2.50).
51709         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
51710
51711 2005-08-25  Simon Josefsson  <jas@extundo.com>
51712
51713         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
51714         __fsetlocking.
51715
51716 2005-08-25  Simon Josefsson  <jas@extundo.com>
51717
51718         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
51719         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
51720         GLIBC specific code.
51721
51722 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
51723
51724         Make regex safe for g++.  This fixes one real bug (an "err"
51725         that should have been "*err").  g++ problem reported by
51726         Sam Steingold.
51727         * lib/regex_internal.h (re_calloc): New macro, consistent with
51728         re_malloc etc.  All callers of calloc changed to use re_calloc.
51729         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
51730         not int.  All callers changed.
51731         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
51732         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
51733         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
51734         (find_recover_state): Change "err" to "*err"; this fixes what
51735         appears to be a real bug.
51736         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
51737         versus int.
51738
51739 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
51740
51741         * modules/regex (Depends-on): Add malloc, since the code
51742         assumes that !malloc(0) means failure.
51743
51744 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
51745
51746         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
51747
51748         alloca modernization/simplification for regex.
51749         * lib/regex.c: Remove portability cruft for alloca.  This no longer
51750         needs to be at the start of the file, and can be moved into
51751         regex_internal.h and simplified.
51752         * lib/regex_internal.h: Include <alloca.h>.
51753         (__libc_use_alloca) [!defined _LIBC]: New macro.
51754         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
51755         now works outside glibc.
51756
51757 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
51758
51759         * config/srclist.txt: Add glibc bugs 1241, 1245.
51760
51761 2005-08-25  Jim Meyering  <jim@meyering.net>
51762
51763         * lib/open-safer.c: Include <config.h>.
51764         Otherwise, we'd lose LARGEFILE support in any file using
51765         e.g. "fcntl--.h"
51766
51767 2005-08-25  Bruno Haible  <bruno@clisp.org>
51768
51769         * m4/minmax.m4: Require autoconf 2.52.
51770         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
51771         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
51772         alternatives of translit over the alphabet.
51773         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
51774
51775 2005-08-24  Simon Josefsson  <jas@extundo.com>
51776
51777         * tests/test-getpass.c: New file.
51778
51779 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
51780
51781         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
51782         for GNU regex features.
51783
51784 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
51785
51786         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
51787         * lib/regex.h (regerror): Likewise.
51788
51789         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
51790         requires this.  (The code never needed it.)
51791
51792         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
51793         All uses of recently-renamed identifiers changed to use the new,
51794         POSIX-compliant names.  The code will build and run just fine
51795         without these changes, but it's better to eat our own dog food
51796         and use the standard-conforming names.
51797
51798         * lib/regex.h: Fix a multitude of POSIX name space violations.
51799         These changes have an effect only for programs that define
51800         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
51801         do not change anything for programs compiled in the normal way.
51802         Also, there is no effect on the ABI.
51803
51804         (_REGEX_SOURCE): New macro.
51805         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
51806         defined and _GNU_SOURCE is not; this fixes a name space violation.
51807
51808         Rename the following macros to obey POSIX requirements.
51809         The old names are still visible as macros if _REGEX_SOURCE is defined.
51810         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
51811         RE_BACKSLASH_ESCAPE_IN_LISTS.
51812         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
51813         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
51814         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
51815         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
51816         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
51817         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
51818         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
51819         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
51820         (REG_INTERVALS): renamed from RE_INTERVALS.
51821         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
51822         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
51823         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
51824         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
51825         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
51826         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
51827         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
51828         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
51829         RE_UNMATCHED_RIGHT_PAREN_ORD.
51830         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
51831         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
51832         (REG_DEBUG): renamed from RE_DEBUG.
51833         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
51834         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
51835         unusual, since we can't clash with the POSIX REG_ICASE.
51836         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
51837         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
51838         (REG_NO_SUB): renamed from RE_NO_SUB.
51839         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
51840         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
51841         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
51842         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
51843         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
51844         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
51845         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
51846         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
51847         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
51848         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
51849         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
51850         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
51851         RE_SYNTAX_POSIX_MINIMAL_BASIC.
51852         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
51853         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
51854         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
51855         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
51856         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
51857         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
51858         (REG_FIXED): Renamed from REGS_FIXED.
51859         (REG_NREGS): Renamed from RE_NREGS.
51860
51861         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
51862         of other REG_* macros, since POSIX says the user is allowed to
51863         #undef these macros selectively.
51864
51865         (reg_errcode_t): Update comment stating what other tables need
51866         to be consistent.
51867
51868         Rename the following enum values to obey POSIX requirements.
51869         The old names are still visible as macros.
51870         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
51871         is not defined, since GNU is supposed to be a superset of POSIX as
51872         much as possible, and since we want reg_errcode_t to be a signed
51873         type for implementation consistency.
51874         (_REG_NOERROR): Renamed from REG_NOERROR.
51875         (_REG_NOMATCH): Renamed from REG_NOMATCH.
51876         (_REG_BADPAT): Renamed from REG_BADPAT.
51877         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
51878         (_REG_ECTYPE): Renamed from REG_ECTYPE.
51879         (_REG_EESCAPE): Renamed from REG_EESCAPE.
51880         (_REG_ESUBREG): Renamed from REG_ESUBREG.
51881         (_REG_EBRACK): Renamed from REG_EBRACK.
51882         (_REG_EPAREN): Renamed from REG_EPAREN.
51883         (_REG_EBRACE): Renamed from REG_EBRACE.
51884         (_REG_BADBR): Renamed from REG_BADBR.
51885         (_REG_ERANGE): Renamed from REG_ERANGE.
51886         (_REG_ESPACE): Renamed from REG_ESPACE.
51887         (_REG_BADRPT): Renamed from REG_BADRPT.
51888         (_REG_EEND): Renamed from REG_EEND.
51889         (_REG_ESIZE): Renamed from REG_ESIZE.
51890         (_REG_ERPAREN): Renamed from REG_ERPAREN.
51891         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
51892         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
51893         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
51894         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
51895
51896         (_REG_RE_NAME, _REG_RM_NAME): New macros.
51897         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
51898         changed.  But support the old name if the new one is not defined
51899         and if _REGEX_SOURCE.
51900
51901         Change the following member names in struct re_pattern_buffer.
51902         The old names are still supported if !_REGEX_SOURCE.
51903         The new names are always supported, regardless of _REGEX_SOURCE.
51904         (re_buffer): Renamed from buffer.
51905         (re_allocated): Renamed from allocated.
51906         (re_used): Renamed from used.
51907         (re_syntax): Renamed from syntax.
51908         (re_fastmap): Renamed from fastmap.
51909         (re_translate): Renamed from translate.
51910         (re_can_be_null): Renamed from can_be_null.
51911         (re_regs_allocated): Renamed from regs_allocated.
51912         (re_fastmap_accurate): Renamed from fastmap_accurate.
51913         (re_no_sub): Renamed from no_sub.
51914         (re_not_bol): Renamed from not_bol.
51915         (re_not_eol): Renamed from not_eol.
51916         (re_newline_anchor): Renamed from newline_anchor.
51917
51918         Change the following member names in struct re_registers.
51919         The old names are still supported if !_REGEX_SOURCE.
51920         The new names are always supported, regardless of _REGEX_SOURCE.
51921         (rm_num_regs): Renamed from num_regs.
51922         (rm_start): Renamed from start.
51923         (rm_end): Renamed from end.
51924
51925         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
51926         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
51927         Prepend __ to parameter names.
51928
51929         Undo yesterday's changes.
51930
51931 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
51932
51933         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
51934         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
51935         lib/regex.c.
51936
51937 2005-08-24  Jim Meyering  <jim@meyering.net>
51938
51939         Sync from coreutils.
51940         * m4/fcntl-safer.m4: New file.
51941
51942         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
51943         and object files for this module.
51944
51945 2005-08-24  Jim Meyering  <jim@meyering.net>
51946
51947         Sync from coreutils.
51948         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
51949
51950 2005-08-24  Jim Meyering  <jim@meyering.net>
51951
51952         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
51953         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
51954
51955 2005-08-24  Jim Meyering  <jim@meyering.net>
51956
51957         * modules/fcntl-safer: New module.
51958         * modules/fts (Depends-on): Add fcntl-safer.
51959         * MODULES.html.sh (File descriptor based Input/Output):
51960         Add fcntl-safer.
51961
51962 2005-08-24  Bruno Haible  <bruno@clisp.org>
51963
51964         Support for unit test modules.
51965         * modules/README: Mention tests modules.
51966         * modules/TEMPLATE-TESTS: New file.
51967         * gnulib-tool: New options --extract-tests-module, --with-tests and
51968         --tests-base (unused for the moment).
51969         (testsbase, inctests): New variables.
51970         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
51971         (func_verify_module): Exclude TEMPLATE-TESTS.
51972         (func_verify_nontests_module, func_verify_tests_module): New functions.
51973         (func_get_dependencies): Add implicit dependency for tests modules.
51974         (func_get_tests_module): New function.
51975         (func_modules_transitive_closure): When --with-tests was specified,
51976         include the unit tests as well, unless explicitly avoided.
51977         (func_emit_lib_Makefile_am): Ignore the tests modules here.
51978         (func_emit_tests_Makefile_am): New function.
51979         (func_create_testdir): When --with-tests was specified, emit a
51980         tests/ directory.
51981         * MODULES.html.sh (Future developments): Update.
51982
51983 2005-08-24  Bruno Haible  <bruno@clisp.org>
51984
51985         * modules/tls-tests: New file.
51986         * tests/test-tls.c: New file, from GNU gettext.
51987
51988 2005-08-24  Bruno Haible  <bruno@clisp.org>
51989
51990         * modules/lock-tests: New file.
51991         * tests/test-lock.c: New file, from GNU gettext.
51992
51993 2005-08-24  Bruno Haible  <bruno@clisp.org>
51994
51995         * lib/lock.h: Add multiple inclusion guard.
51996         * lib/tls.h: Add multiple inclusion guard.
51997
51998 2005-08-24  Bruno Haible  <bruno@clisp.org>
51999
52000         * gnulib-tool: Add support for the --aux-dir option to
52001         --create-testdir, --create-megatestdir, --test, --megatest.
52002         (func_create_testdir, func_create_megatestdir): Optionally emit a
52003         AC_CONFIG_AUX_DIR directive.
52004         (create-testdir, create-megatestdir, test, megatest): Provide a
52005         default value for $auxdir.
52006
52007 2005-08-24  Bruno Haible  <bruno@clisp.org>
52008
52009         * gnulib-tool (import): Use compound statement instead of subshell
52010         where possible.
52011
52012 2005-08-24  Bruno Haible  <bruno@clisp.org>
52013
52014         * gnulib-tool (import): Change --aux-dir default to "build-aux".
52015
52016 2005-08-24  Bruno Haible  <bruno@clisp.org>
52017
52018         * gnulib-tool (func_version): Update.
52019
52020 2005-08-24  Bruno Haible  <bruno@clisp.org>
52021
52022         * gnulib-tool (func_import, func_create_testdir,
52023         func_create_megatestdir): Quote all autoconf macro arguments.
52024
52025 2005-08-24  Bruno Haible  <bruno@clisp.org>
52026
52027         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
52028         option --force, because --force causes the aclocal.m4 of each
52029         subdirectory to be newer than the corresponding config.h.in.
52030
52031 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
52032
52033         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
52034         All contents moved to gl_REGEX.
52035         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
52036         assume that it does.
52037
52038 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
52039
52040         * lib/regex.h (REG_NOSYS)
52041         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
52042         Define, since POSIX requires it as of 2001.
52043         (_REG_ENOSYS)
52044         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
52045         New private symbol, used to keep the enum signed in all cases.
52046         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
52047         Youngman in
52048         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
52049
52050         * lib/regex_internal.c (re_string_skip_chars, register_state):
52051         (calc_state_hash):
52052         Remove forward decls; no longer needed now that we use prototypes.
52053         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
52054         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
52055         (clean_state_log_if_needed): Likewise.
52056
52057 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
52058
52059         * config/srclist.txt: Add glibc bugs 1231-1233.
52060
52061 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
52062
52063         Fix problems reported by Sam Steingold in
52064         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
52065         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
52066         assumed that reg_errcode_t is a signed type, which is not
52067         necessarily true if _XOPEN_SOURCE is not defined.
52068         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
52069         since some compilers warn about it otherwise.
52070
52071 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
52072
52073         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
52074         (init_word_char, create_initial_state, duplicate_node_closure):
52075         (fetch_token, peek_token_bracket, build_range_exp):
52076         (build_collating_symbol): Remove forward decls; no longer needed
52077         now that we use prototypes.
52078
52079         * lib/regcomp.c:
52080         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
52081         (re_compile_fastmap_iter, regcomp, regerror, regfree):
52082         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
52083         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
52084         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
52085         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
52086         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
52087         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
52088         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
52089         (build_range_exp, build_collating_symbol, parse_bracket_exp):
52090         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
52091         (build_charclass, build_charclass_op, fetch_number, create_tree):
52092         (create_token_tree, mark_opt_subexp, duplicate_tree):
52093         Use prototypes rather than old-style definitions.
52094
52095         * lib/regex_internal.c:
52096         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
52097         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
52098         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
52099         (re_string_reconstruct, re_string_peek_byte_case):
52100         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
52101         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
52102         (re_node_set_init_copy, re_node_set_add_intersect):
52103         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
52104         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
52105         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
52106         (re_acquire_state, re_acquire_state_context, register_state):
52107         (create_ci_newstate, create_cd_newstate, free_state):
52108         Likewise.
52109         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
52110         re_search_2):
52111         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
52112         (re_search_internal, prune_impossible_nodes):
52113         (acquire_init_state_context, check_matching, static):
52114         (check_halt_node_context, check_halt_state_context, proceed_next_node):
52115         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
52116         (update_regs, sift_states_backward, build_sifted_states):
52117         (clean_state_log_if_needed, merge_state_array):
52118         (update_cur_sifted_state, add_epsilon_src_nodes):
52119         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
52120         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
52121         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
52122         (find_recover_state, check_subexp_matching_top, transit_state_mb):
52123         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
52124         (check_arrival, check_arrival_add_next_nodes):
52125         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
52126         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
52127         (check_node_accept_bytes, check_node_accept, extend_buffers):
52128         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
52129         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
52130         (sift_ctx_init):
52131         Likewise.
52132
52133         * lib/regex_internal.h:
52134         (re_string_allocate, re_string_construct, re_string_reconstruct):
52135         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
52136         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
52137         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
52138         (re_string_context_at, re_string_peek_byte_case):
52139         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
52140         is defined, since we now use prototypes always.
52141
52142         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
52143         C89 or better.  All uses removed.
52144
52145 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
52146
52147         * config/srclist.txt: Add glibc bugs 1220-1227.
52148
52149 2005-08-20  Jim Meyering  <jim@meyering.net>
52150
52151         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
52152         of unused local, dfa.
52153
52154 2005-08-20  Bruno Haible  <bruno@clisp.org>
52155
52156         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
52157
52158 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
52159
52160         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
52161         (re_node_set_insert_last, re_dfa_add_node):
52162         Rename local variables to avoid GCC shadowing warnings.
52163
52164 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
52165
52166         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
52167         [defined lint]: Suppress bogus uninitialized-variable warnings.
52168
52169         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
52170         and let the caller return REG_ESPACE if out of space.  This
52171         removes an uninitialied-variable warning with GCC 4.0.1, and also
52172         avoids taking the address of a local variable.  All callers
52173         changed.
52174
52175 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
52176
52177         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
52178         $LIBCSRC/posix/regexec.c.
52179         Add glibc bug 1217 for regcomp.c.
52180
52181 2005-08-19  Jim Meyering  <jim@meyering.net>
52182
52183         * lib/regexec.c (proceed_next_node): Redo local variables to
52184         avoid GCC shadowing warnings.
52185
52186 2005-08-18  Bruno Haible  <bruno@clisp.org>
52187
52188         * lib/strstr.c (strstr): Fix return value in multibyte case.
52189         * lib/strcasestr.c (strcasestr): Likewise.
52190
52191 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
52192
52193         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
52194
52195 2005-08-17  Jim Meyering  <jim@meyering.net>
52196
52197         Make the %s format (seconds since the epoch) work for a negative
52198         number and when used with a zero-padded field width, e.g. %015s.
52199
52200         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
52201         label so that it precedes the code to set `digits'.  Otherwise,
52202         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
52203         print `00-22'.  Now, it prints `-0022', as it should.
52204
52205 2005-08-17  Bruno Haible  <bruno@clisp.org>
52206
52207         * modules/strstr (Files): Add m4/mbrtowc.m4.
52208         (Depends-on): Add mbuiter.
52209
52210 2005-08-17  Bruno Haible  <bruno@clisp.org>
52211
52212         * modules/strcasestr: New file.
52213         * MODULES.html.sh (String handling, based on ANSI C 89): Add
52214         strcasestr.
52215
52216 2005-08-17  Bruno Haible  <bruno@clisp.org>
52217
52218         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
52219
52220 2005-08-17  Bruno Haible  <bruno@clisp.org>
52221
52222         * modules/mbuiter: New file.
52223         * MODULES.html.sh (Extended multibyte and wide character utilities):
52224         Add mbuiter.
52225
52226 2005-08-17  Bruno Haible  <bruno@clisp.org>
52227
52228         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
52229         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
52230
52231 2005-08-17  Bruno Haible  <bruno@clisp.org>
52232
52233         * m4/strcasestr.m4: New file.
52234
52235 2005-08-17  Bruno Haible  <bruno@clisp.org>
52236
52237         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
52238         * lib/strstr.c: Completely rewritten, with multibyte locale support.
52239
52240 2005-08-17  Bruno Haible  <bruno@clisp.org>
52241
52242         * lib/strcasestr.h: New file.
52243         * lib/strcasestr.c: New file.
52244
52245 2005-08-17  Bruno Haible  <bruno@clisp.org>
52246
52247         * lib/strcasecmp.c: Use mbuiter.h.
52248
52249 2005-08-17  Bruno Haible  <bruno@clisp.org>
52250
52251         * lib/mbuiter.h: New file.
52252
52253 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
52254
52255         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
52256         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
52257         and gl_GETOPT are both invoked via different paths (as happens
52258         with GNU tar CVS because it uses both argp and getopt), the former
52259         wins.
52260
52261 2005-08-16  Bruno Haible  <bruno@clisp.org>
52262
52263         * modules/tls: New file.
52264         * MODULES.html.sh (Multithreading): Add tls.
52265
52266 2005-08-16  Bruno Haible  <bruno@clisp.org>
52267
52268         * modules/strnlen1: New file.
52269         * MODULES.html.sh (String handling): Add strnlen1.
52270
52271 2005-08-16  Bruno Haible  <bruno@clisp.org>
52272
52273         * modules/strcase (Files): Add m4/mbrtowc.m4.
52274         (Depends-on): Add strnlen1, mbchar.
52275
52276 2005-08-16  Bruno Haible  <bruno@clisp.org>
52277
52278         * modules/mbiter: New file.
52279         * MODULES.html.sh (Extended multibyte and wide character utilities):
52280         Add mbiter.
52281
52282 2005-08-16  Bruno Haible  <bruno@clisp.org>
52283
52284         * modules/mbfile: New file.
52285         * MODULES.html.sh (Extended multibyte and wide character utilities):
52286         Add mbfile.
52287
52288 2005-08-16  Bruno Haible  <bruno@clisp.org>
52289
52290         * modules/mbchar: New file.
52291         * MODULES.html.sh (Extended multibyte and wide character utilities):
52292         New section.
52293
52294 2005-08-16  Bruno Haible  <bruno@clisp.org>
52295
52296         * m4/tls.m4: New file, from GNU gettext.
52297
52298 2005-08-16  Bruno Haible  <bruno@clisp.org>
52299
52300         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
52301         always.
52302         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
52303
52304 2005-08-16  Bruno Haible  <bruno@clisp.org>
52305
52306         * m4/mbiter.m4: New file.
52307
52308 2005-08-16  Bruno Haible  <bruno@clisp.org>
52309
52310         * m4/mbfile.m4: New file.
52311
52312 2005-08-16  Bruno Haible  <bruno@clisp.org>
52313
52314         * m4/mbchar.m4: New file.
52315
52316 2005-08-16  Bruno Haible  <bruno@clisp.org>
52317
52318         * lib/tls.h: New file, from GNU gettext.
52319         * lib/tls.c: New file, from GNU gettext.
52320
52321 2005-08-16  Bruno Haible  <bruno@clisp.org>
52322
52323         * lib/strnlen1.h: New file.
52324         * lib/strnlen1.c: New file.
52325
52326 2005-08-16  Bruno Haible  <bruno@clisp.org>
52327
52328         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
52329         (mbi_init): Update.
52330         (mbi_avail, mbi_advance): Let the iteration end before the terminating
52331         NUL byte, not after it.
52332
52333 2005-08-16  Bruno Haible  <bruno@clisp.org>
52334
52335         * lib/strcase.h (strcasecmp): Add note in comments.
52336         * lib/strncasecmp.c: Use code from strcasecmp.c.
52337         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
52338         (strcasecmp): Work correctly in multibyte locales.
52339
52340 2005-08-16  Bruno Haible  <bruno@clisp.org>
52341
52342         * lib/mbiter.h: New file.
52343
52344 2005-08-16  Bruno Haible  <bruno@clisp.org>
52345
52346         * lib/mbfile.h: New file.
52347
52348 2005-08-16  Bruno Haible  <bruno@clisp.org>
52349
52350         * lib/mbchar.h: New file.
52351         * lib/mbchar.c: New file.
52352
52353 2005-08-16  Bruno Haible  <bruno@clisp.org>
52354
52355         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
52356         the valid ones. Makes the comparison operations transitive:
52357         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
52358         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
52359
52360 2005-08-15  Simon Josefsson  <jas@extundo.com>
52361
52362         * modules/ssize_t (License): Change to 'unlimited'.
52363
52364         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
52365
52366 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
52367
52368         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
52369         Add comments for each pending glibc patch.
52370
52371 2005-08-15  Bruno Haible  <bruno@clisp.org>
52372
52373         * lib/regex.h (__restrict_arr): Don't define to __restrict if
52374         __cplusplus is defined.
52375
52376 2005-08-14  Jim Meyering  <jim@meyering.net>
52377
52378         Sync from coreutils.
52379
52380         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
52381         Use the hash-table-based cycle-detection code not just when
52382         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
52383         Reported by James Youngman in
52384         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
52385         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
52386         FTS_TIGHT_CYCLE_CHECK.
52387         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
52388         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
52389         once again.
52390         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
52391         * lib/fts.c (fd_safer): Remove decl.
52392         Include fcntl--.h rather than unistd-safer.h
52393         (fts_safe_changedir): Don't call fd_safer; no longer needed
52394         now that we include fcntl--.h.
52395
52396 2005-08-12  Simon Josefsson  <jas@extundo.com>
52397
52398         * modules/getndelim2: Use ssize_t module.
52399         * modules/getnline: Likewise.
52400         * modules/safe-read: Likewise.
52401         * modules/xreadlink: Likewise.
52402
52403         * modules/ssize_t: New file.
52404
52405 2005-08-12  Simon Josefsson  <jas@extundo.com>
52406
52407         * m4/readline.m4: Look for termcap, curses or ncurses if required.
52408
52409 2005-08-12  Simon Josefsson  <jas@extundo.com>
52410
52411         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
52412         ssize_t.
52413
52414 2005-08-12  Simon Josefsson  <jas@extundo.com>
52415
52416         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
52417         readline, getdelim and check_version.
52418         (Support for systems lacking ISO C 99: Sizes of integer types):
52419         Add size_max.
52420
52421 2005-08-12  Bruno Haible  <bruno@clisp.org>
52422
52423         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
52424
52425 2005-08-11  Simon Josefsson  <jas@extundo.com>
52426
52427         * modules/readline: New file.
52428
52429         * modules/strnlen (Files): Add strnlen.h.
52430
52431 2005-08-11  Simon Josefsson  <jas@extundo.com>
52432
52433         * m4/readline.m4: New file.
52434
52435 2005-08-11  Simon Josefsson  <jas@extundo.com>
52436
52437         * lib/readline.h, readline.c: New file.
52438
52439 2005-08-11  Simon Josefsson  <jas@extundo.com>
52440
52441         * doc/gnulib.texi (Initial import, Finishing touches): Mention
52442         gl_AVOID.
52443
52444 2005-08-11  Bruno Haible  <bruno@clisp.org>
52445
52446         * lib/strnlen.h (strnlen): Change parameter name to match comment.
52447
52448 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
52449
52450         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
52451
52452 2005-08-10  Simon Josefsson  <jas@extundo.com>
52453
52454         * tests/test-iconvme.c: New file.
52455
52456 2005-08-10  Simon Josefsson  <jas@extundo.com>
52457
52458         * m4/strnlen.m4: New file.
52459
52460         * m4/strndup.m4: Don't check for strnlen declaration, done in
52461         strnlen.m4.
52462
52463 2005-08-10  Simon Josefsson  <jas@extundo.com>
52464
52465         * lib/strndup.c: Use strnlen.h.
52466
52467         * lib/strnlen.h: New file.
52468
52469 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
52470
52471         * README: Typos.
52472
52473 2005-08-02  Simon Josefsson  <jas@extundo.com>
52474
52475         * modules/readline: New file.
52476
52477 2005-08-02  Simon Josefsson  <jas@extundo.com>
52478
52479         * modules/getdelim: New file.
52480
52481         * modules/getline: Rewrite, don't use getndelim2.
52482
52483 2005-08-02  Simon Josefsson  <jas@extundo.com>
52484
52485         * m4/getline.m4: Separate out getdelim stuff into separate module.
52486
52487         * m4/getdelim.m4: New file.
52488
52489 2005-08-02  Simon Josefsson  <jas@extundo.com>
52490
52491         * lib/getline.h, getline.c: Rewrite.
52492
52493         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
52494
52495 2005-07-31  Bruno Haible  <bruno@clisp.org>
52496
52497         * lib/lock.h (gl_lock_initializer): New macro.
52498         (gl_lock_define_initialized): Use it.
52499         (gl_rwlock_initializer): New macro.
52500         (gl_rwlock_define_initialized): Use it.
52501         (gl_recursive_lock_initializer): New macro.
52502         (gl_recursive_lock_define_initialized): Use it.
52503
52504 2005-07-30  Karl Berry  <karl@gnu.org>
52505
52506         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
52507         Report from Ben Pfaff, regarding getopt.
52508
52509 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
52510
52511         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
52512         normal way.
52513         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
52514         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
52515         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
52516         (gl_GETOPT): Use the new macros.  Most of the implementation
52517         is moved to the new macros.  This is for programs like Emacs
52518         that don't want all the functionality of gl_GETOPT.
52519
52520 2005-07-26  Bruno Haible  <bruno@clisp.org>
52521
52522         * m4/lock.m4: Update from GNU gettext.
52523
52524 2005-07-26  Bruno Haible  <bruno@clisp.org>
52525
52526         * lib/lock.h: Update from GNU gettext.
52527         * lib/lock.c: Update from GNU gettext.
52528
52529 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
52530
52531         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
52532         obsolescent AC_TRY_RUN.  Include the default includes files, for
52533         'exit'.
52534
52535 2005-07-24  Bruno Haible  <bruno@clisp.org>
52536
52537         * modules/visibility: New file.
52538         * MODULES.html.sh (Misc): Add visibility.
52539
52540 2005-07-24  Bruno Haible  <bruno@clisp.org>
52541
52542         * m4/visibility.m4: New file.
52543
52544 2005-07-24  Bruno Haible  <bruno@clisp.org>
52545
52546         * doc/visibility.texi: New file.
52547
52548 2005-07-22  Bruno Haible  <bruno@clisp.org>
52549
52550         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
52551         $(ALLOCA_H), redundant through BUILT_SOURCES.
52552         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
52553         redundant through BUILT_SOURCES.
52554         * modules/byteswap (Makefile.am): Remove explicit dependency on
52555         $(BYTESWAP_H), redundant through BUILT_SOURCES.
52556         * modules/fnmatch (Makefile.am): Remove explicit dependency on
52557         $(FNMATCH_H), redundant through BUILT_SOURCES.
52558         * modules/getopt (Makefile.am): Remove explicit dependency on
52559         $(GETOPT_H), redundant through BUILT_SOURCES.
52560         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
52561         redundant through BUILT_SOURCES.
52562         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
52563         redundant through BUILT_SOURCES.
52564         * modules/stdbool (Makefile.am): Remove explicit dependency on
52565         $(STDBOOL_H), redundant through BUILT_SOURCES.
52566         * modules/stdint (Makefile.am): Remove explicit dependency on
52567         $(STDINT_H), redundant through BUILT_SOURCES.
52568         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
52569         Remove explicit dependency on $(SYSEXITS_H).
52570         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
52571
52572 2005-07-18  Simon Josefsson  <jas@extundo.com>
52573
52574         * lib/check-version.c (check_version): Accept identical versions too.
52575
52576 2005-07-18  Bruno Haible  <bruno@clisp.org>
52577
52578         * modules/lock: New file.
52579         * MODULES.html.sh (Multithreading): New section.
52580
52581 2005-07-18  Bruno Haible  <bruno@clisp.org>
52582
52583         * m4/lock.m4: New file, from GNU gettext.
52584
52585 2005-07-18  Bruno Haible  <bruno@clisp.org>
52586
52587         * lib/lock.h: New file, from GNU gettext.
52588         * lib/lock.c: New file, from GNU gettext.
52589
52590 2005-07-18  Bruno Haible  <bruno@clisp.org>
52591
52592         * lib/lock.h (gl_once_t): New type.
52593         (gl_once_define, gl_once): New macros.
52594         * lib/lock.c (fresh_once): New variable.
52595         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
52596         functions.
52597
52598 2005-07-16  Simon Josefsson  <jas@extundo.com>
52599
52600         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
52601         workaround, suggested by Bruno.
52602
52603 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
52604
52605         * modules/xalloc (Depends-on): Add xalloc-die.
52606         * modules/xvasprintf (Depends-on): Add xalloc-die.
52607
52608 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
52609
52610         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
52611         with a minor change.
52612
52613 2005-07-15  Bruno Haible  <bruno@clisp.org>
52614
52615         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
52616         When using lib/poll.c, define poll as rpl_poll.
52617
52618 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
52619
52620         * modules/argp (Depends-on): Remove unlocked-io.
52621
52622 2005-07-14  Derek Price  <derek@ximbiot.com>
52623
52624         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
52625         for glob symlink bug.
52626
52627 2005-07-14  Bruno Haible  <bruno@clisp.org>
52628
52629         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
52630         Instead, test for *_unlocked function declarations directly.
52631
52632 2005-07-11  Simon Josefsson  <jas@extundo.com>
52633
52634         * modules/size_max: New file.
52635
52636         * modules/xsize: Depend on size_max module for size_max.m4.
52637
52638 2005-07-11  Simon Josefsson  <jas@extundo.com>
52639
52640         * lib/size_max.h: New file.
52641
52642 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
52643
52644         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
52645         copyright symbol and the year.
52646         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
52647         (version_etc_va): Use parameterized copyright notice.
52648         Reword to conform to the current GNU coding standards.
52649
52650 2005-07-11  Karl Berry  <karl@gnu.org>
52651
52652         * doc/gnulib.texi (Quoting): new node.
52653         (Initial import): more info, from Patrice.
52654
52655 2005-07-11  Bruno Haible  <bruno@clisp.org>
52656
52657         * gnulib-tool (func_usage): Document option --avoid.
52658         (Command line options): Handle --avoid.
52659         (func_acceptable): New function.
52660         (func_modules_transitive_closure): Use it.
52661
52662 2005-07-11  Bruno Haible  <bruno@clisp.org>
52663
52664         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
52665         Reported by Jim Meyering.
52666
52667 2005-07-10  Bruno Haible  <bruno@clisp.org>
52668
52669         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
52670         Needed when size_t is smaller than 'unsigned int'.
52671         Reported by Paul Eggert.
52672
52673 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
52674
52675         * modules/argp (Depends-on): Add unlocked-io
52676
52677 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
52678
52679         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
52680         block of defines.
52681
52682 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
52683
52684         * config/srclist.txt: Comment out regcomp.c, since we have a porting
52685         fix now.
52686
52687 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
52688         and Paul Eggert  <eggert@cs.ucla.edu>
52689
52690         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
52691         in wint_t, not wchar_t.  Remove now-unnecessary cast.
52692
52693 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
52694
52695         * modules/regex (Files): Add lib/regex_internal.c,
52696         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
52697         (Depends-on): Add extensions.
52698         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
52699
52700 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
52701
52702         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
52703         pathconf.
52704         * m4/same.m4 (gl_SAME): Likewise.
52705         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
52706
52707         * m4/regex.m4: Adjust to new libc regex implementation.
52708         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
52709         all the .c and .h parts of (the new) regex.
52710         Quote the m4 stuff better.
52711         Check for RE_ICASE bug of old gnulib.
52712         Check for REG_STARTEND of recent libc.
52713         Rename local variables from jm_* to gl_*.
52714         Quote operand of "test -f".
52715         Say "recent enough" version of libc, not "version 2".
52716         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
52717         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
52718         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
52719         Remove check for btowc, isascii.
52720         Require AM_LANGINFO_CODESET.
52721
52722 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
52723
52724         * lib/regex.c, regex.h: Sync from libc.
52725         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
52726         * lib/regexec.c:
52727         New files, synced from libc, except that regex_internal.h
52728         currently has a small porting fix.
52729
52730 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
52731
52732         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
52733         regex_internal.c, regexec.c.
52734         Add regex_internal.h too, but as a comment, since the libc version
52735         is currently broken in gnulib mode.
52736
52737 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
52738
52739         Support programs like Emacs that use gnulib but not gettext.
52740         * MODULES.html.sh (Internationalization functions): Add gettext-h.
52741         * modules/gettext-h: New file.
52742         * modules/gettext (Files): Remove lib/gettext.h.
52743         (Depends-on): Add gettext-h.
52744         (Makefile.am): Remove lib_SOURCES.
52745         * modules/argmatch, modules/c-stack, modules/closeout:
52746         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
52747         * modules/execute, modules/file-type, modules/getaddrinfo:
52748         * modules/getopt, modules/human, modules/javacomp:
52749         * modules/javaexec, modules/mkdir-p, modules/obstack:
52750         * modules/openat, modules/pagealign_alloc, modules/pipe:
52751         * modules/quotearg, modules/regex, modules/rpmatch:
52752         * modules/unicodeio, modules/userspec, modules/version-etc:
52753         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
52754         * modules/xsetenv:
52755         Depend on gettext-h, not gettext.
52756
52757 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
52758
52759         * gnulib-tool (func_import): Add support for 'public domain' license.
52760         * modules/alloca, modules/atexit, modules/memmove:
52761         Now public domain, not GPL.
52762         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
52763         * modules/realloc, modules/strerror, modules/strtod:
52764         Now LGPL, not GPL.
52765
52766 2005-07-05  Bruno Haible  <bruno@clisp.org>
52767
52768         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
52769         autoconf CVS. Needed for mingw.
52770
52771 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
52772
52773         Remove the dependency of the strftime module on the tzset module.
52774         * modules/strftime (Depends-on): Remove dependency on tzset.
52775
52776 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
52777
52778         Remove the dependency of the strftime module on the tzset module.
52779         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
52780         gl_FUNC_TZSET_CLOBBER.
52781
52782 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
52783
52784         Remove the dependency of the strftime module on the tzset module.
52785         * lib/strftime.c (my_strftime)
52786         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
52787         Copy the input structure, to work around some of the bug with
52788         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
52789         Solaris releases, you should also use the tzset module, but we won't
52790         require it as a dependency any more since we don't want LGPLed code
52791         to depend on GPLed code.
52792
52793 2005-07-02  Jim Meyering  <jim@meyering.net>
52794
52795         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
52796         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
52797         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
52798         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
52799
52800 2005-07-02  Jim Meyering  <jim@meyering.net>
52801
52802         * lib/backupfile.c (backup_args): Change a `0' to NULL.
52803
52804 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
52805
52806         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
52807         declares only 'struct timespec;' (!).
52808
52809 2005-07-01  Jim Meyering  <jim@meyering.net>
52810
52811         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
52812         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
52813         * lib/save-cwd.c, tempname.c:
52814         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
52815         and don't include <sys/file.h>).
52816
52817 2005-06-29  Jim Meyering  <jim@meyering.net>
52818
52819         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
52820         type name.  Use the variable name instead.
52821         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
52822         Likewise.
52823
52824 2005-06-28  Simon Josefsson  <jas@extundo.com>
52825
52826         * modules/check-version (Files): Add check-version.m4.
52827
52828 2005-06-28  Simon Josefsson  <jas@extundo.com>
52829
52830         * m4/check-version.m4: New file, suggested by Jim Meyering
52831         <jim@meyering.net>.
52832
52833 2005-06-28  Simon Josefsson  <jas@extundo.com>
52834
52835         * lib/check-version.h, lib/check-version.c: New files.
52836
52837 2005-06-28  Simon Josefsson  <jas@extundo.com>
52838
52839         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
52840         collision with global variable.  Better indentation.  Don't
52841         increment buffer pointer beyond buffer end.  Based on comments
52842         from Paul Eggert <eggert@cs.ucla.edu>.
52843
52844         * lib/base64.h: Indent.
52845
52846 2005-06-28  Simon Josefsson  <jas@extundo.com>
52847
52848         * doc/gnulib.texi (Library version handling): New section.
52849
52850 2005-06-28  Jim Meyering  <jim@meyering.net>
52851
52852         * check-module (find_included_lib_files): Hard-code another
52853         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
52854         but modules/fts-lgpl (correctly) does not list those files.
52855
52856         * modules/canonicalize (Files): Add lib/pathmax.h.
52857
52858 2005-06-25  Simon Josefsson  <jas@extundo.com>
52859
52860         * modules/check-version: New file.
52861
52862 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
52863
52864         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
52865         initializer of struct addrinfo, as an indication that we don't
52866         care how many members the structure has.
52867
52868 2005-06-24  Derek Price  <derek@ximbiot.com>
52869         and Bruno Haible  <bruno@clisp.org>
52870
52871         Remove stat module & update lstat.
52872         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
52873         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
52874         * m4/stat.m4: Remove this file.
52875
52876 2005-06-24  Derek Price  <derek@ximbiot.com>
52877         and Bruno Haible  <bruno@clisp.org>
52878
52879         Remove stat module & update lstat.
52880         * lib/stat.c: Remove this file...
52881         (slash_aware_lstat): ...moving this content and its support...
52882         * lib/lstat.c (rpl_lstat): ...into here.
52883         * lib/lstat.h: New file.
52884
52885 2005-06-24  Derek Price  <derek@ximbiot.com>
52886         and Bruno Haible  <bruno@clisp.org>
52887
52888         Remove stat module & update lstat.
52889         * config/srclist.txt (libc sources): Remove stat.
52890
52891 2005-06-24  Derek Price  <derek@ximbiot.com>
52892         and Bruno Haible  <bruno@clisp.org>
52893
52894         Remove stat module & update lstat.
52895         * MODULES.html.sh (stat): Remove.
52896         * MODULES.html: Regenerated.
52897         * modules/lstat (Description): Correct function name.
52898         (Files): Add "lstat.h".
52899         (Depends-on): Remove stat, add xalloc, stat-macros.
52900         * modules/stat: Remove this file.
52901         (Include): Add "lstat.h", remove <sys/stat.h>.
52902
52903 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
52904
52905         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
52906         (ranged_convert): Don't save conversion in a temporary struct.
52907         This causes a warning with GCC 4.0.0, and anyway in the typical
52908         case it's not worth the extra 100 bytes or so of code.
52909         (ranged_convert, __mktime_internal): When calling a function via a
52910         pointer P, use P () rather than (*P) (), as we now assume C89 or
52911         better.
52912
52913 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
52914
52915         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
52916         "who -r" failed to give output.  Problem reported by Tim Waugh.
52917
52918         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
52919         (xcalloc): Use it to avoid needless tests.
52920         Problem reported by Jim Meyering.
52921
52922 2005-06-20  Derek Price  <derek@ximbiot.com>
52923
52924         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
52925         unnecessary for Autoconfs > 2.59c.
52926
52927 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
52928
52929         * lib/argp.h (__option_is_short): Check upper limit of
52930         __key. Isprint() requires its argument to have the value
52931         of an unsigned char or EOF.
52932
52933 2005-06-16  Jim Meyering  <jim@meyering.net>
52934
52935         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
52936         when either N or S is zero.
52937
52938 2005-06-16  Derek Price  <derek@ximbiot.com>
52939
52940         * m4/bison.m4: Declare YACC & YFLAGS precious.
52941
52942 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
52943
52944         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
52945         multibyte string or pattern, fall back on unibyte matching.
52946         Problem reported by James Youngman.
52947
52948 2005-06-08  Bruno Haible  <bruno@clisp.org>
52949
52950         * modules/csharpcomp: New file.
52951         * MODULES.html.sh (C#): Add csharpcomp.
52952
52953 2005-06-08  Bruno Haible  <bruno@clisp.org>
52954
52955         * m4/csharpcomp.m4: New file, from GNU gettext.
52956
52957 2005-06-08  Bruno Haible  <bruno@clisp.org>
52958
52959         * lib/csharpcomp.h: New file, from GNU gettext.
52960         * lib/csharpcomp.c: New file, from GNU gettext.
52961         * lib/csharpcomp.sh.in: New file, from GNU gettext.
52962
52963 2005-06-08  Bruno Haible  <bruno@clisp.org>
52964
52965         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
52966         warning on mingw.
52967
52968 2005-06-07  Derek Price  <derek@ximbiot.com>
52969
52970         Sync from CVS.
52971         * lib/glob_.h: Indent nested #ifdef.
52972
52973 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
52974
52975         Sync from coreutils.
52976         Use "file name" when talking about file names, instead of "filename"
52977         or "path", as per the GNU coding standards.
52978         * lib/mkdir-p.c: Renamed from makepath.c.
52979         (make_dir_parents): Renamed from make_path.  All callers changed.
52980         * lib/mkdir-p.h: Likewise.  All includers changed.
52981         * lib/filenamecat.c: Renamed from path-concat.c.
52982         (file_name_concat): Renamed from path_concat.  All callers changed.
52983         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
52984         * lib/filenamecat.h: Likewise.  All includers changed.
52985         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
52986         in comments or local variable names.
52987         * lib/basename.c: Likewise.
52988         * lib/canonicalize.c, canonicalize.h: Likewise.
52989         * lib/dirname.c, dirname.h: Likewise.
52990         * lib/euidaccess.c: Likewise.
52991         * lib/exclude.c: Likewise
52992         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
52993         * lib/fsusage.c, fsuage.h: Likewise.
52994         * lib/fts.c, fts_.h: Likewise.
52995         * lib/getcwd.c: Likewise.
52996         * lib/getloadavg.c: Likewise.
52997         * lib/mkstemp.c: Likewise.
52998         * lib/mountlist.c, mountlist.h: Likewise.
52999         * lib/openat.c, openat.h: Likewise.
53000         * lib/readlink-stub.c: Likewise.
53001         * lib/readutmp.c, readutmp.h: Likewise.
53002         * lib/rename.c: Likewise.
53003         * lib/rmdir.c: Likewise.
53004         * lib/same.c: Likewise.
53005         * lib/savedir.c: Likewise.
53006         * lib/stripslash.c: Likewise.
53007         * lib/tempname.c: Likewise.
53008         * lib/xreadlink.c: Likewise.
53009         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
53010         All uses changed.
53011         * lib/exclude.h: Likewise.
53012
53013         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
53014         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
53015         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
53016         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
53017         * lib/pathmax.h: Include <limits.h> unconditionally, since other
53018         files have been getting away with it for years (MORE/BSD 4.3
53019         is extinct now).
53020         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
53021         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
53022
53023         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
53024         Define to 256, not 255, as per modern POSIX.
53025
53026 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
53027
53028         Sync from coreutils.
53029         Use "file name" when talking about file names, instead of "filename"
53030         or "path", as per the GNU coding standards.
53031         * MODULES.html.sh: mkdir-p renamed from makepath.
53032         filenamecat renamed from path-concat.
53033         * modules/filenamecat: Renamed from modules/path-concat.
53034         (Files): filenamecat.h and filenamecat.c renamed from
53035         path-concat.h and path-concat.c.
53036         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
53037         (Include): filenamecat.h, not path-concat.h.
53038         * modules/mkdir-p: Renamed from modules/makepath.
53039         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
53040         makepath.c.
53041         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
53042         (Include): mkdir-p.h, not makepath.h.
53043
53044 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
53045
53046         Sync from coreutils.
53047         * m4/mkdir-p.m4: Renamed from makepath.m4.
53048         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
53049         Rename files from makepath.c to mkdir-p.c, and from
53050         makepath.h to mkdir-p.h.
53051         * m4/filenamecat.m4: Renamed from path-concat.m4.
53052         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
53053         Rename files from path-concat.c to filenamecat.c,
53054         and from path-concat.h to filenamecat.h.
53055         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
53056         "file name" in local variables or comments.
53057         * m4/rename.m4: Likewise.
53058
53059 2005-06-01  Bruno Haible  <bruno@clisp.org>
53060
53061         * modules/csharpexec: New file.
53062         * MODULES.html.sh (C#): New section.
53063
53064 2005-06-01  Bruno Haible  <bruno@clisp.org>
53065
53066         * m4/csharp.m4: New file, from GNU gettext.
53067         * m4/csharpexec.m4: New file, from GNU gettext.
53068
53069 2005-06-01  Bruno Haible  <bruno@clisp.org>
53070
53071         * lib/csharpexec.h: New file, from GNU gettext.
53072         * lib/csharpexec.c: New file, from GNU gettext.
53073         * lib/csharpexec.sh.in: New file, from GNU gettext.
53074
53075 2005-05-31  Derek Price  <derek@ximbiot.com>
53076             Paul Eggert  <eggert@cs.ucla.edu>
53077
53078         Sync from cvs.
53079         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
53080
53081 2005-05-31  Derek Price  <derek@ximbiot.com>
53082             Paul Eggert  <eggert@cs.ucla.edu>
53083
53084         Sync from cvs.
53085         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
53086
53087 2005-05-29  Derek Price  <derek@ximbiot.com>
53088
53089         * config/srclist.txt (glob_.h, glob.c): Add these files.
53090
53091 2005-05-29  Derek Price  <derek@ximbiot.com>
53092
53093         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
53094         * modules/glob: New file.
53095         * modules/getlogin_r: Add link to POSIX spec in description.
53096
53097 2005-05-29  Derek Price  <derek@ximbiot.com>
53098             Paul Eggert  <eggert@cs.ucla.edu>
53099
53100         * m4/glob.m4: New file.
53101
53102 2005-05-29  Derek Price  <derek@ximbiot.com>
53103             Paul Eggert  <eggert@cs.ucla.edu>
53104
53105         * lib/glob_.h, lib/glob.c: New files.
53106
53107 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
53108
53109         * modules/fts (Files): Remove m4/inttypes-pri.m4.
53110         * modules/fts-lgpl (Depends-on): Remove gettext.
53111
53112 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
53113
53114         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
53115         and don't require gt_INTTYPES_PRI.
53116
53117 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
53118
53119         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
53120
53121         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
53122         the configuration hassle isn't worth it.
53123         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
53124         (LONGEST_MODIFIER, PRIuMAX): Remove.
53125
53126 2005-05-27  Bruno Haible  <bruno@clisp.org>
53127
53128         * lib/getlogin_r.h: Remove second include of <stddef.h>.
53129
53130 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
53131
53132         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
53133         _POSIX_PTHREAD_SEMANTICS for Solaris.
53134
53135 2005-05-25  Derek Price  <derek@ximbiot.com>
53136
53137         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
53138
53139 2005-05-25  Derek Price  <derek@ximbiot.com>
53140             Paul Eggert  <eggert@cs.ucla.edu>
53141
53142         * modules/getlogin_r, m4/getlogin_r.m4: New files.
53143         * lib/getlogin_r.c, getlogin_r.h: New files.
53144
53145 2005-05-25  Bruno Haible  <bruno@clisp.org>
53146             Derek Price  <derek@ximbiot.com>
53147
53148         * lib/getlogin_r.h: Simplify API documentation.
53149
53150 2005-05-23  Derek Price  <derek@ximbiot.com>
53151
53152         * modules/minmax (Files): Add m4/minmax.m4.
53153         (configure.ac): Add gl_MINMAX.
53154
53155 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
53156
53157         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
53158         so that unistd-safer.h (GPL'ed code) need not be included.
53159
53160 2005-05-22  Bruno Haible  <bruno@clisp.org>
53161
53162         * m4/minmax.m4: New file.
53163         Based on a patch by Derek Price <derek@ximbiot.com>.
53164
53165 2005-05-22  Bruno Haible  <bruno@clisp.org>
53166
53167         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
53168         (INT64_MIN): Fix definition.
53169         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
53170
53171         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
53172         NEED_SIGNED_INT_TYPES.
53173
53174         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
53175         HAVE_SYSTEM_INTTYPES.
53176
53177 2005-05-22  Bruno Haible  <bruno@clisp.org>
53178
53179         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
53180         Also include <sys/param.h> if it defines MIN, MAX.
53181         Based on a patch by Derek Price <derek@ximbiot.com>.
53182
53183 2005-05-21  Jim Meyering  <jim@meyering.net>
53184
53185         * modules/fts (Files): Add m4/inttypes-pri.m4.
53186         (Depends-on): Add lstat and remove gettext.  Alphabetize.
53187
53188 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
53189
53190         New fts module.
53191         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
53192         (setup_dir, free_dir): New functions.
53193         (enter_dir, leave_dir): Define trivial
53194         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
53195         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
53196         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
53197         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
53198         Move to fts-cycle.c.
53199         (fts_open): Use setup_dir.
53200         (fts_close): Use free_dir.
53201         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
53202         This adds a label and some gotos, but the alternatives were messier.
53203         Check for memory allocation failure when entering a dir.
53204         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
53205         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
53206         (FTS): New member fts_cycle, that is a union that contains the
53207         old active_dir_ht and cycle_state.  All uses changed to mention
53208         fts_cycle.ht and fts_cycle.state.
53209         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
53210         fts.c, with the following changes:
53211         (setup_dir, free_dir): New functions.
53212         (enter_dir): Now returns bool.  Return true if successful, false
53213         if memory exhausted.  All callers changed.
53214         Do not bother partly cleaning up on
53215         memory allocation failure; that is free_dir's job.
53216         However, free ad if hash_insert fails, to avoid memory leak.
53217         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
53218         fts->fts_options to see which union member to use.
53219
53220 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
53221
53222         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
53223         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
53224
53225 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
53226
53227         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
53228
53229 2005-05-20  Jim Meyering  <jim@meyering.net>
53230
53231         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
53232         Now a macro, to pacify GCC.
53233
53234 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
53235
53236         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
53237         of -1.
53238
53239 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
53240
53241         * lib/chown.c (rpl_chown): Return -1 on failure.
53242
53243 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
53244
53245         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
53246         Don't check for stddef.h.
53247         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
53248         don't use its results.
53249         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
53250         since we include them unconditionally.  Don't require
53251         AM_STDBOOL_H, since stdbool is a prerequisite.
53252         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
53253         since we assume C89 or better.
53254         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
53255         as we don't use their results.
53256         Don't check for fchdir, memmove, memset, strrchr, as we use
53257         them unconditionally.
53258         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
53259         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
53260
53261 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
53262
53263         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
53264         Include <stddef.h> unconditionally, since we assume C89 now.
53265         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
53266         * lib/fts.c: Include fts_.h first, to check interface.
53267         Do not include intprops.h; no longer needed.
53268         Include cycle-check.h and hash.h, since fts_.h no longer does.
53269         Remove unnecessary casts of closedir to void.
53270         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
53271         decide whether to decrement nlinks.
53272         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
53273         (FTS): Use struct hash_table * instead of Hash_table, so that
53274         we no longer need to include hash.h here.
53275
53276 2005-05-18  Jim Meyering  <jim@meyering.net>
53277
53278         * modules/dirfd (License): Change to LGPL.  Most of the code
53279         is already in the public domain.
53280
53281 2005-05-18  Jim Meyering  <jim@meyering.net>
53282
53283         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
53284         Reported by Yoann Vandoorselaere.
53285
53286 2005-05-17  Jim Meyering  <jim@meyering.net>
53287
53288         * m4/fts.m4: New file, from coreutils.
53289
53290 2005-05-17  Jim Meyering  <jim@meyering.net>
53291
53292         * lib/fts.c, lib/fts_.h: New files, from coreutils.
53293
53294 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
53295
53296         Sync from coreutils.
53297         * m4/unlinkdir.m4: New file.
53298
53299 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
53300
53301         Sync from coreutils.
53302         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
53303         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
53304         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
53305         White space changes only.
53306         * lib/makepath.c (make_path): Port to hosts where leading "//" is
53307         special.
53308         * lib/yesno.c: Include getline.h, not ctype.h.
53309         (yesno): Don't remove leading white space; POSIX doesn't allow it.
53310         Use getline to remove arbitrary restriction on response length.
53311
53312 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
53313
53314         * config/srclist-update: Spell out "Street" in FSF postal
53315         mail address; this is the style the FSF seems to prefer.
53316
53317         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
53318         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
53319         this updates FSF postal mail address.
53320
53321         Sync from coreutils.
53322         * modules/unlinkdir: New file.
53323         * modules/yesno (Depends-on): Add getline.
53324         * MODULES.html.sh (File system functions): Add unlinkdir.
53325
53326 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
53327
53328         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
53329         lib/strsep.h:
53330         Change the initial comment to refer to GPL, not LGPL.
53331         gnulib-tool will change it to LGPL as needed.
53332
53333         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
53334         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
53335         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
53336         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
53337         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
53338         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
53339         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
53340         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
53341         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
53342         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
53343         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
53344         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
53345         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
53346         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
53347         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
53348         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
53349         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
53350         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
53351         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
53352         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
53353         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
53354         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
53355         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
53356         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
53357         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
53358         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
53359         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
53360         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
53361         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
53362         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
53363         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
53364         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
53365         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
53366         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
53367         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
53368         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
53369         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
53370         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
53371         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
53372         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
53373         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
53374         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
53375         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
53376         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
53377         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
53378         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
53379         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
53380         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
53381         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
53382         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
53383         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
53384         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
53385         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
53386         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
53387         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
53388         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
53389         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
53390         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
53391         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
53392         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
53393         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
53394         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
53395         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
53396         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
53397         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
53398         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
53399         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
53400         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
53401         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
53402         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
53403         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
53404         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
53405         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
53406         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
53407         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
53408         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
53409         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
53410         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
53411         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
53412         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
53413         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
53414         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
53415         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
53416         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
53417         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
53418         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
53419         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
53420         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
53421         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
53422         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
53423         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
53424         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
53425         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
53426         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
53427         lib/yesno.c, lib/yesno.h:
53428         Update FSF postal mail address.
53429
53430 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
53431
53432         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
53433         tests/test-memmem.c, tests/test-stpncpy.c:
53434         Update FSF postal mail address.
53435
53436 2005-05-13  Bruno Haible  <bruno@clisp.org>
53437
53438         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
53439         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
53440         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
53441         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
53442         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
53443         Add support for 64-bit integers in the MSVC compiler.
53444
53445 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
53446
53447         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
53448
53449 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
53450
53451         * gnulib-tool (func_import): Sort and uniquify recommended includes.
53452
53453 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
53454
53455         * doc/getdate.texi (General date syntax): Don't say that date
53456         date --iso-8601=ns generates acceptable dates; it doesn't yet.
53457         Problem reported by Nic Ferrier.
53458
53459 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
53460
53461         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
53462         specified in ai_socktype. Fix invalid ai_protocol
53463         check. ai_protocol is usually set to 0 or depending on
53464         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
53465         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
53466         ai_socktype / ai_protocol in the returned addrinfo structure.
53467
53468 2005-05-10  Simon Josefsson  <jas@extundo.com>
53469
53470         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
53471         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
53472
53473 2005-05-10  Karl Berry  <karl@gnu.org>
53474
53475         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
53476         (from http://www.gnu.org/licenses).
53477         * doc/COPYING.LIB: also rename to COPYING.LESSER.
53478         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
53479         fdl.texi suffices.
53480
53481 2005-05-10  Karl Berry  <karl@gnu.org>
53482
53483         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
53484         (COPYING.DOC): remove.
53485
53486         * config/srclist-update: new FSF address.
53487
53488 2005-05-10  Derek Price  <derek@ximbiot.com>
53489
53490         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
53491         possible.
53492
53493 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
53494             Bruno Haible  <bruno@clisp.org>
53495
53496         * modules/inet_ntop: New file.
53497         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
53498         inet_ntop.
53499
53500 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
53501             Bruno Haible  <bruno@clisp.org>
53502
53503         * m4/inet_ntop.m4: New file.
53504
53505 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
53506             Bruno Haible  <bruno@clisp.org>
53507
53508         * lib/inet_ntop.h: New file.
53509         * lib/inet_ntop.c: New file, from glibc with modifications.
53510
53511 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
53512
53513         * modules/time_r (License): Change to LGPL.
53514         * modules/extensions (License): Change to LGPL.  Actually,
53515         the license is more permissive than that, but currently gnulib-tool
53516         doesn't know how to handle more-permissive licenses.
53517
53518         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
53519         Problem reported by Dave Love.
53520
53521 2005-05-08  Jim Meyering  <jim@meyering.net>
53522
53523         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
53524         blank.
53525
53526 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
53527
53528         * modules/argmatch (Depends-on): Add stdbool.
53529         * modules/backupfile (Depends-on): Likewise.
53530         * modules/chdir-long (Depends-on): Likewise.
53531         * modules/closeout (Depends-on): Likewise.
53532         * modules/cycle-check (Depends-on): Likewise.
53533         * modules/dirname (Depends-on): Likewise.
53534         * modules/fnmatch (Depends-on): Likewise.
53535         * modules/fsusage (Depends-on): Likewise.
53536         * modules/fwriteerror (Depends-on): Likewise.
53537         * modules/getcwd (Depends-on): Likewise.
53538         * modules/getloadavg (Depends-on): Likewise.
53539         * modules/hard-locale (Depends-on): Likewise.
53540         * modules/makepath (Depends-on): Likewise.
53541         * modules/mountlist (Depends-on): Likewise.
53542         * modules/nanosleep (Depends-on): Likewise.
53543         * modules/posixtm (Depends-on): Likewise.
53544         * modules/quotearg (Depends-on): Likewise.
53545         * modules/readtokens (Depends-on): Likewise.
53546         * modules/readtokens0 (Depends-on): Likewise.
53547         * modules/readutmp (Depends-on): Likewise.
53548         * modules/save-cwd (Depends-on): Likewise.
53549         * modules/strftime (Depends-on): Likewise.
53550         * modules/userspec (Depends-on): Likewise.
53551         * modules/utimecmp (Depends-on): Likewise.
53552         * modules/xgetcwd (Depends-on): Likewise.
53553         * modules/xnanosleep (Depends-on): Likewise.
53554         * modules/xstrtod (Depends-on): Likewise.
53555         * modules/yesno (Depends-on): Likewise.
53556
53557 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
53558
53559         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
53560         needless checks.
53561
53562 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
53563
53564         Merge from coreutils.  Among other things,
53565         add bulletproofing for cases where stdin, stdout, or stderr are closed.
53566         * lib/fd-safer.c: New file.
53567         * lib/fcntl-safer.h, open-safer.c: Remove.
53568         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
53569         * lib/dup-safer.c: Include unistd-safer.h first.
53570         Don't include errno.h.
53571         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
53572         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
53573         * lib/file-type.c: Rely on file-type.h change.
53574         * lib/getloadavg.c: Include unistd-safer.h.
53575         (getloadavg): Use safer open.
53576         * lib/getusershell.c: Include "stdio-safer.h".
53577         (getusershell): Use safer fopen.
53578         * lib/long-options.c (long_options): Use NULL rather than 0.
53579         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
53580         'free'.
53581         * lib/modechange.c: Likewise.
53582         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
53583         (MODE_DONE): New constant.
53584         (struct mode_change): Remove 'next' member.
53585         (make_node_op_equals): New function; like the old one of the
53586         same name, except it allocates an array.
53587         (mode_compile, mode_create_from_ref): Use it.
53588         (mode_compile): Allocate result as an array, not a linked list.
53589         Parse octal string ourself, so that we catch mistakes like "+0".
53590         (mode_adjust): Arg is an array, not a linked list.
53591         * lib/modechange.c: Include stat-macros.h, xalloc.h.
53592         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
53593         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
53594         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
53595         Remove.  This is now stat-macros.h's job.
53596         (talloc): Remove.  All callers replaced by xalloc, so that
53597         our invokers don't have to worry about reporting memory failures.
53598         (make_node_op_equals): Remove.
53599         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
53600         New constants.
53601         (struct mode_change): Moved here from modechange.h.
53602         (mode_append_entry): Remove.
53603         (mode_compile): Remove MASKED_OPS arg, since it encouraged
53604         apps to have incorrect behavior.  Use simpler algorithm for head
53605         and tail.  Don't futz with umask; that's now the job of mode_adjust.
53606         Detect more invalid usages rather than having somewhat-random behavior.
53607         Don't insert an "a=" action, as that leads to incorrect behavior.
53608         (mode_compile, mode_create_from_ref): Return NULL on error instead
53609         of an enum, since now there's only one way to have an error.  All
53610         callers changed.
53611         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
53612         at the correct time.  Simplify calculation of "+u" and its ilk.
53613         Don't mishandle "+X".
53614         (mode_free): Remove "register" and localize decls.
53615         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
53616         (struct mode_change): Move to modechange.c; callers don't
53617         need to see this stuff.
53618         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
53619         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
53620         (mode_change, mode_adjust): Reflect the new signatures noted above.
53621         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
53622         that might redefine system include files.
53623         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
53624         (my_usleep): Use NULL rather than (void *) 0.
53625         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
53626         Use siginterrupt to specify that system calls should be interrupted.
53627         (rpl_nanosleep): Move initialization of suspended closer to call of
53628         my_usleep.
53629         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
53630         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
53631         (desirable_utmp_entry): New function.
53632         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
53633         using x2nrealloc, to simplify logic.
53634         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
53635         size calculation.  Do not assume utmp file is a regular file.
53636         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
53637         (READ_UTMP_CHECK_PIDS): New constant.
53638         * lib/save-cwd.c: Include unistd-safer.h.
53639         (save_cwd): Use fd_safer.
53640         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
53641         [!_LIBC] Include "stat-macros.h" instead.
53642         * lib/unistd-safer.h (fd_safer): New decl.
53643
53644 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
53645
53646         * modules/getloadavg (Depends-on): Add unistd-safer.
53647         * modules/getusershell (Depends-on): Add stdio-safer.
53648         * modules/lstat (Depends-on): Remove xalloc.
53649         * modules/mkstemp (Depends-on): Add stat-macros.
53650         * modules/modechange (Depends-on): Remove xstrtol.
53651         Add stat-macros, xalloc.
53652         * modules/save-cwd (Depends-on): Add unistd-safer.
53653         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
53654         * modules/unistd-safer (Files): Add lib/fd-safer.c
53655         (Makefile.am): Remove lib_SOURCES.
53656
53657         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
53658         Remove fcntl-safer; unistd-safer supersedes it.
53659
53660 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
53661
53662         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
53663         AC_HEADER_STAT.
53664         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
53665         (gl_PREREQ_CHOWN): Remove.
53666         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
53667         it.  Don't require AC_HEADER_STAT.
53668         (gl_PREREQ_LSTAT): Remove.
53669         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
53670         Don't require AC_HEADER_STAT.
53671         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
53672         (gl_PREREQ_RMDIR): Remove.
53673         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
53674         mention stat-macros.h or AC_HEADER_STAT, since we'll make
53675         the stat-macros module a prerequisite.
53676         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
53677         * m4/filemode.m4 (gl_FILEMODE): Likewise.
53678         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
53679         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
53680         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
53681         variable names.
53682         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
53683         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
53684         variable prefixes.
53685         * m4/fcntl-safer.m4: Remove.
53686         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
53687         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
53688         Invoke gl_PREREQ_FD_SAFER.
53689         (gl_PREREQ_FD_SAFER): New macro.
53690         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
53691         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
53692         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
53693         Remove duplicate call to AC_LIBOBJ(readutmp).
53694         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
53695
53696         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
53697         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
53698
53699 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
53700
53701         * MODULES.html.sh (Misc): Add byteswap.
53702
53703 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
53704
53705         * modules/getcwd (Depends-on): Add extensions.
53706         * modules/openat (Depends-on): Likewise.
53707
53708 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
53709
53710         * modules/byteswap: New file.
53711
53712 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
53713
53714         * m4/byteswap.m4: New file.
53715
53716 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
53717
53718         * lib/byteswap_.h: New file.
53719
53720 2005-04-25  Karl Berry  <karl@gnu.org>
53721
53722         * m4/gettext.m4: Update from GNU gettext 0.14.4.
53723
53724 2005-04-25  Albert Chin  <china@thewrittenword.com>
53725
53726         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
53727         Toolkit C bug.
53728
53729 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
53730
53731         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
53732         (func_ln_if_changed) Remove forcibly for no error message
53733         in case file does not exist.
53734
53735 2005-04-19  Simon Josefsson  <jas@extundo.com>
53736
53737         * gnulib-tool (Options): Make --symlink mean --symbolic.
53738
53739 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
53740
53741         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
53742
53743 2005-04-16  Simon Josefsson  <jas@extundo.com>
53744
53745         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
53746
53747 2005-04-15  Simon Josefsson  <jas@extundo.com>
53748
53749         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
53750
53751 2005-04-15  Simon Josefsson  <jas@extundo.com>
53752
53753         * gnulib-tool: Rename --symlink to --symbolic.
53754
53755 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
53756
53757         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
53758         symbolic links to files instead of copying/moving.  Add --aux-dir,
53759         specifying directory relative --dir where auxiliary build tools
53760         are placed.
53761
53762 2005-04-14  Bruno Haible  <bruno@clisp.org>
53763
53764         * modules/allocsa (License): Change to LGPL.
53765         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
53766
53767 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
53768
53769         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
53770         that "UTC +1 second" continues to work.  Problem reported
53771         by Dmitry V. Levin.
53772         (relunit_snumber): New rule.
53773         (relunit): Use it.
53774
53775 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
53776
53777         * lib/getdate.y (universal_time_zone_table): New constant.
53778         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
53779         universal_time_zone_table.
53780         (lookup_zone): Prefer universal_time_zone_table to
53781         local_time_zone_table, so that "GMT" time stamps are allowed in
53782         London during the summer.  Problem reported by Ian Abbott.
53783
53784 2005-04-12  Jim Meyering  <jim@meyering.net>
53785
53786         * lib/human.c (humblock): Set *options even when returning due to
53787         xstrtoumax conversion failure.  Thanks to a used-uninitialized
53788         warning from gcc-4.
53789
53790 2005-04-09  Jim Meyering  <jim@meyering.net>
53791
53792         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
53793         -Wuninitialized: initialize tm0.tm_year.
53794
53795 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
53796
53797         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
53798         count, since there's no maximum.  All uses changed.
53799         Add member dsts_seen.
53800         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
53801         not being INT_MAX.
53802         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
53803         Use pc_rels_seen to decide whther a date is absolute.
53804
53805         * lib/getdate.y (number): Don't overwrite year.
53806         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
53807         check.
53808
53809 2005-04-02  Simon Josefsson  <jas@extundo.com>
53810
53811         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
53812         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
53813
53814 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
53815
53816         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
53817         where no absolute path name can be longer than PATH_MAX.
53818
53819 2005-03-27  Jim Meyering  <jim@meyering.net>
53820
53821         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
53822
53823 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
53824
53825         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
53826         "one's complement" -> "ones' complement" in comment, as per Knuth.
53827         "value of type" -> "type or expression" in comment.
53828         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
53829
53830 2005-03-26  Jim Meyering  <jim@meyering.net>
53831
53832         Comment nits.
53833         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
53834         Correct typos: s/or/of/.
53835
53836 2005-03-26  Jim Meyering  <jim@meyering.net>
53837
53838         * modules/check-include-files: Move to ../ and rename to...
53839         * check-module: ...this.
53840
53841 2005-03-25  Jim Meyering  <jim@meyering.net>
53842
53843         * modules/xvasprintf (Files): Add xalloc.h.
53844
53845 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
53846
53847         * modules/gettext (Files): config/config.rpath ->
53848         build-aux/config.rpath
53849         * modules/iconv (Files): Likewise.
53850         Problem reported by Oskar Liljeblad.
53851
53852 2005-03-23  Jim Meyering  <jim@meyering.net>
53853
53854         * modules/check-include-files: New script to check for
53855         missing dependencies, multiple includes, etc.
53856
53857         * modules/c-strtold (Depends-on): Add xalloc.
53858         * modules/c-strtod (Depends-on): Add xalloc.
53859         * modules/hash (Depends-on): Add xalloc.
53860         (Files): Remove lib/xalloc.h.
53861
53862         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
53863         * modules/userspec (Files): Add lib/inttostr.h.
53864
53865 2005-03-23  Jim Meyering  <jim@meyering.net>
53866
53867         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
53868
53869 2005-03-22  Jim Meyering  <jim@meyering.net>
53870
53871         * modules/stat-macros: New module.
53872         * modules/canonicalize, modules/euidaccess, modules/file-type,
53873         * modules/filemode, modules/lchown, modules/makepath,
53874         * modules/rmdir, modules/stat: Depend on new stat-macros module
53875         rather than listing lib/stat-macros.h manually.
53876         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
53877
53878 2005-03-22  Jim Meyering  <jim@meyering.net>
53879
53880         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
53881
53882 2005-03-22  Bruno Haible  <bruno@clisp.org>
53883
53884         * config/srclist.txt: Replace target directory 'config' with
53885         'build-aux'.
53886         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
53887         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
53888         ../build-aux/.
53889
53890 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
53891
53892         * modules/chdir-long (Depends-on): Add mempcpy.
53893
53894         * modules/acl, modules/backupfile, modules/c-strtod,
53895         modules/c-strtold, modules/canon-host, modules/canonicalize,
53896         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
53897         modules/exclude, modules/exitfail, modules/file-type,
53898         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
53899         modules/getdate, modules/getline, modules/getpagesize,
53900         modules/getpass, modules/getugroups, modules/group-member,
53901         modules/hard-locale, modules/hash, modules/human, modules/idcache,
53902         modules/inttostr, modules/long-options, modules/makepath,
53903         modules/md5, modules/memcasecmp, modules/memcoll,
53904         modules/modechange, modules/mountlist, modules/path-concat,
53905         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
53906         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
53907         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
53908         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
53909         modules/strftime, modules/strndup, modules/strverscmp,
53910         modules/timespec, modules/unlocked-io, modules/userspec,
53911         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
53912         modules/yesno:
53913         Remove lib_SOURCES line from Makefile.am section, as this is now
53914         done automatically by the corresponding Autoconf macro.
53915
53916 2005-03-21  Jim Meyering  <jim@meyering.net>
53917
53918         Changes imported from coreutils.
53919
53920         * lib/cycle-check.c: Don't include xalloc.h.
53921
53922         * lib/path-concat.c: Don't include assert.h.
53923         (path_concat): Remove assertion that would have triggered
53924         for ABASE starting with more than one slash.
53925         Reported by Andreas Schwab.
53926
53927         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
53928         properly when ABASE is an absolute file name.
53929         Correct the description of this function.
53930         Include <assert.h>.
53931         Add an assertion and a test driver.
53932         This fixes a bug introduced on 2004-07-02.
53933         Andreas Schwab reported the resulting failure of cp --parents:
53934         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
53935
53936 2005-03-21  Jim Meyering  <jim@meyering.net>
53937
53938         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
53939         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
53940
53941 2005-03-21  Jim Meyering  <jim@meyering.net>
53942         and  Paul Eggert  <eggert@cs.ucla.edu>
53943
53944         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
53945         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
53946         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
53947         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
53948         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
53949         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
53950         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
53951         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
53952         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
53953         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
53954         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
53955         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
53956         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
53957         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
53958         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
53959         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
53960         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
53961         for these modules.
53962
53963 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
53964
53965         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
53966         (which shouldn't happen), generate nothing instead of returning 0
53967         immediately, so that nstrftime (NULL, ...) doesn't return 0.
53968
53969 2005-03-16  Bruno Haible  <bruno@clisp.org>
53970
53971         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
53972         HAVE_LONGLONG_64BIT.
53973
53974 2005-03-16  Bruno Haible  <bruno@clisp.org>
53975
53976         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
53977         HAVE_LONGLONG_64BIT.
53978
53979 2005-03-16  Bruno Haible  <bruno@clisp.org>
53980
53981         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
53982         HAVE_LONGLONG_64BIT.
53983
53984 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
53985
53986         * lib/strftime.c (my_strftime): Prepend space to format so that we can
53987         reliably distinguish strftime failure from empty output on POSIX
53988         hosts.
53989
53990 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
53991
53992         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
53993         (iconv_string): Don't guess a size-zero buffer, as that might cause
53994         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
53995         result would be 'too large', where 'too large' is (heuristically)
53996         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
53997         overflow concerns.  This will prevent some unwanted malloc failures
53998         when the inputs are very large.
53999
54000 2005-03-15  Karl Berry  <karl@gnu.org>
54001
54002         * config/srclist.txt (config.rpath): from gettext.
54003         * config/config.rpath: update.
54004
54005 2005-03-15  Bruno Haible  <bruno@clisp.org>
54006
54007         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
54008         to 'negate'.
54009
54010         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
54011         variable.
54012
54013         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
54014         results.
54015
54016 2005-03-14  Simon Josefsson  <jas@extundo.com>
54017
54018         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
54019         <fx@gnu.org>.
54020
54021 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
54022
54023         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
54024         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
54025         intprops.h.
54026         * lib/strtol.c: Likewise.
54027
54028 2005-03-14  Jim Meyering  <jim@meyering.net>
54029
54030         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
54031         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
54032         to be nonzero so that we (and caller) can detect the difference
54033         between a valid zero-length expansion and an error return, even
54034         when the underlying strftime fails before writing anything into
54035         that location.
54036
54037 2005-03-14  Bruno Haible  <bruno@clisp.org>
54038
54039         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
54040         Update from GNU gettext 0.14.3.
54041
54042 2005-03-10  Jim Meyering  <jim@meyering.net>
54043
54044         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
54045
54046 2005-03-10  Jim Meyering  <jim@meyering.net>
54047
54048         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
54049         so that this module works on systems without fchdir.
54050
54051 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
54052
54053         Factor int-properties macros into a single file, except for
54054         glibc-related files.
54055         * lib/intprops.h: New file.
54056         * lib/getloadavg.c: Include it instead of limits.h.
54057         (INT_STRLEN_BOUND): Remove.
54058         * lib/human.c: Include intprops.h.
54059         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
54060         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
54061         302/1000.
54062         * lib/inttostr.h: Include intprops.h instead of limits.h.
54063         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
54064         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
54065         for consistency with intprops.h.
54066         (time_t_is_integer, twos_complement_arithmetic): Use them.
54067         * lib/sig2str.h: Include <signal.h>, intprops.h.
54068         (INT_STRLEN_BOUND): Remove.
54069         * lib/strftime.c (TYPE_SIGNED): Remove.
54070         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
54071         * lib/strtol.c: Adjust comments to match intprops.h.
54072         * lib/userspec.c: Include intprops.h.
54073         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
54074         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
54075         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
54076         instead of rolling our own expressions.
54077         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
54078
54079         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
54080         instead of int.
54081         (my_strftime): Do not mishandle years close to INT_MAX, by doing
54082         the right thing even if adding 1900 would overflow.  Similarly
54083         for tm_mon + 1 and tm_yday + 1.
54084         Make %Y always equivalent to %C%y, and similarly for %G and %g.
54085         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
54086         (DO_SIGNED_NUMBER): New macro.
54087         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
54088
54089 2005-03-07  Bruno Haible  <bruno@clisp.org>
54090
54091         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
54092
54093 2005-03-07  Bruno Haible  <bruno@clisp.org>
54094
54095         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
54096
54097 2005-03-04  Derek R. Price  <derek@ximbiot.com>
54098
54099         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
54100         (func_import): Only replace files via --import when they have actually
54101         changed.
54102
54103 2005-03-03  Derek R. Price  <derek@ximbiot.com>
54104
54105         * m4/mmap-anon.m4: New file.
54106         * m4/pagealign_alloc.m4: New file.
54107
54108 2005-03-03  Derek R. Price  <derek@ximbiot.com>
54109             Bruno Haible  <bruno@clisp.org>
54110
54111         * modules/pagealign_alloc: New file.
54112         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
54113
54114 2005-03-03  Derek R. Price  <derek@ximbiot.com>
54115             Bruno Haible  <bruno@clisp.org>
54116
54117         * lib/pagealign_alloc.h: New file.
54118         * lib/pagealign_alloc.c: New file.
54119
54120 2005-03-03  Bruno Haible  <bruno@clisp.org>
54121
54122         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
54123         Use an all-permissive copyright notice, recommended by RMS.
54124
54125 2005-03-02  Bruno Haible  <bruno@clisp.org>
54126
54127         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
54128         of AIX, the replacement has to be done only after <string.h> is
54129         included, therefore not in config.h. stpncpy.h does the replacement,
54130         and stpncpy.c uses it.
54131
54132 2005-03-02  Bruno Haible  <bruno@clisp.org>
54133
54134         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
54135         stpncpy.c uses it.
54136
54137 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
54138
54139         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
54140         The workaround isn't strictly needed for POSIX conformance, and
54141         it's too much of a pain to configure and maintain.  We'll ask
54142         people to fix their kernels instead.
54143         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
54144         (NANOSLEEP_BUG_WORKAROUND): Remove.
54145         (xnanosleep): Remove the workaround.
54146
54147 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
54148
54149         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
54150         Reported by Derek Price.
54151         (Include): Add "timespec.h".
54152
54153         * modules/xnanosleep (Depends-on): Remove gethrxtime.
54154
54155 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
54156
54157         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
54158         to detect nanosleep bug.
54159
54160 2005-03-01  Bruno Haible  <bruno@clisp.org>
54161
54162         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
54163
54164 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
54165
54166         * modules/gethrxtime: New file.
54167         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
54168         (Depends-on): Add gethrxtime.
54169         (configure.ac): Add gl_XNANOSLEEP.
54170         (Makefile.am): Remove lib_SOURCES line.
54171
54172 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
54173
54174         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
54175         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
54176
54177 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
54178
54179         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
54180         * lib/timespec.h (gettime): Return void, since it always
54181         succeeds now.  All uses changed.
54182         * lib/gettime.c (gettime) Likewise.
54183         [HAVE_NANOTIME]: Prefer nanotime.
54184         Assume gettimeofday succeeds, as POSIX requires.
54185         Assime time () succeeds, since other code already does.
54186         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
54187         (timespec_subtract): Remove.
54188         (NANOSLEEP_BUG_WORKAROUND): New constant.
54189         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
54190         things considerably.  Use it only on GNU/Linux hosts, since the
54191         workaround shouldn't be needed elsewhere.
54192
54193 2005-02-24  Bruno Haible  <bruno@clisp.org>
54194
54195         * modules/gettext (Files): Add m4/glibc2.m4.
54196
54197 2005-02-24  Bruno Haible  <bruno@clisp.org>
54198
54199         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
54200         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
54201         * m4/progtest.m4:
54202         Update from GNU gettext 0.14.2.
54203         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
54204
54205 2005-02-24  Bruno Haible  <bruno@clisp.org>
54206
54207         * lib/localcharset.c: Update from GNU gettext 0.14.2.
54208         * lib/config.charset: Update from GNU gettext 0.14.2.
54209
54210 2005-02-24  Bruno Haible  <bruno@clisp.org>
54211
54212         * lib/gettext.h: Update from GNU gettext 0.14.2.
54213
54214 2005-02-23  Simon Josefsson  <jas@extundo.com>
54215
54216         * m4/iconvme.m4: New file.
54217
54218 2005-02-23  Jim Meyering  <jim@meyering.net>
54219
54220         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
54221         change.
54222         Thanks to Bruno Haible for catching it.
54223
54224 2005-02-22  Simon Josefsson  <jas@extundo.com>
54225
54226         * modules/iconvme: New file.
54227
54228         * MODULES.html.sh: Add iconvme.
54229
54230 2005-02-22  Simon Josefsson  <jas@extundo.com>
54231
54232         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
54233
54234 2005-02-22  Simon Josefsson  <jas@extundo.com>
54235
54236         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
54237
54238 2005-02-22  Jim Meyering  <jim@meyering.net>
54239
54240         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
54241         s/ifndef/ifdef/.
54242
54243 2005-02-20  Neil Conway  <neilc@samurai.com>
54244
54245         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
54246         returned by OSX/Darwin if the specified buffer is not large
54247         enough for the hostname.
54248
54249 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
54250
54251         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
54252         pass it to _help, otherwise the latter coredumps trying to
54253         dereference state.root_argp.
54254
54255 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
54256
54257         * modules/chdir-long (Depends-on): Add memrchr.
54258         * modules/memrchr (Files): Add lib/memrchr.h.
54259         (Include): "memrchr.h".
54260
54261 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
54262
54263         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
54264
54265 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
54266
54267         * lib/memrchr.h: New file.
54268         * lib/chdir-long.c: Include it.
54269         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
54270         Don't bother including stddef.h.
54271
54272 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
54273
54274         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
54275         inclusion.
54276         Include <sys/types.h>, for dev_t.
54277         (ME_DUMMY, ME_REMOTE): Move from here....
54278         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
54279         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
54280         Dmitry V. Levin.
54281         Include mountlist.h first, to test the interface.
54282
54283 2005-01-29  Bruno Haible  <bruno@clisp.org>
54284
54285         * lib/progname.c (program_name): Initialize.
54286         Needed when linking statically on MacOS X.
54287
54288 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
54289
54290         Sync from coreutils.
54291         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
54292         (Depends-on): Add c-strtod.
54293         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
54294
54295 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
54296
54297         Sync from coreutils.
54298         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
54299
54300         Remove files that are specific to coreutils.
54301         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
54302
54303 2005-01-28  Bruno Haible  <bruno@clisp.org>
54304
54305         * modules/javacomp: New file.
54306         * MODULES.html.sh (Java): Add javacomp.
54307
54308 2005-01-28  Bruno Haible  <bruno@clisp.org>
54309
54310         * m4/javacomp.m4: New file, from GNU gettext.
54311
54312 2005-01-28  Bruno Haible  <bruno@clisp.org>
54313
54314         * lib/javacomp.sh.in: New file, from GNU gettext.
54315         * lib/javacomp.h: New file, from GNU gettext.
54316         * lib/javacomp.c: New file, from GNU gettext.
54317
54318 2005-01-26  Simon Josefsson  <jas@extundo.com>
54319
54320         * lib/gai_strerror.c: Use GPL in header.
54321
54322 2005-01-26  Bruno Haible  <bruno@clisp.org>
54323
54324         * modules/javaexec: New file.
54325         * MODULES.html.sh (Java): Add javaexec.
54326
54327 2005-01-26  Bruno Haible  <bruno@clisp.org>
54328
54329         * m4/javaexec.m4: New file, from GNU gettext.
54330
54331 2005-01-26  Bruno Haible  <bruno@clisp.org>
54332
54333         * lib/javaexec.sh.in: New file, from GNU gettext.
54334         * lib/javaexec.h: New file, from GNU gettext.
54335         * lib/javaexec.c: New file, from GNU gettext.
54336
54337 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
54338
54339         * modules/lchown (Depends-on): Remove lchown.h
54340
54341 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
54342
54343         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
54344         must be defined if the header file was not found, in order
54345         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
54346
54347 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
54348
54349         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
54350         initializers for struct pentry_state.
54351         (__argp_error): Check return value of __asprintf
54352         (__argp_failure): Translate error message
54353
54354         * lib/argp-parse.c: Removed braces around the expansion of N_()
54355
54356 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
54357
54358         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
54359         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
54360         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
54361         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
54362         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
54363         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
54364         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
54365         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
54366         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
54367         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
54368         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
54369         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
54370         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
54371         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
54372         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
54373         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
54374         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
54375         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
54376         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
54377         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
54378         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
54379         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
54380         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
54381         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
54382         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
54383         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
54384         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
54385         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
54386         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
54387         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
54388         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
54389         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
54390         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
54391         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
54392         xstrtol.m4, xstrtoumax.m4, yesno.m4:
54393         Use an all-permissive copyright notice, recommended by RMS.
54394
54395 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
54396
54397         * modules/chdir-long (Depends-on): Remove mempcpy.
54398
54399 2005-01-21  Jim Meyering  <jim@meyering.net>
54400
54401         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
54402         same value as for Solaris 9.
54403
54404         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
54405         component length.  This included changing the parameter to be
54406         of type `char *' rather than `char const *'.
54407         * lib/chdir-long.h (chdir_long): Update prototype.
54408
54409         * lib/openat.c (fdopendir, fstatat): New functions.
54410         * lib/openat.h: Include headers required for use of DIR and struct
54411         stat.
54412         [AT_SYMLINK_NOFOLLOW]: Define.
54413         (fdopendir, fstatat): Add prototypes.
54414
54415 2005-01-21  Bruno Haible  <bruno@clisp.org>
54416
54417         * modules/classpath: New file.
54418         * MODULES.html.sh (Java): Add classpath.
54419
54420 2005-01-21  Bruno Haible  <bruno@clisp.org>
54421
54422         * lib/classpath.h: New file, from GNU gettext.
54423         * lib/classpath.c: New file, from GNU gettext.
54424
54425 2005-01-20  Simon Josefsson  <jas@extundo.com>
54426
54427         * modules/version-etc-fsf: New file.
54428
54429 2005-01-20  Simon Josefsson  <jas@extundo.com>
54430
54431         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
54432         * lib/version-etc.c: Remove version_etc_copyright.
54433         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
54434         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
54435
54436 2005-01-20  Simon Josefsson  <jas@extundo.com>
54437
54438         * lib/base64.h (isbase64): Add.
54439
54440         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
54441         using a unsigned prototype, don't inline.
54442         (base64_decode): Use it.
54443
54444 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
54445
54446         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
54447         it.
54448
54449 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
54450
54451         * lib/save-cwd.c (save_cwd): Remove code to support the case
54452         where fchdir is missing or flaky.
54453
54454 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
54455
54456         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
54457
54458 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
54459
54460         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
54461         AC_LIBSOURCES now does this.
54462         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
54463         with new ullong_max module.
54464
54465 2005-01-19  Bruno Haible  <bruno@clisp.org>
54466
54467         * modules/sh-quote: New file.
54468         * MODULES.html.sh (Executing programs): Add sh-quote.
54469
54470 2005-01-19  Bruno Haible  <bruno@clisp.org>
54471
54472         * lib/sh-quote.h: New file, from GNU gettext.
54473         * lib/sh-quote.c: New file, from GNU gettext.
54474
54475 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
54476
54477         Merge from coreutils.
54478         * m4/ullong_max.m4: New file.
54479         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
54480         (gl_MACROS): Assume localeconv exists.
54481
54482 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
54483
54484         Merge changes from coreutils, as described below in several
54485         changelogs dated today.
54486
54487         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
54488         (O_DIRECTORY): Remove; not needed here, since "." must be
54489         a directory.  All uses removed.
54490         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
54491         universal on Suns, and we also need to test for IRIX.
54492         Revamp code to use 'if' rather than '#if'.
54493         Avoid unnecessary comparison of cwd->desc to 0.
54494
54495         * lib/utimens.c (futimens): Robustify the previous patch, by checking
54496         for known valid error numbers rather than observed invalid ones.
54497
54498 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
54499
54500         * modules/ullong_max: New file.
54501
54502         * modules/chdir-long, modules/openat: New files.
54503         * modules/save-cwd (Depends-on): Depend on chdir-long.
54504         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
54505
54506 2005-01-18  Jim Meyering  <jim@meyering.net>
54507
54508         Merge from coreutils.
54509         * m4/chdir-long.m4, m4/openat.m4: New files.
54510         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
54511         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
54512         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
54513         is sane and DOES follow symlinks.  Besides, testing 20 different
54514         systems found no broken chown implementations.
54515         Prompted by a change in rsync's copy of this macro.
54516         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
54517
54518         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
54519
54520         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
54521         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
54522         NULL-means-set-to-current-time semantics.
54523         Remove temporary file immediately, rather than waiting
54524         for configure's at-exit trap code to do it.
54525
54526 2005-01-18  Jim Meyering  <jim@meyering.net>
54527
54528         * lib/version-etc.c (version_etc_copyright): Update copyright date.
54529
54530         * lib/utimens.c (futimens): Account for the fact that futimes
54531         can also fail with errno == ENOSYS or errno == ENOENT.
54532         Patch from Dmitry V. Levin.
54533
54534         Change the name of the robust chdir function from chdir to chdir_long.
54535         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
54536         (restore_cwd): Use chdir_long, not chdir.
54537         * lib/chdir-long.c: Renamed from chdir.c.
54538         * lib/chdir-long.h: Renamed from chdir.h.
54539         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
54540         Hurd.
54541
54542 2005-01-18  Bruno Haible  <bruno@clisp.org>
54543
54544         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
54545         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
54546         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
54547         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
54548         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
54549         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
54550         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
54551         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
54552         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
54553         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
54554         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
54555         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
54556         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
54557         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
54558         Use an all-permissive copyright notice, recommended by RMS.
54559
54560 2005-01-18  Bob Proulx  <bob@proulx.com>
54561
54562         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
54563         simplify offsetof() macro construct to avoid compile failure with
54564         native HP-UX 11.0 ANSI C compiler.
54565
54566 2005-01-17  Bruno Haible  <bruno@clisp.org>
54567
54568         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
54569         redundant because stpncpy.m4 takes care of it.
54570
54571 2005-01-17  Bruno Haible  <bruno@clisp.org>
54572
54573         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
54574
54575 2005-01-17  Bruno Haible  <bruno@clisp.org>
54576
54577         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
54578         used.
54579
54580 2005-01-17  Bruno Haible  <bruno@clisp.org>
54581
54582         * lib/fwriteerror.h (fwriteerror): Change specification to include
54583         fclose.
54584         * lib/fwriteerror.c: Include <stdbool.h>.
54585         (fwriteerror): At the end, close the file stream. Record whether
54586         stdout was already closed.
54587
54588 2005-01-17  Bruno Haible  <bruno@clisp.org>
54589
54590         * lib/execute.c (environ): Declare if needed.
54591         * lib/pipe.c (environ): Likewise.
54592         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
54593
54594 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
54595
54596         * modules/argp: Depend on vsnprintf
54597
54598 2005-01-10  Jim Meyering  <jim@meyering.net>
54599
54600         * modules/closeout (Depends-on): Add atexit.
54601
54602 2005-01-06  Bruno Haible  <bruno@clisp.org>
54603
54604         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
54605
54606 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
54607
54608         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
54609         definitions to be after all include files, to avoid collisions.
54610         Problem reported by Bob Proulx.
54611
54612 2005-01-04  Jim Meyering  <jim@meyering.net>
54613
54614         Changes imported from coreutils.
54615         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
54616         as the mkstemp template, use a temporary directory and an
54617         8.3-friendly template to avoid trouble on systems like DJGPP.
54618         Reported by Juan M. Guerrero via Stepan Kasal.
54619         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
54620         close. Remove the temporary directory right away, rather than waiting
54621         for configure's at-exit trap code to do it.
54622         Suggestion from Stepan Kasal.
54623
54624 2005-01-01  Simon Josefsson  <jas@extundo.com>
54625
54626         * gnulib-tool: Print #include directives when --import'ing.
54627
54628 2004-12-28  Simon Josefsson  <jas@extundo.com>
54629
54630         * tests/test-base64.c: Include required header files.  Remove
54631         unused variables.
54632
54633 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
54634
54635         * modules/error (Depends-on): Remove gettext.
54636
54637 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
54638
54639         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
54640         not needed.  This removes a dependency on the gettext module.
54641         [defined _LIBC]: Do not include <libintl.h>; not needed.
54642
54643 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
54644
54645         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
54646         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
54647
54648 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
54649
54650         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
54651         HAVE_DECL_STRTOLD.
54652
54653 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
54654
54655         * modules/getdate (Depends-on): Remove alloca-opt.
54656
54657 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
54658
54659         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
54660
54661 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
54662
54663         * lib/argp-parse.c: Include <stddef.h>.
54664         (alignof, alignto): New macros.
54665         (parser_init): Don't assume that void * is aligned sufficiently
54666         for struct option.
54667
54668         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
54669         need to extend the stack.
54670         (YYINITDEPTH): New macro, so that the initial stack isn't overly
54671         large.
54672
54673 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
54674
54675         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
54676
54677 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
54678
54679         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
54680         (2004-10-24) change.  Apparently this was a false alarm.
54681
54682         * modules/getdate: Depend on alloca-opt, not alloca.
54683
54684 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
54685
54686         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
54687         Remove now-obsolete comment about AIX.
54688         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
54689         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
54690         (YYMAXDEPTH): New macro.
54691
54692 2004-12-18  Simon Josefsson  <jas@extundo.com>
54693
54694         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
54695
54696 2004-12-18  Bruno Haible  <bruno@clisp.org>
54697
54698         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
54699
54700 2004-12-18  Bruno Haible  <bruno@clisp.org>
54701
54702         * lib/fatal-signal.c (fatal_signals): Make non-const.
54703         (init_fatal_signals): New function.
54704         (uninstall_handlers, install_handlers): Ignore signals that were set to
54705         SIG_IGN.
54706         (at_fatal_signal): Call init_fatal_signals.
54707         (init_fatal_signal_set): Likewise. Ignore signals that were set to
54708         SIG_IGN.
54709         Reported by Paul Eggert.
54710
54711 2004-12-18  Bruno Haible  <bruno@clisp.org>
54712
54713         * doc/alloca.texi: New file.
54714         * doc/alloca-opt.texi: New file.
54715
54716 2004-12-17  Jim Meyering  <jim@meyering.net>
54717
54718         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
54719         Otherwise, install-sh could exit with improper exit status when
54720         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
54721
54722 2004-12-16  Simon Josefsson  <jas@extundo.com>
54723
54724         * tests/test-base64.c: Add license.
54725
54726 2004-12-15  Stepan Kasal  <address@hidden>
54727
54728         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
54729
54730 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
54731
54732         * modules/getcwd (Files): Add m4/d-ino.m4.
54733         Suggested by Mark D. Baushke.
54734
54735 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
54736
54737         * lib/getdate.y (textint): New member "negative".
54738         (time_zone_hhmm): New function.
54739         Expect 14 shift-reduce conflicts, not 13.
54740         (o_colon_minutes): New rule.
54741         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
54742         (yylex): Set the "negative" member of signed numbers.
54743
54744 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
54745
54746         * doc/getdate.texi (Time of day items, Time zone items):
54747         Describe new formats +00:00, UTC+00:00.
54748
54749 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
54750
54751         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
54752         spurious "-l"s.  Problem reported by Stepan Kasal.
54753
54754 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
54755
54756         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
54757         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
54758
54759 2004-12-04  Simon Josefsson  <jas@extundo.com>
54760
54761         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
54762         Vandoorselaere <yoann@prelude-ids.org>.
54763
54764 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
54765
54766         Changes imported from coreutils.
54767         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
54768         exist.
54769         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
54770
54771 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
54772
54773         Changes imported from coreutils.
54774         * lib/hard-locale.c: Assume <locale.h> exists.
54775         Include "strdup.h".
54776         (GLIBC_VERSION): New macro.
54777         (hard_locale): Assume setlocale exists.
54778         Rewrite to avoid #ifdef.
54779         Use strdup rather than malloc + strcpy.
54780         * lib/human.c: Assume <locale.h> exists.
54781         (human_readable): Assume localeconv exists.
54782
54783 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
54784
54785         * modules/hard-locale (Depends-on): Add strdup.
54786
54787 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
54788
54789         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
54790         convert T2, not T.  (Imported from libc.)
54791
54792 2004-11-30  Simon Josefsson  <jas@extundo.com>
54793
54794         * modules/restrict (License): Change to LGPL.
54795
54796 2004-11-30  Simon Josefsson  <jas@extundo.com>
54797
54798         * m4/restrict.m4: Add copyright and copying conditions.
54799
54800 2004-11-30  Simon Josefsson  <jas@extundo.com>
54801
54802         * m4/base64.m4: New file.
54803
54804 2004-11-30  Simon Josefsson  <jas@extundo.com>
54805
54806         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
54807         base64.
54808
54809         * tests/test-base64.c: New file.
54810
54811         * modules/base64: New file.
54812
54813 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
54814
54815         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
54816         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
54817
54818         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
54819
54820 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
54821
54822         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
54823         (__getcwd.c): Don't restore errno; glibc doesn't.
54824         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
54825         first, falling back to our code only if its results look suspicious.
54826         Ensure that the resulting buffer is only as large as necessary.
54827
54828         * lib/readutmp.c: Include readutmp.h first.
54829         Include <errno.h>, since readutmp.h no longer does that.
54830         * lib/readutmp.h: Don't include <errno.h>,
54831         <sys/param.h>, <time.h>; not needed to establish interface.
54832         (errno): Remove decl.
54833         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
54834         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
54835         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
54836
54837 2004-11-28  Simon Josefsson  <jas@extundo.com>
54838
54839         * lib/base64.h, base64.c: New file.
54840
54841 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
54842
54843         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
54844
54845 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
54846
54847         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
54848         (Depends-on): Remove pathmax, same.  Add mempcpy.
54849         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
54850         (Makefile.am): Append getcwd.h to lib_SOURCES.
54851         (Include): Add getcwd.h.
54852         (Maintainer): Change from Jim Meyering to "all, glibc",
54853         since getdate now uses intended-for-glibc code.
54854         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
54855         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
54856
54857 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
54858
54859         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
54860         HP's ANSI C compiler.
54861         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
54862         Declaring int functions causes warnings on some modern systems and
54863         shouldn't be needed to compile on ancient ones.
54864         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
54865         defined.
54866
54867         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
54868         with the following changes.
54869         (__set_errno): Parenthesize properly.
54870         Include <stdbool.h>.
54871         (MIN, MAX, MATCHING_INO): New macros.
54872         (__getcwd): Define with prototype, not K&R form.
54873         Use heuristics to allocate default buffer on stack if possible.
54874         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
54875         behavior, and to avoid the PATH_MAX limit when computing
54876         ../../../../...
54877         Use MATCHING_INO to compare inode number to file.
54878         Check for arithmetic overflow in size calculations.
54879         Fix bug in reallocation of dot array that caused getcwd to fail
54880         on directories nested deeper than 75.
54881         Be more careful about saving errno on error.
54882         Do not use realloc; use only free+malloc, as this is a bit
54883         more flexible and avoids a needless copy operation.
54884         Do not inspect st_dev and st_ino for symbolic links; POSIX
54885         doesn't specify the latter.
54886         Check for closedir errors.
54887         Avoid needless casts.
54888         Use "#ifdef weak_alias" around weak_alias, to be like other
54889         glibc code.
54890         The following changes to getcwd.c have effect only when used in
54891         gnulib; they have no effect inside glibc proper.
54892         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
54893         as alloca isn't used.
54894         (alloca, __alloca): Likewise.
54895         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
54896         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
54897         unconditionally, as gnulib assumes C89 or better.
54898         Do not include <sys/param.h>.
54899         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
54900         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
54901         better.
54902         (NULL) [!defined NULL]: Remove; we assume C89 or better.
54903         Include <dirent.h> in a way that is compatible with modern Autoconf.
54904         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
54905         New macros, if not already defined.
54906         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
54907         Use "_LIBC", not "defined _LIBC", for consistency.
54908         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
54909         a mempcpy module.
54910         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
54911         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
54912         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
54913         credit only to Jim Meyering and adjust the copyright dates.
54914         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
54915         <stdlib.h>, <unistd.h>, "pathmax.h".
54916         Instead, include "xgetcwd.h" (first) and "getcwd.h".
54917         (INITIAL_BUFFER_SIZE): Remove.
54918         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
54919
54920 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
54921
54922         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
54923         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
54924         Use the _ONCE methods, for efficiency.
54925         Check for fcntl.h.  In test program, include <errno.h>
54926         and <fcntl.h> if available.  Remove old K&R cruft from
54927         test program.  Check for common errors in GNU/Linux,
54928         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
54929         don't do AC_LIBOBJ, as that's getcwd.m4's job.
54930         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
54931         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
54932         name accordingly.
54933         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
54934         accommodate new getcwd.c.
54935         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
54936         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
54937         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
54938         that's all we need now.
54939
54940 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
54941
54942         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
54943         argp-parse.c depends on getopt internals, that means we should
54944         always use our getopt, to be on the safe side.
54945         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
54946         order not to spoil the result of an eventual previous invocation
54947         of gl_GETOPT_SUBSTITUTE.
54948
54949 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
54950
54951         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
54952         redefinition warnings. To avoid them, include the defines
54953         in `#if !defined __need_getopt ... #endif'. The only place
54954         where __getopt_argv_const is used is in definitions
54955         of getopt_long and getopt_long_only below, which are as well
54956         protected by `#ifndef __need_getopt'.
54957         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
54958         __need_getopt after including <stdio.h> and <unistd.h> These
54959         headers might have defined it.
54960
54961 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
54962
54963         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
54964
54965 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
54966
54967         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
54968         (futimens): New function, which uses futimes if available.
54969         (futimens, utimens): Support timespec==NULL, with same semantics
54970         as utime and utimens.
54971         * lib/utimens.h (futimens): New decl.
54972
54973 2004-11-23  Jim Meyering  <jim@meyering.net>
54974
54975         * lib/getopt_.h: Remove trailing blanks.
54976
54977 2004-11-23  Jim Meyering  <jim@meyering.net>
54978
54979         * lib/__fpending.c: Add comment.
54980
54981 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
54982
54983         * modules/canonicalize (Depends-on): Add xreadlink.
54984         Problem reported by James Youngman.
54985
54986 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
54987
54988         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
54989         New macros.
54990         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
54991         optopt): Use them instead of invoking ## directly; otherwise, the
54992         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
54993
54994 2004-11-19  Bruno Haible  <bruno@clisp.org>
54995
54996         * lib/strtok_r.c: Move comments from here...
54997         * lib/strtok_r.h: ... to here.
54998
54999 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
55000
55001         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
55002         implementations that mishandle size_t overflow.
55003
55004 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
55005
55006         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
55007         might fail.  Problem reported by Yoann Vandoorselaere.
55008         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
55009         implementations that mishandle size_t overflow.
55010
55011 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
55012
55013         * modules/canon-host (Depends-on): Add strdup.
55014
55015 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
55016
55017         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
55018
55019 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
55020
55021         * lib/canon-host.c: Include "strdup.h".
55022         (canon_host): Use getaddrinfo if available, so that IPv6 works.
55023         Use strdup instead of malloc/strcpy to duplicate strings.
55024
55025         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
55026         (human_space_before_unit): New constant.
55027         * lib/human.c (human_readable): Support it.
55028
55029         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
55030         (xgetcwd): Set errno correctly when failing.
55031         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
55032         the failure is actually due to a PATH_MAX problem.
55033
55034         Further getopt changes to make it more likely that glibc will
55035         buy the changes back.
55036         * lib/getopt.c (POSIXLY_CORRECT): New constant.
55037         (getopt): Use it, so to preserve glibc semantic
55038         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
55039         when compiling for libc.
55040         * lib/getopt_.h (__getopt_argv_const): Bring it back.
55041         (getopt_long, getopt_long_only): Use it.
55042
55043         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
55044         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
55045         (getopt): Argv is now char * const *, as per standard.
55046         (_getopt_internal_r, _getopt_internal): Argv is now char **,
55047         not char *__getopt_argv_const *.
55048         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
55049         _getopt_long_only_r): Likewise.
55050         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
55051         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
55052         _getopt_long_r, _getopt_long_only_r): Likewise.
55053         * lib/getopt_.h (__getopt_argv_const): Remove.
55054         (getopt): Argv is now char * const *, as per standard.
55055
55056         * lib/getdate.y (tORDINAL): New token.
55057         (day, relunit): Allow it for relative times.
55058         (relative_time_table): Use tORDINAL for ordinals.
55059
55060 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
55061
55062         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
55063         Document that "second" isn't allowed as an ordinal number.
55064
55065 2004-11-16  Jim Meyering  <jim@meyering.net>
55066
55067         * modules/closeout (Depends-on): Add fpending.
55068
55069 2004-11-15  Jim Meyering  <jim@meyering.net>
55070
55071         * lib/closeout.c: Include "__fpending.h" once again.
55072         Include <stdbool.h>.
55073         (close_stdout): Don't fail just because stdout was closed initially,
55074         since some programs don't write to stdout in the normal course of
55075         operation (other than --version and --help), and we don't want this
55076         function to make e.g. `touch file >&-' fail.
55077         But do fail if it was closed and someone has tried to write to it.
55078         E.g., `printf foo >&-' must fail.
55079
55080 2004-11-13  Jim Meyering  <jim@meyering.net>
55081
55082         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
55083
55084 2004-11-12  Simon Josefsson  <jas@extundo.com>
55085
55086         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
55087         small doc fix is still pending.
55088
55089 2004-11-11  Simon Josefsson  <jas@extundo.com>
55090
55091         * modules/strtok_r: New file.
55092
55093         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
55094         strtok_r.
55095
55096 2004-11-11  Simon Josefsson  <jas@extundo.com>
55097
55098         * m4/strtok_r.m4: New file.
55099
55100         * m4/getopt.m4: Replace opterr.
55101
55102 2004-11-11  Simon Josefsson  <jas@extundo.com>
55103
55104         * lib/strtok_r.h, strtok_r.c: New file.
55105
55106 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
55107
55108         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
55109         of replacing opterr, getopt, etc.  This should handle the
55110         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
55111
55112 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
55113
55114         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
55115         we can stop lying to compilers about the constness of argv when we
55116         are compiled outside glibc.
55117         (getopt, getopt_long, getopt_long_only): Use it.
55118         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
55119         _getopt_internal, getopt): Likewise.
55120         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
55121         _getopt_long_only_r): Likewise.
55122         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
55123         _getopt_long_r, _getopt_long_only_r): Likewise.
55124
55125         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
55126         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
55127         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
55128         the other external symbols.
55129         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
55130         declaration, since the above renaming now works around collisions.
55131
55132 2004-11-11  Jim Meyering  <jim@meyering.net>
55133
55134         * lib/linebreak.c: Remove trailing blanks.
55135         * lib/alloca_.h: Likewise.
55136         * lib/acosl.c: Likewise.
55137         * lib/euidaccess.c: Likewise.
55138         * lib/allocsa.h: Likewise.
55139
55140 2004-11-10  Simon Josefsson  <jas@extundo.com>
55141
55142         * m4/getaddrinfo.m4: New file.
55143
55144 2004-11-10  Simon Josefsson  <jas@extundo.com>
55145
55146         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
55147
55148 2004-11-10  Simon Josefsson  <jas@extundo.com>
55149
55150         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
55151         getaddrinfo.
55152
55153         * modules/getaddrinfo: New file.
55154
55155 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
55156
55157         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
55158
55159 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
55160
55161         * lib/mktime.c (SHR): New macro, which is a portable
55162         substitute for >> that should work even on Crays.
55163         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
55164         Problem reported by Mark D. Baushke in
55165         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
55166         * lib/getdate.y (SHR): Likewise.
55167         (tm_diff): Use it.
55168         * lib/strftime.c (SHR): Likewise.
55169         (tm_diff): Use it.
55170         * lib/quotearg.c (struct quoting_options): Use unsigned int for
55171         quote_these_too, so that right shifts are well defined.  All uses
55172         changed.
55173
55174 2004-11-10  Jim Meyering  <jim@meyering.net>
55175
55176         Ensure that no close failure goes unreported.
55177         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
55178         return early when it seems there's nothing to flush.
55179         Don't include __fpending.h.
55180
55181 2004-11-10  Jim Meyering  <jim@meyering.net>
55182
55183         * modules/closeout (Depends-on): Remove fpending.
55184
55185 2004-11-10  Jim Meyering  <jim@meyering.net>
55186
55187         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
55188
55189 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
55190
55191         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
55192         gl_FUNC_STRFTIME.
55193         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
55194         and AC_REQUIRE when possible, to avoid duplicate checks.
55195         Check for <wchar.h>.
55196
55197 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
55198
55199         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
55200
55201 2004-11-09  Bruno Haible  <bruno@clisp.org>
55202
55203         * m4/sockpfaf.m4: New file.
55204
55205 2004-11-05  Bruno Haible  <bruno@clisp.org>
55206
55207         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
55208         Reported by Mark D. Baushke <mdb@cvshome.org>.
55209
55210 2004-11-04  Bruno Haible  <bruno@clisp.org>
55211
55212         2004-09-11  Bruno Haible  <bruno@clisp.org>
55213                 * allocsa.valgrind: New file.
55214         2004-02-06  Bruno Haible  <bruno@clisp.org>
55215                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
55216                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
55217                 Reported by Christopher Seip <chris.seip@hp.com>.
55218
55219 2004-11-04  Bruno Haible  <bruno@clisp.org>
55220
55221         * modules/allocsa (Files): Add lib/allocsa.valgrind.
55222         (Makefile.am): Distribute it.
55223
55224 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
55225
55226         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
55227         with errno == ERANGE if the buffer is too small.
55228         Problem reported by Mark D. Baushke.
55229
55230 2004-11-03  Albert Chin  <china@thewrittenword.com>
55231             Paul Eggert  <eggert@cs.ucla.edu>
55232
55233         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
55234         equivalent, substitute $ac_type for equivalent type rather than
55235         blindly using uint32_t *always* which won't work if uint32_t is not
55236         available.  Define _UINT32_T to work around typedef of uint32_t if
55237         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
55238         2.5.1.
55239
55240 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
55241
55242         * m4/jm-macros.m4: Sync from coreutils.
55243         (gl_MACROS): Check for mbrlen, for pathchk.
55244         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
55245
55246 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
55247
55248         * lib/xreadlink.c (MAXSIZE): New macro.
55249         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
55250         size does not exceed MAXSIZE.  Avoid cast.
55251         As suggested by Mark D. Baushke in
55252         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
55253         if readlink fails with buffer size just under MAXSIZE, try again
55254         with MAXSIZE.
55255
55256 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
55257
55258         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
55259
55260 2004-11-02  Derek R. Price  <derek@ximbiot.com>
55261         and  Paul Eggert  <eggert@cs.ucla.edu>
55262
55263         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
55264         (get_date): Overparenthesize to avoid GCC warning.
55265
55266 2004-11-02  Bruno Haible  <bruno@clisp.org>
55267
55268         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
55269         returns void.
55270
55271 2004-11-02  Bruno Haible  <bruno@clisp.org>
55272
55273         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
55274         function returns void.
55275
55276 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
55277
55278         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
55279         fflush_unlocked, flockfile, funlockfile, funlockfile,
55280         fputs_unlocked, putc_unlocked.
55281
55282 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
55283
55284         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
55285         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
55286         already declared.
55287
55288 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
55289
55290         * modules/getdate (Files): Add doc/getdate.texi.
55291         (Depends-on): Add setenv, xalloc.
55292
55293 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
55294
55295         * lib/getdate.y: Add support for TZ="foo" within a date string.
55296         Fix some bugs near time_t boundaries.  Reject dates with
55297         out-of-range components, e.g., "Sept 31".
55298         Include <stdlib.h>, "setenv.h", "xalloc.h".
55299         (ISDIGIT_LOCALE): Remove; unused.
55300         Note that the TZ and time functions used here are not reentrant.
55301         (mktime_ok, get_tz): New functions.
55302         (TZBUFSIZE): New constant.
55303         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
55304         This requires that we sometimes generate our own TZ="XXX..." setting.
55305
55306 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
55307
55308         * doc/getdate.texi: New file, from coreutils with modifications for
55309         the new TZ parsing.
55310
55311 2004-10-27  Derek R. Price  <derek@ximbiot.com>
55312
55313         * lib/mktime.c (not_equal_tm): Remove redundant check.
55314
55315 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
55316
55317         * modules/regex (lib_SOURCES): Add regex.c.
55318         Reported by James Youngman in
55319         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
55320
55321 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
55322
55323         * lib/getdate.y: Use Bison 1.875 features, and some minor
55324         code cleanups.  This change does not affect semantics.
55325         Don't include <stdlib.h>; no longer needed.
55326         Don't include unlocked-io.h; only the "#if TEST" code uses
55327         stdio, and performance isn't crucial there.
55328         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
55329         Bison 1.875 features as described below.
55330         All uses of "PC." replaced by "pc->".
55331         (YYSTYPE): Add a forward declaration.
55332         (yylex, yyerror): Use full prototypes in forward decls.
55333         Use "%pure-parser" rather than obsolescent "%pure_parser".
55334         Use %parse-param and %lex-param instead of obsolescent
55335         YYPARSE_PARAM and YYLEX_PARAM.
55336         (meridian_table, month_and_day_table, time_units_table,
55337         relative_time_table, time_zone_table, military_table,
55338         lookup_zone, lookup_word, get_date):
55339         Use NULL instead of 0 where appropriate.
55340         (to_hour): Avoid abort (), to avoid a dependency on
55341         stdlib.h.
55342         (yyerror, yylex): Now accepts parser_control * arg.
55343         (main) [TEST]: Use '\0' rather than 0 for char.
55344
55345 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
55346
55347         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
55348
55349 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
55350
55351         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
55352         It's now the caller's responsibility to handle the case where
55353         !HAVE_GETPAGESIZE && !defined getpagesize.
55354
55355         * lib/mktime.c (leapyear): Arg is long int, not int.
55356
55357 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
55358
55359         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
55360
55361 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
55362
55363         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
55364         missing.  Problem reported by James Youngman.
55365
55366 2004-10-16  Simon Josefsson  <jas@extundo.com>
55367
55368         * gnulib-tool: Fix comments.  Fix parse problem.
55369         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
55370
55371 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
55372
55373         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
55374         implementation of getopt_long.  Problem reported by Alexander Taler in:
55375         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
55376
55377 2004-10-15  Bruno Haible  <bruno@clisp.org>
55378
55379         * gnulib-tool: Untabify. Initialize supplied_libname.
55380         (func_usage): More homogenous output.
55381         (func_modules_transitive_closure, func_modules_to_filelist,
55382         func_emit_lib_Makefile_am): New functions.
55383         (func_import): New function, extracted from big case statement. Use
55384         func_get_license, func_modules_transitive_closure,
55385         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
55386         opt_lgpl. Don't use test -a, as it's not portable.
55387         (func_create_testdir): Use func_modules_transitive_closure,
55388         func_modules_to_filelist, func_emit_lib_Makefile_am.
55389
55390 2004-10-15  Bruno Haible  <bruno@clisp.org>
55391
55392         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
55393
55394 2004-10-15  Bruno Haible  <bruno@clisp.org>
55395
55396         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
55397         the portions belonging to each module.
55398         Suggested by Derek Robert Price <derek@ximbiot.com>.
55399
55400 2004-10-12  Simon Josefsson  <jas@extundo.com>
55401
55402         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
55403         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
55404         to real functions.
55405
55406 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
55407
55408         * modules/vsnprintf: New file.
55409
55410 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
55411
55412         * m4/vsnprintf.m4: New file.
55413
55414 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
55415
55416         * lib/vsnprintf.h: New file.
55417         * lib/vsnprintf.c: New file.
55418
55419 2004-10-11  Bruno Haible  <bruno@clisp.org>
55420
55421         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
55422         vsnprintf.
55423
55424 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
55425
55426         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
55427
55428 2004-10-07  Bruno Haible  <bruno@clisp.org>
55429
55430         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
55431         fits into the provided buffer.
55432
55433 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
55434
55435         * lib/diacrit.c, diacrit.h: Add GPL notice.
55436
55437         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
55438         notice.
55439         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
55440         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
55441         This avoids a potential constant-folding bug.
55442
55443 2004-10-05  Bruno Haible  <bruno@clisp.org>
55444
55445         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
55446         for the declaration of strsep.
55447
55448 2004-10-05  Bruno Haible  <bruno@clisp.org>
55449
55450         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
55451
55452 2004-10-04  Simon Josefsson  <jas@extundo.com>
55453
55454         * modules/memmem: New file.
55455         * tests/test-memmem.c: New file.
55456         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
55457
55458 2004-10-04  Simon Josefsson  <jas@extundo.com>
55459
55460         * m4/memmem.m4: New file.
55461
55462 2004-10-04  Simon Josefsson  <jas@extundo.com>
55463
55464         * lib/memmem.h: New file.
55465         * lib/memmem.c: New file, taken from glibc.
55466
55467 2004-10-04  Simon Josefsson  <jas@extundo.com>
55468
55469         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
55470         '#ifdef USE_UNLOCKED_IO'.
55471
55472 2004-10-04  Simon Josefsson  <jas@extundo.com>
55473
55474         * config/srclist.txt: Add memmem from glibc.
55475
55476 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
55477
55478         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
55479
55480         * modules/argmatch, modules/argp, modules/closeout, modules/error,
55481         modules/exclude, modules/getdate, modules/getline,
55482         modules/getndelim2, modules/getpass, modules/getpass-gnu,
55483         modules/getusershell, modules/linebuffer, modules/md5,
55484         modules/mountlist, modules/posixtm, modules/readtokens,
55485         modules/readutmp, modules/regex, modules/sha1,
55486         modules/version-etc, modules/yesno:
55487         Remove dependency on unlocked-io.
55488
55489 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
55490
55491         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
55492
55493         * m4/unlocked-io.m4: Add copyright notice.
55494         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
55495
55496 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
55497
55498         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
55499         * lib/xmalloc.c (xmemdup): Likewise.
55500         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
55501         XFREE): Remove these long-obsolescent macros.
55502         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
55503         * lib/xstrdup.c: Remove.
55504
55505         * lib/regex.c (re_comp): Cast gettext return value to char *,
55506         Problem reported by Martin Neitzel via Mark D. Baushke.
55507
55508 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
55509
55510         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
55511         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
55512         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
55513         regex.c, sha1.c, version-etc.c, yesno.c:
55514         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
55515         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
55516         the includer's responsibility.
55517
55518         Sync from coreutils.
55519
55520         * lib/modechange.c (mode_compile): Don't decrement a pointer that
55521         points to the start of a string, as the C Standard says the
55522         resulting behavior is undefined.
55523
55524         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
55525         simple -> simple_backups, numbered_existing ->
55526         numbered_existing_backups, numbered -> numbered_backups
55527         to avoid shadowing problems.  All uses changed.
55528         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
55529         * lib/backupfile.c (check_extension, numbered_backup):
55530         Rename locals to avoid shadowing 'basename'.
55531         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
55532         once.
55533
55534         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
55535         * lib/.cvsignore: Add getopt.h.
55536
55537 2004-10-04  Bruno Haible  <bruno@clisp.org>
55538
55539         * modules/README: New file.
55540         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
55541         not a module.
55542
55543 2004-10-02  Jim Meyering  <jim@meyering.net>
55544
55545         * lib/dirfd.h, getpagesize.h: Add copyright notice.
55546
55547 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
55548
55549         * modules/strsep: New file.
55550
55551 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
55552
55553         * m4/strsep.m4: New file.
55554
55555 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
55556
55557         * lib/strsep.h: New file.
55558         * lib/strsep.c: New file.
55559
55560 2004-10-01  Simon Josefsson  <jas@extundo.com>
55561
55562         * lib/snprintf.c (snprintf): Handle size==0.
55563
55564 2004-10-01  Simon Josefsson  <jas@extundo.com>
55565             Bruno Haible  <bruno@clisp.org>
55566
55567         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
55568         (snprintf): Declare 'args'.
55569
55570 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
55571
55572         * lib/snprintf.c: Remove comments as to why each header is needed.
55573
55574 2004-10-01  Bruno Haible  <bruno@clisp.org>
55575
55576         * MODULES.html.sh: Add strsep.
55577
55578 2004-09-30  Simon Josefsson  <jas@extundo.com>
55579
55580         * modules/snprintf: New file.
55581
55582 2004-09-30  Simon Josefsson  <jas@extundo.com>
55583
55584         * m4/snprintf.m4: New file.
55585
55586 2004-09-30  Simon Josefsson  <jas@extundo.com>
55587
55588         * lib/snprintf.h, lib/snprintf.c: New files.
55589
55590 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
55591
55592         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
55593         (hol_entry_help): Never translate an empty string.
55594         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
55595         * lib/argp.h (OPTION_NO_TRANS): New option.
55596
55597 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
55598
55599         * modules/argp (Maintainer): Replace Simon Josefsson
55600         by Sergey Poznyakoff.
55601
55602 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
55603
55604         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
55605         changes merged back into glibc.
55606
55607 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
55608
55609         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
55610
55611 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
55612
55613         * lib/xvasprintf.c: Include xalloc.h.
55614         (xvasprintf): Use xalloc_die, not xmalloc_die.
55615
55616 2004-09-29  Bruno Haible  <bruno@clisp.org>
55617
55618         * modules/alloca-opt: New file, derived from modules/alloca.
55619         * modules/allocsa: Depend on alloca-opt instead of alloca.
55620         * modules/setenv: Likewise.
55621         * modules/vasnprintf: Likewise.
55622         * MODULES.html.sh: Add alloca-opt.
55623
55624 2004-09-28  Simon Josefsson  <jas@extundo.com>
55625
55626         * gnulib-tool: New parameter --lgpl, to asseert that modules are
55627         LGPL, and to replace license template from GPL to LGPL.
55628
55629 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
55630
55631         * modules/dummy: Change license to LGPL.
55632
55633 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
55634
55635         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
55636
55637 2004-09-24  Simon Josefsson  <jas@extundo.com>
55638
55639         * modules/minmax (License): Change from GPL to LGPL.
55640
55641 2004-09-23  Simon Josefsson  <jas@extundo.com>
55642
55643         * gnulib-tool (--import): Typo.
55644
55645 2004-09-23  Simon Josefsson  <jas@extundo.com>
55646
55647         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
55648
55649 2004-09-22  Bruno Haible  <bruno@clisp.org>
55650
55651         * modules/*: Add 'License' field.
55652         * gnulib-tool: Accept --extract-license option.
55653         (func_get_license): New function.
55654
55655 2004-09-21  Bruno Haible  <bruno@clisp.org>
55656
55657         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
55658         Reported by Simon Josefsson.
55659
55660 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
55661
55662         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
55663         gl_AC_TYPE_LONG_LONG.
55664
55665 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
55666
55667         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
55668
55669 2004-09-18  Simon Josefsson  <jas@extundo.com>
55670         and  Paul Eggert  <eggert@cs.ucla.edu>
55671
55672         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
55673         calls with autoreconf.  Define GL_LIB.
55674
55675 2004-09-14  Karl Berry  <karl@gnu.org>
55676
55677         * config/srclist.txt: unsync setenv.c, sigh.
55678
55679 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
55680
55681         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
55682         Problem reported by Bruno Haible in:
55683         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
55684
55685 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
55686
55687         * config/srclist.txt: Comment out argp-pvh.c.
55688
55689 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
55690
55691         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
55692         in case some system header has #define'd it.  Problem reported by
55693         Soeren D. Schulze in
55694         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
55695
55696 2004-09-09  Karl Berry  <karl@gnu.org>
55697
55698         * regex.[ch]: delete from the root.  These were supposed to be
55699                 synced with emacs cvs, but this has not happened for about
55700                 a year, and anyway nothing else uses emacs regex.[ch].
55701                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
55702                 lib/regex[.ch] is untouched.
55703
55704 2004-09-09  Bruno Haible  <bruno@clisp.org>
55705
55706         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
55707
55708 2004-09-09  Bruno Haible  <bruno@clisp.org>
55709
55710         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
55711         modifications.
55712         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
55713
55714 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
55715
55716         * modules/xvasprintf: New file.
55717         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
55718
55719 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
55720
55721         * lib/xvasprintf.h: New file.
55722         * lib/xvasprintf.c: New file.
55723         * lib/xasprintf.c: New file.
55724
55725 2004-09-08  Bruno Haible  <bruno@clisp.org>
55726
55727         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
55728
55729 2004-09-08  Bruno Haible  <bruno@clisp.org>
55730
55731         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
55732         length is > INT_MAX.
55733         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
55734         more.
55735
55736 2004-09-08  Bruno Haible  <bruno@clisp.org>
55737
55738         * lib/stdint_.h: New file, taken from GNU clisp.
55739
55740 2004-09-08  Bruno Haible  <bruno@clisp.org>
55741             Oskar Liljeblad  <oskar@osk.mine.nu>
55742
55743         * modules/stdint: New file.
55744         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
55745
55746 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
55747
55748         Import from coreutils.
55749         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
55750         strings on unbounded length.  alloca's performance benefits aren't
55751         that important here.
55752         (V_STRDUP): Remove.
55753         (parse_with_separator): New function, with most of the internals
55754         of the old parse_user_spec.  Allow user to omit both user and group,
55755         for compatibility with FreeBSD.
55756         Clone only the user name, not the entire spec.
55757         Do not set *uid, *gid unless entirely successful.
55758         Avoid memory leak in some failing cases.
55759         Fix regression for USER.GROUP reported by Dmitry V. Levin in
55760         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
55761         (parse_user_spec): Rewrite to use parse_with_separator.
55762
55763 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
55764
55765         * modules/userspec: Don't depend on alloca.
55766
55767 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
55768
55769         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
55770
55771 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
55772
55773         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
55774         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
55775         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
55776
55777 2004-08-16  Simon Josefsson  <jas@extundo.com>
55778
55779         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
55780         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
55781         Add --dry-run for --import.
55782         Let user provided command line parameters override configure.ac
55783         settings.
55784
55785 2004-08-12  Simon Josefsson  <jas@extundo.com>
55786
55787         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
55788         as discussed with Paul Eggert in threads rooted at
55789         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
55790         and
55791         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
55792         Before, the test was empty, and relied on ELIDE_CODE in source
55793         code.)
55794         (gl_PREREQ_GETOPT): New macro.
55795         (gl_GETOPT): Use them.
55796
55797 2004-08-12  Simon Josefsson  <jas@extundo.com>
55798
55799         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
55800         * lib/getopt_.h: Renamed from getopt.h.
55801
55802 2004-08-12  Simon Josefsson  <jas@extundo.com>
55803
55804         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
55805         Change default library name from libfoo to libgnu.
55806         Now, if you have a configure.ac that says:
55807                 gl_SOURCE_BASE(gl)
55808                 gl_M4_BASE(gl/m4)
55809                 gl_MODULES(error getopt etcetera)
55810                 gl_INIT
55811         you can import all you need by running:
55812                 ../gnulib/gnulib-tool --import
55813
55814         * modules/getopt (Files): Rename getopt.h to getopt_.h.
55815         (Makefile.am): Rewrite, use logic from argz.
55816         (Include): Use <getopt.h> instead of "getopt.h".
55817
55818 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
55819
55820         * modules/argp (Files): Add m4/unlocked-io.m4.
55821         (Depends-on): Add extensions.
55822
55823 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
55824
55825         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
55826         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
55827         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
55828         Check for program_invocation_name, program_invocation_short_name,
55829         flockfile, funlockfile, features.h, _getopt_long_only_r.
55830
55831 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
55832
55833         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
55834         its complicated substitute.
55835         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
55836         and program_invocation_name.
55837         (__argp_basename) [!_LIBC]: Remove; the only use was
55838         replaced by its body.
55839         (__argp_short_program_name): Change condition from
55840         !defined __argp_short_program_name to
55841         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
55842         to match argp-namefrob.h.
55843         (__argp_failure): Don't assume strerror_r returns char *.
55844         * lib/argp-parse.c (N_): Define unconditionally.
55845         (argp_default_options): Fill out initializers with 0 to avoid
55846         gcc warnings.
55847
55848 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
55849
55850         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
55851         getopt1.c.
55852
55853 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
55854
55855         Merge from coreutils.
55856
55857         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
55858
55859         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
55860         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
55861
55862 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
55863
55864         Merge from coreutils.
55865
55866         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
55867         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
55868         for Reliant Unix 5.43.
55869
55870         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
55871         (union fooround): Use uintmax_t, not long int.
55872         The rest is a merge from libc:
55873         [defined _LIBC]: Include <shlib-compat.h>.
55874         (_obstack) [defined _LIBC]: Remove after 2.3.4.
55875
55876         * lib/settime.c (settime): Recode to avoid warning with
55877         Sun Forte C 6U2.
55878
55879         * lib/strverscmp.c: Convert to UTF-8.
55880
55881 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
55882
55883         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
55884         m4/uintmax_t.m4.
55885
55886 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
55887
55888         * modules/xalloc-die: New file.
55889         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
55890
55891         * modules/md5 (Files): Add m4/uint32_t.m4.
55892         * modules/sha1: Renamed from modules/sha.
55893         (Files):
55894         Rename lib/sha.h to lib/sha1.h.
55895         Rename lib/sha.c to lib/sha1.c.
55896         Rename m4/sha.m4 to m4/sha1.m4.
55897         (lib_SOURCES): Likewise.
55898         (configure.ac): Rename gl_SHA to gl_SHA1.
55899         (Include): sha.h -> sha1.h.
55900
55901 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
55902
55903         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
55904         * m4/sha1.m4: Renamed from sha.m4.
55905         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
55906
55907 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
55908
55909         * lib/obstack.h (obstack_empty_p):
55910         Don't assume that chunk->contents is suitably aligned.
55911         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
55912         Likewise. Problem reported by Benno in
55913         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
55914
55915         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
55916         readable.  This could be improved further but it'd take some work.
55917
55918 2004-08-08  Simon Josefsson  <jas@extundo.com>
55919
55920         * modules/xgethostname (Depends-on): Remove exit and error (not
55921         used).
55922
55923         * modules/getpass-gnu: Add getpass.h.
55924         (Depends-on): Add stdbool.
55925         * modules/getpass: Add getpass.h.
55926
55927 2004-08-08  Simon Josefsson  <jas@extundo.com>
55928
55929         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
55930         Check getpass declaration.
55931
55932 2004-08-08  Simon Josefsson  <jas@extundo.com>
55933
55934         * lib/xgethostname.c: Don't include error.h (not used).
55935
55936         * lib/getpass.h: Add.
55937         * lib/getpass.c: Include getpass.h first.
55938
55939 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
55940
55941         * lib/xalloc-die.c: New file.
55942         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
55943         All uses removed.
55944         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
55945         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
55946         xalloc-die.c.
55947         (_, N_, xalloc_die): Move to xalloc-die.c.
55948         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
55949         so that we needn't mess with xalloc_msg_memory_exhausted.
55950
55951         * lib/sha1.h: Renamed from sha.h.
55952         (SHA1_H): Renamed from _SHA_H.
55953         (sha1_ctx): Renamed from sha_ctx.
55954         (sha1_init_ctx): Renamed from sha_init_ctx.
55955         (sha1_process_block): Renamed from sha_process_block.
55956         (sha1_process_bytes): Renamed from sha_process_bytes.
55957         (sha1_finish_ctx): Renamed from sha_finish_ctx.
55958         (sha1_read_ctx): Renamed from sha_read_ctx.
55959         (sha1_stream): Renamed from sha_stream.
55960         (sha1_buffer): Renamed from sha_buffer.
55961         * lib/sha1.c: Likewise; renamed from sha.c.
55962         Do not include <sys/types.h>.
55963         Include <stddef.h> rather than <stdlib.h>.
55964
55965 2004-08-08  Bruno Haible  <bruno@clisp.org>
55966
55967         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
55968         FILESYSTEM_PREFIX_LEN.
55969         * lib/progreloc.c: Likewise.
55970         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
55971
55972 2004-08-06  Simon Josefsson  <jas@extundo.com>
55973
55974         * modules/progname (Depends-on): Don't depend on stdbool.
55975
55976 2004-08-06  Simon Josefsson  <jas@extundo.com>
55977
55978         * modules/getsubopt: New file.
55979         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
55980         getsubopt.
55981
55982 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
55983
55984         More merge from coreutils.
55985
55986         * m4/utimens.m4, m4/utimecmp.m4: New files.
55987         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
55988         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
55989         prereq.m4, sha.m4: Import changes from coreutils.
55990
55991 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
55992
55993         More merge from coreutils.
55994         * modules/raise, modules/readtokens0, modules/utimens:
55995         * modules/utimecmp, module/xnanosleep: New files.
55996         * modules/strftime: Add lib/strftime.h.
55997         Change include from <time.h> to "strftime.h".
55998         * modules/yesno: Add lib/yesno.h.
55999         * modules/backupfile: Remove lib/addext.c.
56000         * modules/euidaccess: Add stat-macros.h.
56001         * modules/canonicalize, modules/euidaccess,
56002         modules/filemode, modules/lchown, modules/makepath,
56003         modules/rmdir, modules/stat: Likewise.
56004
56005 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
56006
56007         Merge from tar.
56008         * lib/argp-help.c (make_hol, hol_append): Don't assume that
56009         SIZE_MAX is a valid preprocessor constant.
56010         (__argp_basename): Change from "#ifndef _LIBC"
56011         to "#ifndef __argp_short_program_name", so that
56012         we don't compile these functions for tar.
56013
56014         More merges from coreutils.
56015         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
56016         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
56017         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
56018         * lib/addext.c: Remove; no longer needed.
56019         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
56020         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
56021         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
56022         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
56023         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
56024         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
56025         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
56026         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
56027         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
56028         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
56029         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
56030         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
56031         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
56032         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
56033         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
56034         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
56035         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
56036         Import changes from coreutils.
56037
56038 2004-08-05  Simon Josefsson  <jas@extundo.com>
56039
56040         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
56041
56042 2004-08-05  Simon Josefsson  <jas@extundo.com>
56043
56044         * m4/getsubopt.m4: New file.
56045
56046 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
56047
56048         Merge from coreutils.
56049
56050         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
56051         * m4/getcwd-path-max.m4: New files.
56052
56053         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
56054         FILESYSTEM_PREFIX_LEN ->
56055         FILE_SYSTEM_PREFIX_LEN.
56056         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
56057         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
56058         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
56059         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
56060
56061         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
56062         prerequisite modules now handle the DOS stuff.
56063         Don't check for unistd.h.
56064
56065 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
56066
56067         Merge from coreutils.
56068
56069         * lib/.gdb-history: Remove; this doesn't belong here.
56070
56071         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
56072         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
56073         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
56074         * lib/getcwd.c: New files.
56075
56076         * lib/dirname.h: Include <stdbool.h>.
56077         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
56078         for consistency with POSIX terminology.  All uses changed.
56079         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
56080         (strip_trailing_slashes): Use bool for booleans.
56081         * lib/stripslash.c (strip_trailing_slashes): Likewise.
56082
56083         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
56084         sometimes returns a positive errno value even when it succeeds.
56085         (print_errno_message) [!LIBC]: Fall back on strerror if
56086         __strerror_r fails.
56087
56088         * lib/path-concat.c (mempcpy): Don't define if a system header defines
56089         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
56090         (longest_relative_suffix): New function.
56091         (path_concat): Use it.  Assume first argument is not NULL.
56092         Port to DOS.  Omit redundant separators.
56093         Report an error instead of returning NULL.
56094         Use mempcpy instead of memcpy.
56095         (xpath_concat): Remove: not declared or used.
56096
56097         * lib/same.h: Include <stdbool.h>
56098         (same_name): Return bool, not int.
56099         * lib/same.c (same_name): Likewise.
56100         (errno): Don't declare; we assume C89 or better now.
56101
56102         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
56103         if not already defined.
56104
56105         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
56106         * lib/dup-safer.c (errno): Likewise.
56107
56108 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
56109
56110         Merge from coreutils.
56111         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
56112         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
56113         * modules/path-concat: Don't depend on strdup.
56114
56115 2004-08-03  Simon Josefsson  <jas@extundo.com>
56116
56117         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
56118         * lib/progname.h: Don't include stdbool.h.
56119
56120 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
56121
56122         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
56123         * MODULES.html.sh (func_all_modules): Remove fatal.
56124
56125 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
56126
56127         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
56128
56129 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
56130
56131         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
56132         working.
56133
56134 2004-08-02  Simon Josefsson  <jas@extundo.com>
56135
56136         * lib/getsubopt.h: New file, with comments from Bruno Haible.
56137         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
56138         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
56139
56140 2004-08-01  Simon Josefsson  <jas@extundo.com>
56141
56142         * lib/xgetdomainname.c: Include stdlib.h, for free().
56143
56144 2004-07-19  Bruno Haible  <bruno@clisp.org>
56145
56146         * MODULES.html.sh (func_all_modules): Add dummy.
56147
56148 2004-07-16  Simon Josefsson  <jas@extundo.com>
56149
56150         * modules/dummy: New file.
56151
56152 2004-07-16  Simon Josefsson  <jas@extundo.com>
56153
56154         * lib/dummy.c: New file.
56155
56156 2004-07-16  Bruno Haible  <bruno@clisp.org>
56157
56158         * lib/backupfile.h: Add extern "C" for C++.
56159         * lib/closeout.h: Likewise.
56160         * lib/copy-file.h: Likewise.
56161         * lib/findprog.h: Likewise.
56162         * lib/full-write.h: Likewise.
56163         * lib/pathname.h: Likewise.
56164         * lib/progname.h: Likewise.
56165         * lib/stpcpy.h: Likewise.
56166         * lib/stpncpy.h: Likewise.
56167         * lib/strcase.h: Likewise.
56168         * lib/strstr.h: Likewise.
56169         * lib/xalloc.h: Likewise.
56170
56171         * lib/mbswidth.h: Add extern "C" for C++.
56172         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
56173
56174 2004-07-13  Robert Millan  <robertmh@gnu.org>
56175
56176         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
56177
56178 2004-07-09  Simon Josefsson  <jas@extundo.com>
56179
56180         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
56181         failed without this.)
56182
56183 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
56184
56185         * modules/chown (Files): Add lib/fchown-stub.c, since
56186         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
56187
56188 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
56189
56190         * lib/fchown-stub.c: New file.
56191
56192 2004-06-24  Jim Meyering  <jim@meyering.net>
56193
56194         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
56195
56196 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
56197
56198         * modules/argz: Omit "#include".
56199
56200         * MODULES.html.sh (func_all_modules): Add calloc, to match
56201         2004-06-01 addition of calloc module.
56202
56203 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
56204
56205         * m4/argz.m4: New file, which is autoupdated from libtool.
56206
56207 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
56208
56209         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
56210         libtool.
56211
56212 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
56213
56214         * config/srclist-update: Don't insist on "USA." before the
56215         close-comment, as libtool omits the period and puts the */ on a
56216         separate line.
56217         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
56218         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
56219
56220 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
56221
56222         * modules/argz: New file.
56223         * MODULES.html.sh (func_all_modules): Add argz.
56224
56225 2004-06-12  Jim Meyering  <jim@meyering.net>
56226         and  Paul Eggert  <eggert@cs.ucla.edu>
56227
56228         * modules/hash (Files): Add lib/xalloc.h.
56229         * modules/pipe (Depends-on): Add wait-process.
56230         * modules/stat (Depends-on): Add xalloc.
56231         * modules/userspec (Files): Add lib/userspec.h.
56232         * modules/xstrto
56233
56234         Upgrade from gettext-0.13.
56235         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
56236         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
56237         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
56238
56239 2004-06-10  Jim Meyering  <jim@meyering.net>
56240
56241         * lib/calloc.c: New file.
56242
56243 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
56244
56245         * lib/getdate.y (yylex): Allow space between sign and number.
56246         Problem reported by Dan Jacobson.
56247
56248 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
56249
56250         Merge from coreutils CVS.
56251
56252         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
56253         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
56254         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
56255         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
56256         xstrtol.m4: Fix copyright date and/or serial number.
56257
56258         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
56259         See if we need an fchown replacement.
56260         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
56261         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
56262         and use the replacement function if we detect either defect.
56263
56264         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
56265         gl_UTIMECMP.
56266
56267 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
56268         and  Jim Meyering  <jim@meyering.net>
56269
56270         Merge from coreutils CVS.
56271
56272         * lib/stat-macros.h: New file, with contents from file-type.h
56273         and coreutils' system.h.
56274         * lib/file-type.c: Include "stat-macros.h".
56275         * lib/file-type.h (file_type): Move all macro definitions to new file,
56276         stat-macros.h.
56277
56278         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
56279         Wrap old code with this conditional.
56280         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
56281         function that does not dereference symlinks.
56282         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
56283
56284         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
56285         dependency problems.
56286         (xreadlink): Accept new arg SIZE, for efficiency.
56287         All decls and uses changed.
56288         * lib/xreadlink.h: Include <stddef.h>, for size_t.
56289
56290         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
56291         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
56292
56293         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
56294         sysexits.h.
56295
56296 2004-06-01  Jim Meyering  <jim@meyering.net>
56297
56298         * m4/calloc.m4: New file.
56299
56300 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
56301
56302         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
56303         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
56304         Also, fix a typo in a diagnostic.
56305
56306 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
56307
56308         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
56309         or AC_FUNC_REALLOC.
56310
56311 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
56312
56313         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
56314         macros to be defined.
56315         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
56316         the allocator returns NULL because the requested size is zero.
56317
56318 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
56319
56320         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
56321         var.  Add comment explaining why libc still defines it.  This
56322         merges the following patch from glibc:
56323         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
56324
56325 2004-05-20  Andreas Schwab  <schwab@suse.de>
56326
56327         * m4/free.m4: Replace free if it not known to work, not the other
56328         way round.
56329
56330 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
56331
56332         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
56333         present in glibc since revision 1.1 of this file.
56334         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
56335         obstack_alignment_mask, obstack_alloc, obstack_base,
56336         obstack_blank, obstack_blank_fast, obstack_chunk_size,
56337         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
56338         obstack_grow0, obstack_init, obstack_int_grow,
56339         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
56340         obstack_next_free, obstack_object_size, obstack_ptr_grow,
56341         obstack_ptr_grow_fast, obstack_room): Remove declarations of
56342         nonexistent functions.
56343
56344 2004-05-18  Karl Berry  <karl@gnu.org>
56345
56346         * config/srclist.txt: break link for vasnprintf.c.
56347
56348 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
56349
56350         Port obstack to the AS/400, where pointers are 16 bytes wide and
56351         you cannot cast an integer to a valid pointer.  This patch is
56352         currently waiting to be integrated into glibc; see
56353         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
56354
56355         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
56356         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
56357         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
56358         (struct obstack): temp member is now a union of a pointer and
56359         an integer, instead of an integer.  All integer uses changed.
56360         This does not affect the physical layout of struct obstack,
56361         except on hosts (like the AS/400) where the size or alignment of
56362         void * is greater than that of ptrdiff_t.
56363         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
56364         __STDC__)]: Store temporary in pointer member of union, not
56365         integer member.
56366         * lib/obstack.c: Include <stddef.h>, for offsetof.
56367         (struct fooalign): Remove; it doesn't need a name.
56368         (union fooround): Change double to long double, and add void *.
56369         (DEFAULT_ALIGNMENT): Use offsetof to compute.
56370         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
56371         not a macro.  Hence the values are always int; so remove all
56372         casts-to-int in uses.
56373
56374 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
56375
56376         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
56377         we can get this patch merged into glibc.
56378
56379 2004-05-17  Derek R. Price  <derek@ximbiot.com>
56380             Paul Eggert  <eggert@cs.ucla.edu>
56381
56382         * m4/argp: Depend on alloca.
56383
56384 2004-05-17  Derek R. Price  <derek@ximbiot.com>
56385             Paul Eggert  <eggert@cs.ucla.edu>
56386
56387         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
56388         freecoding.
56389
56390 2004-05-17  Bruno Haible  <bruno@clisp.org>
56391
56392         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
56393         precision that consists of a '.' followed by an empty digit string.
56394         Patch by Tor Lillqvist <tml@iki.fi>.
56395
56396 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
56397
56398         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
56399         for backward compatibility with older code.  We need our own
56400         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
56401         it under some other name, and our alloca.h will define it.
56402
56403 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
56404             Derek Price  <derek@ximbiot.com>
56405
56406         * lib/alloca.c: Include <alloca.h>, to get our interface.
56407         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
56408         include <alloca.h> first.  Use C89 prototype for alloca; this
56409         requires including <stddef.h> for size_t.  Use extern "C" if C++.
56410         Use #elif for simplicity, since we can assume C89 now.
56411         Don't try to source the system alloca.h since it will not be found
56412         and to prevent recursively including its replacement.
56413         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
56414         * lib/regex.c: Likewise.
56415
56416 2004-05-16  Derek Price  <derek@ximbiot.com>
56417             Paul Eggert  <eggert@cs.ucla.edu>
56418
56419         getline cleanup.  This changes the getndelim2 API: both order of
56420         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
56421         no delimiter).
56422
56423         * lib/getline.c: Don't include stddef.h or stdio.h, since our
56424         interface does that.
56425         (getline): Always use getdelim, so that we don't have two
56426         copies of this code.
56427         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
56428         if available.
56429         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
56430         (GETNDELIM2_MAXIMUM): New macro.
56431         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
56432         instead of the old practice of delim2==0.  All callers changed.
56433         Return -1 on overflow, instead of returning junk.
56434         Do not set *linesize unless allocation succeeds.
56435         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
56436         that we include sys/types.h.
56437         * lib/getnline.h: Likewise.
56438         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
56439         (getndelim2): Reorder arguments.
56440         * lib/getnline.c (getnline, getndelim):
56441         Don't discard the NMAX argument.
56442         (getnline): Invoke getndelim, to avoid code duplication.
56443         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
56444         of (size_t) -1 by callers of the getnline family.
56445
56446 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
56447
56448         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
56449         Check for gettimeofday.
56450         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
56451         Check for settimeofday, stime.
56452
56453 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
56454
56455         * lib/nanosleep.c (suspended): Change its type from int to
56456         sig_atomic_t volatile.
56457         (first_call): Make it private to rpl_nanosleep, and have it
56458         be zero initially as that's a bit faster.
56459         (my_usleep): Round up fractional times instead of truncating them,
56460         as this is the usual meaning for 'sleep'.
56461
56462         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
56463         doesn't work.
56464         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
56465         (ENOSYS): Define if not defined.
56466         (settime): Fall back on stime if it exists and settimeofday fails.
56467         But don't bother with fallbacks if a method fails with errno == EPERM.
56468
56469 2004-05-11  Jim Meyering  <jim@meyering.net>
56470
56471         Prior to this change, the save_cwd caller required read access to the
56472         current directory on most systems (ones with the fchdir function).
56473
56474         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
56475         fails, try write-only, and finally, resort to using xgetcwd.
56476
56477 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
56478
56479         * lib/obstack.c, obstack.h: Import changes from libc.
56480
56481 2004-04-28  Bruno Haible  <bruno@clisp.org>
56482
56483         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
56484         also implicitly appends .exe to executables.
56485         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
56486         accepts Windows pathnames.
56487         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
56488         Treat Cygwin like Windows, since it now accepts Windows pathnames.
56489         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
56490         Treat Cygwin like Windows, since it now accepts Windows pathnames.
56491         Reported by Derek Robert Price <derek@ximbiot.com>.
56492
56493 2004-04-21  Karl Berry  <karl@gnu.org>
56494
56495         * config/srclist.txt (localcharset.c): break sync.
56496
56497 2004-04-20  Paul Eggert  <eggert@twinsun.com>
56498
56499         * m4/host-os.m4: Add a copyright notice.
56500
56501 2004-04-20  Jim Meyering  <jim@meyering.net>
56502
56503         Change UTILS_ to gl_ in AC_DEFINE'd names.
56504         Change utils_- and jm_-prefixed variables, too.
56505         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
56506         UTILS_FUNC_MKDIR_TRAILING_SLASH.
56507         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
56508
56509         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
56510         Don't emit trailing blanks.
56511         Also rename jm_-prefixed variables to have gl_ prefix.
56512
56513         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
56514         Also rename jm_-prefixed variables to have gl_ prefix.
56515
56516         * m4/jm-macros.m4: Reflect the renamings.
56517         * m4/prereq.m4: Likewise.
56518
56519 2004-04-20  Jim Meyering  <jim@meyering.net>
56520
56521         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
56522         memory.
56523
56524 2004-04-20  Jim Meyering  <jim@meyering.net>
56525             Bruno Haible  <bruno@clisp.org>
56526
56527         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
56528         memory when realloc fails.
56529
56530 2004-04-19  Jim Meyering  <jim@meyering.net>
56531
56532         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
56533         now that readutmp.c may call `free (0)'.
56534
56535 2004-04-19  Bruno Haible  <bruno@clisp.org>
56536
56537         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
56538         * m4/inttypes_h.m4: Likewise.
56539         * m4/stdint_h.m4: Likewise.
56540         * m4/intmax_t.m4: Likewise.
56541         * m4/uintmax_t.m4: Likewise.
56542
56543 2004-04-18  Jim Meyering  <jim@meyering.net>
56544
56545         * m4/prereq.m4: Don't forbid jm_ prefix.
56546
56547         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
56548         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
56549         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
56550         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
56551         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
56552         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
56553         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
56554         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
56555         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
56556         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
56557         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
56558         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
56559         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
56560         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
56561         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
56562         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
56563         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
56564         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
56565         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
56566
56567 2004-04-18  Jim Meyering  <jim@meyering.net>
56568
56569         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
56570         failure, don't leak memory and do call END_UTMP_ENT.
56571
56572 2004-04-16  Jim Meyering  <jim@meyering.net>
56573
56574         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
56575         coreutils' stat program.
56576         (gl_PREREQ): Don't require jm_PREREQ_STAT.
56577
56578 2004-04-11  Paul Eggert  <eggert@twinsun.com>
56579
56580         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
56581         C89.
56582         (CHAR_BIT): Remove, since we assume C89.
56583         Include <stdint.h> if available, as per current Autoconf CVS advice.
56584
56585 2004-03-31  Jim Meyering  <jim@meyering.net>
56586
56587         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
56588         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
56589         * m4/xalloc.m4: Likewise.
56590
56591 2004-03-30  Paul Eggert  <eggert@twinsun.com>
56592
56593         Merge from coreutils.
56594
56595         * m4/inttostr.m4: New file.
56596         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
56597         Require AM_STDBOOL_H and gl_TIMESPEC instead.
56598         Require gl_CLOCK_TIME.
56599         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
56600
56601 2004-03-30  Paul Eggert  <eggert@twinsun.com>
56602
56603         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
56604         not bool, to be more consistent with Unix conventions.
56605         Suggested by Bruno Haible.
56606
56607         Merge from coreutils.
56608
56609         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
56610         * lib/umaxtostr.c: New files.
56611
56612         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
56613         the usual <time.h> dance.
56614         (get_date): Change signature to support fractional time stamps.
56615         All callers changed.
56616         * lib/getdate.y: Include "getdate.h" first, as we can now
56617         assume C89 and don't need to worry about 'const'.
56618         Similarly, include "unlocked-io.h" near start, not in middle.
56619         Include <limits.h>.
56620         (textint.value): Use long int rather than int.
56621         (textint.digits): Use size_t rather than int.
56622         (BILLION, LOG10_BILLION): New constants.
56623         (parser_control): New member rel_ns.  Members day_ordinal,
56624         time_zone, month, day, hour, minutes, rel_year, rel_month,
56625         rel_day, rel_hour, rel_minutes, rel_seconds
56626         are now long int, not int.  Member seconds is now struct timespec,
56627         not int.  New member timespec_seen.  Members dates_seen, days_seen,
56628         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
56629         not int.
56630         (%union.intval): Now long int, not int.
56631         New member timespec.
56632         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
56633         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
56634         (spec): Now is a timespec or an item list.
56635         (timespec, items): New nonterminals.
56636         (time, rel, relunit, number, get_date):
56637         Add support for fractional seconds.
56638         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
56639         (gmtime, localtime, mktime): Remove decls; not needed with C89.
56640         (to_hour): First arg is now long int, not int.
56641         (to_year): Returns long int, not int.
56642         Don't treat year -70 like 70.
56643         (tm_diff): Returns long int, not int.
56644         (lookup_word): Use bool instead of int when appropriate.
56645         (yylex): Use size_t for count, not int.
56646         Detect overflow when parsing large integer constants.
56647         Add support for fractions.
56648         (get_date): Make pointers 'const' if possible.
56649         Use more-portable code to detect integer overflow.
56650         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
56651         Don't use ctime; it's not reliable if the year has >4 digits.
56652
56653         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
56654         This is for compatibility with BSD.
56655
56656         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
56657         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
56658         From coreutils' system.h.
56659
56660         * lib/userspec.c: Don't include "posixver.h".
56661         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
56662         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
56663         compatible extension.  Simplify code by removing a boolean int
56664         that was always nonzero if a string was nonnull.
56665
56666 2004-03-30  Jim Meyering  <jim@meyering.net>
56667
56668         Merge from coreutils.
56669
56670         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
56671         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
56672         on some systems one must include <grp.h> before it.
56673         Reported by Christian Krackowizer.
56674
56675 2004-03-30  Jim Meyering  <jim@meyering.net>
56676
56677         Merge from coreutils.
56678
56679         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
56680
56681         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
56682         an empty input stream.
56683
56684         * lib/readtokens.c: Include <stdbool.h>.
56685         (readtoken): Use `size_t' rather than int/long.
56686         All callers adjusted.
56687         Use `bool' rather than `int' where appropriate.
56688         Use memset rather than an explicit loop.
56689         Use x2nrealloc rather than xrealloc.
56690         Allow the use of `\0' as a delimiter.
56691         (readtokens): Likewise.
56692         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
56693
56694 2004-03-30  Jim Meyering  <jim@meyering.net>
56695
56696         * m4/realloc.m4: Remove file, since now it does no more than
56697         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
56698         the `configure.ac' section of module/realloc.
56699         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
56700
56701 2004-03-30  Bruno Haible  <bruno@clisp.org>
56702
56703         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
56704         nonnull.
56705
56706 2004-03-29  Paul Eggert  <eggert@twinsun.com>
56707
56708         Merge changes to getloadavg.c from coreutils and Emacs.
56709
56710         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
56711         Define to an expression, not to the empty string.
56712         Include cloexec.h and xalloc.h.
56713         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
56714         Use set_cloexec_flag rather than rolling our own.
56715         * lib/cloexec.c, lib/cloexec.h: New files.
56716
56717 2004-03-29  Paul Eggert  <eggert@twinsun.com>
56718
56719         * m4/cloexec.m4: New file.
56720
56721 2004-03-18  Paul Eggert  <eggert@twinsun.com>
56722
56723         * lib/getopt.h: Sync with libc CVS.
56724
56725 2004-03-18  Paul Eggert  <eggert@twinsun.com>
56726             Bruno Haible  <bruno@clisp.org>
56727
56728         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
56729         mbswidth.
56730
56731 2004-03-18  Paul Eggert  <eggert@twinsun.com>
56732             Bruno Haible  <bruno@clisp.org>
56733
56734         * lib/mbswidth.h: Include <wchar.h> only if
56735         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
56736         <wchar.h>.
56737         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
56738
56739 2004-03-09  Paul Eggert  <eggert@twinsun.com>
56740
56741         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
56742         Sync with libc CVS.
56743         * lib/getopt_int.h: New file, also synced from libc.
56744
56745 2004-03-09  Paul Eggert  <eggert@twinsun.com>
56746
56747         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
56748         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
56749         Bring back getopt.c, getopt.h, getopt1.c.
56750
56751 2004-03-07  Paul Eggert  <eggert@twinsun.com>
56752
56753         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
56754         All uses changed.  Check for sa_sigaction member; this fixes
56755         a bug first reported by Jason Andrade in
56756         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
56757
56758 2004-03-07  Paul Eggert  <eggert@twinsun.com>
56759
56760         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
56761         '#if' expressions.  Unlike the code it replaces, it does not
56762         depend on (defined _SC_PAGESIZE).  However, it does depend on
56763         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
56764         first reported by Jason Andrade in
56765         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
56766
56767 2004-02-25  Simon Josefsson  <jas@extundo.com>
56768
56769         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
56770
56771 2004-02-25  Simon Josefsson  <jas@extundo.com>
56772
56773         * lib/strdup.h: New file.
56774         * lib/strdup.c: Include it.
56775         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
56776         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
56777
56778 2004-02-23  Karl Berry  <karl@gnu.org>
56779
56780         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
56781         (from fencepost.gnu.org:/gd/gnuorg).
56782
56783 2004-02-23  Karl Berry  <karl@gnu.org>
56784
56785         * config/srclistvars.sh (GNUORG) [karl]: redefine.
56786         * config/srclist.txt: add maintain/standards documents.
56787
56788 2004-02-18  Bruno Haible  <bruno@clisp.org>
56789
56790         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
56791         Reported by Derek Robert Price <derek@ximbiot.com>.
56792
56793 2004-02-16  Karl Berry  <karl@gnu.org>
56794
56795         * config/mkinstalldirs, install-sh: update from automake.
56796
56797 2004-02-06  Karl Berry  <karl@gnu.org>
56798
56799         * m4/po.m4: update from gettext 0.14.1.
56800
56801 2004-02-06  Karl Berry  <karl@gnu.org>
56802
56803         * lib/config.charset: update from gettext 0.14.1.
56804
56805 2004-02-05  Paul Eggert  <eggert@twinsun.com>
56806
56807         Add comments and code, prompted by suggestions from Bruno Haible
56808         for sh-quote.
56809         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
56810         describing the enum quoting_style values.
56811         * lib/quotearg.c (quotearg_alloc): New function.
56812         (quotearg_buffer_restyled): Treat lone { and } as special.
56813         Treat = as special.  Work around bug with older shells
56814         that "see" a '\' that is really the 2nd byte of a multibyte char.
56815         Quote empty string with shell_quoting_style.
56816
56817 2004-02-03  Bruno Haible  <bruno@clisp.org>
56818
56819         * m4/pipe.m4: New file, from GNU gettext.
56820
56821 2004-02-03  Bruno Haible  <bruno@clisp.org>
56822
56823         * lib/pipe.h: New file, from GNU gettext.
56824         * lib/pipe.c: New file, from GNU gettext.
56825
56826 2004-01-27  Bruno Haible  <bruno@clisp.org>
56827
56828         * m4/execute.m4: New file, from GNU gettext.
56829
56830 2004-01-27  Bruno Haible  <bruno@clisp.org>
56831
56832         * lib/execute.h: New file, from GNU gettext.
56833         * lib/execute.c: New file, from GNU gettext.
56834         * lib/w32spawn.h: New file, from GNU gettext.
56835
56836 2004-01-24  Paul Eggert  <eggert@twinsun.com>
56837
56838         Merge from diffutils.
56839
56840         * lib/file-type.c (file_type): Add typed memory objects.
56841         * lib/file-type.h (S_TYPEISTMO): New macro.
56842
56843         * lib/c-stack.h (c_stack_action): Remove argv argument.
56844         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
56845         (die): Don't calculate message unless segv_action returns.
56846         (get_stack_location, min_address_from_argv, max_address_from_argv,
56847         volatile stack_base, volatile_stack_size): Remove.
56848         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
56849         that every segmentation violation is a stack overflow.  (Ouch!)
56850         See Debian bug 136249 (still outstanding) for more info about why
56851         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
56852
56853 2004-01-24  Paul Eggert  <eggert@twinsun.com>
56854
56855         Exit-status fix from coreutils.
56856
56857         Use exit_failure consistently in place of EXIT_FAILURE,
56858         so that program exit statuses are consistent on failure.
56859
56860         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
56861         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
56862         * lib/argmatch.h: Comment fix to match the above.
56863         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
56864         Now a macro referring to exit_failure, instead of a separate
56865         variable.  Include "exitfail.h" to get it.
56866         * lib/xstrtol.h: Include "exitfail.h".
56867         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
56868
56869         * lib/long-options.c (parse_long_options): Use prototype
56870         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
56871         for clarity.
56872
56873 2004-01-21  Jim Meyering  <jim@meyering.net>
56874
56875         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
56876         so as not to conflict with a different-sized __mktime_internal
56877         function in GNU libc.
56878         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
56879         Problem building statically-linked `ls' reported by Michael Brunnbauer.
56880
56881 2004-01-20  Karl Berry  <karl@gnu.org>
56882
56883         * config/config.guess: update from config.
56884
56885         * config/srclistvars.sh: GNUWWWLICENSES for karl.
56886
56887 2004-01-20  Bruno Haible  <bruno@clisp.org>
56888
56889         Safer stack allocation.
56890         * lib/setenv.c: Include allocsa.h.
56891         (alloca): Remove fallback definition.
56892         (freea): Remove macro.
56893         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
56894         instead of freea.
56895
56896 2004-01-20  Bruno Haible  <bruno@clisp.org>
56897
56898         * m4/eealloc.m4: New file, from GNU gettext.
56899
56900 2004-01-20  Bruno Haible  <bruno@clisp.org>
56901
56902         * m4/allocsa.m4: New file, from GNU gettext.
56903
56904 2004-01-20  Bruno Haible  <bruno@clisp.org>
56905
56906         * lib/xallocsa.h: New file, from GNU gettext.
56907         * lib/xallocsa.c: New file, from GNU gettext.
56908
56909 2004-01-20  Bruno Haible  <bruno@clisp.org>
56910
56911         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
56912
56913 2004-01-20  Bruno Haible  <bruno@clisp.org>
56914
56915         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
56916         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
56917         specially.
56918
56919 2004-01-20  Bruno Haible  <bruno@clisp.org>
56920
56921         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
56922         patch.
56923
56924 2004-01-20  Bruno Haible  <bruno@clisp.org>
56925
56926         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
56927
56928 2004-01-20  Bruno Haible  <bruno@clisp.org>
56929
56930         * lib/eealloc.h: New file.
56931
56932 2004-01-20  Bruno Haible  <bruno@clisp.org>
56933
56934         * lib/binary-io.h: Avoid warnings on Cygwin.
56935
56936 2004-01-20  Bruno Haible  <bruno@clisp.org>
56937
56938         * lib/allocsa.h: New file, from GNU gettext.
56939         * lib/allocsa.c: New file, from GNU gettext.
56940
56941 2004-01-18  Karl Berry  <karl@gnu.org>
56942
56943         * doc/gpl.texi, doc/lgpl.texi: new files.
56944
56945 2004-01-18  Karl Berry  <karl@gnu.org>
56946
56947         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
56948         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
56949
56950 2004-01-15  Paul Eggert  <eggert@twinsun.com>
56951
56952         Merge from coreutils.
56953
56954         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
56955         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
56956         (gl_DEFAULT_POSIX2_VERSION): Move
56957         the documentation from 'configure' into 'config.hin',
56958         so that 'configure --help' isn't burdened by it and
56959         we don't have to worry about its formatting there.
56960         Reword the documentation so that it's more succinct
56961         and can be run together into a single paragraph.
56962         * m4/same.m4 (gl_SAME): Check for pathconf.
56963
56964 2004-01-15  Paul Eggert  <eggert@twinsun.com>
56965
56966         Merge from coreutils.
56967
56968         * lib/posixver.c: Include posixver.h.
56969
56970         * lib/same.c: Include <stdbool.h>, <limits.h>.
56971         (_POSIX_NAME_MAX): Define if not defined.
56972         (MIN): New macro.
56973         (same_name): If file names are silently truncated, report
56974         that the file names are the same if they are the same after
56975         the silent truncation.
56976
56977         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
56978         conversion function.
56979         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
56980         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
56981         longer needed.
56982
56983 2004-01-15  Jim Meyering  <jim@meyering.net>
56984
56985         Merge from coreutils.
56986
56987         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
56988         if no library is required.
56989         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
56990         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
56991         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
56992         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
56993         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
56994         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
56995         value, $ac_cv_search_crypt, if it's "none required".
56996         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
56997         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
56998         not gl_FUNC_GETLOADAVG.
56999         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
57000         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
57001
57002 2004-01-15  Jim Meyering  <jim@meyering.net>
57003
57004         Merge from coreutils.
57005
57006         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
57007         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
57008         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
57009
57010         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
57011         optional configure-time default.
57012
57013         * lib/version-etc.c (version_etc_copyright): Update copyright date.
57014
57015         * lib/xreadlink.c (xreadlink): Correct outdated comment.
57016
57017 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
57018
57019         Merge from coreutils.
57020
57021         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
57022         value, $ac_cv_search_nanosleep, if it's "none required".
57023
57024 2004-01-14  Paul Eggert  <eggert@twinsun.com>
57025
57026         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
57027         with like-named macro in fnmatch.c.
57028         (EXT): Use an internal constant instead.
57029
57030         Merge fnmatch patches from glibc.
57031         * lib/fnmatch.c (mbsinit): Remove define.
57032         Add libc_hidden_ver (__fnmatch, fnmatch).
57033         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
57034         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
57035
57036 2004-01-14  Karl Berry  <karl@gnu.org>
57037
57038         * config/install-sh: update from automake.
57039
57040 2004-01-13  Karl Berry  <karl@gnu.org>
57041
57042         * config/install-sh: update from automake.
57043
57044 2004-01-09  Karl Berry  <karl@gnu.org>
57045
57046         * config/install-sh: update from automake.
57047
57048 2004-01-05  Karl Berry  <karl@gnu.org>
57049
57050         * config/config.{sub,guess}: update from config.
57051
57052 2003-12-31  Karl Berry  <karl@gnu.org>
57053
57054         * config/depcomp: update from automake.
57055
57056 2003-12-14  Karl Berry  <karl@gnu.org>
57057
57058         * lib/config.charset: update from gettext-runtime.
57059
57060 2003-12-03  Paul Eggert  <eggert@twinsun.com>
57061
57062         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
57063         Bug reported by Alfred M. Szmidt.
57064
57065 2003-12-03  Bruno Haible  <bruno@clisp.org>
57066
57067         * m4/gettext.m4: Upgrade from gettext-0.13.
57068         * m4/po.m4: Upgrade from gettext-0.13.
57069         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
57070         * m4/intmax.m4: New file, from gettext-0.13.
57071         * m4/printf-posix.m4: New file, from gettext-0.13.
57072
57073 2003-11-29  Karl Berry  <karl@gnu.org>
57074
57075         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
57076
57077 2003-11-25  Paul Eggert  <eggert@twinsun.com>
57078             Bruno Haible  <bruno@clisp.org>
57079
57080         * lib/printf-parse.h: Don't include sys/types.h.
57081         (ARG_NONE): New macro.
57082         (char_directive): Change type of *arg_index fields to size_t.
57083         * lib/printf-parse.c: Don't include sys/types.h.
57084         (SSIZE_MAX): Remove macro.
57085         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
57086         Remove unnecessary overflow check.
57087         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
57088         fields.
57089
57090 2003-11-25  Bruno Haible  <bruno@clisp.org>
57091
57092         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
57093
57094 2003-11-25  Bruno Haible  <bruno@clisp.org>
57095
57096         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
57097         gt_TYPE_SSIZE_T.
57098
57099 2003-11-24  Paul Eggert  <eggert@twinsun.com>
57100
57101         * modules/alloca: Remove dependency on xalloc.
57102
57103 2003-11-24  Paul Eggert  <eggert@twinsun.com>
57104
57105         * lib/alloca.c: Remove dependency on xalloc module.
57106         (xalloc_die): Remove.
57107         (memory_full) [!defined emacs]: New macro.
57108         [!defined emacs]: Don't include xalloc.h.
57109         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
57110         address arithmetic overflows.  Change datatypes a bit to avoid
57111         unnecessary casts.
57112
57113 2003-11-22  Jim Meyering  <jim@meyering.net>
57114
57115         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
57116         s/size/size_t/.
57117
57118 2003-11-21  Karl Berry  <karl@gnu.org>
57119
57120         * config/config.{sub,guess}: update from config.
57121
57122 2003-11-18  Karl Berry  <karl@gnu.org>
57123
57124         * config/config.{sub,guess}: update from config.
57125
57126         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
57127
57128 2003-11-17  Paul Eggert  <eggert@twinsun.com>
57129
57130         * README: Mention that S+T cannot overflow if S is the size of
57131         an existing object and T is sufficiently small.
57132
57133 2003-11-17  Jim Meyering  <jim@meyering.net>
57134
57135         On systems without utime and without a utimes function capable of
57136         dealing with a NULL struct utimbuf* argument, this utime replacement
57137         could -- in unusual circumstances -- leak a file descriptor.
57138         * lib/utime.c: Include <unistd.h> and <errno.h>.
57139         (utime_null): Be sure to close `fd' and to preserve errno.
57140         Reported by Geoff Collyer via Arnold Robbins.
57141
57142 2003-11-17  Bruno Haible  <bruno@clisp.org>
57143
57144         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
57145         (Depends-on): Add xsize.
57146
57147 2003-11-17  Bruno Haible  <bruno@clisp.org>
57148
57149         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
57150
57151 2003-11-17  Bruno Haible  <bruno@clisp.org>
57152
57153         * lib/vasnprintf.c (alloca): Remove fallback definition.
57154         (freea): Remove definition.
57155         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
57156         Reported by Paul Eggert.
57157
57158 2003-11-16  Paul Eggert  <eggert@twinsun.com>
57159             Bruno Haible  <bruno@clisp.org>
57160
57161         Protect against address arithmetic overflow.
57162         * lib/printf-args.h: Include stddef.h.
57163         (arguments): Change type of field 'count' to size_t.
57164         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
57165         'unsigned int' where appropriate.
57166         * lib/printf-parse.h: Include sys/types.h.
57167         (char_directive): Change type of *arg_index fields to ssize_t.
57168         (char_directives): Change type of fields 'count', max_*_length to
57169         size_t.
57170         * lib/printf-parse.c: Include sys/types.h and xsize.h.
57171         (SSIZE_MAX): Define fallback value.
57172         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
57173         instead of 'int' where appropriate. Check a_allocated, d_allocated
57174         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
57175         * lib/vasnprintf.c: Include xsize.h.
57176         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
57177         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
57178         overflow. Avoid wraparound when converting a width or precision from
57179         decimal to binary.
57180
57181 2003-11-16  Bruno Haible  <bruno@clisp.org>
57182
57183         Update from GNU gettext.
57184         * lib/printf-parse.c: Generalize to it can be compiled for wide
57185         strings.
57186         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
57187         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
57188         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
57189         SNPRINTF): New macros.
57190         Don't include <alloca.h> if the file is used inside libintl.
57191         (local_wcslen): New function, for Solaris 2.5.1.
57192         (VASNPRINTF): Use it instead of wcslen.
57193
57194 2003-11-16  Bruno Haible  <bruno@clisp.org>
57195
57196         * lib/xsize.h (xmax): New function.
57197         (xsum, xsum3, xsum4): Declare as "pure" functions.
57198
57199 2003-11-12  Paul Eggert  <eggert@twinsun.com>
57200
57201         * modules/xalloc (Files): Undo latest change, since xalloc.h
57202         no longer needs SIZE_MAX or PTRDIFF_MAX.
57203
57204 2003-11-12  Paul Eggert  <eggert@twinsun.com>
57205
57206         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
57207         gl_PTRDIFF_MAX.
57208
57209 2003-11-12  Paul Eggert  <eggert@twinsun.com>
57210
57211         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
57212         "return", to pacify some unknown compiler.  Problem reported
57213         by Joerg Schilling.
57214
57215 2003-11-12  Paul Eggert  <eggert@twinsun.com>
57216
57217         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
57218         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
57219         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
57220         heuristic is just as accurate as far as we know, and it removes a
57221         dependency on size_max.m4 and ptrdiff_max.m4.
57222
57223 2003-11-11  Bruno Haible  <bruno@clisp.org>
57224
57225         * modules/xsize (Files): Add m4/size_max.m4.
57226         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
57227
57228 2003-11-11  Bruno Haible  <bruno@clisp.org>
57229
57230         * m4/size_max.m4: New file.
57231         * m4/ptrdiff_max.m4: New file.
57232         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
57233         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
57234         (gl_XALLOC): Invoke it.
57235
57236 2003-11-11  Bruno Haible  <bruno@clisp.org>
57237
57238         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
57239         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
57240         defined.
57241
57242 2003-11-10  Paul Eggert  <eggert@twinsun.com>
57243
57244         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
57245         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
57246         rejected some allocations of exactly SIZE_MAX - 2 bytes.
57247         From Bruno Haible.
57248         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
57249         not (size_t) -1, since it's defined here.
57250
57251 2003-11-09  Karl Berry  <karl@gnu.org>
57252
57253         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
57254
57255 2003-11-06  Paul Eggert  <eggert@twinsun.com>
57256
57257         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
57258         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
57259         Reject sizes of exactly SIZE_MAX bytes.
57260         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
57261         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
57262
57263 2003-11-05  Bruno Haible  <bruno@clisp.org>
57264
57265         * lib/xsize.h: Include limits.h, to avoid a possible collision with
57266         SIZE_MAX defined in <limits.h> on Solaris.
57267
57268 2003-11-04  Jim Meyering  <jim@meyering.net>
57269
57270         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
57271         variable names, rather than @VAR@.
57272         * modules/poll: Likewise.
57273
57274 2003-11-04  Bruno Haible  <bruno@clisp.org>
57275
57276         * modules/xsize: New file.
57277         * modules/linebreak: Depend on xsize.
57278         * MODULES.html.sh (func_all_modules): Add xsize.
57279
57280 2003-11-04  Bruno Haible  <bruno@clisp.org>
57281
57282         * m4/xsize.m4: New file.
57283
57284 2003-11-04  Bruno Haible  <bruno@clisp.org>
57285
57286         * lib/xsize.h: New file.
57287         * lib/linebreak.c: Include xsize.h.
57288         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
57289         argument for overflow.
57290         Suggested by Paul Eggert.
57291
57292 2003-11-03  Karl Berry  <karl@gnu.org>
57293
57294         * config/config.{guess,sub}: update from config.
57295
57296 2003-11-03  Jim Meyering  <jim@meyering.net>
57297
57298         * modules/userspec (lib_SOURCES): Add userspec.h.
57299         (Include): Add "userspec.h".
57300         Improve description.
57301
57302 2003-11-03  Jim Meyering  <jim@meyering.net>
57303
57304         * lib/userspec.c: Include "userspec.h".
57305         * lib/userspec.h: New file.
57306
57307 2003-11-03  Bruno Haible  <bruno@clisp.org>
57308
57309         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
57310
57311 2003-11-03  Bruno Haible  <bruno@clisp.org>
57312
57313         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
57314         available, to avoid (extremely rare) race condition.
57315         Suggested by Paul Eggert.
57316
57317 2003-11-02  Karl Berry  <karl@gnu.org>
57318
57319         * config/srclist.txt (vasprintf.c): sync broken, sigh.
57320
57321 2003-10-31  Paul Eggert  <eggert@twinsun.com>
57322
57323         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
57324         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
57325         (read_filesystem_list): Set and use me_type_malloced.
57326         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
57327         whatever the type happens to be), for brevity and consistency.
57328         Check for size calculation overflow on Alphas running OSF/1.
57329
57330 2003-10-31  Jim Meyering  <jim@meyering.net>
57331
57332         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
57333
57334         * lib/linebuffer.c: Include <string.h> for declaration of memset.
57335
57336 2003-10-30  Paul Eggert  <eggert@twinsun.com>
57337             Bruno Haible  <bruno@clisp.org>
57338
57339         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
57340         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
57341
57342 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
57343
57344         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
57345         netbsd*-gnu*.  Suggested by Robert Millan.
57346
57347 2003-10-29  Paul Eggert  <eggert@twinsun.com>
57348
57349         * modules/group-member: Depend on stdbool.
57350
57351 2003-10-29  Paul Eggert  <eggert@twinsun.com>
57352
57353         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
57354
57355 2003-10-29  Paul Eggert  <eggert@twinsun.com>
57356
57357         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
57358         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
57359         after the 'gnu' in these cases.  This fixes some bugs in the
57360         previous change, and is based on suggestions by Robert Millan.
57361
57362 2003-10-29  Paul Eggert  <eggert@twinsun.com>
57363
57364         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
57365         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
57366         no longer needed.
57367         * lib/quotearg.c (quotearg_n_options): Use it.
57368         * lib/group-member.c: Include <stdbool.h>.
57369         (free_group_info): Arg is now const *; don't free arg.
57370         (get_group_info): Now returns bool and accepts struct group_info *,
57371         rather than returning a malloc'ed struct group_info *.
57372         All uses changed.  Check for overflow in internal size calculation.
57373
57374         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
57375         rather than xmalloc/xrealloc.
57376         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
57377         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
57378         conformance bug: the old code used a pointer after freeing the
57379         storage that it addressed.
57380         * lib/hash.c (hash_initialize): Simplify the code by using
57381         xalloc_oversized rather than doing it by hand.
57382         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
57383         the buffer preserved.  Use free and xmalloc instead.
57384         * lib/quotearg.c (quotearg_n_options): Likewise.
57385         Use a simpler test for size overflow.  Don't use xalloc_oversized
57386         because unsigned int might be wider than size_t (!); this suggests
57387         that we should switch from unsigned int to size_t for slot numbers.
57388
57389 2003-10-28  Paul Eggert  <eggert@twinsun.com>
57390
57391         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
57392         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
57393         NetBSD kernels.  Requested by Richard Stallman.
57394
57395 2003-10-27  Paul Eggert  <eggert@twinsun.com>
57396
57397         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
57398         to allocate the returned structure.  Do not allocate a subarray,
57399         as x2nrealloc will do that.
57400         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
57401         instead of xnrealloc.
57402         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
57403
57404 2003-10-27  Bruno Haible  <bruno@clisp.org>
57405
57406         * lib/stdbool_.h: Better support for BeOS.
57407
57408 2003-10-26  Paul Eggert  <eggert@twinsun.com>
57409
57410         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
57411         now uses inline.
57412
57413 2003-10-26  Paul Eggert  <eggert@twinsun.com>
57414
57415         * lib/xalloc.h (xalloc_oversized): New static inline function, for
57416         callers that want to do their own size-overflow checking.  Include
57417         <stdbool.h>, since xalloc_oversized returns bool.
57418         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
57419         to use xalloc_oversized.
57420
57421         Add two functions x2realloc, x2nrealloc, for programs that grow
57422         arrays dynamically by doubling their sizes.
57423         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
57424         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
57425         New functions.
57426
57427         Port to C99 semantics for 'inline' of external functions.
57428         Bug reported by Bruno Haible.
57429         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
57430         with the old contents of xnmalloc.
57431         (xnmalloc, xmalloc): Use it.
57432         (xnrealloc_inline): New static inline function,
57433         with the old contents of xnrealloc.
57434         (xnrealloc, xrealloc): Use it.
57435
57436         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
57437         that.
57438
57439 2003-10-26  Karl Berry  <karl@gnu.org>
57440
57441         * config/srclist.txt (COPYING.DOC): no longer available from
57442         /gd/gnuorg; don't know where the ultimate source is.
57443
57444 2003-10-25  Paul Eggert  <eggert@twinsun.com>
57445
57446         Fix several address-calculation bugs in the hash modules,
57447         plus some minor code cleanup.
57448
57449         * lib/hash.h: Include <stdbool.h>, for bool.
57450         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
57451         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
57452         hash_get_n_entries, hash_get_max_bucket_length,
57453         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
57454         hash_rehash): Use size_t rather than unsigned.
57455         * lib/hash.c (struct hash_table, hash_get_n_buckets,
57456         hash_get_n_buckets_used, hash_get_n_entries,
57457         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
57458         hash_get_entries, hash_do_for_each, hash_string, is_prime,
57459         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
57460         Likewise.
57461         (SIZE_MAX): Define if not defined.
57462         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
57463         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
57464         hash_print):
57465         Use const * when possible.
57466         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
57467         (check_tuning): Fix bug: if tuning parameters were very close to
57468         0 or 1, rounding errors could have caused subscript violations.
57469         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
57470         (hash_initialize): Add 'fail:' label
57471         to free table and return NULL, and use it to simplify code.
57472         Use calloc rather than clearing the storage ourself.
57473         (hash_initialize, hash_rehash): Check for arithmetic overflow in
57474         buffer size calculations.
57475         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
57476         Include <stddef.h>, for size_t.
57477         * lib/hash-pjw.c (hash_pjw): Likewise.
57478         Switch to method described by Bruno Haible.
57479         Include <limits.h>, for CHAR_BIT.
57480         (SIZE_BITS): New macro.
57481
57482 2003-10-23  Paul Eggert  <eggert@twinsun.com>
57483
57484         * m4/getline.m4 (AM_FUNC_GETLINE):
57485         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
57486         hosts.  Problem reported by Derek Robert Price in
57487         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
57488         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
57489         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
57490
57491 2003-10-21  Paul Eggert  <eggert@twinsun.com>
57492
57493         * lib/getndelim2.c (getndelim2): When size calculation overflows,
57494         ceiling the allocation at NMAX bytes rather than silently
57495         discarding input bytes before NMAX is reached.  This makes
57496         a difference only if NMAX exceeds SIZE_MAX / 2.
57497
57498         * lib/obstack.c: Merge from glibc.
57499         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
57500         Add libc_hidden_def (_obstack_newchunk).
57501         (_obstack_free) [! defined _LIBC]: Remove.
57502         [defined _LIBC]: Make a strong alias from obstack_free, rather than
57503         a clone of the function body.
57504         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
57505         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
57506
57507         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
57508         glibc.
57509         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
57510         arg to memcpy.
57511
57512         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
57513         (obstack_ptr_grow_fast, obstack_int_grow_fast):
57514         Don't use lvalue casts, as GCC plans to remove support for them
57515         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
57516         was also present in the non-GCC version, indicating that this
57517         code had always been buggy and had never been widely used.
57518         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
57519         Use the fast variant of each macro, rather than copying the
57520         definiens of the fast variant; that way, we'll be more likely to
57521         catch future bugs in the fast variants.
57522
57523 2003-10-20  Bruno Haible  <bruno@clisp.org>
57524
57525         * modules/wait-process: New file.
57526         * MODULES.html.sh (func_all_modules): Add wait-process.
57527
57528 2003-10-20  Bruno Haible  <bruno@clisp.org>
57529
57530         * m4/wait-process.m4: New file.
57531
57532 2003-10-20  Bruno Haible  <bruno@clisp.org>
57533
57534         * lib/wait-process.h: New file, from GNU gettext.
57535         * lib/wait-process.c: New file, from GNU gettext.
57536
57537 2003-10-19  Jim Meyering  <jim@meyering.net>
57538
57539         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
57540         HPUX 10.20.
57541
57542 2003-10-18  Karl Berry  <karl@gnu.org>
57543
57544         * config/config.guess: update from config.
57545
57546 2003-10-16  Paul Eggert  <eggert@twinsun.com>
57547
57548         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
57549         (getgroups): First arg is int, not size_t.
57550         Don't let 'free' mangle errno.
57551
57552 2003-10-16  Paul Eggert  <eggert@twinsun.com>
57553
57554         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
57555
57556 2003-10-16  Karl Berry  <karl@gnu.org>
57557
57558         * config/config.{guess,sub}: update from config.
57559
57560 2003-10-16  Jim Meyering  <jim@meyering.net>
57561
57562         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
57563         memcpy.
57564
57565 2003-10-15  Paul Eggert  <eggert@twinsun.com>
57566
57567         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
57568         (SIZE_MAX): Remove.
57569         (new_exclude, add_exclude_file): Initial size no longer needs to
57570         be a power of 2.
57571         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
57572         our own address arithmetic overflow checking.
57573
57574         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
57575         (fnmatch): Do not alloca more than 2000 wide characters;
57576         instead, use malloc for large buffers.
57577         Check for address arithmetic overflow, and return -1
57578         with errno set to ENOMEM in that case.
57579         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
57580         (NEW_PATTERN): Do not alloca more than 8000 bytes;
57581         instead, return -1.  Check for address arithmetic overflow.
57582
57583 2003-10-14  Paul Eggert  <eggert@twinsun.com>
57584
57585         Handle invalid suffixes and overflow independently, so that
57586         callers can treat them independently as needed.  Fix some bugs in
57587         suffix handling, e.g., "100k@" was not diagnosed as an invalid
57588         suffix for a human-readable blocksize.  The major caller-visible
57589         change is the addition of a new
57590         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
57591         that both overflow and suffix chars were found.
57592
57593         * lib/human.c (humblock): Don't check separately for invalid suffix
57594         char; that is xstrtoumax's job (now that its bug is fixed).
57595         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
57596         INTMAX_MAX]: New macros.
57597         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
57598         TYPE_MAXIMUM): New macros.
57599         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
57600         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
57601         if overflow occurs, as it's what __strtol does and it's more useful
57602         in practice.
57603         (__xstrtol): If __strtol reports some error other than ERANGE,
57604         reflect it to the caller as LONGINT_INVALID.  If it reports
57605         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
57606         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
57607         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
57608         value.
57609         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
57610         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
57611         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
57612         [defined UINTMAX_MAX]: New macros.
57613
57614 2003-10-14  Bruno Haible  <bruno@clisp.org>
57615
57616         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
57617
57618 2003-10-14  Bruno Haible  <bruno@clisp.org>
57619
57620         * m4/sig_atomic_t: New file, from GNU gettext.
57621         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
57622
57623 2003-10-14  Bruno Haible  <bruno@clisp.org>
57624
57625         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
57626         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
57627         Also use volatile where needed.
57628
57629 2003-10-12  Paul Eggert  <eggert@twinsun.com>
57630
57631         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
57632         Change maintainer from Bruno Haible to 'all'.
57633
57634 2003-10-12  Paul Eggert  <eggert@twinsun.com>
57635
57636         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
57637
57638 2003-10-12  Paul Eggert  <eggert@twinsun.com>
57639
57640         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
57641         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
57642         and define in terms of the other primitives.
57643         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
57644         (SIZE_MAX): Define if not already defined.
57645         (array_size_overflow): New function.
57646         (xalloc_die): Abort instead of exiting if 'error' returns.
57647         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
57648         (xmalloc, xrealloc): Use them.
57649         (xcalloc): Check for address arithmetic overflow.
57650         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
57651         a bit faster than strcpy.
57652
57653 2003-10-10  Simon Josefsson  <jas@extundo.com>
57654
57655         * modules/argp (Depends-on): Add restrict and strcase.
57656
57657 2003-10-10  Simon Josefsson  <jas@extundo.com>
57658
57659         * m4/argp.m4: Add AC_C_INLINE.
57660
57661 2003-10-08  Paul Eggert  <eggert@twinsun.com>
57662
57663         Merge getpass from libc, plus a few fixes.
57664
57665         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
57666         Include <stdbool.h>.
57667         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
57668         __fsetlocking to empty.
57669         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
57670         do include <bits/libc-lock.h>.
57671         Do not include <fcntl.h>; not needed.
57672         [_LIBC]: Include <wchar.h>.
57673         (NOTCANCEL_MODE): New macro.
57674         (flockfile, funlockfile) [_LIBC]: New macros.
57675         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
57676         [!_LIBC]: New macros.
57677         (call_fclose): New function.
57678         (getpass): Use it.  Save tty stream separately; this simplifies the
57679         code and makes it more reliable if stdin happens to equal stdout.
57680         Invoke __fsetlocking on tty.
57681         Handle thread cancellation if needed.
57682         Namespace cleanup (use __tcgetattr, __getline).
57683         Use bool for Booleans.
57684         [USE_IN_LIBIO]: Handle wide streams.
57685         [!_LIBC]: Unconditionally do the fseek, since we don't know what
57686         stream might go where.
57687
57688         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
57689         doesn't have to include <stdio.h> before us.
57690         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
57691         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
57692         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
57693         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
57694         if not declared, so that we can use getpass.c code from libc without
57695         rewriting it.
57696         (flockfile, ftrylockfile, funlockfile): New macros.
57697
57698 2003-10-08  Paul Eggert  <eggert@twinsun.com>
57699
57700         * modules/getpass: Depend on stdbool.
57701
57702 2003-10-08  Paul Eggert  <eggert@twinsun.com>
57703
57704         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
57705
57706 2003-10-07  Karl Berry  <karl@gnu.org>
57707
57708         * config/config.{guess,sub}: update from config.
57709
57710 2003-10-06  Jim Meyering  <jim@meyering.net>
57711             Bruno Haible  <bruno@clisp.org>
57712
57713         This lets translators provide better translations for the
57714         "Written by ..." part of --version output.
57715         * lib/version-etc.h: Include stdarg.h.
57716         (version_etc_copyright): Declare as readonly.
57717         (version_etc): Make this function variadic with a NULL-terminated list
57718         of author name strings.
57719         (version_etc_va): New declaration.
57720         * lib/version-etc.c: Include stdarg.h, stdlib.h.
57721         (version_etc_copyright): Declare as readonly.
57722         (version_etc_va): New function. Provide a different translatable string
57723         for each possible number of authors < 10. Abbreviate when there are 10
57724         authors or more.
57725         (version_etc): Make this function variadic. Call version_etc_va.
57726         Suggestion from Gary V. Vaughan.
57727
57728         * lib/long-options.h (parse_long_options): Change prototype: the
57729         authors string is moved to the end and becomes variadic.
57730         * lib/long-options.c: Include stdarg.h.
57731         (parse_long_options): Make this function variadic, too.
57732         Call version_etc_va, not version_etc.
57733
57734 2003-10-06  Bruno Haible  <bruno@clisp.org>
57735
57736         * modules/version-etc-2: Remove file.
57737         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
57738
57739 2003-10-06  Bruno Haible  <bruno@clisp.org>
57740
57741         * modules/fatal-signal: New file.
57742         * MODULES.html.sh (func_all_modules): Add fatal-signal.
57743
57744 2003-10-06  Bruno Haible  <bruno@clisp.org>
57745
57746         * m4/fatal-signal.m4: New file.
57747         * m4/signalblocking.m4: New file, from GNU gettext.
57748
57749 2003-10-06  Bruno Haible  <bruno@clisp.org>
57750
57751         * lib/version-etc-2.h: Remove file.
57752         * lib/version-etc-2.c: Remove file.
57753
57754 2003-10-06  Bruno Haible  <bruno@clisp.org>
57755
57756         * lib/fatal-signal.h: New file, from GNU gettext.
57757         * lib/fatal-signal.c: New file, from GNU gettext.
57758
57759 2003-10-05  Paul Eggert  <eggert@twinsun.com>
57760
57761         * README: Rework advice for preventing empty .o files.
57762         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
57763         not <sys/types.h>.
57764
57765 2003-10-04  Karl Berry  <karl@gnu.org>
57766
57767         * lib/argp*: update from libc.
57768
57769 2003-10-04  Karl Berry  <karl@gnu.org>
57770
57771         * config/config.{guess,sub}: update from config.
57772
57773 2003-10-02  Bruno Haible  <bruno@clisp.org>
57774
57775         * modules/lchown (Include): Add lchown.h.
57776         * modules/time_r (Include): Use "..." syntax.
57777         * modules/xgetdomainname (Include): Add xgetdomainname.h.
57778
57779 2003-10-01  Simon Josefsson  <jas@extundo.com>
57780
57781         * MODULES.html.sh (func_all_modules): Move gethostname from section
57782         'based on' to section 'lacking' POSIX:2001.
57783
57784 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
57785
57786         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
57787         to output mode on the same stream.
57788
57789 2003-09-29  Paul Eggert  <eggert@twinsun.com>
57790
57791         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
57792         Fix arg typo in previous patch.
57793
57794 2003-09-28  Jim Meyering  <jim@meyering.net>
57795
57796         * lib/error.c: Correct cpp indentation.
57797
57798 2003-09-27  Paul Eggert  <eggert@twinsun.com>
57799
57800         * modules/free: New file.
57801
57802 2003-09-27  Paul Eggert  <eggert@twinsun.com>
57803
57804         * m4/free.m4: New file.
57805
57806 2003-09-27  Paul Eggert  <eggert@twinsun.com>
57807
57808         * lib/minmax.h (MIN, MAX)
57809         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
57810         Omit the special code that used __typeof__, since we worry that
57811         it could be more trouble than it's worth.  See:
57812         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
57813         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
57814
57815         * lib/free.c: New file.
57816
57817 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
57818
57819         Trivial fixes to Makefile.am parts of module listings.
57820         * modules/strstr: Append strstr.h to lib_SOURCES.
57821         * modules/strcase: Likewise, for strcase.h.
57822
57823 2003-09-27  Karl Berry  <karl@gnu.org>
57824
57825         * config/mkinstalldirs: update from automake.
57826
57827 2003-09-26  Paul Eggert  <eggert@twinsun.com>
57828
57829         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
57830         (error_tail): Do not loop, reallocating temporary buffer, since
57831         the output cannot contain more wide characters than the input
57832         contains bytes, the size must be big enough already.  This avoids
57833         one potential size overflow calculation.  Check for size overflow
57834         when calculating temporary buffer size.  Free temporary buffer
57835         when done, if it was allocated with malloc; this plugs a memory
57836         leak.  Remove casts from void * to pointers, that are no longer
57837         needed now that we're assuming C89 or better.
57838
57839         Merge error changes from glibc.
57840
57841         * lib/error.c, error.h: Update copyright notice header to match glibc.
57842         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
57843         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
57844         Disable cancellation while printing error.
57845         * lib/error.h: Prepend __ to parameter names.
57846
57847 2003-09-26  Jim Meyering  <jim@meyering.net>
57848
57849         * lib/error.c (error_tail): Move some declarations
57850         into inner scope where the local variables are used.
57851
57852 2003-09-26  Bruno Haible  <bruno@clisp.org>
57853
57854         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
57855         stpncpy().
57856         Don't define stpncpy through config.h; it's now done through stpncpy.h.
57857
57858 2003-09-26  Bruno Haible  <bruno@clisp.org>
57859
57860         * lib/stpncpy.h (gnu_stpncpy): New declaration.
57861         (stpncpy): Define as alias for gnu_stpncpy.
57862         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
57863
57864 2003-09-25  Simon Josefsson  <jas@extundo.com>
57865
57866         * lib/xgetdomainname.h: New file.
57867         * lib/xgetdomainname.c: New file.
57868
57869 2003-09-25  Simon Josefsson  <jas@extundo.com>
57870             Bruno Haible  <bruno@clisp.org>
57871
57872         * modules/getdomainname: New file.
57873         * modules/xgetdomainname: New file.
57874         * MODULES.html.sh (func_all_modules): Add getdomainname,
57875         xgetdomainname.
57876
57877 2003-09-25  Simon Josefsson  <jas@extundo.com>
57878             Bruno Haible  <bruno@clisp.org>
57879
57880         * m4/getdomainname.m4: New file.
57881
57882 2003-09-25  Simon Josefsson  <jas@extundo.com>
57883             Bruno Haible  <bruno@clisp.org>
57884
57885         * lib/getdomainname.h: New file.
57886         * lib/getdomainname.c: New file.
57887
57888 2003-09-25  Karl Berry  <karl@gnu.org>
57889
57890         * lib/argp-fmtstream.c, argp-help.c: update from libc.
57891
57892 2003-09-25  Karl Berry  <karl@gnu.org>
57893
57894         * config/install-sh: update from automake.
57895
57896 2003-09-25  Bruno Haible  <bruno@clisp.org>
57897
57898         * modules/version-etc-2: New file, from modules/version-etc with
57899         modifications.
57900         * MODULES.html.sh (func_all_modules): Add version-etc-2.
57901
57902 2003-09-25  Bruno Haible  <bruno@clisp.org>
57903
57904         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
57905         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
57906
57907 2003-09-24  Simon Josefsson  <jas@extundo.com>
57908
57909         * modules/xgethostname: Add xgethostname.h.
57910
57911 2003-09-24  Paul Eggert  <eggert@twinsun.com>
57912
57913         * lib/linebuffer.c (freebuffer): Don't free the argument, just
57914         the buffer associated with the argument.  Bug reported by
57915         Simon Josefsson.
57916
57917 2003-09-24  Paul Eggert  <eggert@twinsun.com>
57918
57919         * README: Document assumptions that 'int' is at least 32 bits
57920         wide, that integer arithmetic is 2's complement without overflow,
57921         that there are no holes in integer values, that adding sizes of
57922         two nonoverlapping objects can't overflow, and that all-bits-zero
57923         yields scalar zero.  Fix spelling and capitalization typos.
57924
57925 2003-09-19  Karl Berry  <karl@gnu.org>
57926
57927         * lib/argp.h: update from libc.
57928
57929 2003-09-17  Paul Eggert  <eggert@twinsun.com>
57930
57931         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
57932         to avoid spurious warnings like "AC_RUN_IFELSE was called before
57933         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
57934
57935 2003-09-17  Paul Eggert  <eggert@twinsun.com>
57936
57937         * gnulib-tool: Use "test -h", not "test -L", for portability
57938         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
57939         (tags_regexp): Remove, since \| doesn't conform to POSIX.
57940         (sed_extract_prog): Issue s commands one-by-one, rather than
57941         using \| in one s command.
57942
57943 2003-09-16  Paul Eggert  <eggert@twinsun.com>
57944
57945         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
57946         input error, instead of returning NULL the next time we are called
57947         (and therefore losing track of errno).
57948
57949 2003-09-16  Bruno Haible  <bruno@clisp.org>
57950
57951         * gnulib-tool (func_create_testdir): Warn about duplicated
57952         dependencies.
57953
57954 2003-09-15  Paul Eggert  <eggert@twinsun.com>
57955
57956         * modules/argmatch, modules/fatal, modules/obstack,
57957         modules/xalloc, modules/xgethostname: Sort dependencies by
57958         importance, not alphabetically.
57959
57960 2003-09-15  Paul Eggert  <eggert@twinsun.com>
57961
57962         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
57963         fails, so that the caller gets the proper errno.
57964
57965         * lib/readutmp.c (read_utmp): Likewise.
57966         Check for fstat error.  Close stream and free storage
57967         when failing.
57968
57969 2003-09-14  Karl Berry  <karl@gnu.org>
57970
57971         * config/srclist.txt (strdup.c): disable for c89 changes.
57972
57973 2003-09-14  Jim Meyering  <jim@meyering.net>
57974
57975         * lib/getloadavg.c: Correct cpp indentation.
57976         * lib/strdup.c: Likewise.
57977         * lib/vasnprintf.c: Likewise.
57978
57979 2003-09-14  Bruno Haible  <bruno@clisp.org>
57980
57981         * modules/fwriteerror: New file.
57982         * MODULES.html.sh (func_all_modules): Add fwriteerror.
57983
57984 2003-09-14  Bruno Haible  <bruno@clisp.org>
57985
57986         * lib/fwriteerror.h: New file.
57987         * lib/fwriteerror.c: New file.
57988
57989 2003-09-12  Paul Eggert  <eggert@twinsun.com>
57990
57991         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
57992         modules/xgethostname, modules/xalloc: Depend on exit.
57993
57994 2003-09-12  Paul Eggert  <eggert@twinsun.com>
57995
57996         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
57997
57998         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
57999         and AC_MINIX, too, so that their extensions are available.
58000
58001         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
58002         This macro has been superseded by gl_BACKUPFILE.
58003
58004         More patches to assume C89 or better.
58005
58006         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
58007
58008         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
58009         unconditionally.
58010         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
58011         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
58012         Include <string.h>, <stdlib.h> unconditionally.
58013         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
58014         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
58015         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
58016         headers or for string.h.
58017         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
58018         or strtoul.
58019
58020         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
58021         headers.
58022         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
58023         * m4/userspec.m4 (gl_USERSPEC): Likewise.
58024         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
58025         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
58026         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
58027         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
58028         memcpy, memset.
58029         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
58030         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
58031         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
58032         strtol.
58033         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
58034         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
58035         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
58036         strtoul.
58037
58038 2003-09-12  Paul Eggert  <eggert@twinsun.com>
58039
58040         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
58041         * lib/obstack.c [!defined _LIBC]: Likewise.
58042         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
58043         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
58044         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
58045
58046         More changes to assume C89 or better.
58047
58048         * lib/error.c (error_tail): Assume vprintf.
58049
58050         * lib/argmatch.c (getenv): Remove decl.
58051         * lib/progreloc.c (get_full_program_name): Define via prototype.
58052         * lib/setenv.c (clearenv): Likewise.
58053         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
58054         needed.
58055         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
58056         (malloc, memcpy): Remove decls.
58057         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
58058         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
58059         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
58060         (memcpy): Remove macro.
58061         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
58062         (__P): Remove.  All uses removed.
58063         (PTR): Remove.  All uses changed to void *.
58064         (CHAR_BIT, NULL): Remove.
58065         (spaces, zeros, memset_space, memset_zero)
58066         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
58067         Remove.
58068         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
58069         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
58070         Define with prototype.
58071         Remove now-unnecessary prototype decl.
58072         (extra_args_spec): Assume ANSI C.  All uses changed.
58073         (extra_args_spec_iso): Remove.
58074         (my_strftime, emacs_strftimeu): Define via prototype.
58075         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
58076         unconditionally.
58077         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
58078         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
58079         (strtoul, strtol): Remove decls.
58080         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
58081         LONG_MAX): Remove.
58082         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
58083         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
58084         (LOCALE_PARAM_PROTO): New macro.
58085         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
58086         (INTERNAL (strtol), strtol): Define with a prototype.
58087         (PARAMS): Remove.  All uses removed.
58088         * lib/tempname.c: Include <string.h> unconditionally.
58089         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
58090         * lib/xgethostname.c (main): Define with a prototype.
58091         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
58092         Include <stdlib.h> unconditionally.
58093         (calloc, malloc, realloc, free): Remove decls.
58094         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
58095         Include <stdlib.h> unconditionally.  Sort include file names.
58096         (strtod): Remove.
58097         (xstrtod): Define with a prototype.
58098         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
58099         (strtol, strtoul): Remove decls.
58100
58101 2003-09-11  Paul Eggert  <eggert@twinsun.com>
58102
58103         More patches to assume C89 or better.
58104         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
58105         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
58106         string.h, memchr, STDC_HEADERS.
58107
58108 2003-09-11  Paul Eggert  <eggert@twinsun.com>
58109
58110         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
58111         Include <stdlib.h>, <string.h> unconditionally.
58112         Remove now-unnecessary cast to char *.
58113         * lib/strnlen.c: Include <string.h> unconditionally.
58114         * lib/yesno.c (yesno): Define with a prototype.
58115
58116 2003-09-11  Bruno Haible  <bruno@clisp.org>
58117
58118         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
58119
58120 2003-09-10  Jim Meyering  <jim@meyering.net>
58121
58122         * lib/error.c: Correct indentation of cpp directives.
58123
58124 2003-09-10  Bruno Haible  <bruno@clisp.org>
58125
58126         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
58127         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
58128         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
58129         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
58130         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
58131         <stdlib.h> and <string.h> checks.
58132         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
58133         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
58134
58135 2003-09-10  Bruno Haible  <bruno@clisp.org>
58136
58137         * lib/strcspn.c: Include <string.h> unconditionally.
58138         * lib/strpbrk.c: Include <string.h> unconditionally.
58139         * lib/strstr.c: Include <string.h> unconditionally.
58140         * lib/unicodeio.c: Include <string.h> unconditionally.
58141         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
58142         * lib/unsetenv.c: Likewise.
58143         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
58144         * lib/yesno.c: Include <stdlib.h> unconditionally.
58145         (rpmatch): Add prototype.
58146
58147 2003-09-09  Paul Eggert  <eggert@twinsun.com>
58148
58149         More patches to assume C89 or better.
58150         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
58151         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
58152         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
58153         or for string.h.
58154         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
58155         stdlib.h.
58156         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
58157         C headers.
58158         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
58159         string.h.
58160         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
58161         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
58162         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
58163         or for string.h.
58164         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
58165         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
58166         C headers.
58167         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
58168         memcpy.
58169         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
58170         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
58171         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
58172         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
58173         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
58174         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
58175         string.h, free.
58176         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
58177         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
58178         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
58179         C headers, or for string.h.
58180         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
58181         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
58182         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
58183         headers, memory.h, stdlib.h, string.h, strings.h.
58184         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
58185         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
58186         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
58187         strchr.
58188         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
58189         headers, memory.h, string.h.
58190         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
58191         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
58192         free.
58193         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
58194         headers.
58195         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
58196         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
58197         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
58198         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
58199         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
58200
58201 2003-09-09  Paul Eggert  <eggert@twinsun.com>
58202
58203         More K&R removal.
58204
58205         * lib/acosl.c (main): Use a prototype.
58206         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
58207         tanl.c: Likewise.
58208
58209         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
58210
58211         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
58212         (getopt, etopt_long, getopt_long_only, _getopt_internal)
58213         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
58214         with a prototype.
58215         * lib/getopt.c (const): Remove macro.
58216         Include <string.h> unconditionally.
58217         (my_index): Remove; all uses changed to strchr.
58218         (strlen): Remove decl.
58219         (exchange): Remove forward decl; no longer needed.
58220         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
58221         Define with prototype.
58222         * lib/getopt1.c (const): Remove macro.
58223         (getopt_long, getopt_long_only, main): Define with prototype.
58224
58225         * lib/getugroups.c: Include <string.h> unconditionally.
58226
58227         * lib/getusershell.c: Include <stdlib.h> unconditionally.
58228         (getusershell, setusershell, endusershell, readname, main):
58229         Define with prototypes.
58230
58231         * lib/group-member.c: Include group-member.h first.
58232         Include <stdlib.h> unconditionally.
58233
58234         * lib/hard-locale.c: Include hard-locale.h first.
58235         Include <stdlib.h>, <string.h> unconditionally.
58236
58237         * lib/hash.c (free, malloc): Remove decls.
58238         Include <stdlib.h> unconditionally.
58239
58240         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
58241         (getenv): Do not declare.
58242
58243         * lib/idcache.c: Include <string.h> unconditionally.
58244
58245         * lib/long-options.c: Include long-options.h first, to test interface.
58246         Include <stdlib.h> unconditionally.
58247
58248         * lib/makepath.c: Include makepath.h first, to test interface.
58249         Include <stdlib.h> and <string.h> unconditionally.
58250
58251         * lib/linebuffer.c: Include <stdlib.h>.
58252         (free): Remove decl.
58253
58254         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
58255         stddef.h. rpl_malloc returns void *, not char *.
58256         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
58257         prototype.
58258
58259         * lib/md5.h: Include <limits.h> unconditionally.
58260         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
58261         (__P): Remove; all uses removed.
58262         * lib/md5.c: Include "md5.h" first.
58263         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
58264         md5_buffer, md5_process_bytes, md5_process_block):
58265         Define with prototypes.
58266         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
58267         * lib/sha.c: Include "sha.h" first.
58268         Include <stdlib.h>, <string.h> unconditionally.
58269
58270         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
58271         * lib/memcmp.c (__ptr_t): Likewise.
58272         * lib/memrchr.c (__ptr_t): Likewise.
58273         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
58274         Include <string.h> unconditionally.
58275         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
58276         * lib/memchr.c: Include <stdlib.h> unconditionally.
58277         * lib/memchr.c (LONG_MAX): Remove.
58278         * lib/memrchr.c (LONG_MAX): Likewise.
58279         * lib/memchr.c (__memchr): Define via a prototype.
58280         * lib/memrchr.c (__memrchr): Likewise.
58281         * lib/memcmp.c (__P): Remove, and remove all uses.
58282         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
58283         Remove forward decls; no longer needed.
58284         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
58285         Use types required by C89 in prototype.
58286
58287         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
58288         * lib/savedir.c: Likewise.
58289         * lib/mkdir.c (free): Remove decl.
58290         * lib/rmdir.c (rmdir): Define with a prototype.
58291         * lib/savedir.c: Include savedir.h first, to test interface.
58292
58293         * lib/mktime.c (STDC_HEADERS): Remove.
58294         Include <stdlib.h>, <string.h> unconditionally.
58295
58296         * lib/modechange.c: Include <stdlib.h> unconditionally.
58297         (malloc): Remove decl.
58298
58299         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
58300         (free): Remove decl.
58301
58302         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
58303         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
58304         (This type really should be intptr_t, but that's a C99ism.)
58305         (_obstack_memcpy): Remove: all uses changed to memcpy.
58306         Include <string.h> unconditionally.
58307         (struct obstack): Assume __STDC__ for types of members
58308         chunkfun, freefun, extra_arg.
58309         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
58310         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
58311         obstack_begin, obstack_specify_allocation,
58312         obstack_specify_allocation_with_arg, obstack_chunkfun,
58313         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
58314         Remove unprototyped decls and the macros that use them.
58315         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
58316         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
58317         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
58318         (defined __STDC__ && __STDC__)]:
58319         Remove nonprototyped code.
58320         Include <stdlib.h> unconditionally.
58321         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
58322         _obstack_allocated_p, _obstack_free, obstack_free,
58323         _obstack_memory_used, print_and_abort):
58324         Define using prototypes.
58325         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
58326         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
58327         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
58328         obstack_next_free, obstack_object_size, obstack_room) [0]:
58329         Remove unused, unprototyped code.
58330
58331         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
58332
58333         * lib/physmem.c (physmem_total, physmem_available, main): Define
58334         with prototypes.
58335
58336         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
58337         (main): Define with a prototype.
58338
58339         * lib/posixver.c (getenv): Remove decl.
58340
58341         * lib/putenv.c (malloc): Returns void *, not char *.
58342         Include <string.h> unconditionally.
58343         (strchr, memcpy, NULL): Do not define.
58344
58345         * lib/readtokens.c: Include readtokens.h first, to test interface.
58346         Include <stdlib.h>, <string.h> unconditionally.
58347         (init_tokenbuffer): Define with a prototype.
58348
58349         * lib/regex.c (PARAMS): Remove.  All uses removed.
58350         All uses of _RE_ARGS removed, too.
58351         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
58352         unconditionally.
58353         (bzero): Assume memset exists.
58354         (memcmp, memcpy, NULL): Remove.
58355         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
58356         char, or assignments to local vars of type signed char.
58357         (init_syntax_once, PREFIX(extract_number_and_incr),
58358         PREFIX(print_partial_compiled_pattern),
58359         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
58360         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
58361         PREFIX(regex_grow_registers), PREFIX(regex_compile),
58362         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
58363         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
58364         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
58365         wcs_compile_range, byte_compile_range, truncate_wchar,
58366         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
58367         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
58368         count_mbs_length, wcs_re_match_2_internal,
58369         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
58370         PREFIX(alt_match_null_string_p),
58371         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
58372         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
58373         regfree, PREFIX(extract_number)): Define with prototype.  Remove
58374         now-unnecessary declaration, if any.
58375         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
58376         regcomp, regexec):
58377         Remove now-unnecessary casts among pointer types.
58378         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
58379
58380         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
58381         (free): Remove decl.
58382
58383         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
58384
58385         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
58386         (free): Remove decl.
58387
58388         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
58389         * lib/xgetcwd.c: Likewise.
58390
58391         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
58392         (free): Remove decl.
58393
58394         * lib/strchrnul.c (strchrnul): Define with a prototype.
58395         Fix bug: c_in was not converted to char before searching.
58396
58397         The following changes are not K&R related:
58398
58399         * lib/group-member.h: Include <sys/types.h>, so that this file is
58400         self-contained.
58401         * lib/makepath.h: Likewise.
58402
58403         * lib/getusershell.c (readname, default_index, line_size, readname):
58404         Use size_t, not int, for sizes.
58405         (readname): If the size overflows, report an error instead of
58406         looping forever.
58407
58408 2003-09-09  Paul Eggert  <eggert@twinsun.com>
58409
58410         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
58411         libc.
58412
58413 2003-09-09  Paul Eggert  <eggert@twinsun.com>
58414
58415         * README: New section: portability guidelines.
58416
58417 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
58418
58419         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
58420         C89 spec.
58421
58422 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
58423
58424         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
58425
58426 2003-09-08  Paul Eggert  <eggert@twinsun.com>
58427
58428         Assume C89 or better; remove K&R cruft.
58429         A few of these changes were first proposed by Derek Robert Price
58430         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
58431
58432         * lib/addext.c: Include <string.h> unconditionally.
58433         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
58434         Don't declare getenv or malloc.
58435
58436         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
58437         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
58438         (NULL): Remove.
58439         (find_stack_direction, alloca): Use prototypes.
58440
58441         * lib/atexit.c (atexit): Define using a prototype.
58442
58443         * lib/basename.c, dirname.c, stripslash.c:
58444         Include <string.h> unconditionally.
58445
58446         * lib/bcopy.c: Include <stddef.h>.
58447         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
58448
58449         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
58450
58451         * lib/error.h (error, error_at_line, error_print_progname)
58452         [! (defined (__STDC__) && __STDC__)]: Remove decls.
58453         * lib/error.c: Include error.h first, to check interface.
58454         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
58455         (VA_START): Remove; all uses changeed to va_start.
58456         (exit, strerror): Remove decls.
58457         (error_print_progname): Prototype uncondionally.
58458         Don't include <errno.h>; no longer needed.
58459         (private_strerror): Remove.
58460         (error_tail): Always define.
58461         (error, error_at_line): Assume C89 or better; always use prototypes.
58462         * lib/fatal.c: Include "fatal.h" first, to test interface.
58463         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
58464         (VA_START): Remove; all uses changed to va_start.
58465         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
58466         this case.
58467         (exit): Remove decl.
58468         (fatal): Prototype unconditionally.  Assume va_start works.
58469         Abort at end, to pacify gcc.
58470
58471         * lib/euidaccess.c (main): Define with a prototype.
58472
58473         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
58474
58475         * lib/exitfail.c: Include <stdlib.h> unconditionally.
58476
58477         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
58478         prototypes.
58479         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
58480         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
58481         (getenv): Remove decl.
58482         (fnmatch): Define using a prototype.
58483         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
58484         (FCT): Define using a prototype.
58485
58486         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
58487
58488         * lib/gethostname.c: Include <stddef.h>.
58489         (gethostname): Define with prototype.  Length is size_t, not int.
58490
58491 2003-09-08  Paul Eggert  <eggert@twinsun.com>
58492
58493         Assume C89 or better; remove K&R cruft.
58494         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
58495         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
58496         string.h, getenv, malloc.
58497         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
58498         headers.
58499         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
58500         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
58501         do not check for strerror.
58502         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
58503         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
58504         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
58505         do not check for doprnt or vprintf.
58506         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
58507         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
58508
58509 2003-09-08  Paul Eggert  <eggert@twinsun.com>
58510
58511         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
58512         getversion.c should have been removed then, but was accidentally
58513         preserved.
58514
58515         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
58516         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
58517
58518 2003-09-08  Karl Berry  <karl@gnu.org>
58519
58520         * config/config.sub, config.guess, srclistvars.sh: update from savannah
58521                 config, forget about prep.
58522
58523         * config/depcomp, missing: update from automake.
58524
58525 2003-09-07  Paul Eggert  <eggert@twinsun.com>
58526
58527         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
58528         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
58529
58530 2003-09-07  Paul Eggert  <eggert@twinsun.com>
58531
58532         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
58533         copy_tm_result.  Bug reported by Simon Josefsson in
58534         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
58535
58536 2003-09-06  Paul Eggert  <eggert@twinsun.com>
58537
58538         * m4/time_r.m4: New file.
58539         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
58540         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
58541         is. Check for timegm declaration.
58542         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
58543         Do not check for gmtime_r.
58544         Replace mktime if __mktime_internal does not exist and if mktime
58545         hasn't been replaced already.
58546
58547 2003-09-06  Paul Eggert  <eggert@twinsun.com>
58548
58549         * lib/time_r.c, lib/time_r.h: New files.
58550
58551         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
58552         __localtime_r.
58553         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
58554         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
58555
58556         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
58557         __gmtime_r.
58558         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
58559         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
58560         Include <time_r.h>.
58561
58562         * lib/timegm.c: Switch to glibc implementation, with the following
58563         changes:
58564         [defined HAVE_CONFIG_H]: Include <config.h>.
58565         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
58566         (__mktime_internal) [!defined _LIBC]: New decl.
58567         (__gmtime_r) [!defined _LIBC]: New macro and function.
58568         (timegm): Use a prototype, since gnulib assumes C89.
58569         Do not bother declaring tmp to be const, as it's not really usefu.
58570         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
58571         (timegm): Declare only if HAVE_DECL_TIMEGM.
58572
58573 2003-09-06  Paul Eggert  <eggert@twinsun.com>
58574
58575         * MODULES.html.sh (func_all_modules): Add time_r.
58576         * modules/time_r: New file.
58577         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
58578         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
58579
58580 2003-09-03  Paul Eggert  <eggert@twinsun.com>
58581
58582         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
58583         Bug reported by Lute Kamstra in
58584         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
58585
58586         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
58587         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
58588         course with correspondingly smaller numbers for tomorrow and
58589         yesterday.  From Tadayoshi Funaba.  Originally installed into
58590         sh-utils on 1999-08-07, but the patch got lost (I guess during the
58591         coreutils merge?).
58592
58593 2003-08-31  Simon Josefsson  <jas@extundo.com>
58594
58595         * modules/timegm: New file.
58596         * MODULES.html.sh (func_all_modules): Add timegm.
58597
58598 2003-08-31  Simon Josefsson  <jas@extundo.com>
58599
58600         * m4/timegm.m4: New file.
58601
58602 2003-08-31  Simon Josefsson  <jas@extundo.com>
58603
58604         * lib/timegm.h: New file.
58605         * lib/timegm.c: New file.  Based on
58606         wget-1.8.2/src/http.c:mktime_from_utc.
58607
58608 2003-08-31  Karl Berry  <karl@gnu.org>
58609
58610         * lib/argp.h: update from libc.
58611
58612 2003-08-28  Bruno Haible  <bruno@clisp.org>
58613
58614         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
58615         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
58616         followed by '#define fnmatch fnmatch_posix' gives an error.
58617
58618 2003-08-28  Bruno Haible  <bruno@clisp.org>
58619
58620         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
58621         warning on QNX, which defines O_BINARY to 000000.
58622
58623 2003-08-27  Jim Meyering  <jim@meyering.net>
58624
58625         * m4/mkstemp.m4: Require that the system mkstemp be able to create
58626         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
58627         would fail after 32.  Reported by Danny Levinson.  Details here:
58628         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
58629
58630 2003-08-24  Bruno Haible  <bruno@clisp.org>
58631
58632         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
58633         MSVC7 <stdio.h> is included later.
58634
58635 2003-08-22  Simon Josefsson  <jas@extundo.com>
58636
58637         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
58638
58639 2003-08-20  Karl Berry  <karl@gnu.org>
58640
58641         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
58642
58643 2003-08-20  Bruno Haible  <bruno@clisp.org>
58644
58645         * modules/progname: New file.
58646         * MODULES.html.sh (func_all_modules): Add progname.
58647
58648 2003-08-20  Bruno Haible  <bruno@clisp.org>
58649
58650         * lib/progname.h: New file, from GNU gettext.
58651         * lib/progname.c: New file, from GNU gettext.
58652         * lib/progreloc.c: New file, from GNU gettext.
58653
58654 2003-08-19  Jim Meyering  <jim@meyering.net>
58655
58656         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
58657         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
58658
58659 2003-08-19  Bruno Haible  <bruno@clisp.org>
58660
58661         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
58662         more.
58663
58664 2003-08-19  Bruno Haible  <bruno@clisp.org>
58665
58666         * lib/xstrdup.c: Assume <string.h> exists.
58667
58668 2003-08-18  Paul Eggert  <eggert@twinsun.com>
58669
58670         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
58671         in makefile rules.
58672
58673 2003-08-18  Jim Meyering  <jim@meyering.net>
58674
58675         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
58676         * m4/lib-ld.m4: Likewise.
58677
58678 2003-08-18  Jim Meyering  <jim@meyering.net>
58679
58680         * lib/setenv.h: Indent nested cpp directive.
58681         * lib/vasnprintf.c: Remove trailing blanks.
58682
58683 2003-08-17  Simon Josefsson  <jas@extundo.com>
58684
58685         * modules/xstrndup: New file.
58686         * MODULES.html.sh (func_all_modules): Add xstrndup.
58687
58688 2003-08-17  Simon Josefsson  <jas@extundo.com>
58689
58690         * modules/argp: Fix autoconf macro name. Add more dependencies.
58691
58692 2003-08-17  Simon Josefsson  <jas@extundo.com>
58693
58694         * m4/xstrndup.m4: New file.
58695
58696 2003-08-17  Simon Josefsson  <jas@extundo.com>
58697
58698         * m4/argp.m4: New file.
58699
58700 2003-08-17  Simon Josefsson  <jas@extundo.com>
58701             Bruno Haible  <bruno@clisp.org>
58702
58703         * lib/xstrndup.h: New file.
58704         * lib/xstrndup.c: New file.
58705
58706 2003-08-17  Bruno Haible  <bruno@clisp.org>
58707
58708         * modules/strndup (Files, Include): Add lib/strndup.h.
58709
58710 2003-08-17  Bruno Haible  <bruno@clisp.org>
58711
58712         * modules/euidaccess (Files): Add lib/euidaccess.h.
58713
58714 2003-08-17  Bruno Haible  <bruno@clisp.org>
58715
58716         * lib/strndup.h: New file.
58717
58718 2003-08-17  Bruno Haible  <bruno@clisp.org>
58719
58720         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
58721         like AC_GNU_SOURCE.
58722         * modules/extensions (configure.ac): Comment out the invocation of
58723         gl_USE_SYSTEM_EXTENSIONS.
58724
58725 2003-08-16  Paul Eggert  <eggert@twinsun.com>
58726
58727         Merges from coreutils, etc.
58728         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
58729         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
58730         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
58731         fixing a typo.
58732         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
58733         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
58734
58735 2003-08-16  Paul Eggert  <eggert@twinsun.com>
58736
58737         Document merge from coreutils.
58738         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
58739         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
58740         * modules/utime: Add m4/utimes-null.m4.
58741
58742 2003-08-16  Paul Eggert  <eggert@twinsun.com>
58743
58744         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
58745         space, undoing this 2003-08-12 change:
58746         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
58747
58748 2003-08-16  Paul Eggert  <eggert@twinsun.com>
58749
58750         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
58751         strtoul.c from libc, undoing this 2003-08-12 change:
58752         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
58753
58754 2003-08-16  Jim Meyering  <jim@meyering.net>
58755
58756         Merges from coreutils.
58757         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
58758         prefix.  Adjust cache variables similarly.  Create 500 rather than
58759         just 300 files, to exercise bug on Darwin6.5, too.
58760         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
58761         $missing_dir.
58762         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
58763         AM_SYS_POSIX_TERMIOS.
58764         Reported by mkc@mathdogs.com.
58765         Also change use of $am_cv_sys_posix_termios
58766         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
58767         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
58768         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
58769         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
58770         in /proc/mounts until it finds one with matching device number.  This
58771         is unnecessary when the FILE argument *is* a mount point.  No stat call
58772         is necessary in that case.  So, disable the statvfs-testing code on
58773         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
58774         as RedHat bug# 84846.
58775         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
58776         to 1MB, so as not to render systems with no stack size limit (e.g.,
58777         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
58778         Include <unistd.h>.  On some systems,
58779         it is required for the definition of _SC_PAGESIZE.
58780
58781 2003-08-16  Jim Meyering  <jim@meyering.net>
58782
58783         Merge from coreutils.
58784         * lib/xstrtoimax.c: #else #if -> #elif.
58785         * lib/xstrtoumax.c: Likewise.
58786
58787 2003-08-16  Jim Meyering  <jim@meyering.net>
58788
58789         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
58790         * m4/utimes.m4: Removed.
58791         * m4/utimes-null.m4: Renamed from utimes.m4.
58792
58793         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
58794         to 1MB, so as not to render systems with no stack size limit (e.g.,
58795         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
58796         Include <unistd.h>.  On some systems,
58797         it is required for the definition of _SC_PAGESIZE.
58798
58799 2003-08-16  Jim Meyering  <jim@meyering.net>
58800         and Paul Eggert  <eggert@cs.ucla.edu>
58801
58802         Merges from coreutils, etc.
58803
58804         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
58805         using the latest version from cvs.  This avoids problems with #line
58806         directives using a vendor (Sun) compiler.
58807         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
58808         Don't set GETGROUPS_LIB here; now it's
58809         done via getgroups.m4's wrapper function.
58810         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
58811         rather than just in sh-util/configure.in, so that the
58812         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
58813         same.
58814         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
58815         AC_FUNC_GETLOADAVG where to find getloadavg.c.
58816         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
58817         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
58818         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
58819         Remove code that is now done by the newly-required macros.
58820         Append $(EXEEXT) to DF_PROG.
58821         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
58822         Do not invoke or require the following here,
58823         since prereq.m4 or some gnulib .m4 now does this for us:
58824         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
58825         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
58826         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
58827         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
58828         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
58829         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
58830         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
58831         AC_FUNC_OBSTACK.
58832         Do not replace the following functions, as this is now the job
58833         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
58834         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
58835         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
58836         atexit getpass, strdup, getpagesize.
58837         Replace 'raise'.
58838         Do not check for the following functions, as this is now the job
58839         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
58840         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
58841         setregid.
58842         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
58843         Check for sys/sysctl.h.
58844         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
58845         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
58846         of checking for ssize_t ourselves.
58847
58848         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
58849         Require every macro that gnulib/modules/* suggests for us.
58850         (jm_PREREQ_ADDEXT): New macro.
58851         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
58852         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
58853
58854         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
58855         (gl_PHYSMEM): Use it.
58856         Also check for `table' function.
58857         Check for new headers and functions.
58858         Add check for sys/sysmp.h.
58859         With suggestions from Kaveh Ghazi.
58860         Ignore headers that are present but cannot be compiled.  This
58861         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
58862         C 5.4.
58863
58864 2003-08-15  Paul Eggert  <eggert@twinsun.com>
58865
58866         Document merge from coreutils.
58867         * modules/userspec: Depend on posixver.
58868         * modules/strftime: Depend on tzset.
58869
58870 2003-08-15  Paul Eggert  <eggert@twinsun.com>
58871
58872         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
58873         rather than tab, after '#' in shell-script copyright notices.
58874         Suggested by Bruno Haible.
58875
58876 2003-08-15  Paul Eggert  <eggert@twinsun.com>
58877
58878         * config/srclist-update: Use three spaces, rather than tab, after '#'
58879         in shell-script copyright notices.  Suggested by Bruno Haible.
58880         Remove unnecessary parenthesization in regular expression.
58881
58882 2003-08-15  Jim Meyering  <jim@meyering.net>
58883
58884         Merge from coreutils.
58885         * lib/xgethostname.c: Include <stdlib.h>.
58886         (xghostname): Don't exit for anything other than memory-related
58887         failure; just return NULL.
58888         * lib/userspec.c: Include "posixver.h".
58889         (parse_user_spec): Accept `.' as a separator only
58890         in pre-POSIX-200112 mode.
58891         * lib/strtoimax.c: Use #elif rather than #else #if.
58892         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
58893         Remove function, now that we can rely on a working tzset function.
58894         [!_LIBC]: Ensure that the required autoconf test has been run.
58895         [!defined _NL_CURRENT && HAVE_STRFTIME]:
58896         Use underlying_strftime for %r.
58897         * lib/sha.c: Merge in some clean-up and optimization changes from
58898         glibc.
58899         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
58900         Ensure that it is a multiple of 64.
58901         Rearrange loop exit tests so as to avoid performing an
58902         additional fread after encountering an error or EOF.
58903         * lib/realloc.c: Update copyright date.
58904
58905 2003-08-15  Jim Meyering  <jim@meyering.net>
58906         and Paul Eggert  <eggert@twinsun.com>
58907
58908         Merge from coreutils.
58909         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
58910         member but strut utmpx does not.  Needed for AIX 4.3.3.
58911         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
58912
58913 2003-08-15  Jim Meyering  <jim@meyering.net>
58914         and Paul Eggert  <eggert@cs.ucla.edu>
58915
58916         Merges from coreutils, etc.
58917         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
58918         Require gl_FUNC_TZSET_CLOBBER.
58919         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
58920         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
58921         members.
58922
58923 2003-08-14  Paul Eggert  <eggert@twinsun.com>
58924
58925         Help the merge from coreutils.
58926         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
58927         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
58928         * m4/tzset.m4: Use it too.
58929
58930 2003-08-14  Paul Eggert  <eggert@twinsun.com>
58931
58932         * modules/tzset: New file.
58933
58934 2003-08-14  Jim Meyering  <jim@meyering.net>
58935
58936         Merges from coreutils.
58937         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
58938         variable names, rather than @FNMATCH_H@.
58939         * modules/alloca: Likewise for $(ALLOCA_H).
58940
58941         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
58942         the three copies of the literal target, `fnmatch.h'.
58943         * modules/alloca (alloca.h): Likewise.
58944
58945 2003-08-14  Jim Meyering  <jim@meyering.net>
58946
58947         Merge from coreutils.
58948         * m4/tzset.m4: New file.
58949         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
58950         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
58951         otherwise, AIX 5.1 systems would end up using the latter.
58952         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
58953         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
58954         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
58955         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
58956
58957 2003-08-14  Jim Meyering  <jim@meyering.net>
58958
58959         Merge from coreutils.
58960         * lib/obstack.h: Whitespace changes.
58961         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
58962         and xcalloc return values.
58963         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
58964         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
58965         hang on OSF/1 5.1 for DIR on both local and remote file systems.
58966         Reported by (and fix confirmed by) Nelson H. F. Beebe.
58967         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
58968         error from mntctl.
58969         Use mntctl's return value to drive the entry-processing loop, since
58970         we can't rely on the value of the vmt_length member in the last
58971         entry.  On some systems doing so could result in exhausting
58972         virtual memory.  Based in part on a patch from Mike Jetzer.
58973
58974 2003-08-14  Jim Meyering  <jim@meyering.net>
58975         and Paul Eggert  <eggert@twinsun.com>
58976
58977         Merges from coreutils, plus other fixes.
58978         * lib/physmem.c: Merge in portability changes from gcc/libiberty
58979         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
58980         for credits and details.  Thanks to Kaveh Ghazi for helping
58981         to keep these files in sync.
58982         (ARRAY_SIZE): Define it.
58983         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
58984         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
58985         (memcasecmp): Don't assume size_t fits in unsigned int.
58986         Remove casts and duplicate code.
58987         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
58988         (memcpy): Remove definition.
58989         Merge in some clean-up and optimization changes from glibc.
58990         [BLOCKSIZE]: Move definition to top of file.
58991         Ensure that it is a multiple of 64.
58992         Rearrange loop exit tests so as to avoid performing an
58993         additional fread after encountering an error or EOF.
58994         * lib/md5.h (md5_uintptr): Define.
58995         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
58996         return to the initial working directory.  Preserve errno
58997         for caller.
58998         * lib/idcache.c: Include "xalloc.h".
58999         (xmalloc, xrealloc): Remove decls.
59000         (getuser): Remove casts no longer required in C89.
59001         * lib/human.c: Include stdio.h, for sprintf.
59002         * lib/group-member.c: Include "xalloc.h".
59003         (xmalloc, xrealloc): Remove decls.
59004         (get_group_info): Remove casts no longer required in C89.
59005         * lib/getusershell.c (readname): Remove casts no longer required in
59006         C89.
59007         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
59008         * lib/getline.c: Whitespace fix, from coreutils.
59009
59010 2003-08-13  Paul Eggert  <eggert@twinsun.com>
59011
59012         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
59013         Check for isascii.
59014
59015         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
59016         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
59017         Undo previous (whitespace-only) change.
59018
59019 2003-08-13  Paul Eggert  <eggert@twinsun.com>
59020
59021         * lib/exclude.c: Include <ctype.h>
59022         (IN_CTYPE_DOMAIN): New macro.
59023         (is_space): New fn.
59024         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
59025         and empty lines.
59026
59027         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
59028         Undo previous (whitespace-only) change.
59029
59030 2003-08-13  Paul Eggert  <eggert@twinsun.com>
59031
59032         * config/srclist-update: Change update back to the old behavior,
59033         leaving whitespace alone.  Use one 'sed' command rather than a
59034         pipeline.
59035         (fixlicense): Now a variable, not a function.
59036         (remove_trailing_blanks): Remove.
59037         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
59038         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
59039         Undo previous (whitespace-only) change.
59040
59041 2003-08-12  Paul Eggert  <eggert@twinsun.com>
59042
59043         Merge from coreutils.
59044         * modules/euidaccess: Add lib_SOURCES, include for new
59045         file euidaccess.h
59046
59047 2003-08-12  Paul Eggert  <eggert@twinsun.com>
59048
59049         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
59050         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
59051         Normalize leading white space and remove trailing white space.
59052
59053         Merge from coreutils
59054         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
59055
59056         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
59057         0.12.1.  These files are now being upgraded automatically by
59058         ../config/srclist-update.
59059
59060 2003-08-12  Paul Eggert  <eggert@twinsun.com>
59061
59062         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
59063         Normalize leading white space and remove trailing white space.
59064         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
59065         notice, as per ../config/srclist-update.
59066
59067         Merge from coreutils.
59068         * lib/euidaccess.h: New file.
59069         * lib/euidaccess.c: Include it.
59070         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
59071         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
59072         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
59073
59074 2003-08-12  Paul Eggert  <eggert@twinsun.com>
59075
59076         * config/srclist-update: Add copyright notice.
59077         (remove_id_lines, remove_trailing_blanks): New constants.
59078         (fixfile): Use them to normalize spacing a bit in copied files.
59079         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
59080         Normalize leading white space and remove trailing white space.
59081
59082         * config/texinfo.tex: Sync with texinfo.
59083
59084         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
59085         strtoul.c from libc, to merge coreutils whitespace changes.
59086
59087         * config/srclist.txt: Get the following m4 files from gettext:
59088         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
59089         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
59090         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
59091         wint_t.m4.
59092
59093 2003-08-12  Karl Berry  <karl@gnu.org>
59094
59095         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
59096         been made.
59097
59098 2003-08-11  Paul Eggert  <eggert@twinsun.com>
59099
59100         * modules/gnu-source, m4/gnu-source.m4:
59101         Remove; we're assuming Autoconf 2.54 or later now.
59102         Suggested by Bruno Haible.
59103         * MODULES.html.sh (func_all_modules): Remove gnu-source.
59104
59105 2003-08-11  Bruno Haible  <bruno@clisp.org>
59106
59107         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
59108
59109 2003-08-11  Bruno Haible  <bruno@clisp.org>
59110
59111         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
59112         (vasnprintf): Use it instead of wcslen.
59113
59114 2003-08-11  Bruno Haible  <bruno@clisp.org>
59115
59116         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
59117         value to ensure that _Bool promotes to int. Use #define for _Bool when
59118         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
59119
59120 2003-08-10  Karl Berry  <karl@gnu.org>
59121
59122         * lib/regex.h: update from libc (whitespace fix).
59123
59124 2003-08-09  Paul Eggert  <eggert@twinsun.com>
59125
59126         Merge some files from coreutils.  These changes were
59127         originally made by Jim Meyering.
59128         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
59129         many older Unixes require this.
59130         * lib/alloca.c (alloca): Remove cast to argument of free;
59131         no longer needed in C89.
59132         * lib/alloca_.h, regex.h: Fix white space to match
59133         what GNU indent does.
59134
59135 2003-08-09  Paul Eggert  <eggert@twinsun.com>
59136
59137         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
59138         apparently Emacs's Unicode mode got confused before my 2003-08-05
59139         checkin.
59140
59141 2003-08-08  Paul Eggert  <eggert@twinsun.com>
59142
59143         * m4/extensions.m4: New file.
59144         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
59145         Require gl_USE_SYSTEM_EXTENSIONS.
59146         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
59147         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
59148
59149 2003-08-08  Paul Eggert  <eggert@twinsun.com>
59150
59151         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
59152         * modules/extensions, modules/gnu-source: New files.
59153         * modules/timespec, modules/unlocked-io: Depend on extensions.
59154
59155 2003-08-07  Paul Eggert  <eggert@twinsun.com>
59156
59157         * modules/restrict: New file.
59158         * MODULES.html.sh (func_all_modules): Add restrict.
59159         * modules/regex: Depend on restrict.
59160
59161 2003-08-07  Paul Eggert  <eggert@twinsun.com>
59162
59163         * m4/restrict.m4: New file.
59164         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
59165
59166 2003-08-07  Bruno Haible  <bruno@clisp.org>
59167
59168         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
59169         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
59170
59171 2003-08-07  Bruno Haible  <bruno@clisp.org>
59172
59173         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
59174         makes the module 'getndelim2' compatible with the module 'getline'.
59175
59176 2003-08-05  Paul Eggert  <eggert@twinsun.com>
59177
59178         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
59179         byte with "\201" to avoid glitches when editing that source file
59180         with multi-gnome-terminal.
59181
59182 2003-08-05  Paul Eggert  <eggert@twinsun.com>
59183
59184         * lib/bumpalloc.h: Remove.
59185
59186 2003-08-05  Paul Eggert  <eggert@twinsun.com>
59187
59188         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
59189         * modules/bumpalloc: Remove.
59190
59191 2003-08-04  Paul Eggert  <eggert@twinsun.com>
59192
59193         * lib/getloadavg.c: Change copyright notice and spacing to conform to
59194         GNU coding style.
59195
59196         Merge from coreutils.
59197         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
59198         1. From glibc.
59199         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
59200         from Karl Berry, implemented by Jim Meyering.
59201         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
59202         from Dmitry V. Levin.
59203         Remove anachronistic cast of xrealloc.
59204         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
59205         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
59206         type. Otherwise, it wouldn't compile with at least /bin/cc on
59207         ymp-cray-unicos9.0.2.X.
59208         Combine two mostly-identical uses of alloca into one.
59209         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
59210
59211 2003-08-04  Dave Love  <d.love@dl.ac.uk>
59212
59213         [From Emacs.]
59214
59215         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
59216         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
59217         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
59218         obsolete NLIST_NAME_UNION.
59219         [__GNU__]: Undef BSD and FSCALE.
59220         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
59221
59222 2003-08-03  Paul Eggert  <eggert@twinsun.com>
59223
59224         * lib/stdbool_.h (_Bool): Make it signed char, instead of
59225         an enum type, so that it's guaranteed to promote to int.  See:
59226         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
59227
59228 2003-08-03  Karl Berry  <karl@gnu.org>
59229
59230         * config/depcomp: update from automake.
59231
59232 2003-07-31  Paul Eggert  <eggert@twinsun.com>
59233
59234         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
59235         (strerror): Don't assume that a printable int fits in 14 bytes.
59236
59237 2003-07-31  Bruno Haible  <bruno@clisp.org>
59238
59239         * modules/getpass-gnu: New file.
59240         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
59241
59242 2003-07-31  Bruno Haible  <bruno@clisp.org>
59243
59244         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
59245
59246 2003-07-24  Karl Berry  <karl@gnu.org>
59247
59248         * config/missing: update from automake.
59249
59250 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
59251             Bruno Haible  <bruno@clisp.org>
59252
59253         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
59254         * lib/getline.c (getline, getdelim): Likewise.
59255         Remove _GNU_SOURCE define; now it's defined in config.h through
59256         m4/getline.m4.
59257
59258 2003-07-23  Karl Berry  <karl@gnu.org>
59259
59260         * config/config.sub: update from prep.
59261
59262 2003-07-22  Paul Eggert  <eggert@twinsun.com>
59263
59264         * modules/xalloc (Depends-on): Add exitfail.
59265         * modules/xmemcoll: Likewise.
59266
59267 2003-07-22  Paul Eggert  <eggert@twinsun.com>
59268
59269         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
59270         over-parenthesization in macros.
59271
59272         Sync with coreutils.
59273
59274         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
59275         required by C99.
59276
59277         Use `exit_failure' for xalloc and xmemcoll instead of their own
59278         private exit-failure variables.
59279         * lib/xalloc.h (xalloc_exit_failure): Remove.
59280         * lib/xmalloc.c: Likewise.  Include exitfail.h.
59281         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
59282         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
59283         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
59284         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
59285
59286 2003-07-20  Jim Meyering  <jim@meyering.net>
59287
59288         * modules/closeout (Depends-on): Add exitfail.
59289         Suggestion from Bruno Haible.
59290
59291 2003-07-19  Karl Berry  <karl@gnu.org>
59292
59293         * config/config.sub: update from prep.
59294
59295 2003-07-18  Paul Eggert  <eggert@twinsun.com>
59296
59297         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
59298         Remove.
59299         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
59300         to test that it can stand by itself.  Include "exitfail.h".
59301         Clients should set exit_failure instead.
59302         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
59303
59304 2003-07-18  Bruno Haible  <bruno@clisp.org>
59305
59306         * modules/getndelim2: New file.
59307         * modules/getline: Share files with module getndelim2.
59308         * modules/getnline: Depend on getndelim2 instead of sharing files with
59309         it. Add getnline.c to lib_SOURCES.
59310         * MODULES.html.sh (func_all_modules): Add getndelim2.
59311
59312 2003-07-18  Bruno Haible  <bruno@clisp.org>
59313
59314         * m4/getndelim2.m4: New file.
59315         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
59316         invoke gl_PREREQ_GETNDELIM2.
59317         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
59318         gl_PREREQ_GETNDELIM2.
59319         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
59320         gl_GETNDELIM2.
59321
59322 2003-07-18  Bruno Haible  <bruno@clisp.org>
59323
59324         * lib/getndelim2.h: New file.
59325         * lib/getndelim2.c: Make into a module of its own. Include config.h,
59326         getndelim2.h.
59327         (getndelim2): Make non-static. Change return type to ssize_t.
59328         * lib/getline.h: Change argument names.
59329         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
59330         * lib/getnline.c: Include getndelim2.h.
59331
59332 2003-07-18  Andreas Schwab  <schwab@suse.de>
59333
59334         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
59335
59336 2003-07-17  Karl Berry  <karl@gnu.org>
59337
59338         * config/config.sub: update from prep.
59339
59340 2003-07-17  Bruno Haible  <bruno@clisp.org>
59341
59342         * modules/getnline: New file.
59343         * modules/getline: Add lib/getndelim2.c to source file list.
59344         * MODULES.html.sh (func_all_modules): Add getnline.
59345
59346 2003-07-17  Bruno Haible  <bruno@clisp.org>
59347
59348         * m4/getnline.m4: New file.
59349
59350 2003-07-17  Bruno Haible  <bruno@clisp.org>
59351
59352         * m4/Makefile.am.in: Remove file.
59353         * m4/Makefile.am: Remove file.
59354         * m4/Makefile.in: Remove file.
59355
59356 2003-07-17  Bruno Haible  <bruno@clisp.org>
59357
59358         * lib/getnline.h: New file.
59359         * lib/getnline.c: New file.
59360         * lib/getndelim2.c: New file, extracted from getline.c.
59361         (getndelim2): Renamed from getdelim2, with added nmax argument.
59362         * lib/getline.c: Include getndelim2.c.
59363         (getdelim2): Moved out to getndelim2.c.
59364         (getline, getdelim): Update.
59365
59366 2003-07-17  Bruno Haible  <bruno@clisp.org>
59367
59368         * lib/Makefile.am: Remove file.
59369         * lib/Makefile.in: Remove file.
59370
59371 2003-07-17  Bruno Haible  <bruno@clisp.org>
59372
59373         * configure.in: Remove file.
59374         * Makefile.in: Remove file.
59375
59376 2003-07-17  Bruno Haible  <bruno@clisp.org>
59377
59378         * MODULES.html.sh: Put the </BODY> right before </HTML>.
59379
59380 2003-07-16  Karl Berry  <karl@gnu.org>
59381
59382         * config/srclist-update: was running fixlicense twice, which caused
59383                 texinfo.tex to be nullified for some reason.  Simplify,
59384                 $gplsrc is no longer needed as far as I can see?
59385
59386 2003-07-16  Jim Meyering  <jim@meyering.net>
59387
59388         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
59389
59390 2003-07-15  Paul Eggert  <eggert@twinsun.com>
59391
59392         * config/srclist.txt: Get the following files from gettext-runtime/intl
59393         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
59394         ref-del.sin.  From Bruno Haible.
59395         * config/srclist-update (fixfile): Change grep pattern again, since the
59396         previous fix didn't work (there was another trailing $).  Use
59397         '[$]' to escape the $s.
59398
59399 2003-07-15  Karl Berry  <karl@gnu.org>
59400
59401         * lib/vasnprintf.c: update from gettext.
59402
59403 2003-07-15  Karl Berry  <karl@gnu.org>
59404
59405         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
59406         gets expanded when surrounded by '$'.
59407
59408 2003-07-15  Jim Meyering  <jim@meyering.net>
59409
59410         * modules/save-cwd: Don't depend on error.  From Derek Price.
59411
59412 2003-07-15  Jim Meyering  <jim@meyering.net>
59413
59414         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
59415
59416 2003-07-14  Simon Josefsson  <jas@extundo.com>
59417
59418         * modules/mempcpy: New file.
59419         * MODULES.html.sh (func_all_modules): Add mempcpy.
59420
59421 2003-07-14  Simon Josefsson  <jas@extundo.com>
59422
59423         * m4/mempcpy.m4: New file.
59424
59425 2003-07-14  Simon Josefsson  <jas@extundo.com>
59426
59427         * lib/mempcpy.h: New file.
59428         * lib/mempcpy.c: New file.
59429
59430 2003-07-14  Paul Eggert  <eggert@twinsun.com>
59431
59432         * modules/getdate, modules/posixtm: Depend on mktime.
59433
59434 2003-07-14  Paul Eggert  <eggert@twinsun.com>
59435
59436         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
59437         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
59438         unicodeio.c, unicodeio.h, unlocked-io.h:
59439         Switch from LGPL to GPL.
59440
59441 2003-07-14  Paul Eggert  <eggert@twinsun.com>
59442
59443         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
59444         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
59445         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
59446         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
59447         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
59448         updated automatically by ../config/srclist-update.  This changes
59449         their license from LPGL to GPL.
59450
59451 2003-07-14  Paul Eggert  <eggert@twinsun.com>
59452
59453         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
59454         assumed to refer to the root of the most recent stable gettext version.
59455         * config/srclistvars.sh: Add defaults for eggert.
59456         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
59457         Match "This program" as well as "The program".  This is needed
59458         for gettext.
59459
59460 2003-07-14  Jim Meyering  <jim@meyering.net>
59461
59462         Don't emit diagnostics.  Let callers do that.
59463         * lib/save-cwd.c: Don't include "error.h".
59464         (save_cwd): Don't call error.  Ensure that errno is valid
59465         when returning nonzero.
59466
59467         * lib/save-cwd.h (restore_cwd): Update prototype.
59468         * lib/save-cwd.c (restore_cwd): Remove two parameters.
59469         Simplify.  Don't call error upon failure.  Let callers do that.
59470         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
59471         when auditing is enabled.  But don't bother updating the #if.
59472
59473 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
59474
59475         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
59476         it breaks C++ compilation.
59477         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
59478
59479 2003-07-10  Simon Josefsson  <jas@extundo.com>
59480
59481         * modules/strchrnul (Makefile.am): Add strchrnul.h.
59482
59483 2003-07-10  Jim Meyering  <jim@meyering.net>
59484
59485         * m4/clock_time.m4: Remove trailing blank.
59486         * m4/intmax_t.m4: Likewise.
59487
59488 2003-07-10  Jim Meyering  <jim@meyering.net>
59489
59490         * lib/vasnprintf.c: Remove trailing blanks.
59491         Make cpp indentation consistent.
59492
59493 2003-07-09  Paul Eggert  <eggert@twinsun.com>
59494
59495         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
59496         posixver.c, strftime.c, strnlen.c, strverscmp.c:
59497         Switch from LGPL to GPL.
59498
59499 2003-07-09  Paul Eggert  <eggert@twinsun.com>
59500
59501         * config/srclist.txt: Sort sublists.  Add
59502         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
59503         that differ from gnulib for one reason or another; we'd like this list
59504         to be smaller but for now let's document what we have.
59505
59506 2003-07-08  Paul Eggert  <eggert@twinsun.com>
59507
59508         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
59509         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
59510         and sweeter "eval x=$x".
59511         * config/srclist.txt: Get lib/argp* from glibc.
59512
59513 2003-07-07  Paul Eggert  <eggert@twinsun.com>
59514
59515         * lib/mktime.c: Fix some boundary cases and remove need for floating
59516         point.
59517
59518         Issue a compile-time diagnostic if time_t is floating point, or if
59519         two's complement arithmetic is not in effect, or if arithmetic
59520         right shift does not propagate the sign.  These assumptions were
59521         all in the original code but they weren't checked.
59522
59523         (TIME_T_MIDPOINT, verify): New macros.
59524         (__isleap): Remove; it has integer overflow problems.
59525         (leapyear): New function, without those problems.
59526         (ydhms_tm_diff): Remove; splitting into two parts.
59527         (ydhms_diff): New function, containing the arithmetic part of
59528         the old ydhms_tm_diff function.  Issue a compile-time
59529         diagnostic if we are not using C99 integer division.
59530         Avoid casts when possible.
59531         (guess_time_tm): New function, containing the checking part of
59532         the old ydhms_tm_diff function.  Return the new value, rather than
59533         the difference between it and the old.  Accept a new argument T
59534         so that *T specifies the old value.  Check for overflow in the result.
59535
59536         (__mktime_internal): Use a time_t offset, not a long int offset.
59537         This undoes the 2003-06-04 change, which is no longer needed now
59538         that we have better overflow checking.
59539         (localtime_offset): Likewise.
59540
59541         (__mktime_internal): Avoid harmful overflow on hosts where time_t
59542         and long are 64-bit but int is only 32-bit.
59543         (ydhms_diff): Use long int to store year1 and yday1.
59544         Issue a compile-time diagnostic if long int is not wide enough.
59545
59546         (__mktime_internal): Use long int to store adjusted year and yday.
59547         Use plain C rather than preprocessor commands, if that doesn't
59548         affect efficiency.
59549         Check for overflow (and try to repair) after each probe
59550         rather than checking only at the very end.  This avoids some bugs
59551         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
59552         does not equal GMT offset at maximum time).
59553         Use integer to check for overflow rather than floating point; this
59554         is more portable to non-IEEE hosts, and is a tad faster.
59555         When we detect that we are oscillating between two values,
59556         don't check whether tm_isdst has the requested value, since
59557         we already know the answer.  When tm_isdst has the wrong value,
59558         use a different heuristic to find the right one, based on the
59559         extreme values actually observed in practice in tz2003a,
59560         rather than the (overly optimistic) "previous 3 calendar quarters".
59561
59562         (not_equal_tm, print_tm, check_result): Use "const T" rather than
59563         "T const" to accommodate glibc style.
59564         (check_result): Use less-confusing report format.  "long" -> "long int.
59565         (main): Likewise.
59566         Don't loop if the iteration overflows time_t.
59567         Allow a negative step in the iteration.
59568
59569 2003-07-06  Karl Berry  <karl@gnu.org>
59570
59571         * config/depcomp: update from automake.
59572         * config/config.sub: update from prep.
59573
59574 2003-07-03  Karl Berry  <karl@gnu.org>
59575
59576         * config/config.guess: update from prep.
59577
59578 2003-07-01  Paul Eggert  <eggert@twinsun.com>
59579
59580         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
59581         xreadlink.c now includes it unconditionally.
59582
59583 2003-07-01  Paul Eggert  <eggert@twinsun.com>
59584
59585         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
59586         having it depend on HAVE_SYS_TYPES_H.
59587
59588 2003-07-01  Bruno Haible  <bruno@clisp.org>
59589
59590         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
59591         <sys/types.h> should be sufficient.
59592         Reported by Paul Eggert.
59593
59594 2003-06-26  Karl Berry  <karl@gnu.org>
59595
59596         * config/depcomp: update from automake.
59597
59598 2003-06-26  Bruno Haible  <bruno@clisp.org>
59599
59600         * modules/human: Depend on module stdbool.
59601
59602 2003-06-25  Bruno Haible  <bruno@clisp.org>
59603
59604         * modules/readlink: New file.
59605         * modules/xreadlink: Depend on it.
59606         * MODULES.html.sh (func_all_modules): Add readlink.
59607
59608 2003-06-25  Bruno Haible  <bruno@clisp.org>
59609
59610         * m4/readlink.m4: New file.
59611
59612 2003-06-25  Bruno Haible  <bruno@clisp.org>
59613
59614         * lib/readlink.c: New file.
59615
59616 2003-06-22  Karl Berry  <karl@gnu.org>
59617
59618         * config/srclist.txt: update mkinstalldirs from automake.
59619         * config/mkinstalldirs: update.
59620
59621 2003-06-22  Bruno Haible  <bruno@clisp.org>
59622
59623         Portability to mingw32.
59624         * m4/ssize_t.m4: New file, from GNU gettext.
59625         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
59626         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
59627
59628 2003-06-22  Bruno Haible  <bruno@clisp.org>
59629
59630         * modules/safe-read: Add m4/ssize_t.m4.
59631         * modules/xreadlink: Add m4/ssize_t.m4.
59632
59633 2003-06-20  Bruno Haible  <bruno@clisp.org>
59634
59635         Assume C89, so PARAMS isn't needed.
59636         * lib/unicodeio.h (PARAMS): Remove.
59637         * lib/unicodeio.c: Don't use PARAMS.
59638
59639 2003-06-18  Karl Berry  <karl@gnu.org>
59640
59641         * config/config.{guess,sub}: update from prep.
59642
59643 2003-06-18  Jim Meyering  <jim@meyering.net>
59644
59645         Merge changes from coreutils.
59646         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
59647         Remove explicit declarations of xmalloc and realloc.
59648         Include xalloc.h.
59649         (read_utmp): Remove anachronistic cast of xmalloc.
59650
59651 2003-06-17  Paul Eggert  <eggert@twinsun.com>
59652
59653         Assume C89, so PARAMS isn't needed.
59654         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
59655         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
59656         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
59657         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
59658         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
59659         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
59660         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
59661         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
59662         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
59663         lib/xstrtod.h, lib/xstrtol.h: Likewise.
59664         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
59665         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
59666         no longer needed. Anyway, config.h should always be included before any
59667         other file.
59668
59669 2003-06-11  Simon Josefsson  <jas@extundo.com>
59670
59671         * modules/sysexits: New file.
59672         * MODULES.html.sh (func_all_modules): Add sysexits.
59673
59674 2003-06-11  Simon Josefsson  <jas@extundo.com>
59675
59676         * lib/sysexit_.h: New file.
59677
59678 2003-06-11  Derek Price  <derek@ximbiot.com>
59679
59680         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
59681         necessary.
59682
59683 2003-06-11  Bruno Haible  <bruno@clisp.org>
59684
59685         * m4/sysexits.m4: New file.
59686
59687 2003-06-10  Simon Josefsson  <jas@extundo.com>
59688
59689         * lib/argp.h: New file, from glibc.
59690         * lib/argp-ba.c: New file, from glibc.
59691         * lib/argp-eexst.c: New file, from glibc.
59692         * lib/argp-fmtstream.c: New file, from glibc.
59693         * lib/argp-fmtstream.h: New file, from glibc.
59694         * lib/argp-fs-xinl.c: New file, from glibc.
59695         * lib/argp-help.c: New file, from glibc.
59696         * lib/argp-namefrob.h: New file, from glibc.
59697         * lib/argp-parse.c: New file, from glibc.
59698         * lib/argp-pv.c: New file, from glibc.
59699         * lib/argp-pvh.c: New file, from glibc.
59700         * lib/argp-xinl.c: New file, from glibc.
59701
59702 2003-06-10  Simon Josefsson  <jas@extundo.com>
59703
59704         * modules/strchrnul: New file.
59705
59706 2003-06-10  Simon Josefsson  <jas@extundo.com>
59707
59708         * modules/argp: New file.
59709
59710 2003-06-10  Simon Josefsson  <jas@extundo.com>
59711
59712         * m4/strchrnul.m4: New file.
59713
59714 2003-06-10  Simon Josefsson  <jas@extundo.com>
59715
59716         * lib/strchrnul.h: New file.
59717         * lib/strchrnul.c: New file.
59718
59719 2003-06-10  Bruno Haible  <bruno@clisp.org>
59720
59721         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
59722
59723 2003-06-07  Karl Berry  <karl@gnu.org>
59724
59725         * config/config.{guess,sub}: update from prep.
59726
59727 2003-06-07  Jim Meyering  <jim@meyering.net>
59728
59729         * modules/strtod: Use $(...) notation, not @...@ for
59730         AC_REPLACE'd variables.
59731         * modules/localcharset: Likewise.
59732
59733 2003-06-07  Jim Meyering  <jim@meyering.net>
59734
59735         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
59736         in place of my name in the copyright comment.
59737         Remove definition and uses of __P.
59738
59739         From coreutils.
59740         * lib/stat.c: Don't declare xmalloc explicitly.
59741         Instead, include "xalloc.h".
59742         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
59743         xrealloc, and xcalloc return values.
59744         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
59745         Improve comment.
59746         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
59747
59748 2003-06-07  Bruno Haible  <bruno@clisp.org>
59749
59750         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
59751         avoid AC_CONFIG_LINKS.
59752         * modules/fnmatch (Makefile.am): Use explicit creation rule for
59753         fnmatch.h, to avoid AC_CONFIG_LINKS.
59754         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
59755
59756 2003-06-07  Bruno Haible  <bruno@clisp.org>
59757
59758         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
59759         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
59760         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
59761         directory.
59762         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
59763         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
59764         directory.
59765
59766 2003-06-06  Jim Meyering  <jim@meyering.net>
59767
59768         Merge from coreutils.
59769         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
59770         Consolidate declarations and initializations of *_base* locals.
59771
59772         Merge from coreutils.
59773         This avoids a core dump on systems without GNU putenv,
59774         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
59775         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
59776         (unsetenv): New static function, from GNU libc.
59777         (rpl_putenv): Use it.
59778
59779         * lib/modechange.c: Remove trailing blanks.
59780
59781         Merge from coreutils.
59782         * lib/fsusage.c: Remove declaration of statfs.
59783         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
59784
59785         * lib/posixtm.c: Include <stdbool.h> unconditionally.
59786
59787 2003-06-06  Jim Meyering  <jim@meyering.net>
59788
59789         * lib/stdbool_.h: Renamed from stdbool.h.in.
59790
59791 2003-06-06  Jim Meyering  <jim@meyering.net>
59792             Bruno Haible  <bruno@clisp.org>
59793
59794         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
59795         Adjust Makefile.am snippet not to redirect directly to target.
59796         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
59797
59798 2003-06-05  Paul Eggert  <eggert@twinsun.com>
59799
59800         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
59801         mismatch, look in future quarters as well as past.  This fixes a
59802         bug when processing fall-backwards gaps immediately after a long
59803         period of daylight-saving time.
59804
59805         * lib/mktime.c: Assume freestanding C89 or better.
59806         (HAVE_LIMITS_H): Remove.  Assume it's 1.
59807         (__P): Remove; not used.
59808         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
59809         (mktime, not_equal_tm, print_tm, check_result,
59810         main): Use prototypes.  Use const * where appropriate.
59811         (main): Fix typo in testing code that uncovered by above changes.
59812         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
59813
59814 2003-06-04  Paul Eggert  <eggert@twinsun.com>
59815
59816         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
59817         locale.h, localeconv.  This merges changes from coreutils.
59818
59819         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
59820         It can be removed after the next Autoconf is released.
59821         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
59822         needed.
59823
59824 2003-06-04  Paul Eggert  <eggert@twinsun.com>
59825
59826         * lib/mktime.c: Fix Debian bug 177940
59827         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
59828         (localtime_offset): Now long int, not time_t, because we want it
59829         to be guaranteed to be signed.  All uses changed.
59830         (__mktime_internal): If overflow would occur when adding offset,
59831         don't add it.
59832
59833         Merge 'human' changes from coreutils.  Rewrite to support
59834         locale-specific notations like thousands separators.
59835         * lib/human.c: Simplify authorship notice.
59836         Include human.h immediately after config.h.
59837         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
59838         <limits.h>: Do not include, since human.h does.
59839         (SIZE_MAX, UINTMAX_MAX): New macros.
59840         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
59841         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
59842         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
59843         (power_letter): Renamed from suffixes.
59844         (generate_suffix_backwards): Remove.
59845         (adjust_value): Now takes int style (because of human.h changes)
59846         and long double value (for greater precision on some platforms).
59847         (group_number): New function.
59848         (human_readable): Use it.  Use integer options, not enum.
59849         Put the options before the sizes in the arg list.
59850         Support all the new options.
59851         The old human_readable function has been removed;
59852         use inttostr.h instead.
59853         (human_readable, default_block_size, humblock):
59854         Use uintmax_t, not int, for block sizes.
59855         (human_readable_inexact, block_size_types): Remove.
59856         (block_size_opts): New constant.
59857         (human_options): Renamed from human_block_size, with new signature
59858         that allows block sizes up to UINTMAX_MAX.  All callers changed.
59859         * lib/human.h: Add copyright and authorship notice.
59860         Include <limits.h> and <stdbool.h> unconditionally.
59861         (PARAMS): Remove.  All uses removed.
59862         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
59863         (enum human_inexact_style): Remove tag; now a nameless enum.
59864         (human_floor, human_ceiling, human_round_to_even): Now have
59865         values 2, 0, 1 rather than -1, 1, 0.
59866         (human_group_digits, human_suppress_point_zero, human_autoscale,
59867         human_base_1024, human_SI, human_B): New constants.
59868         (human_readable_inexact, human_block_size): Remove.
59869         (human_readable): Size args are now uintmax_t, not int.
59870         (human_options): New decl.
59871
59872         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
59873         unnecessary now that we assume C89 or better.  This change
59874         imported from coreutils.
59875
59876         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
59877         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
59878         in the 2003-05-30 sync from glibc.
59879
59880         .h files should stand alone, but we shouldn't include <sys/types.h>
59881         if we can get away with just <stddef.h>.
59882
59883         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
59884         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
59885         rather than <sys/types.h>, as we merely need size_t.
59886         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
59887         to get size_t.
59888         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
59889         Include <stdio.h>, to get FILE.
59890         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
59891         memcasecmp.h has included <stddef.h> and all we need is size_t.
59892         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
59893         our interface, instead of including <sys/types.h>
59894
59895 2003-06-04  Paul Eggert  <eggert@twinsun.com>
59896
59897         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
59898         now, as glibc mktime is buggy on non-glibc systems.
59899
59900 2003-06-03  Karl Berry  <karl@gnu.org>
59901
59902         * config/config.sub: update from prep.
59903
59904 2003-06-02  Paul Eggert  <eggert@twinsun.com>
59905
59906         [from coreutils]
59907         Fix some minor time-related bugs with POSIX time arguments.
59908         Some valid time stamps were being rejected (notably -1, and
59909         time stamps before 1900 on 64-bit hosts).  And some invalid
59910         time stamps were being accepted, e.g. September 31.
59911
59912         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
59913         that we can return (time_t) -1 successfully.
59914         * lib/posixtm.c: Likewise.
59915         [HAVE_STDBOOL_H]: Include <stdbool.h>.
59916         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
59917         (t): Remove static var.
59918         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
59919         of static var.  All uses changed.
59920         (year): Do not reject years before 1900; they can occur with
59921         64-bit time_t.
59922         (posix_time_parse): Do not check for out-of-range components;
59923         that is now the caller's responsibility, since our checks were
59924         only approximations.
59925         (posixtime): Use mktime to check for out-of-range components,
59926         since it knows them exactly.
59927         If mktime returns (time_t) -1, check whether an error actually occurred
59928         by invoking localtime on -1.
59929         (main) [TEST_POSIXTIME]: Check for input data errors, and report
59930         posixtime failures better.
59931         Improve the test data (in comments only).
59932
59933 2003-06-02  Karl Berry  <karl@gnu.org>
59934
59935         * config/mkinstalldirs (version): new variable.
59936         (--version): new option.
59937         (usage): improve message.
59938
59939 2003-05-30  Karl Berry  <karl@gnu.org>
59940
59941         * lib/mktime.c: update from libc.
59942
59943 2003-05-30  Bruno Haible  <bruno@clisp.org>
59944
59945         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
59946         * config/config.rpath: Upgrade to gettext-0.12.1.
59947
59948 2003-05-30  Bruno Haible  <bruno@clisp.org>
59949
59950         * m4/gettext.m4: Upgrade to gettext-0.12.1.
59951         * m4/nls.m4: New file, from gettext-0.12.1.
59952         * m4/po.m4: New file, from gettext-0.12.1.
59953         * m4/progtest.m4: Upgrade to gettext-0.12.1.
59954
59955 2003-05-30  Bruno Haible  <bruno@clisp.org>
59956
59957         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
59958         * lib/localcharset.h: Likewise.
59959         * lib/localcharset.c: Likewise.
59960
59961 2003-05-29  Karl Berry  <karl@gnu.org>
59962
59963         * config/config.rpath: update from gettext.
59964
59965 2003-05-28  Paul Eggert  <eggert@twinsun.com>
59966
59967         Assume the headers required for C89 freestanding compilers.
59968         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
59969         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
59970         * m4/human.m4 (gl_HUMAN): Likewise.
59971         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
59972         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
59973         * m4/userspec.m4 (gl_USERSPEC): Likewise.
59974         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
59975         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
59976         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
59977
59978 2003-05-28  Paul Eggert  <eggert@twinsun.com>
59979
59980         Assume the headers required for C89 freestanding compilers.
59981         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
59982         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
59983         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
59984         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
59985         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
59986         define, since <limits.h> is guaranteed to do that.
59987         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
59988         * lib/exclude.c: Include <stdbool.h> unconditionally.
59989         * lib/tempname.c: Include <stddef.h> unconditionally.
59990         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
59991         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
59992         <stddef.h> does that.
59993         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
59994         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
59995         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
59996         needed.
59997         * lib/xstrtol.c: Likewise.
59998         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
59999         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
60000
60001         * lib/addext.c (addext): Use assignment rather than cast, to avoid
60002         warnings on some platforms.
60003
60004         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
60005         arbitrarily.
60006
60007 2003-05-26  Jim Meyering  <jim@meyering.net>
60008
60009         Merge in a change from coreutils:
60010         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
60011         that is guaranteed to be `no'.  Use `no_such_member' to indicate
60012         that condition, rather than `-1' which is slightly misleading.
60013         Change the name of the cache variable to have the gl_ prefix.
60014         Prompted by a patch from Richard Dawe for DJGPP.
60015
60016 2003-05-24  Karl Berry  <karl@gnu.org>
60017
60018         * config/config.guess: update from prep.
60019
60020 2003-05-22  Karl Berry  <karl@gnu.org>
60021
60022         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
60023
60024 2003-05-20  Karl Berry  <karl@gnu.org>
60025
60026         * config/config.guess: update from prep.
60027
60028 2003-05-18  Karl Berry  <karl@gnu.org>
60029
60030         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
60031         might actually be set by the user.
60032
60033         * config/depcomp, install-sh, mdate-sh: update from automake.
60034
60035 2003-05-17  Bruno Haible  <bruno@clisp.org>
60036
60037         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
60038         invalid expansion for AC_EGREP_CPP.
60039         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
60040         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
60041         Suggested by Akim Demaille <akim@epita.fr> in
60042         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
60043
60044 2003-05-12  Jim Meyering  <jim@meyering.net>
60045
60046         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
60047         the space-padded-by-default conversion specifiers, %e, %k, %l.
60048
60049 2003-05-12  Bruno Haible  <bruno@clisp.org>
60050
60051         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
60052         the string is longer than 4 KB.
60053
60054 2003-05-11  Karl Berry  <karl@gnu.org>
60055
60056         * config/config.{guess,sub}: update from prep.
60057
60058 2003-05-09  Bruno Haible  <bruno@clisp.org>
60059
60060         * modules/error: Add m4/strerror_r.m4 to file list.
60061
60062 2003-05-03  Bruno Haible  <bruno@clisp.org>
60063
60064         Upgrade to Unicode-4.0.
60065         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
60066         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
60067         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
60068         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
60069         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
60070         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
60071         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
60072         Change width of U+E0100..U+E01EF from 1 to 0.
60073
60074 2003-04-25  Jim Meyering  <jim@meyering.net>
60075
60076         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
60077         of type size_t, not int.
60078
60079 2003-04-25  Bruno Haible  <bruno@clisp.org>
60080
60081         * lib/copy-file.c: Include <stddef.h>, for size_t.
60082
60083 2003-04-21  Paul Eggert  <eggert@twinsun.com>
60084
60085         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
60086         code which expansion is under static control.  Patch imported from
60087         Akim Demaille's patch to Bison; see
60088         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
60089
60090 2003-04-14  Bruno Haible  <bruno@clisp.org>
60091
60092         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
60093
60094 2003-04-11  Jim Meyering  <jim@meyering.net>
60095
60096         Merge changes from Coreutils.
60097
60098         2003-03-22  Jim Meyering  <jim@meyering.net>
60099
60100         * lib/strftime.c (widen): Cast alloca return value to proper type.
60101
60102         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
60103
60104         From GNU libc.
60105         * lib/strftime.c (my_strftime): Handle very large width
60106         specifications for numeric values correctly.  Improve checks for
60107         overflow.
60108
60109         2003-01-19  Jim Meyering  <jim@meyering.net>
60110
60111         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
60112         definitions.
60113         (nl_get_alt_digit) [! defined my_strftime]: Define.
60114         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
60115         _nl_get_alt_digit and _nl_get_walt_digit.
60116
60117         * lib/strftime.c (my_strftime): Merge in locale-related changes from
60118         libc. These changes have no effect outside of _LIBC.
60119
60120 2003-04-10  Bruno Haible  <bruno@clisp.org>
60121
60122         * modules/findprog: New file.
60123         * MODULES.html.sh (func_all_modules): Add it.
60124
60125 2003-04-10  Bruno Haible  <bruno@clisp.org>
60126
60127         * m4/findprog.m4: New file.
60128         * m4/eaccess.m4: New file.
60129
60130 2003-04-10  Bruno Haible  <bruno@clisp.org>
60131
60132         * lib/findprog.h: New file, from GNU gettext.
60133         * lib/findprog.c: New file, from GNU gettext.
60134
60135 2003-04-05  Jim Meyering  <jim@meyering.net>
60136
60137         Merge changes from Coreutils.
60138
60139         * lib/exclude.h (PARAMS): Remove definition and uses.
60140         * lib/exclude.c: Remove uses of `PARAMS'.
60141
60142         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
60143         Add test-cases for DOS filenames. Declare program_name.
60144         (main): Set up program_name.  Patch by Rich Dawe.
60145
60146         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
60147         error from mntctl.
60148         Use mntctl's return value to drive the entry-processing loop, since
60149         we can't rely on the value of the vmt_length member in the last
60150         entry.  On some systems doing so could result in exhausting
60151         virtual memory.  Based in part on a patch from Mike Jetzer.
60152
60153 2003-04-04  Bruno Haible  <bruno@clisp.org>
60154
60155         * modules/linebreak: New file.
60156         * MODULES.html.sh (func_all_modules): Add it.
60157
60158 2003-04-04  Bruno Haible  <bruno@clisp.org>
60159
60160         * m4/linebreak.m4: New file.
60161
60162 2003-04-04  Bruno Haible  <bruno@clisp.org>
60163
60164         * lib/linebreak.h: New file, from GNU gettext.
60165         * lib/linebreak.c: New file, from GNU gettext with slight
60166         modifications.
60167         * lib/lbrkprop.h: New file, from GNU gettext.
60168
60169 2003-04-03  Bruno Haible  <bruno@clisp.org>
60170
60171         * modules/utf8-ucs4: New file.
60172         * modules/utf16-ucs4: New file.
60173         * modules/ucs4-utf8: New file.
60174         * modules/ucs4-utf16: New file.
60175         * MODULES.html.sh (func_all_modules): Add them.
60176
60177 2003-04-03  Bruno Haible  <bruno@clisp.org>
60178
60179         * m4/utf-ucs4.m4: New file.
60180         * m4/ucs4-utf.m4: New file.
60181
60182 2003-04-03  Bruno Haible  <bruno@clisp.org>
60183
60184         * lib/utf8-ucs4.h: New file, from GNU gettext.
60185         * lib/utf16-ucs4.h: New file, from GNU gettext.
60186         * lib/ucs4-utf8.h: New file, from GNU gettext.
60187         * lib/ucs4-utf16.h: New file, from GNU gettext.
60188
60189 2003-04-02  Bruno Haible  <bruno@clisp.org>
60190
60191         * modules/binary-io: New file.
60192         * MODULES.html.sh (func_all_modules): Add it.
60193
60194 2003-04-02  Bruno Haible  <bruno@clisp.org>
60195
60196         * lib/binary-io.h: New file, from GNU gettext.
60197
60198 2003-04-01  Bruno Haible  <bruno@clisp.org>
60199
60200         * modules/pathname: New file.
60201         * MODULES.html.sh (func_all_modules): Add it.
60202
60203 2003-04-01  Bruno Haible  <bruno@clisp.org>
60204
60205         * lib/pathname.h: New file, from GNU gettext.
60206         * lib/concatpath.c: New file, from GNU gettext.
60207
60208 2003-03-30  Bruno Haible  <bruno@clisp.org>
60209
60210         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
60211
60212 2003-03-30  Bruno Haible  <bruno@clisp.org>
60213
60214         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
60215         function chown() doesn't exist.
60216
60217 2003-03-28  Bruno Haible  <bruno@clisp.org>
60218
60219         * modules/copy-file: New file.
60220         * MODULES.html.sh (func_all_modules): Add it.
60221
60222 2003-03-28  Bruno Haible  <bruno@clisp.org>
60223
60224         * m4/copy-file.m4: New file.
60225
60226 2003-03-28  Bruno Haible  <bruno@clisp.org>
60227
60228         * lib/copy-file.h: New file, from GNU gettext.
60229         * lib/copy-file.c: New file, from GNU gettext.
60230
60231 2003-03-18  Jim Meyering  <jim@meyering.net>
60232
60233         * lib/quote.c (quote_n): Fix typo in comment.
60234
60235 2003-03-18  Bruno Haible  <bruno@clisp.org>
60236
60237         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
60238         checking.
60239         * m4/onceonly_2_57.m4: Likewise.
60240
60241 2003-03-17  Bruno Haible  <bruno@clisp.org>
60242
60243         * m4/onceonly.m4: Require autoconf 2.54 or newer.
60244         (m4_quote): Remove macro.
60245         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
60246
60247 2003-03-14  Jim Meyering  <jim@meyering.net>
60248
60249         Merge changes from Coreutils.
60250         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
60251         to be const, in order to avoid warnings.
60252         (obstack_room): Likewise.
60253         (obstack_empty_p): Likewise.
60254
60255 2003-03-14  Bruno Haible  <bruno@clisp.org>
60256
60257         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
60258         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
60259
60260 2003-03-13  Paul Eggert  <eggert@twinsun.com>
60261
60262         Merge changes from Bison.
60263         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
60264         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
60265         when compiling Bison 1.875's `bitset bset = obstack_alloc
60266         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
60267         * lib/hash.c: Include <stdbool.h> unconditionally.
60268
60269 2003-03-13  Paul Eggert  <eggert@twinsun.com>
60270
60271         * m4/onceonly.m4 (m4_quote): New macro.
60272         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
60273         Quote AC_FOREACH variable-expansions properly.
60274
60275 2003-03-13  Paul Eggert  <eggert@twinsun.com>
60276
60277         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
60278
60279 2003-03-09  Paul Eggert  <eggert@twinsun.com>
60280
60281         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
60282         Reported by Bruce Becker; see:
60283         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
60284
60285 2003-03-03  Paul Eggert  <eggert@twinsun.com>
60286             Bruno Haible  <bruno@clisp.org>
60287
60288         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
60289         Reported by John Hughes, see
60290         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
60291
60292 2003-02-20  Bruno Haible  <bruno@clisp.org>
60293
60294         * MODULES.html.sh (func_all_modules): Add poll.
60295
60296 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
60297
60298         * modules/poll: New file.
60299
60300 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
60301
60302         * lib/poll_.h: New file.
60303         * lib/poll.c: New file.
60304
60305 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
60306
60307         * m4/poll.m4: New file.
60308
60309 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
60310
60311         * modules/mathl: New file.
60312
60313 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
60314
60315         * lib/mathl.h: New file.
60316         * lib/acosl.c: New file.
60317         * lib/asinl.c: New file.
60318         * lib/atanl.c: New file.
60319         * lib/ceill.c: New file.
60320         * lib/cosl.c: New file.
60321         * lib/expl.c: New file.
60322         * lib/floorl.c: New file.
60323         * lib/frexpl.c: New file.
60324         * lib/ldexpl.c: New file.
60325         * lib/logl.c: New file.
60326         * lib/sincosl.c: New file.
60327         * lib/sinl.c: New file.
60328         * lib/sqrtl.c: New file.
60329         * lib/tanl.c: New file.
60330         * lib/trigl.c: New file.
60331         * lib/trigl.h: New file.
60332
60333 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
60334
60335         * m4/mathl.m4: New file.
60336
60337 2003-02-18  Bruno Haible  <bruno@clisp.org>
60338
60339         * MODULES.html.sh (func_all_modules): Add mathl.
60340
60341 2003-02-17  Bruno Haible  <bruno@clisp.org>
60342
60343         * modules/mkdtemp: New module.
60344         * MODULES.html.sh (func_all_modules): Add it.
60345
60346 2003-02-17  Bruno Haible  <bruno@clisp.org>
60347
60348         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
60349
60350 2003-02-17  Bruno Haible  <bruno@clisp.org>
60351
60352         * lib/mkdtemp.h: New file, from GNU gettext.
60353         * lib/mkdtemp.c: New file, from GNU gettext.
60354
60355 2003-02-02  Jim Meyering  <jim@meyering.net>
60356
60357         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
60358         e.g. glibc-2.2.93.
60359
60360 2003-01-31  Bruno Haible  <bruno@clisp.org>
60361
60362         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
60363         'rpl_rename'.
60364         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
60365         'rpl_strnlen'.
60366         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
60367         'rpl_strtod'.
60368         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
60369         'rpl_utime'.
60370
60371 2003-01-31  Bruno Haible  <bruno@clisp.org>
60372
60373         * lib/rename.c: #undef rename before defining rpl_rename.
60374         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
60375
60376 2003-01-30  Bruno Haible  <bruno@clisp.org>
60377
60378         * modules/vasnprintf, modules/vasprintf: New modules.
60379         * MODULES.html.sh (func_all_modules): Add them.
60380
60381 2003-01-30  Bruno Haible  <bruno@clisp.org>
60382
60383         * m4/signed.m4: New file, from GNU gettext.
60384         * m4/longdouble.m4: New file, from GNU gettext.
60385         * m4/wchar_t.m4: New file, from GNU gettext.
60386         * m4/wint_t.m4: New file, from GNU gettext.
60387         * m4/vasnprintf.m4: New file.
60388         * m4/vasprintf.m4: New file.
60389
60390 2003-01-30  Bruno Haible  <bruno@clisp.org>
60391
60392         * lib/printf-args.h: New file, from GNU gettext.
60393         * lib/printf-args.c: New file, from GNU gettext.
60394         * lib/printf-parse.h: New file, from GNU gettext.
60395         * lib/printf-parse.c: New file, from GNU gettext.
60396         * lib/vasnprintf.h: New file, from GNU gettext.
60397         * lib/vasnprintf.c: New file, from GNU gettext.
60398         * lib/asnprintf.c: New file, from GNU gettext.
60399         * lib/vasprintf.h: New file, from GNU gettext with modifications.
60400         * lib/vasprintf.c: New file, from GNU gettext.
60401         * lib/asprintf.c: New file, from GNU gettext.
60402
60403 2003-01-29  Bruno Haible  <bruno@clisp.org>
60404
60405         * modules/stpncpy: New module.
60406         * MODULES.html.sh (func_all_modules): Add it.
60407
60408 2003-01-29  Bruno Haible  <bruno@clisp.org>
60409
60410         * m4/stpncpy.m4: New file.
60411
60412 2003-01-29  Bruno Haible  <bruno@clisp.org>
60413
60414         * lib/stpncpy.h: New file, from GNU gettext with modifications.
60415         * lib/stpncpy.c: New file, from GNU gettext with modifications.
60416
60417 2003-01-28  Bruno Haible  <bruno@clisp.org>
60418
60419         * modules/c-ctype: New module.
60420         * MODULES.html.sh (func_all_modules): Add it.
60421
60422 2003-01-28  Bruno Haible  <bruno@clisp.org>
60423
60424         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
60425         Paul Eggert.
60426         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
60427         Paul Eggert.
60428
60429 2003-01-27  Bruno Haible  <bruno@clisp.org>
60430
60431         * modules/xsetenv: New module.
60432         * MODULES.html.sh (func_all_modules): Add it.
60433
60434 2003-01-27  Bruno Haible  <bruno@clisp.org>
60435
60436         * lib/xsetenv.h: New file, from GNU gettext.
60437         * lib/xsetenv.c: New file, from GNU gettext.
60438
60439 2003-01-23  Jim Meyering  <jim@meyering.net>
60440
60441         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
60442         from working on systems without dirfd (at least Irix and OSF1/Tru64).
60443
60444 2003-01-23  Bruno Haible  <bruno@clisp.org>
60445
60446         * modules/minmax: New module.
60447         * MODULES.html.sh (func_all_modules): Add it.
60448
60449 2003-01-23  Bruno Haible  <bruno@clisp.org>
60450
60451         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
60452         Eggert.
60453
60454 2003-01-22  Bruno Haible  <bruno@clisp.org>
60455
60456         * modules/exit: New module.
60457         * MODULES.html.sh (func_all_modules): Add it.
60458
60459 2003-01-22  Bruno Haible  <bruno@clisp.org>
60460
60461         * lib/exit.h: New file, from GNU gettext.
60462
60463 2003-01-19  Bruno Haible  <bruno@clisp.org>
60464
60465         * gnulib-tool: Recognize option --extract-maintainer.
60466         (func_get_maintainer): New function.
60467         * modules/*: Add Maintainer entry.
60468
60469 2003-01-16  Jim Meyering  <jim@meyering.net>
60470
60471         * m4/regex.m4: The `regex' struct is both input and output.
60472         Initialize it before each use.  Patch by Tim Waugh.
60473
60474 2003-01-16  Bruno Haible  <bruno@clisp.org>
60475
60476         * MODULES.html.sh: Add a table of contents. Add the module name as
60477         leftmost column. Add hyperlinks.
60478
60479 2003-01-15  Bruno Haible  <bruno@clisp.org>
60480
60481         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
60482
60483 2003-01-15  Bruno Haible  <bruno@clisp.org>
60484
60485         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
60486         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
60487         suffix.
60488
60489 2003-01-15  Bruno Haible  <bruno@clisp.org>
60490
60491         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
60492
60493 2003-01-15  Bruno Haible  <bruno@clisp.org>
60494
60495         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
60496         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
60497
60498 2003-01-14  Jim Meyering  <jim@meyering.net>
60499
60500         * lib/same.c (same_name): Tweak a comment.
60501
60502 2003-01-14  Bruno Haible  <bruno@clisp.org>
60503
60504         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
60505         when a string comparison is sufficient.
60506
60507 2003-01-14  Bruno Haible  <bruno@clisp.org>
60508
60509         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
60510         'unsigned int'.
60511
60512 2003-01-14  Bruno Haible  <bruno@clisp.org>
60513
60514         * lib/hash-pjw.c: Add comment about low quality of this function.
60515
60516 2003-01-13  Bruno Haible  <bruno@clisp.org>
60517
60518         * modules/stpcpy: Distribute lib/stpcpy.h.
60519         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
60520
60521 2003-01-13  Bruno Haible  <bruno@clisp.org>
60522
60523         * modules/*: Add a description.
60524         * modules/strpbrk: Fix Makefile.am snippet.
60525         * modules/strtoimax: Fix dependencies.
60526         * modules/strtoumax: Likewise.
60527
60528 2003-01-13  Bruno Haible  <bruno@clisp.org>
60529
60530         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
60531         * modules/alloca (Makefile.am): All object files depend on alloca.h.
60532         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
60533
60534 2003-01-13  Bruno Haible  <bruno@clisp.org>
60535
60536         * gnulib-tool (func_create_testdir): Store config/* files in the main
60537         directory.
60538         * config.rpath: Move to ...
60539         * config/config.rpath: ... here.
60540         * modules/gettext: Contains config/config.rpath, not config.rpath.
60541         * modules/iconv: Likewise.
60542
60543 2003-01-12  Paul Eggert  <eggert@twinsun.com>
60544
60545         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
60546         to avoid collisions with libcurses and libreadline.
60547
60548         * m4/getstr.m4: Remove.
60549         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
60550
60551 2003-01-12  Paul Eggert  <eggert@twinsun.com>
60552
60553         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
60554         to avoid collisions with libcurses and libreadline.
60555
60556         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
60557         * lib/getstr.h, getstr.c: Remove.
60558         * lib/getline.c: Include "getline.h", to check interface.
60559         Move body of old getstr.c here: this defines MIN_CHUNK and
60560         declares getdelim2, which is renamed from getstr.
60561         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
60562
60563         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
60564         All uses changed.
60565         * lib/linebuffer.h: Likewise.
60566         (readline): Remove backward-compatibility macro.
60567
60568 2003-01-12  Paul Eggert  <eggert@twinsun.com>
60569
60570         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
60571         to avoid collisions with libcurses and libreadline.
60572         * getstr: Remove.
60573         * MODULES.html.sh: Remove getstr.
60574         * modules/getline: Depend on unlocked-io, not getstr.
60575
60576 2003-01-12  Jim Meyering  <jim@meyering.net>
60577
60578         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
60579
60580 2003-01-10  Bruno Haible  <bruno@clisp.org>
60581
60582         * modules/alloca: Change Makefile.am requirements. Simplify Include
60583         requirements. Add lib/alloca_.h to file list.
60584
60585 2003-01-10  Bruno Haible  <bruno@clisp.org>
60586
60587         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
60588
60589 2003-01-10  Bruno Haible  <bruno@clisp.org>
60590
60591         * lib/alloca_.h: New file.
60592         * lib/getdate.y: Unconditionally include alloca.h.
60593         * lib/makepath.c: Likewise.
60594         * lib/setenv.c: Likewise.
60595         * lib/userspec.c: Likewise.
60596
60597 2003-01-09  Karl Berry  <karl@gnu.org>
60598
60599         * MODULES.html.sh: include `dirname $0` in PATH, to find
60600         gnulib-tool.
60601
60602 2003-01-09  Bruno Haible  <bruno@clisp.org>
60603
60604         * modules/stdbool: Change configure.ac, Makefile.am requirements.
60605         Simplify Include requirements. Add lib/stdbool.h.in to file list.
60606
60607 2003-01-09  Bruno Haible  <bruno@clisp.org>
60608
60609         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
60610
60611 2003-01-09  Bruno Haible  <bruno@clisp.org>
60612
60613         * lib/stdbool.h.in: New file.
60614
60615 2003-01-09  Bruno Haible  <bruno@clisp.org>
60616
60617         * gnulib-tool (func_all_modules): Ignore files ending in ~.
60618         * MODULES.html.sh: Likewise.
60619
60620 2003-01-08  Jim Meyering  <jim@meyering.net>
60621
60622         * lib/full-write.c: Undefine and define-away `const' after inclusion
60623         of errno.h, not before.  Suggestion from Bruno Haible.
60624
60625 2003-01-08  Bruno Haible  <bruno@clisp.org>
60626
60627         * modules/full-read: Depend on full-write.
60628
60629 2003-01-08  Bruno Haible  <bruno@clisp.org>
60630
60631         * lib/safe-read.c: Include specification header first, to ensure its
60632         selfcontainedness.
60633         * lib/full-write.c: Likewise.
60634
60635 2003-01-07  Jim Meyering  <jim@meyering.net>
60636
60637         * lib/full-write.c: Rework so that it may serve to define full_read,
60638         too.
60639         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
60640
60641 2003-01-07  Bruno Haible  <bruno@clisp.org>
60642
60643         * lib/strtoimax.c: Include <stdint.h> as an alternative to
60644         <inttypes.h>.
60645         * lib/xstrtol.h: Likewise.
60646         * lib/xstrtoimax.c: Likewise.
60647         * lib/xstrtoumax.c: Likewise.
60648         * lib/human.h: Likewise.
60649
60650         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
60651         on systems that have <inttypes.h> but not <stdint.h>.
60652
60653 2003-01-07  Bruno Haible  <bruno@clisp.org>
60654
60655         * MODULES.html.sh: Add copyright notice.
60656         (missed_files): Omit CVS directory entries.
60657         (func_module): Make it work with sed-3.02.
60658         * MODULES.txt: Remove file.
60659
60660 2003-01-06  Jim Meyering  <jim@meyering.net>
60661
60662         * lib/version-etc.c: Update year in translatable copyright string.
60663
60664 2003-01-03  Karl Berry  <karl@gnu.org>
60665
60666         * config/config.{guess,sub}: update from prep.
60667
60668 2003-01-02  Karl Berry  <karl@gnu.org>
60669
60670         * doc/COPYING.DOC: belatedly updated to 1.2.
60671
60672 2003-01-01  Karl Berry  <karl@gnu.org>
60673
60674         * gnulib-tool (func_verify_module): report module name $module in
60675         error message, not $1.
60676         * gnulib-tool (create-testdir): don't complain if destdir couldn't
60677         be created, only if it doesn't exist.
60678         * gnulib-tool (last_checkin_date): don't expand the $Date here.
60679
60680 2002-12-31  Paul Eggert  <eggert@twinsun.com>
60681
60682         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
60683
60684 2002-12-31  Paul Eggert  <eggert@twinsun.com>
60685
60686         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
60687         memcmp if strcoll doesn't work.
60688
60689 2002-12-31  Bruno Haible  <bruno@clisp.org>
60690
60691         * lib/utime.c (utime_null): No need to call ftruncate if the file was
60692         nonempty.
60693
60694 2002-12-31  Bruno Haible  <bruno@clisp.org>
60695
60696         * lib/memcoll.c (STRCOLL): New macro.
60697         (memcoll): Use it.
60698
60699 2002-12-31  Bruno Haible  <bruno@clisp.org>
60700
60701         * lib/localcharset.h: New file.
60702         * lib/localcharset.c: Include it.
60703         * lib/unicodeio.c: Likewise.
60704
60705 2002-12-31  Bruno Haible  <bruno@clisp.org>
60706
60707         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
60708         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
60709
60710 2002-12-31  Bruno Haible  <bruno@clisp.org>
60711
60712         * lib/getline.h: Include <stddef.h>, for size_t.
60713
60714         * lib/unicodeio.h: Include <stddef.h>, for size_t.
60715         * lib/unicodeio.c: Don't include <stddef.h>.
60716
60717 2002-12-31  Bruno Haible  <bruno@clisp.org>
60718
60719         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
60720         HAVE_TM_ZONE.
60721
60722 2002-12-24  Karl Berry  <karl@gnu.org>
60723
60724         * config/config.guess: update from prep.
60725
60726 2002-12-24  Bruno Haible  <bruno@clisp.org>
60727
60728         General infrasructure.
60729         * m4/README: Rewritten.
60730         * m4/onceonly.m4: New file.
60731         * m4/onceonly_2_57.m4: New file.
60732
60733         Module atexit.
60734         * m4/atexit.m4: New file.
60735
60736         Module strtod.
60737         * m4/strtod.m4: New file.
60738
60739         Module strtol.
60740         * m4/strtol.m4: New file.
60741
60742         Module strtoul.
60743         * m4/strtoul.m4: New file.
60744
60745         Module memchr.
60746         * m4/memchr.m4: New file.
60747
60748         Module memcmp.
60749         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
60750         (jm_FUNC_MEMCMP): Invoke it.
60751
60752         Module memcpy.
60753         * m4/memcpy.m4: New file.
60754
60755         Module memmove.
60756         * m4/memmove.m4: New file.
60757
60758         Module memset.
60759         * m4/memset.m4: New file.
60760
60761         Module strcspn.
60762         * m4/strcspn.m4: New file.
60763
60764         Module strpbrk.
60765         * m4/strpbrk.m4: New file.
60766
60767         Module strstr.
60768         * m4/strstr.m4: New file.
60769
60770         Module strerror.
60771         * m4/strerror.m4: New file.
60772
60773         Module mktime.
60774         * m4/mktime.m4: Renamed from jm-mktime.m4.
60775         (gl_PREREQ_MKTIME): New macro.
60776         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
60777
60778         Module malloc.
60779         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
60780         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
60781         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
60782
60783         Module realloc.
60784         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
60785         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
60786         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
60787
60788         Module strftime.
60789         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
60790         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
60791         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
60792         gl_TM_GMTOFF.
60793         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
60794
60795         Module xalloc.
60796         * m4/xalloc.m4: New file.
60797
60798         Module alloca.
60799         * m4/alloca.m4: New file.
60800
60801         Module putenv.
60802         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
60803         (jm_FUNC_PUTENV): Invoke it.
60804
60805         Module setenv.
60806         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
60807         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
60808         when invoked twice.
60809         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
60810         gt_FUNC_SETENV.
60811
60812         Module memrchr.
60813         * m4/memrchr.m4: New file.
60814
60815         Module stpcpy.
60816         * m4/stpcpy.m4: New file.
60817
60818         Module strcase.
60819         * m4/strcase.m4: New file.
60820
60821         Module strdup.
60822         * m4/strdup.m4: New file.
60823
60824         Module strnlen.
60825         * m4/strnlen.m4: New file.
60826
60827         Module strndup.
60828         * m4/strndup.m4: New file.
60829
60830         Module xstrtod.
60831         * m4/xstrtod.m4: New file.
60832
60833         Module xstrtol.
60834         * m4/xstrtol.m4: New file.
60835
60836         Module getdate.
60837         * m4/getdate.m4: New file.
60838
60839         Module unlocked-io.
60840         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
60841         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
60842         * m4/jm-glibc-io.m4n: Remove file.
60843
60844         Module long-options.
60845         * m4/long-options.m4: New file.
60846
60847         Module md5.
60848         * m4/md5.m4: New file.
60849
60850         Module sha.
60851         * m4/sha.m4: New file.
60852
60853         Module getstr.
60854         * m4/getstr.m4: New file.
60855
60856         Module getline.
60857         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
60858         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
60859         <sys/types.h>, for size_t. Use the function name gnu_getline, not
60860         simply getline. Infoke gl_PREREQ_GETLINE.
60861
60862         Module obstack.
60863         * m4/obstack.m4: New file.
60864
60865         Module hash.
60866         * m4/hash.m4: New file.
60867
60868         Module readtokens.
60869         * m4/readtokens.m4: New file.
60870
60871         Module strverscmp.
60872         * m4/strverscmp.m4: New file.
60873
60874         Module stdbool.
60875         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
60876         OSF/1.
60877
60878         Module strtoll.
60879         * m4/strtoll.m4: New file.
60880
60881         Module strtoull.
60882         * m4/strtoull.m4: New file.
60883
60884         Module strtoimax.
60885         * m4/strtoimax.m4: New file.
60886
60887         Module strtoumax.
60888         * m4/strtoumax.m4: New file.
60889
60890         Module xstrtoimax.
60891         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
60892         jm_AC_PREREQ_XSTRTOIMAX.
60893         Moved the strtol prerequisites to strtol.m4.
60894         Moved the strtoll prerequisites to strtoll.m4.
60895         Moved the strtoimax prerequisites to strtoimax.m4.
60896
60897         Module xstrtoumax.
60898         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
60899         jm_AC_PREREQ_XSTRTOUMAX.
60900         Moved the strtoul prerequisites to strtoul.m4.
60901         Moved the strtoull prerequisites to strtoull.m4.
60902         Moved the strtoumax prerequisites to strtoumax.m4.
60903
60904         Module chown.
60905         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
60906         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
60907
60908         Module dup2.
60909         * m4/dup2.m4: New file.
60910
60911         Module ftruncate.
60912         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
60913         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
60914
60915         Module getgroups.
60916         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
60917         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
60918
60919         Module gettimeofday.
60920         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
60921         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
60922         gl_PREREQ_GETTIMEOFDAY.
60923
60924         Module mkdir.
60925         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
60926         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
60927
60928         Module mkstemp.
60929         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
60930         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
60931         jm_AC_TYPE_UINTMAX_T.
60932         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
60933
60934         Module stat.
60935         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
60936         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
60937
60938         Module lstat.
60939         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
60940         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
60941
60942         Module timespec.
60943         * m4/timespec.m4 (gl_TIMESPEC): New macro.
60944         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
60945         * m4/st_mtim.m4: Indentation.
60946
60947         Module nanosleep.
60948         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
60949         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
60950         gl_PREREQ_NANOSLEEP.
60951
60952         Module regex.
60953         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
60954         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
60955         (gl_REGEX): New macro.
60956
60957         Module rename.
60958         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
60959         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
60960
60961         Module rmdir.
60962         * m4/rmdir.m4: New file.
60963
60964         Module utime.
60965         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
60966         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
60967         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
60968
60969         Module dirname.
60970         * m4/dirname.m4: New file.
60971
60972         Module getopt.
60973         * m4/getopt.m4: New file.
60974
60975         Module unistd-safer.
60976         * m4/unistd-safer.m4: New file.
60977
60978         Module fnmatch.
60979         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
60980         declaration.
60981         (gl_PREREQ_FNMATCH_EXTRA): New macro.
60982         (gl_FUNC_FNMATCH_POSIX): New macro.
60983         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
60984         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
60985         simply fnmatch.
60986
60987         Module exclude.
60988         * m4/exclude.m4: New file.
60989
60990         Module human.
60991         * m4/human.m4: New file.
60992
60993         Module acl.
60994         * m4/acl.m4: Nop.
60995
60996         Module backupfile.
60997         * m4/backupfile.m4: New file.
60998         * m4/d-ino.m4: Indentation.
60999
61000         Module fsusage.
61001         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
61002         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
61003         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
61004
61005         Module dirfd.
61006         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
61007         requirements.
61008
61009         Module euidaccess.
61010         * m4/euidaccess.m4: New file.
61011
61012         Module file-type.
61013         * m4/file-type.m4: New file.
61014
61015         Module fileblocks.
61016         * m4/fileblocks.m4: New file.
61017
61018         Module filemode.
61019         * m4/filemode.m4: New file.
61020
61021         Module isdir.
61022         * m4/isdir.m4: New file.
61023
61024         Module lchown.
61025         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
61026         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
61027
61028         Module makepath.
61029         * m4/makepath.m4: New file.
61030
61031         Module modechange.
61032         * m4/modechange.m4: New file.
61033
61034         Module mountlist.
61035         * m4/mountlist.m4: New file.
61036         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
61037         Indentation.
61038
61039         Module path-concat.
61040         * m4/path-concat.m4: New file.
61041
61042         Module pathmax.
61043         * m4/pathmax.m4: New file.
61044
61045         Module same.
61046         * m4/same.m4: New file.
61047
61048         Module save-cwd.
61049         * m4/save-cwd.m4: New file.
61050
61051         Module savedir.
61052         * m4/savedir.m4: New file.
61053
61054         Module xgetcwd.
61055         * m4/xgetcwd.m4: New file.
61056         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
61057
61058         Module xreadlink.
61059         * m4/xreadlink.m4: New file.
61060
61061         Module safe-read.
61062         * m4/safe-read.m4: New file.
61063
61064         Module safe-write.
61065         * m4/safe-write.m4: New file.
61066
61067         Module closeout.
61068         * m4/closeout.m4: New file.
61069
61070         Module stdio-safer.
61071         * m4/stdio-safer.m4: New file.
61072
61073         Module getpass.
61074         * m4/getpass.m4: New file.
61075
61076         Module getugroups.
61077         * m4/getugroups.m4: New file.
61078
61079         Module group-member.
61080         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
61081         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
61082
61083         Module idcache.
61084         * m4/idcache.m4: New file.
61085
61086         Module userspec.
61087         * m4/userspec.m4: New file.
61088
61089         Module gettime.
61090         * m4/clock_time.m4: New file.
61091         * m4/gettime.m4: New file.
61092
61093         Module settime.
61094         * m4/settime.m4: New file.
61095
61096         Module posixtm.
61097         * m4/posixtm.m4: New file.
61098
61099         Module gethostname.
61100         * m4/gethostname.m4: New file.
61101
61102         Module canon-host.
61103         * m4/canon-host.m4: New file.
61104
61105         Module gettext.
61106         * m4/codeset.m4: New file, from gettext-0.11.5.
61107         * m4/gettext.m4: New file, from gettext-0.11.5.
61108         * m4/glibc21.m4: New file, from gettext-0.11.5.
61109         * m4/iconv.m4: New file, from gettext-0.11.5.
61110         * m4/intdiv0.m4: New file, from gettext-0.11.5.
61111         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
61112         * m4/inttypes.m4: New file, from gettext-0.11.5.
61113         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
61114         * m4/isc-posix.m4: New file, from gettext-0.11.5.
61115         * m4/lcmessage.m4: New file, from gettext-0.11.5.
61116         * m4/lib-ld.m4: New file, from gettext-0.11.5.
61117         * m4/lib-link.m4: New file, from gettext-0.11.5.
61118         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
61119         * m4/progtest.m4: New file, from gettext-0.11.5.
61120         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
61121         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
61122         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
61123
61124         Module localcharset.
61125         * m4/localcharset.m4: New file.
61126
61127         Module hard-locale.
61128         * m4/hard-locale.m4: New file.
61129
61130         Module mbswidth.
61131         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
61132         onceonly macros.
61133         * m4/mbrtowc.m4: Add comment.
61134
61135         Module memcasecmp.
61136         * m4/memcasecmp.m4: New file.
61137
61138         Module memcoll.
61139         * m4/memcoll.m4: New file.
61140
61141         Module unicodeio.
61142         * m4/unicodeio.m4: New file.
61143
61144         Module rpmatch.
61145         * m4/rpmatch.m4: New file.
61146
61147         Module yesno.
61148         * m4/yesno.m4: New file.
61149
61150         Module exitfail.
61151         * m4/exitfail.m4: New file.
61152
61153         Module c-stack.
61154         * m4/c-stack.m4 (gl_C_STACK): New macro.
61155         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
61156
61157         Module error.
61158         * m4/error.m4 (gl_ERROR): New macro.
61159         (jm_PREREQ_ERROR): Use onceonly macros.
61160
61161         Module fatal.
61162         * m4/fatal.m4: New file.
61163
61164         Module getloadavg.
61165         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
61166         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
61167
61168         Module getpagesize.
61169         * m4/getpagesize.m4: New file.
61170
61171         Module getusershell.
61172         * m4/getusershell.m4: New file.
61173
61174         Module physmem.
61175         * m4/physmem.m4: New file.
61176
61177         Module posixver.
61178         * m4/posixver.m4: New file.
61179
61180         Module quotearg.
61181         * m4/quotearg.m4: New file.
61182
61183         Module quote.
61184         * m4/quote.m4: New file.
61185
61186         Module readutmp.
61187         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
61188
61189         Module sig2str.
61190         * m4/sig2str.m4: New file.
61191
61192         Other.
61193         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
61194         ulonglong.m4.
61195         * m4/intmax_t.m4: New file.
61196         * m4/d-type.m4: Indentation.
61197         * m4/jm-macros.m4: Update.
61198         * m4/prereq.m4 (jm_PREREQ): Update.
61199         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
61200         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
61201         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
61202         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
61203         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
61204         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
61205         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
61206         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
61207         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
61208         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
61209         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
61210         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
61211         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
61212         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
61213         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
61214         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
61215         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
61216         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
61217         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
61218
61219 2002-12-24  Bruno Haible  <bruno@clisp.org>
61220
61221         * MODULES.txt: Update according to m4/ changes.
61222
61223         Module gettext.
61224         * config.rpath: New file, from gettext-0.11.5.
61225
61226         * modules/*: New module descriptions.
61227         * gnulib-tool: New file.
61228         * MODULES.html.sh: New file.
61229
61230 2002-12-21  Karl Berry  <karl@gnu.org>
61231
61232         * doc/fdl.texi: update to version 1.2.
61233
61234 2002-12-19  Karl Berry  <karl@gnu.org>
61235
61236         * config/config.guess: update from prep.
61237
61238 2002-12-18  Bruno Haible  <bruno@clisp.org>
61239
61240         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
61241         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
61242
61243 2002-12-17  Bruno Haible  <bruno@clisp.org>
61244
61245         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
61246         stdlib.h, string.h.
61247
61248 2002-12-17  Bruno Haible  <bruno@clisp.org>
61249
61250         * lib/canon-host.c (strdup): Remove unused declaration.
61251
61252         * lib/fsusage.c: Include full_read.h.
61253         (get_fs_usage): Use full_read instead of safe_read.
61254
61255         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
61256
61257 2002-12-12  Karl Berry  <karl@gnu.org>
61258
61259         * config/config.guess: update from prep.
61260
61261 2002-12-11  Bruno Haible  <bruno@clisp.org>
61262
61263         * m4/setenv.m4: New file, from gettext-0.11.5.
61264
61265 2002-12-11  Bruno Haible  <bruno@clisp.org>
61266
61267         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
61268         not unsetenv().
61269         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
61270         modifications:
61271
61272         2002-12-11  Bruno Haible  <bruno@clisp.org>
61273
61274                 * setenv.c (alloca): Fall back to malloc.
61275                 (freea): New macro.
61276                 (setenv): Use freea() to free memory allocated with alloca().
61277
61278         2002-11-13  Bruno Haible  <bruno@clisp.org>
61279
61280                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
61281                 function declarations.
61282                 * unsetenv.c (unsetenv): Likewise.
61283
61284         2002-03-04  Bruno Haible  <bruno@clisp.org>
61285
61286                 Portability to AIX 4.3.3.
61287                 * unsetenv.c: New file, extracted from setenv.c.
61288                 * setenv.c: Move the unsetenv() function to unsetenv.c.
61289
61290         2001-12-20  Bruno Haible  <bruno@clisp.org>
61291
61292                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
61293                 use malloc instead. For SunOS 4.
61294
61295         2001-12-11  Bruno Haible  <bruno@clisp.org>
61296
61297                 * setenv.c: Declare alloca.
61298                 (compar_fn_t): New typedef.
61299                 (KNOWN_VALUE, STORE_VALUE): Use it.
61300
61301         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
61302         setenv.h.
61303
61304 2002-12-10  Paul Eggert  <eggert@twinsun.com>
61305
61306         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
61307         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
61308         Choose values that are less likely to collide with system fnmatch
61309         options.
61310         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
61311         defined (e.g., a pure POSIX system).
61312         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
61313         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
61314
61315 2002-12-06  Paul Eggert  <eggert@twinsun.com>
61316
61317         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
61318         a pain in practice to deal with generated m4 files.  This change
61319         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
61320
61321         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
61322         and jm-glibc-io.m4, as they are no longer a special case.
61323         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
61324         kludge and the auto-generation stuff.  Check only whether the
61325         functions are declared, not whether they exist, since older hosts
61326         that don't declare the functions can't use the optimization anyway.
61327
61328 2002-12-06  Jim Meyering  <jim@meyering.net>
61329
61330         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
61331
61332         Merge in changes from libc's misc/error.c, in preparation
61333         for the merge of gnulib's changes back into libc.
61334
61335         * lib/error.c (_): Define only if not already defined.
61336         Move definition to follow all #include directives.
61337         Include unlocked-io.h only if !_LIBC.
61338         [_LIBC]: Include <libio/libioP.h>.
61339         [USE_IN_LIBIO]: Include <libio/iolibio.h>
61340         (fflush): Tweak definition to use INTUSE.
61341         (putc): Define.
61342
61343 2002-12-05  Paul Eggert  <eggert@twinsun.com>
61344
61345         * lib/alloca.c [defined emacs]: Include "lisp.h".
61346         (xalloc_die) [defined emacs]: New macro.
61347         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
61348         [! defined emacs]: Include <xalloc.h>.
61349         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
61350         (pointer): Typedef to POINTER_TYPE *.
61351         (malloc): Remove decl; we now always use xmalloc.
61352         (alloca): Use old-style definition, since Emacs needs this.
61353         Check for arithmetic overflow when computing combined size.
61354
61355 2002-12-04  Paul Eggert  <eggert@twinsun.com>
61356
61357         Do not generate unlocked-io.h automatically, since it's easier to
61358         maintain it by hand.
61359
61360         * lib/unlocked-io.h: New file, from GNU diffutils,
61361         but with proper copyright notice and attribution.
61362         * lib/gen-uio: Remove.
61363         * lib/Makefile.am: Add copyright notice.
61364         (libfetish_a_SOURCES): Add unlocked-io.h.
61365         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
61366         (DISTCLEANFILES, io_functions): Remove macros.
61367         (EXTRA_DIST): Remove gen_uio.
61368         (unlocked-io.h): Remove rule.
61369
61370 2002-12-04  Jim Meyering  <jim@meyering.net>
61371
61372         Reflect the fact that stat.c and lstat.c are no longer generated.
61373         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
61374         (DISTCLEANFILES): Likewise.
61375         (EXTRA_DIST): Likewise.
61376         (all_local): Don't depend on stat.c or lstat.c.
61377         (stat.c, lstat.c): Remove rules.
61378         (EXTRA_DIST): Remove xstat.in.
61379
61380         * lib/xstat.in: Remove file.  Contents moved into stat.c.
61381         * lib/stat.c: New file.  Contents mostly from xstat.in.
61382         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
61383         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
61384
61385         * lib/safe-read.c: Rework so that it may serve to define safe_write,
61386         too.
61387         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
61388
61389 2002-12-03  Jim Meyering  <jim@meyering.net>
61390
61391         * lib/safe-read.c, safe-write.c: Change variable names and comments,
61392         but not semantics, to minimize the differences between these two files.
61393         (safe_read): Change comment to mention SAFE_READ_ERROR.
61394
61395         * lib/safe-read.c (IS_EINTR): Define.
61396         (safe_read): Use IS_EINTR in place of in-function cpp directives.
61397
61398 2002-12-02  Jim Meyering  <jim@meyering.net>
61399
61400         * lib/safe-read.c (EINTR): Define.
61401         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
61402         (INT_MAX): Provide fallback.
61403         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
61404
61405         * lib/safe-read.h (SAFE_READ_ERROR): Define.
61406
61407 2002-12-02  Bruno Haible  <bruno@clisp.org>
61408
61409         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
61410         Define, taken from safe-read.c.
61411         (INT_MAX): Provide fallback.
61412         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
61413         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
61414
61415         * lib/safe-read.c (EINTR): Remove definition.
61416         (safe_read): Don't use EINTR if it is absent.
61417
61418 2002-12-01  Jim Meyering  <jim@meyering.net>
61419
61420         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
61421         zero.
61422         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
61423
61424 2002-11-27  Paul Eggert  <eggert@twinsun.com>
61425
61426         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
61427         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
61428         with `if (! (value < limit)) abort ();', for readability.
61429
61430 2002-11-26  Karl Berry  <karl@gnu.org>
61431
61432         * lib/strdup.c: copy from libc again, with jim's ok.
61433         * lib/.cppi-disable: re-add strdup.c
61434
61435 2002-11-25  Karl Berry  <karl@gnu.org>
61436
61437         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
61438         instead of "strtol.c".
61439
61440 2002-11-25  Karl Berry  <karl@gnu.org>
61441
61442         * config/install-sh: update from automake for variable quoting, $0 in
61443         error msgs, etc.
61444
61445         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
61446         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
61447         entry.
61448
61449 2002-11-25  Jim Meyering  <jim@meyering.net>
61450
61451         * lib/mktime.c: Sync from libc, now that it has the latest fix.
61452
61453 2002-11-24  Karl Berry  <karl@gnu.org>
61454
61455         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
61456         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
61457
61458 2002-11-24  Jim Meyering  <jim@meyering.net>
61459
61460         Update from coreutils:
61461
61462         * lib/mktime.c: Merge in changes from libc.
61463
61464         Avoid a link-time failure on some Linux systems.
61465         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
61466         (otherwise).
61467         (__mon_yday): Declare with the STATIC attribute.
61468         (__mktime_internal): Likewise.
61469         Based on a report from Greg Schafer.
61470
61471 2002-11-23  Jim Meyering  <jim@meyering.net>
61472
61473         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
61474         Use `unsigned', not `int', as type of index.
61475
61476         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
61477
61478         * lib/fsusage.c: Remove unneeded parentheses around operands of
61479         `defined'.
61480
61481 2002-11-22  Paul Eggert  <eggert@twinsun.com>
61482
61483         * lib/quotearg.h: Allow multiple inclusion by surrounding with
61484         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
61485         so that we can be included first.
61486         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
61487         * lib/quotearg.c: Include quotearg.h immediately after config.h.
61488         No need to include stddef.h or sys/types.h any more.
61489         Surround local include files with "", not "<>".
61490         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
61491         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
61492         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
61493         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
61494         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
61495         (ISPRINT): Remove; no longer needed now that we assume C89.
61496
61497         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
61498         Preserve errno.
61499
61500         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
61501         quotearg_char): Use SIZE_MAX rather than
61502         (size_t) -1 when we are talking about "infinity".
61503
61504         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
61505
61506 2002-11-22  Paul Eggert  <eggert@twinsun.com>
61507
61508         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
61509         hint that one should use `if (! x) abort ();' rather than `assert
61510         (x);', and anyway it's one less thing to worry about configuring.
61511         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
61512         hash_rehash, hash_insert): Use abort rather than assert.
61513
61514 2002-11-22  Bruno Haible  <bruno@clisp.org>
61515
61516         * lib/safe-read.h: Assume C89. Add comments.
61517         (safe_read): Change return type to size_t.
61518         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
61519         byte counts > SSIZE_MAX correctly.
61520         * lib/safe-write.h: New file.
61521         * lib/safe-write.c: New file.
61522         * lib/full-read.h: New file.
61523         * lib/full-read.c: New file.
61524         * lib/full-write.h: Assume C89. Add comments.
61525         * lib/full-write.c: Include safe-write.h.
61526         (full_write): Rewritten to use safe_write.
61527         Suggested by Jim Meyering and Paul Eggert.
61528
61529 2002-11-21  Jim Meyering  <jim@meyering.net>
61530
61531         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
61532
61533         Merge in changes from the coreutils.
61534
61535         2002-09-25  Paul Eggert  <eggert@twinsun.com>
61536         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
61537         <stdint.h>.
61538         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
61539         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
61540         int.  Work more efficiently if X is the same width as uintmax_t.
61541         Do not compare X to -1, to avoid bogus compiler warning.
61542         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
61543         Don't assume that f_frsize and f_bsize are the same type.
61544
61545         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
61546         warning on FreeBSD.
61547
61548         * lib/makepath.c (make_path): Restore umask *before* creating the final
61549         component.
61550         (make_path): Minor reformatting.
61551
61552         * lib/xmalloc.c: Adjust to work with new autoconf macros,
61553         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
61554         HAVE_MALLOC/HAVE_REALLOC.
61555
61556         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
61557         dummy ones.  At least on GNU/Linux systems, `auto' means something
61558         else.
61559         From Michael Stone.
61560
61561 2002-11-21  Bruno Haible  <bruno@clisp.org>
61562
61563         Remove case insensitive option matching.
61564         * lib/argmatch.h (argcasematch): Remove declaration.
61565         (ARGCASEMATCH): Remove macro.
61566         (__xargmatch_internal): Remove case_sensitive argument.
61567         (XARGMATCH): Update.
61568         (XARGCASEMATCH): Remove macro.
61569         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
61570         case_sensitive argument.
61571         (argcasematch): Remove function.
61572         (__xargmatch_internal): Remove case_sensitive argument.
61573         (main): Use XARGMATCH instead of XARGCASEMATCH.
61574
61575         * lib/xmalloc.c: Change compile-time error message. Add comment about
61576         required autoconf version.
61577
61578 2002-11-20  Paul Eggert  <eggert@twinsun.com>
61579
61580         Merge argmatch cleanups from Bison.  Assume C89.
61581
61582         * lib/argmatch.c: Include config.h here, not in argmatch.h.
61583         Include stdlib.h, for EXIT_FAILURE.
61584         Always include <string.h>, since we assume C89.
61585         (EXIT_FAILURE): Remove pre-C89 bug workaround.
61586         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
61587         Include <stddef.h> instead, since it's all we need for size_t.
61588         (PARAMS): Remove.  All uses removed.
61589         (ARRAY_CARDINALITY): Do not bother to #undef.
61590         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
61591         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
61592         Remove unnecessary parentheses.
61593         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
61594         Insert necessary parentheses.
61595         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
61596         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
61597
61598 2002-11-19  Bruno Haible  <bruno@clisp.org>
61599
61600         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
61601         * lib/mbswidth.h: Include <stddef.h>, for size_t.
61602
61603         * lib/mbswidth.h (PARAMS): Remove macro.
61604         (mbswidth, mbsnwidth): Use ANSI C function declarations.
61605         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
61606
61607         * lib/gcd.h (PARAMS): Remove macro.
61608         (gcd): Use ANSI C function declarations.
61609         * lib/gcd.c (gcd): Likewise.
61610
61611 2002-11-15  Bruno Haible  <bruno@clisp.org>
61612
61613         * lib/strcspn.c: Include <stddef.h>.
61614         (strcspn): Use ANSI C function declaration. Change return type to
61615         size_t. Use NULL.
61616         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
61617         (strpbrk): Use NULL.
61618         * lib/strpbrk.h (PARAMS): Remove macro.
61619         (strpbrk): Use ANSI C function declaration.
61620         * lib/strstr.c: Don't include <sys/types.h>.
61621         * lib/strstr.h (PARAMS): Remove macro.
61622         (strstr): Use ANSI C function declarations.
61623
61624 2002-11-14  Karl Berry  <karl@gnu.org>
61625
61626         * config/mkinstalldirs: `do' on separate line, instead of
61627         `for var; do'.
61628
61629 2002-11-06  Bruno Haible  <bruno@clisp.org>
61630
61631         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
61632         * lib/gcd.c (gcd): Likewise.
61633
61634 2002-11-05  Bruno Haible  <bruno@clisp.org>
61635
61636         * lib/gcd.h: New file, from gettext-0.11.5.
61637         * lib/gcd.c: New file, from gettext-0.11.5.
61638
61639 2002-11-05  Bruno Haible  <bruno@clisp.org>
61640
61641         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
61642         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
61643         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
61644         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
61645
61646         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
61647         <libintl.h>.
61648         * lib/makepath.c: Include gettext.h instead of <locale.h> and
61649         <libintl.h>.
61650
61651         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
61652         * lib/human.c: Include gettext.h instead of <libintl.h>.
61653         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
61654         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
61655         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
61656         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
61657         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
61658         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
61659         (textdomain): Remove definition.
61660         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
61661
61662         * lib/long-options.c: Remove include of <libintl.h> and definition of
61663         _.
61664         * lib/same.c: Remove include of <libintl.h> and definition of _.
61665
61666 2002-11-04  Owen Taylor  <otaylor@redhat.com>
61667
61668         * lib/config.charset: A few additions for Solaris.
61669
61670 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
61671
61672         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
61673         * lib/localcharset.c (locale_charset): Declare as extern "C".
61674
61675 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
61676
61677         * lib/config.charset: msdos in uk_UA uses CP1125.
61678
61679 2002-11-04  Bruno Haible  <bruno@clisp.org>
61680
61681         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
61682         * lib/strcase.h: New file, from GNU gettext-0.11.5.
61683         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
61684         * lib/strstr.h: New file, from GNU gettext-0.11.5.
61685         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
61686
61687 2002-11-04  Bruno Haible  <bruno@clisp.org>
61688
61689         * lib/localcharset.c (locale_charset): Don't return an empty string.
61690
61691 2002-11-04  Bruno Haible  <bruno@clisp.org>
61692
61693         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
61694         aliases.
61695
61696 2002-11-04  Bruno Haible  <bruno@clisp.org>
61697
61698         * lib/config.charset: Update for newest glibc. Add canonical names
61699         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
61700
61701 2002-11-04  Bruno Haible  <bruno@clisp.org>
61702
61703         * lib/config.charset: Add support for NetBSD.
61704
61705 2002-11-04  Bruno Haible  <bruno@clisp.org>
61706
61707         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
61708
61709 2002-11-01  Bruno Haible  <bruno@clisp.org>
61710
61711         * configure.in: Add AC_CONFIG_AUX_DIR call.
61712         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
61713         test/Makefile.
61714         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
61715
61716 2002-09-28  Karl Berry  <karl@gnu.org>
61717
61718         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
61719         installed automake until the next release, since changes have been
61720         made.
61721
61722 2002-09-25  Karl Berry  <karl@gnu.org>
61723
61724         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
61725         * lib/getopt*: copy from libc/posix.
61726         * lib/gettext.h: copy from gettext.
61727         * lib/.cppi-disable: add strdup.c, gettext.h.
61728
61729 2002-09-25  Karl Berry  <karl@gnu.org>
61730
61731         * config/srclist.txt: enable gettext.h check.
61732         * config/config.{guess,sub}: update from prep.
61733         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
61734                 from automake 1.6.3.
61735         See srclist*.
61736
61737 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
61738
61739         * regex.c (PATFETCH): Remove the translating fetch.
61740         (PATFETCH_RAW): Rename to PATFETCH.
61741         (set_image_of_range): New fun.
61742         (SET_RANGE_TABLE_WORK_AREA): Use it.
61743         (regex_compile): Don't translate the pattern chars so eagerly.
61744         Only do it when inserting an `exactn' bytecode or when handling
61745         a char-range.
61746         (mutually_exclusive_p): Avoid empty statement.
61747
61748 2002-07-06  Jim Meyering  <meyering@lucent.com>
61749
61750         * m4/README: Don't mention Makefile.am.in.
61751         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
61752
61753 2002-07-01  Jim Meyering  <meyering@lucent.com>
61754
61755         * lib/c-stack.c: Include sys/time.h.
61756         From Volker Borchert.
61757
61758 2002-06-26  Paul Eggert  <eggert@twinsun.com>
61759
61760         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
61761
61762 2002-06-26  Paul Eggert  <eggert@twinsun.com>
61763
61764         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
61765         New macro.  Use it uniformly instead of
61766         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
61767         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
61768         reported by Vin Shelton.
61769
61770 2002-06-22  Paul Eggert  <eggert@twinsun.com>
61771
61772         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
61773         Do not assume SA_SIGINFO behavior.
61774         Bug reported by Jim Meyering on NetBSD 1.5.2.
61775
61776 2002-06-22  Jim Meyering  <meyering@lucent.com>
61777
61778         * m4/c-stack.m4: New file, from diffutils-2.8.2.
61779         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
61780
61781         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
61782         now that configure.ac uses AC_GNU_SOURCE.
61783         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
61784         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
61785
61786         Update to latest tools.  Suggestions from Paul Eggert.
61787         * m4/stdbool.m4: New file, from diffutils-2.8.2.
61788         * m4/gnu-source.m4: Update from diffutils-2.8.2.
61789         * m4/fnmatch.m4: Likewise.
61790         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
61791         to AC_HEADER_STDBOOL
61792
61793 2002-06-22  Jim Meyering  <meyering@lucent.com>
61794
61795         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
61796         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
61797
61798 2002-06-22  Jim Meyering  <meyering@lucent.com>
61799
61800         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
61801
61802         * lib/exitfail.c, exitfail.h: Likewise.
61803         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
61804
61805         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
61806         of fnmatch.h.
61807         (EXTRA_DIST): Add fnmatch_loop.c.
61808         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
61809
61810         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
61811         * lib/fnmatch.c: Update from diffutils-2.8.2.
61812         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
61813         * lib/fnmatch.h: Remove file.
61814
61815 2002-06-21  Jim Meyering  <meyering@lucent.com>
61816
61817         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
61818         * m4/mbrtowc.m4: Likewise.
61819
61820         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
61821         * m4/mbswidth.m4: Reflect name change:
61822         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
61823         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
61824
61825         * m4/lib-link.m4: Update from gettext-0.11.2.
61826         * m4/gettext.m4: Likewise.
61827
61828         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
61829         From Alfred M. Szmidt.
61830
61831 2002-06-18  Paul Eggert  <eggert@twinsun.com>
61832
61833         * lib/file-type.h: Report an error if neither S_ISREG nor
61834         S_IFREG is defined, instead of using a test specific to glibc
61835         2.2.  This should be safe, since POSIX requires S_ISREG and
61836         Unix Version 7 had S_IFREG.  We don't need to check for
61837         <sys/types.h> since we don't use any symbols that it defines.
61838
61839 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
61840
61841         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
61842         $@-t, so that each temporary file name is unique and valid in the first
61843         8 characters, for operation under DOS.
61844
61845 2002-06-15  Paul Eggert  <eggert@twinsun.com>
61846
61847         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
61848
61849 2002-06-15  Jim Meyering  <meyering@lucent.com>
61850
61851         Work even with DJGPP 2.03, which lacks support for symlinks.
61852         From Richard Dawe.
61853         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
61854         is defined.
61855         * lib/lchown.c (S_ISLNK): Likewise.
61856
61857 2002-06-15  Jim Meyering  <meyering@lucent.com>
61858
61859         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
61860         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
61861         have been included before this file.
61862
61863 2002-06-14  Jim Meyering  <meyering@lucent.com>
61864
61865         * lib/file-type.h: Use the version from diffutils-2.8.2.
61866         * lib/file-type.c: Likewise.
61867
61868 2002-06-07  Jim Meyering  <meyering@lucent.com>
61869
61870         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
61871         They're needed at least for NetBSD 1.5.2.
61872         ($statxfs_includes): Include those same headers.
61873         ($statxfs_includes): Include sys/vfs.h if available.
61874         ($statxfs_includes): Likewise for sys/statvfs.h.
61875         Check for the following members in both structs statfs and statvfs:
61876         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
61877
61878 2002-06-01  Jim Meyering  <meyering@lucent.com>
61879
61880         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
61881         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
61882
61883 2002-05-28  Jim Meyering  <meyering@lucent.com>
61884
61885         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
61886         Reported by Volker Borchert.
61887
61888 2002-05-27  Jim Meyering  <meyering@lucent.com>
61889
61890         Fix a problem seen only on nonconforming systems whereby ls.c's
61891         use of localtime, and then of gettimeofday would cause trouble:
61892         the localtime call used to initialize rpl_gettimeofday's save
61893         mechanism would clobber ls's current local time information so
61894         that in any long listing the first file would always be listed
61895         with date 1970-01-01.  Analysis by Volker Borchert.
61896
61897         * lib/gettimeofday.c (localtime): Undefine.
61898         (rpl_localtime): New function.
61899
61900 2002-05-27  Jim Meyering  <meyering@lucent.com>
61901
61902         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
61903         localtime.
61904
61905         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
61906         use the replacement function; it wouldn't resolve at link time.
61907         Reported by Volker Borchert.
61908
61909 2002-05-22  Jim Meyering  <meyering@lucent.com>
61910
61911         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
61912         file-type.h.
61913         * lib/file-type.h: New file.
61914         * lib/file-type.c (file_type): New file/function.  Extracted from
61915         diffutils.
61916
61917 2002-04-30  Jim Meyering  <meyering@lucent.com>
61918
61919         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
61920
61921 2002-04-29  Paul Eggert  <eggert@twinsun.com>
61922
61923         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
61924
61925 2002-04-29  Paul Eggert  <eggert@twinsun.com>
61926
61927         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
61928         Do not check for alloca.h (no longer used) or stdbool.h (was never
61929         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
61930
61931 2002-04-29  Paul Eggert  <eggert@twinsun.com>
61932
61933         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
61934
61935 2002-04-29  Jim Meyering  <meyering@lucent.com>
61936
61937         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
61938         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
61939         Use AC_FUNC_STRNLEN here instead.
61940
61941         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
61942         With autoconf-2.53a, it's part of AC_PROG_CC.
61943
61944 2002-04-28  Paul Eggert  <eggert@twinsun.com>
61945
61946         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
61947         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
61948
61949 2002-04-28  Paul Eggert  <eggert@twinsun.com>
61950
61951         * lib/sig2str.h, lib/sig2str.c: New files.
61952         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
61953
61954 2002-04-28  Paul Eggert  <eggert@twinsun.com>
61955
61956         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
61957         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
61958         of 127, since 64 is the largest conceivable number for ancient
61959         nonstandard hosts.
61960         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
61961
61962 2002-04-28  Jim Meyering  <meyering@lucent.com>
61963
61964         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
61965
61966 2002-04-24  Jim Meyering  <meyering@lucent.com>
61967
61968         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
61969         (jm_PREREQ): Use it.
61970
61971         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
61972         mach/mach.h fcntl.h.
61973         Check for this function: setlocale.
61974
61975 2002-04-24  Jim Meyering  <meyering@lucent.com>
61976
61977         * lib/gettext.h: New file, from Gettext.
61978         * lib/Makefile.am (INCLUDES): Remove -I../intl.
61979         (libfetish_a_SOURCES): Add gettext.h.
61980
61981 2002-04-16  Jim Meyering  <meyering@lucent.com>
61982
61983         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
61984         ut_pid, ut_id, ut_exit.
61985
61986 2002-04-16  Jim Meyering  <meyering@lucent.com>
61987
61988         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
61989         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
61990         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
61991
61992 2002-04-12  Jim Meyering  <meyering@lucent.com>
61993
61994         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
61995         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
61996         existence of the getmntinfo function.  Needed for Darwin 5.3.
61997
61998         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
61999         This is necessary at least on Darwin 5.3.
62000
62001         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
62002         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
62003         strnlen.o in the library, and that makes some versions of ranlib
62004         object.
62005
62006 2002-04-12  Jim Meyering  <meyering@lucent.com>
62007
62008         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
62009
62010 2002-04-09  Jim Meyering  <meyering@lucent.com>
62011
62012         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
62013         to be more precise.  Rather than saying we're checking whether the
62014         function `works', say what we're testing.
62015         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
62016         Reported by Bruno Haible.
62017
62018 2002-03-10  Jim Meyering  <meyering@lucent.com>
62019
62020         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
62021         Suggestion from Santiago Vila.
62022
62023 2002-03-08  Jim Meyering  <meyering@lucent.com>
62024
62025         * lib/rename.c: Mention that this wrapper is needed also on
62026         mips-dec-ultrix4.4 systems.
62027
62028 2002-03-02  Jim Meyering  <meyering@lucent.com>
62029
62030         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
62031         not HAVE_CLOCK_SETTIME.
62032
62033 2002-02-27  Paul Eggert  <eggert@twinsun.com>
62034
62035         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
62036         Check for clock_settime.
62037
62038 2002-02-27  Paul Eggert  <eggert@twinsun.com>
62039
62040         * lib/nanosleep.h: Rename to....
62041         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
62042
62043         * lib/gettime.c: New file.
62044         * lib/settime.c: New file.
62045         * lib/stime.c: Remove.
62046
62047         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
62048         timespec.h.  Remove nanosleep.h.
62049
62050 2002-02-25  Paul Eggert  <eggert@twinsun.com>
62051
62052         * m4/acl.m4: New file.
62053         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
62054         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
62055
62056 2002-02-25  Paul Eggert  <eggert@twinsun.com>
62057
62058         * lib/acl.c, lib/acl.h: New files.
62059         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
62060
62061 2002-02-24  Jim Meyering  <meyering@lucent.com>
62062
62063         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
62064         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
62065         cause trouble.  Reported by Nelson Beebe.
62066
62067 2002-02-23  Paul Eggert  <eggert@twinsun.com>
62068
62069         * lib/path-concat.c (xpath_concat): Reorder code to pacify
62070         compilers that don't know that xalloc_die never returns.
62071
62072 2002-02-20  Jim Meyering  <meyering@lucent.com>
62073
62074         * lib/getdate.c: Regenerate using bison-1.33.
62075
62076 2002-02-17  Jim Meyering  <meyering@lucent.com>
62077
62078         * config/config.guess (main): Don't use `head -1'; it's no longer
62079         portable. Use `sed 1q' instead.
62080
62081 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
62082
62083         * m4/codeset.m4: Upgrade to gettext-0.11.
62084         * m4/gettext.m4: Upgrade to gettext-0.11.
62085         * m4/glibc21.m4: Upgrade to gettext-0.11.
62086         * m4/iconv.m4: Upgrade to gettext-0.11.
62087         * m4/isc-posix.m4: Upgrade to gettext-0.11.
62088         * m4/lcmessage.m4: Upgrade to gettext-0.11.
62089         * m4/lib-ld.m4: New file, from gettext-0.11.
62090         * m4/lib-link.m4: New file, from gettext-0.11.
62091         * m4/lib-prefix.m4: New file, from gettext-0.11.
62092         * m4/progtest.m4: Upgrade to gettext-0.11.
62093
62094 2002-02-15  Paul Eggert  <eggert@twinsun.com>
62095
62096         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
62097         (jm_PREREQ): Use it.
62098
62099 2002-02-15  Paul Eggert  <eggert@twinsun.com>
62100
62101         * lib/posixver.c, lib/posixver.h: New files.
62102         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
62103
62104 2002-02-02  Paul Eggert  <eggert@twinsun.com>
62105             Bruno Haible  <bruno@clisp.org>
62106
62107         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
62108         (fwrite_success_callback): New declaration.
62109         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
62110         print_unicode_char. Call failure callback instead of error.
62111         (fwrite_success_callback): New function.
62112         (exit_failure_callback): New function.
62113         (fallback_failure_callback): New function.
62114         (print_unicode_char): Call unicode_to_mb.
62115
62116 2002-01-26  Jim Meyering  <meyering@lucent.com>
62117
62118         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
62119         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
62120
62121 2002-01-26  Jim Meyering  <meyering@lucent.com>
62122
62123         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
62124
62125 2002-01-22  Paul Eggert  <eggert@twinsun.com>
62126
62127         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
62128
62129 2002-01-22  Jim Meyering  <meyering@lucent.com>
62130
62131         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
62132         Otherwise, some versions of automake would omit the rule that makes
62133         Makefile from Makefile.in.
62134
62135 2002-01-21  Paul Eggert  <eggert@twinsun.com>
62136
62137         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
62138         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
62139         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
62140         (memcoll): Set errno to zero if there is no error.
62141
62142         * lib/quotearg.c (quotearg_buffer_restyled):
62143         Fix bug with quoting buffers containing NUL when backslashing escapes.
62144         This bug was exposed by the other changes in this patch.
62145         (quotearg_n_options): New arg ARGSIZE.
62146         All callers changed.
62147         (quoting_options_from_style): New function.
62148         (quotearg_n_style): Use it.
62149         (quotearg_n_style_mem): New function.
62150
62151         * lib/quotearg.h (quotearg_n_style_mem): New function.
62152
62153 2002-01-19  Jim Meyering  <meyering@lucent.com>
62154
62155         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
62156         Remove useless quotes: DF_PROG="df".
62157         * m4/strnlen.m4: New file.
62158
62159 2002-01-16  Paul Eggert  <eggert@twinsun.com>
62160
62161         * lib/backupfile.c (ISDIGIT): Comment fix.
62162         * lib/getdate.y (ISDIGIT): Likewise.
62163         * lib/posixtm.c (ISDIGIT, year): Likewise.
62164         * lib/strverscmp.c (ISDIGIT): Likewise.
62165         * lib/userspec.c (ISDIGIT): Likewise.
62166
62167 2002-01-16  Jim Meyering  <meyering@lucent.com>
62168
62169         * lib/getdate.y: Add three semicolons, each just before a closing
62170         brace. Bison (as of version 1.31) no longer papers over that mistake.
62171
62172 2002-01-05  Jim Meyering  <meyering@lucent.com>
62173
62174         * lib/version-etc.c (version_etc_copyright): Update copyright year.
62175
62176 2001-12-19  Paul Eggert  <eggert@twinsun.com>
62177
62178         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
62179         not silently exit merely because the output buffer happens to
62180         have nothing pending.
62181
62182 2001-12-18  Paul Eggert  <eggert@twinsun.com>
62183
62184         See the big note in ../ChangeLog.
62185         * lib/human.c (suffixes): Prefer K to k for 1024.
62186         (generate_suffix_backwards): New function.
62187         (human_readable_inexact): Use it.
62188         * lib/xstrtol.c (__xstrtol): If there is no number but there
62189         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
62190         Accept 'K' as well as 'k'.
62191
62192 2001-12-15  Jim Meyering  <meyering@lucent.com>
62193
62194         * lib/regex.h (__restrict_arr): Update from libc.
62195
62196         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
62197         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
62198         (STREQ): Define.
62199
62200 2001-12-14  Jim Meyering  <meyering@lucent.com>
62201
62202         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
62203         Suggestion from Bruno Haible.
62204
62205 2001-12-10  Jim Meyering  <meyering@lucent.com>
62206
62207         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
62208         xrealloc, Instead, include "xalloc.h".
62209         (initbuffer): Don't cast xmalloc return value to char*.
62210         (readline): Reword comment.
62211         Don't cast xrealloc return value to char*
62212         Return NULL, not 0.
62213
62214 2001-12-09  Jim Meyering  <meyering@lucent.com>
62215
62216         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
62217         about `signed and unsigned type in conditional expression'.
62218         * lib/posixtm.c (posix_time_parse): Likewise.
62219
62220         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
62221
62222         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
62223         to avoid a pedantic warning.
62224
62225         * lib/getstr.c: Don't include assert.h.
62226         (getstr): Remove warning-evoking assertions.
62227         Return -1 if offset parameter is out of bounds.
62228         Change the type of a local from int to size_t.
62229
62230         * lib/strftime.c (my_strftime_localtime_r): Include this function
62231         definition in the `#if ! HAVE_TM_GMTOFF' block.
62232
62233         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
62234         Include xalloc.h instead.
62235
62236 2001-12-02  Jim Meyering  <meyering@lucent.com>
62237
62238         * lib/tempname.c: Don't declare getenv, thus reverting the change of
62239         2001-11-18.  It's no longer necessary, now that stdlib.h is always
62240         included.
62241
62242         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
62243         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
62244
62245 2001-11-30  Akim Demaille  <akim@epita.fr>
62246
62247         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
62248         before being defined.
62249
62250 2001-11-27  Paul Eggert  <eggert@twinsun.com>
62251
62252         * lib/quotearg.h (quotearg_n, quotearg_n_style):
62253         First arg is int, not unsigned.
62254         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
62255         (SIZE_MAX, UINT_MAX): New macros.
62256         (quotearg_n_options): Abort if N is negative.
62257         Avoid overflow check on hosts where size_t is 64 bits and int
62258         is 32 bits, as overflow is impossible there.
62259         Fix off-by-one typo that caused unnecessary reallocation.
62260
62261 2001-11-27  Jim Meyering  <meyering@lucent.com>
62262
62263         * lib/tempname.c: Merge with version from libc.
62264         * lib/regex.c: Likewise.
62265
62266         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
62267         systems for which STDC_HEADERS is 0, it was not included, resulting in
62268         a warning about an integer-to-pointer conversion problem with getenv.
62269         Reported by Volker Borchert.
62270
62271 2001-11-26  Jim Meyering  <meyering@lucent.com>
62272
62273         * lib/gtod.h: Remove file.
62274         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
62275         * lib/gettimeofday.c: Don't include gtod.h.
62276         (GTOD_init): Remove function.
62277         (rpl_gettimeofday): Do its job here instead, rather than aborting.
62278         Suggestion from Volker Borchert.
62279
62280 2001-11-23  Jim Meyering  <meyering@lucent.com>
62281
62282         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
62283         it.
62284         * lib/hash.c (struct hash_table): Define it here instead.
62285
62286 2001-11-22  Jim Meyering  <meyering@lucent.com>
62287
62288         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
62289
62290 2001-11-20  Jim Meyering  <meyering@lucent.com>
62291
62292         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
62293         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
62294
62295 2001-11-19  Jim Meyering  <meyering@lucent.com>
62296
62297         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
62298         directory.  Use "conftestXXXXXX" as the template.
62299         Suggestion from Paul Eggert.
62300
62301         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
62302         immediately, so the test doesn't mistakenly hit the max-open-files
62303         limit.
62304
62305 2001-11-18  Paul Eggert  <eggert@twinsun.com>
62306
62307         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
62308         (TEMPORARIES): New macro.
62309         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
62310         removes an artificial limitation (e.g. HP-UX 10.20, where
62311         TMP_MAX is 17576).
62312
62313 2001-11-18  Jim Meyering  <meyering@lucent.com>
62314
62315         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
62316
62317 2001-11-18  Jim Meyering  <meyering@lucent.com>
62318
62319         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
62320         on SunOS 4.
62321
62322         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
62323         files will be created before anything else.
62324
62325 2001-11-17  Paul Eggert  <eggert@twinsun.com>
62326
62327         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
62328         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
62329
62330 2001-11-17  Jim Meyering  <meyering@lucent.com>
62331
62332         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
62333         Prompted by a report from Bob Proulx.
62334
62335         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
62336         Instead, require UTILS_FUNC_MKSTEMP.
62337
62338 2001-11-17  Jim Meyering  <meyering@lucent.com>
62339
62340         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
62341         Now, that's done as part of AC_FUNC_STRTOD.
62342
62343 2001-11-17  Jim Meyering  <meyering@lucent.com>
62344
62345         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
62346         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
62347         rather than group writable.  Patch by Juan F. Codagnone.
62348
62349         * lib/readtokens.c: Remove explicit declarations of xmalloc and
62350         xrealloc, Instead, include "xalloc.h".
62351
62352         * lib/mountlist.c: Include unlocked-io.h after all system headers.
62353         Remove explicit declarations of xmalloc, xrealloc,
62354         and xstrdup.  Instead, include "xalloc.h".
62355
62356         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
62357         unlocked-io.h.
62358         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
62359         Likewise.
62360         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
62361
62362         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
62363         Reported by Padraig Brady.
62364
62365         * lib/mkstemp.c: #undef mkstemp.
62366         Include config.h.
62367         (rpl_mkstemp): Rename from mkstemp.
62368         Protoize.
62369
62370 2001-11-16  Jim Meyering  <meyering@lucent.com>
62371
62372         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
62373         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
62374         determine the amount of total physical memory, use pstat_getstatic.
62375         HPUX-11 doesn't define _SC_PHYS_PAGES.
62376         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
62377         If sysconf couldn't be used to determine the amount of available
62378         physical memory, use both pstat_getstatic and pstat_getdynamic.
62379         Based on a patch from Bob Proulx.
62380
62381 2001-11-10  Jim Meyering  <meyering@lucent.com>
62382
62383         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
62384         (jm_PREREQ): Use it.
62385
62386 2001-11-09  Jim Meyering  <meyering@lucent.com>
62387
62388         * m4/jm-macros.m4: Require autoconf-2.52f.
62389         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
62390         Use these AC_-prefixed names, not the AM_-prefixed ones.
62391
62392         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
62393
62394 2001-11-05  Jim Meyering  <meyering@lucent.com>
62395
62396         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
62397
62398 2001-11-04  Jim Meyering  <meyering@lucent.com>
62399
62400         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
62401         $DEFS.
62402
62403 2001-11-03  Jim Meyering  <meyering@lucent.com>
62404
62405         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
62406         of AC_DEFUN.
62407
62408         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
62409         know the name of the variable in the macro definition.
62410
62411 2001-11-03  Jim Meyering  <meyering@lucent.com>
62412
62413         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
62414         in argmatch_to_argument call.
62415
62416         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
62417         argument.
62418
62419         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
62420         e.g., a fault due to an attempt to free a NULL pointer.
62421
62422 2001-11-01  Jim Meyering  <meyering@lucent.com>
62423
62424         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
62425         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
62426
62427 2001-11-01  Jim Meyering  <meyering@lucent.com>
62428
62429         * lib/dirfd.c, lib/dirfd.h: New files.
62430         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
62431
62432         * lib/hash.c (hash_print) [TESTING]: Clean up.
62433
62434 2001-10-22  Paul Eggert  <eggert@twinsun.com>
62435
62436         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
62437         to avoid a warning if -Wall.
62438
62439 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
62440
62441         * README: New file
62442         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
62443         (per RMS's instructions, this is now the canonical source)
62444         * lgpl/, gpl/: New directories.
62445
62446 2001-10-21  Paul Eggert  <eggert@twinsun.com>
62447
62448         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
62449
62450 2001-10-21  Jim Meyering  <meyering@lucent.com>
62451
62452         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
62453         this code would end up calling gettext even in packages built
62454         with --disable-nls.
62455         * lib/getopt.c (_): Likewise.
62456         * lib/regex.c (_): Likewise.
62457
62458 2001-10-20  Paul Eggert  <eggert@twinsun.com>
62459
62460         * m4/error.m4 (jm_PREREQ_ERROR):
62461         Do not invoke AC_CHECK_FUNCS with strerror_r, as
62462         AC_FUNC_STRERROR_R does that.
62463         Check for strerror declaration.
62464
62465         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
62466         are supposed to have them these days.
62467         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
62468         Merge changes from latest Autoconf CVS.
62469         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
62470         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
62471         POSIX decided to standardize on the int flavor of strerror_r.
62472
62473 2001-10-20  Paul Eggert  <eggert@twinsun.com>
62474
62475         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
62476         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
62477         Use strerror_r that is only a macro, even if it is not a function.
62478         (strerror): Check for HAVE_DECL_STRERROR before declaring.
62479         (private_strerror): Use prototypes, not old-style function definition.
62480         (print_errno_message): New function.
62481         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
62482         char*-flavored one.
62483         (error_tail, error, error_at_line): Use it.
62484
62485 2001-10-11  Jim Meyering  <meyering@lucent.com>
62486
62487         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
62488         and quote_n (1, ... to avoid clobbering a buffer.
62489
62490 2001-10-05  Jim Meyering  <meyering@lucent.com>
62491
62492         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
62493         hash-pjw.h.
62494         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
62495         * lib/hash-pjw.h: New file.
62496
62497 2001-09-30  Jim Meyering  <meyering@lucent.com>
62498
62499         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
62500         `struct fsstat' has the `f_fstypename' member.
62501         Use that to define FS_TYPE, which is now used to make
62502         the getfsstat link test tighter.
62503
62504 2001-09-30  Jim Meyering  <meyering@lucent.com>
62505
62506         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
62507         Include <sys/ucred.h>, for Apple Darwin.
62508         Include sys/mount.h and sys/fs_types.h only if available.
62509         (FS_TYPE): Define.
62510         (read_filesystem_list): Use FS_TYPE.
62511
62512 2001-09-29  Paul Eggert  <eggert@twinsun.com>
62513
62514         * lib/exclude.c (excluded_filename): 0 -> false, since it's
62515         a boolean context.
62516
62517 2001-09-29  Jim Meyering  <meyering@lucent.com>
62518
62519         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
62520         [one-argument getmntent function]): Include stdio.h before mntent.h.
62521         SunOS 4.1.x needs it for the declaration of `FILE'.
62522         Patch by Volker Borchert.
62523
62524         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
62525         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
62526         sys/fs_types.h, and make the link-test for getfsstat guard #include
62527         directives with appropriate #if HAVE_*_H tests so that we can
62528         detect getfsstat on Apple Darwin1.3.7 systems.
62529         Reported by Nelson Beebe.
62530         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
62531
62532 2001-09-28  Paul Eggert  <eggert@twinsun.com>
62533
62534         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
62535         #defines strtoimax.  Also treat the other strto* functions
62536         like strtoimax.
62537
62538         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
62539         Check for strtoul and strtoumax,
62540         as those declarations are made even in the signed case.
62541         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
62542         Likewise, for strtol and strtoimax.
62543
62544 2001-09-28  Paul Eggert  <eggert@twinsun.com>
62545
62546         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
62547         #defines strtoimax.  Also treat the other strto* functions
62548         like strtoimax.
62549
62550         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
62551         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
62552         (strtoimax, strtoumax): Do not declare if already defined as a macro.
62553
62554 2001-09-26  Jim Meyering  <meyering@lucent.com>
62555
62556         Most macros in unlocked-io.h had the wrong number of arguments.
62557         * lib/gen-uio: New script.
62558         (USE_UNLOCKED_IO): Define to 1 if not already defined.
62559         * lib/unlocked-io.hin: Remove file.
62560         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
62561         rather than trying to embed it here.
62562         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
62563         Reported by Padraig Brady.
62564
62565 2001-09-25  Volker Borchert  <bt@teknon.de>
62566
62567         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
62568         `result'.
62569
62570 2001-09-24  Jim Meyering  <meyering@lucent.com>
62571
62572         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
62573
62574 2001-09-23  Jim Meyering  <meyering@lucent.com>
62575
62576         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
62577         instead of the mere test for existence of mntent.h.  The latter
62578         would get a false-positive on AIX 3.4 systems.
62579         In the outer getmntent if-block, don't die if neither of the getmntent
62580         tests succeeds.  Instead, just fall through and continue with the
62581         remaining tests.
62582
62583 2001-09-23  Jim Meyering  <meyering@lucent.com>
62584
62585         * lib/mountlist.c: Remove useless parentheses in #if directives.
62586         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
62587         the deprecated MOUNTED symbol is no longer defined in mntent.h.
62588
62589 2001-09-22  Jim Meyering  <meyering@lucent.com>
62590
62591         * m4/gettext.m4: New file.  From gettext.
62592         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
62593         * m4/progtest.m4: Likewise
62594         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
62595         * m4/glibc21.m4: Likewise.
62596
62597         * m4/libintl.m4: Remove.  No longer used.
62598
62599 2001-09-22  Jim Meyering  <meyering@lucent.com>
62600
62601         * lib/localcharset.c: Update from latest gettext.
62602         * lib/config.charset: Likewise.
62603
62604 2001-09-20  Jim Meyering  <meyering@lucent.com>
62605
62606         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
62607         strtoimax.
62608         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
62609         strtoumax.
62610
62611 2001-09-20  Jim Meyering  <meyering@lucent.com>
62612
62613         * lib/xstrtol.c (strtoimax): Guard declaration with
62614         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
62615         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
62616         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
62617         (strtoumax): Likewise, for completeness (it wasn't necessary).
62618
62619 2001-09-17  Paul Eggert  <eggert@twinsun.com>
62620
62621         * lib/strtoimax.c (HAVE_LONG_LONG):
62622         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
62623         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
62624         to work around bug in IBM C compiler.
62625
62626 2001-09-17  Jim Meyering  <meyering@lucent.com>
62627
62628         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
62629         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
62630         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
62631         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
62632         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
62633         whenever the right hand side need not be expanded by the shell.
62634
62635 2001-09-16  Paul Eggert  <eggert@twinsun.com>
62636
62637         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
62638         library.  It's not correct, as some older glibcs are buggy.
62639         fnmatch wasn't fixed until glibc 2.2.
62640
62641         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
62642         special shell magic here.
62643
62644 2001-09-16  Jim Meyering  <meyering@lucent.com>
62645
62646         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
62647         * m4/jm-macros.m4: Require it.
62648
62649 2001-09-16  Jim Meyering  <meyering@lucent.com>
62650
62651         * lib/mkdir.c: New file.
62652
62653 2001-09-15  Jim Meyering  <meyering@lucent.com>
62654
62655         * m4/jm-macros.m4: Check for help2man.
62656
62657 2001-09-11  Jim Meyering  <meyering@lucent.com>
62658
62659         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
62660         The body, by Paul Eggert, was moved here from configure.in.
62661         * m4/jm-macros.m4: Require UTILS_HOST_OS.
62662
62663 2001-09-04  Paul Eggert  <eggert@twinsun.com>
62664
62665         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
62666         (jm_PREREQ): Use it.
62667
62668 2001-09-04  Paul Eggert  <eggert@twinsun.com>
62669
62670         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
62671         Use ssize_t, not int, to store result of readlink.
62672         Check for ssize_t overflow as well as size_t overflow,
62673         as POSIX says the result of readlink is implementation-defined
62674         when ssize_t overflows.
62675         Remove unnecessary cast to char*.
62676         Use free+malloc instead of realloc, as the storage doesn't need
62677         to be preserved and it's clearer and can be more efficient that way.
62678         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
62679         * lib/xreadlink.h (xreadlink): Update prototype.
62680
62681 2001-09-04  Paul Eggert  <eggert@twinsun.com>
62682
62683         * lib/xgetcwd.c: Revert some of the previous change; intead,
62684         fix the HAVE_GETCWD_NULL code to behave more like the
62685         !HAVE_GETCWD_NULL code used to.
62686
62687         Include "xalloc.h".
62688         (xgetcwd): Do not return NULL when memory is exhausted; instead,
62689         invoke xalloc_die.
62690
62691 2001-09-03  Paul Eggert  <eggert@twinsun.com>
62692
62693         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
62694         sys/param.h, as pathmax.h includes them.
62695
62696 2001-09-03  Paul Eggert  <eggert@twinsun.com>
62697
62698         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
62699         (jm_PREREQ_XGETCWD): New macro.
62700
62701         * m4/getcwd.m4: New file.
62702
62703 2001-09-03  Paul Eggert  <eggert@twinsun.com>
62704
62705         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
62706         like the HAVE_GETCWD_NULL code.
62707         Include pathmax.h if not HAVE_GETCWD.
62708         Do not include xalloc.h.
62709         (INITIAL_BUFFER_SIZE): New symbol.
62710         Do not use xmalloc / xrealloc, since the caller is responsible for
62711         handling errors.  Preserve errno around `free' during failure.
62712         Do not overrun buffer when using getwd.
62713
62714 2001-09-03  Paul Eggert  <eggert@twinsun.com>
62715
62716         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
62717         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
62718         getcwd (NULL, 0).
62719
62720 2001-09-03  Paul Eggert  <eggert@twinsun.com>
62721
62722         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
62723         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
62724         spotted by Jim Meyering.
62725
62726 2001-09-03  Jim Meyering  <meyering@lucent.com>
62727
62728         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
62729         failure.
62730
62731 2001-09-02  Jim Meyering  <meyering@lucent.com>
62732
62733         * lib/error.c: Update from GNU libc.
62734
62735 2001-09-01  Jim Meyering  <meyering@lucent.com>
62736
62737         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
62738         Used by df.
62739
62740 2001-09-01  Jim Meyering  <meyering@lucent.com>
62741
62742         * lib/xreadlink.c: New file.
62743         * lib/xreadlink.h: New file.
62744         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
62745         xreadlink.h.
62746
62747         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
62748         doesn't conflict with sparc Solaris 7's definition in
62749         /usr/include/sys/int_types.h.
62750
62751         * lib/exclude.c: Use `""', not `<>' to #include non-system header
62752         files.
62753         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
62754         and strncasecmp as r-values.  Unixware didn't have declarations.
62755
62756 2001-08-31  Paul Eggert  <eggert@twinsun.com>
62757
62758         * lib/xstrtol.h: Add copyright notice.
62759         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
62760         LONGINT_INVALID_SUFFIX_CHAR.
62761
62762 2001-08-31  Paul Eggert  <eggert@twinsun.com>
62763
62764         * lib/xstrtol.c (strtoimax): New decl.
62765
62766 2001-08-31  Paul Eggert  <eggert@twinsun.com>
62767
62768         * lib/xgetcwd.c: Don't include pathmax.h.
62769         Include stdlib.h and unistd.h if available.
62770         Include xalloc.h.
62771         (xmalloc, xstrdup, free): Remove decls.
62772         (xgetcwd): Don't assume sizes fit in unsigned.
62773         Check for overflow when computing sizes.
62774         Simplify reallocation code.
62775
62776 2001-08-31  Paul Eggert  <eggert@twinsun.com>
62777
62778         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
62779         a directory's st_size can have an arbitrary value, so the old
62780         usage could waste an arbitrary amount of memory.  All uses
62781         changed.
62782         * lib/savedir.h: Update prototype.
62783
62784 2001-08-31  Paul Eggert  <eggert@twinsun.com>
62785
62786         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
62787
62788         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
62789         old strtoimax.c.
62790
62791         Also, make the following further changes to make this file's
62792         configuration more similar to that of strtol.c:
62793         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
62794         (strtoumax, uintmax_t, strtoull, strtol): Remove.
62795         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
62796         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
62797         changed to signed values.
62798
62799         And make the following changes as well:
62800         Fix copyright notice, as 1999 was missing.
62801         (verify): New macro.
62802         (strtoimax): Check sizes at compile-time, not run-time.
62803         Prefer strtol to strtoll if both work.
62804         (main): Remove; it was not that useful and was a pain to maintain.
62805
62806         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
62807
62808 2001-08-31  Jim Meyering  <meyering@lucent.com>
62809
62810         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
62811         Use an initial, malloc'd, buffer of length 128 rather than
62812         a statically allocated one of length 1024.
62813
62814 2001-08-30  Paul Eggert  <eggert@twinsun.com>
62815
62816         Simplify code, partly by assuming autoconf 2.52 semantics.
62817
62818         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
62819
62820         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
62821         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
62822         All uses removed.
62823         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
62824         Move AC_REQUIRE to next-to-top level, to avoid confusion.
62825         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
62826         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
62827         jm_AC_HEADER_INTTYPES_H.
62828         * m4/jm-macros.m4 (jm_MACROS): Likewise.
62829
62830         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
62831
62832         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
62833         Quote first arg of AC_DEFUN.
62834         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
62835         since they are needed to parse the include file even if we need
62836         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
62837         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
62838         but with opposite signedness.
62839
62840 2001-08-30  Paul Eggert  <eggert@twinsun.com>
62841
62842         Merge 'exclude' changes from tar 1.13.22.
62843         This fixes one or two unlikely storage allocation overflow bugs,
62844         but doesn't change user-visible behavior otherwise.
62845
62846 2001-08-30  Paul Eggert  <eggert@twinsun.com>
62847
62848         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
62849         (jm_PREREQ_EXCLUDE): New macro.
62850
62851 2001-08-30  Paul Eggert  <eggert@twinsun.com>
62852
62853         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
62854         tm to be declared.
62855
62856 2001-08-30  Paul Eggert  <eggert@twinsun.com>
62857
62858         * lib/hash.c: Remove '2001' from copyright notice.
62859
62860 2001-08-30  Paul Eggert  <eggert@twinsun.com>
62861
62862         * lib/full-write.h: New file.
62863         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
62864         * lib/full-write.c: Correct credits, as cccp.c no longer
62865         exists and anyway it was so heavily changed from the old cccp
62866         code as to be unrecognizable.  Include full-write.h.
62867         (full_write) Return size_t, with short writes meaning failure.
62868         All callers changed.  This fixes a bug with large buffers
62869         on 64-bit hosts.
62870         * lib/utime.c: Include full-write.h.
62871
62872 2001-08-30  Paul Eggert  <eggert@twinsun.com>
62873
62874         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
62875         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
62876         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
62877         Include if available.
62878         (<xalloc.h>): Include
62879         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
62880         (verify): New macro.  Use it to verify that EXCLUDE macros do not
62881         collide with FNM macros.
62882         (struct patopts): New struct.
62883         (struct exclude): Use it, as exclude patterns now come with options.
62884         (new_exclude): Support above changes.
62885         (new_exclude, add_exclude_file):
62886         Initial size must now be a power of two to simplify overflow checking.
62887         (free_exclude, fnmatch_no_wildcards): New function.
62888         (excluded_filename): No longer requires options arg, as the options
62889         are determined by add_exclude.  Now returns bool, not int.
62890         (excluded_filename, add_exclude):
62891         Add support for the fancy new exclusion options.
62892         (add_exclude, add_exclude_file): Now takes int options arg.
62893         Check for arithmetic overflow when computing sizes.
62894         (add_exclude_file): xrealloc might modify errno, so don't
62895         realloc until after errno might be used.
62896
62897         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
62898         New macros.
62899         (free_exclude): New decl.
62900         (add_exclude, add_exclude_file): Now takes int options arg.
62901         (excluded_filename): No longer requires options arg, as the options
62902         are determined by add_exclude.  Now returns bool, not int.
62903
62904 2001-08-30  Paul Eggert  <eggert@twinsun.com>
62905
62906         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
62907
62908 2001-08-27  Jim Meyering  <meyering@lucent.com>
62909
62910         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
62911
62912         * lib/version-etc.c (N_): Remove definition.
62913         Revert most of last change.
62914         Instead, simply don't mark the `Copyright...' string for translation.
62915         Based on advice from Paul Eggert.
62916
62917         * lib/strtoxmax.c: Tweak comment.
62918
62919 2001-08-26  Jim Meyering  <meyering@lucent.com>
62920
62921         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
62922
62923         * m4/xstrtoimax.m4: New file.
62924         * m4/xstrtoumax.m4: Add comments explaining why we
62925         AC_REPLACE_FUNCS(strtol).
62926
62927 2001-08-26  Jim Meyering  <meyering@lucent.com>
62928
62929         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
62930         of copyright with `%s' so translators don't get an untranslated
62931         message in 2002.
62932         (COPYRIGHT_YEAR): Define.
62933         (version_etc): Use fprintf rather than fputs.
62934         Suggestion from Ulrich Drepper.
62935
62936         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
62937
62938         * lib/strtoll.c: New file, from GNU libc.
62939         * lib/xstrtoimax.c: New file.
62940
62941         * lib/xstrtol.h: Add xstrtoimax.
62942         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
62943         * lib/strtoimax.c: New file.  Likewise, but first define
62944         STRTOUXMAX_SIGNED.
62945
62946         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
62947         ...
62948         * lib/strtoxmax.c: ... then renamed to this.
62949
62950 2001-08-18  Paul Eggert  <eggert@twinsun.com>
62951
62952         * m4/inttypes.m4: Add AC_PREREQ(2.13).
62953         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
62954         (jm_AC_TYPE_INTMAX_T): New macro.
62955         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
62956
62957         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
62958
62959         * m4/longlong.m4: Renamed from ulonglong.m4.
62960         * m4/inttypes.m4: Renamed from inttypes_h.m4.
62961         * m4/uintmax_t.m4: Removed.
62962
62963 2001-08-13  Paul Eggert  <eggert@twinsun.com>
62964
62965         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
62966         Port to Solaris 8, where 'sed' requires a space after the 'r'
62967         command, and where sh dislikes "$/".  Clean up the spacing a bit.
62968         Redirect output to $tmp just once.
62969
62970 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
62971
62972         * lib/addext.c (<errno.h>): Include.
62973         (errno): Declare if not defined.
62974         (addext): Work correctly when pathconf returns -1 and leaves
62975         errno alone because there is no limit.  Also, work even if
62976         pathconf returns a value greater than SIZE_MAX.
62977
62978 2001-08-12  Jim Meyering  <meyering@lucent.com>
62979
62980         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
62981         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
62982         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
62983         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
62984         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
62985         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
62986         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
62987         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
62988         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
62989         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
62990         utime.m4, utimes.m4, xstrtoumax.m4:
62991         Quote the first argument in each use of AC_DEFUN.
62992
62993 2001-08-12  Jim Meyering  <meyering@lucent.com>
62994
62995         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
62996         Simply `return getcwd (NULL, 0);'.
62997         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
62998         Use 1300 as initial value for length, not PATH_MAX.
62999
63000         * lib/pathmax.h: Clean up cpp syntax.
63001
63002 2001-08-12  Jim Meyering  <meyering@lucent.com>
63003
63004         * lib/gettimeofday.c: New file.
63005         * lib/gtod.h: New file.
63006         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
63007
63008 2001-08-05  Jim Meyering  <meyering@lucent.com>
63009
63010         * m4/jm-macros.m4: Require autoconf-2.52.
63011
63012 2001-08-04  Jim Meyering  <meyering@lucent.com>
63013
63014         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
63015         stmt, to get in sync with glibc.
63016
63017 2001-08-03  Paul Eggert  <eggert@twinsun.com>
63018
63019         The following changes are from gettext 0.10.39 as maintained by
63020         Bruno Haible.
63021
63022         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
63023         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
63024         with inverted sense.  All uses changed.
63025
63026         * lib/mbswidth.c: Don't include <limits.h>.
63027         Include <stdlib.h> and <string.h> unconditionally.
63028         (iswcntrl, mbsinit, ISCNTRL): New macros.
63029         (mbsnwidth): Use K&R style function declarations.
63030         Don't bother checking for MB_LEN_MAX == 1, since the compiler
63031         can optimize it when MB_CUR_MAX == 1.
63032         The width of control characters is zero, not 1.
63033
63034 2001-08-03  Paul Eggert  <eggert@twinsun.com>
63035
63036         The following changes are from gettext 0.10.39 as maintained by
63037         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
63038
63039         * m4/codeset.m4: Upgrade to serial AM1.
63040         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
63041         all uses changed.  Quote first arg of AC_DEFUN.
63042         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
63043
63044         * m4/iconv.m4: Upgrade to serial AM2.
63045         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
63046         Add --with-libconv-prefix.
63047         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
63048         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
63049         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
63050         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
63051         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
63052
63053         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
63054         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
63055         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
63056         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
63057         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
63058         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
63059         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
63060         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
63061         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
63062
63063         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
63064         string.h any more.
63065
63066         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
63067         not the default value.
63068
63069         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
63070         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
63071         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
63072         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
63073         Also check for iswcntrl, used for wcwidth fallback.
63074         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
63075         to Autoconf 2.13.
63076
63077 2001-08-03  Jim Meyering  <meyering@lucent.com>
63078
63079         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
63080         as it was in the original.  Reported by Paul Eggert.
63081
63082 2001-07-16  Jim Meyering  <meyering@lucent.com>
63083
63084         * m4/gettimeofday.m4: New file.
63085         Prompted by a report from Bernhard Baehr.
63086
63087 2001-07-15  Jim Meyering  <meyering@lucent.com>
63088
63089         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
63090         stuff. Now it's in ../Makefile.cfg.
63091
63092 2001-07-15  Jim Meyering  <meyering@lucent.com>
63093
63094         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
63095         (BUILT_SOURCES): Add unlocked-io.h.
63096         (io_functions): Define.
63097         (unlocked-io.h): New rule.
63098         (DISTCLEANFILES): Add unlocked-io.h.
63099         (all-local): Depend on unlocked-io.h, to ensure it is created.
63100
63101         * lib/unlocked-io.hin: New file
63102
63103         * lib/regex.c: Update from glibc.
63104
63105 2001-07-05  Jim Meyering  <meyering@lucent.com>
63106
63107         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
63108         recommendation.
63109         (libfetish_a_SOURCES): Put all .h files here instead.
63110         Remove a thus-exposed (better checks in automake) duplicate and
63111         two unnecessary .h files.
63112
63113 2001-07-04  Jim Meyering  <meyering@lucent.com>
63114
63115         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
63116         that generates jm-glibc-io.m4 so that it doesn't trigger any make
63117         distcheck failure.
63118
63119 2001-07-02  Jim Meyering  <meyering@lucent.com>
63120
63121         The following changes were prompted by suggestions from Bruno Haible.
63122
63123         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
63124         is now generated.
63125         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
63126         definition of EXTRA_DIST.
63127         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
63128         ensure that the generated file is created/updated whenever the list
63129         of $(unlocked_functions) is changed.
63130         (jm-glibc-io.m4): New rule.
63131         (unlocked-io.h): New rule -- currently unused.
63132
63133 2001-06-24  Jim Meyering  <meyering@lucent.com>
63134
63135         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
63136         unmatched right bracket, rather than kludging it with an extra,
63137         falsely-matching quote in a comment.  Patch by Akim Demaille.
63138
63139 2001-06-11  Jim Meyering  <meyering@lucent.com>
63140
63141         * lib/regex.c: Update from GNU libc.
63142
63143 2001-05-27  Jim Meyering  <meyering@lucent.com>
63144
63145         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
63146         Check for ut_type in struct utmp.
63147
63148 2001-05-27  Jim Meyering  <meyering@lucent.com>
63149
63150         * lib/readutmp.h (UT_TYPE): Define.
63151
63152 2001-05-24  Jim Meyering  <meyering@lucent.com>
63153
63154         * lib/argmatch.c: Include "quote.h".
63155         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
63156         quote function.  Reported by Göran Uddeborg.
63157
63158 2001-05-22  Jim Meyering  <meyering@lucent.com>
63159
63160         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
63161         now that we use the package-supplied version unconditionally.
63162         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
63163
63164 2001-05-21  Jim Meyering  <meyering@lucent.com>
63165
63166         * m4/regex.m4: Change a couple backticks to single quotes to avoid
63167         shell syntax errors.
63168
63169 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
63170
63171         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
63172
63173 2001-05-20  Paul Eggert  <eggert@twinsun.com>
63174
63175         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
63176         Don't bother to check library strftime, since
63177         we'll be using our own my_strftime function anyway.
63178         Define my_strftime instead of strftime.
63179
63180 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
63181
63182         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
63183         which is not yet declared.
63184
63185 2001-05-15  Jim Meyering  <meyering@lucent.com>
63186
63187         * m4/regex.m4: Use proper quoting so brackets appear in the test
63188         program.
63189         Reported by, and with help from, Bruno Haible.
63190
63191 2001-05-13  Jim Meyering  <meyering@lucent.com>
63192
63193         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
63194         undefined.
63195
63196 2001-05-11  Paul Eggert  <eggert@twinsun.com>
63197
63198         dirname code cleanup.  base_name now behaves more compatibly
63199         with POSIX basename when given file names that have trailing
63200         slashes, and similarly for dir_name.  Add new primitives
63201         base_len and dir_len.  Put the directory-name-related decls
63202         into dirname.h.
63203
63204         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
63205         * lib/backupfile.c (base_name): Likewise.
63206         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
63207         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
63208         * lib/makepath.c (strip_trailing_slashes): Likewise.
63209         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
63210         ISSLASH): Likewise.
63211         * lib/rename.c (strip_trailing_slashes): Likewise.
63212         * lib/same.c (base_name): Likewise.
63213         * lib/stripslash.c (ISSLASH): Likewise.
63214
63215         * lib/addext.c: Include <dirname.h> after size_t is defined.
63216         * lib/backupfile.c: Likewise.
63217
63218         * lib/addext.c (addext): Use base_len to trim redundant
63219         trailing slashes instead of doing it ourselves.
63220         But do not trim the last slash if it is not redundant.
63221
63222         * lib/backupfile.c (find_backup_file_name,
63223         max_backup_version): Use base_len instead of rolling it ourselves.
63224         Handle the case of "" and (on DOS) "C:" correctly.
63225
63226         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
63227         needed. Include <string.h>, <dirname.h>.
63228         (base_name): Allow file names ending in slashes, other than names
63229         that are all slashes.  In this case, return the basename followed
63230         by the slashes.  This is more general, and can be used in places
63231         where the original base_name purposely had an assertion failure.
63232         (base_len): New function.
63233
63234         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
63235         Do not include <assert.h>; no longer needed.
63236         Include xalloc.h.
63237         (memrchr): Remove decl.
63238         (dir_name_r): Remove.
63239         (dir_len): Renamed from dirlen.  All callers changed.
63240         Rewrite in terms of base_name, for simplicity and consistency.
63241         (dir_name): Never return NULL.  All callers changed.
63242         Do not include <stdlib.h> in test program; no longer needed.
63243         return 0; is fine for test program.
63244
63245         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
63246         New macros.
63247         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
63248
63249         * lib/path-concat.c (path_concat): Use base_len to compute
63250         base length, not strlen; this means we cannot rely on memcpy
63251         to null-terminate.
63252
63253         * lib/same.c (STREQ): Remove.
63254         (same_name): Handle the case where the basename ends in trailing '/'.
63255
63256         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
63257         a slash was stripped.  Do not strip the last slash after a
63258         file system prefix.
63259
63260 2001-05-11  Paul Eggert  <eggert@twinsun.com>
63261
63262         * lib/Makefile.am (libfetish_a_SOURCES):
63263         Add strftime.c, since we now compile it on all hosts.
63264
63265         * lib/strftime.c (my_strftime):
63266         Define to nstrftime if emacs, but only if my_strftime is not defined.
63267         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
63268         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
63269         Add one more extra argument: a nanoseconds value.
63270         All uses changed.
63271         (ns): New macro.
63272         (my_strftime function): Add %N format.
63273         (emacs_strftimeu): Renamed from emacs_strftime,
63274         with extra ut argument.
63275
63276 2001-05-09  Paul Eggert  <eggert@twinsun.com>
63277
63278         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
63279
63280 2001-04-21  Jim Meyering  <meyering@lucent.com>
63281
63282         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
63283         doesn't interfere.
63284
63285 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
63286
63287         * m4/ftruncate.m4: Check for chsize.
63288         Link with ftruncate.o unconditionally if ftruncate is missing.
63289         This was required when cross-compiling to i586-mingw32msvc.
63290
63291 2001-04-08  Jim Meyering  <meyering@lucent.com>
63292
63293         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
63294         recomputed; that's necessary when the offset spans a DST transition.
63295         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
63296
63297 2001-04-02  Jim Meyering  <meyering@lucent.com>
63298
63299         * lib/regex.h, regex.c: Update from GNU libc.
63300
63301 2001-03-24  Jim Meyering  <meyering@lucent.com>
63302
63303         * m4/jm-macros.m4: Require autoconf-2.49d.
63304
63305 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
63306
63307         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
63308
63309 2001-03-19  Paul Eggert  <eggert@twinsun.com>
63310
63311         * lib/version-etc.c (version_etc_copyright): Update to 2001.
63312
63313 2001-03-17  Jim Meyering  <meyering@lucent.com>
63314
63315         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
63316         now that the version in autoconf is equivalent.
63317         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
63318
63319         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
63320         Suggestion from Akim Demaille.
63321
63322         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
63323         (jm_PREREQ_TEMPNAME): New function.
63324
63325 2001-03-16  Paul Eggert  <eggert@twinsun.com>
63326
63327         * lib/tempname.c (uint64_t): Define to uintmax_t if
63328         not defined, and if UINT64_MAX is not defined.
63329         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
63330         Reported by John David Anglin.
63331
63332 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
63333
63334         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
63335         resolve alias if codeset is empty.
63336         * lib/config.charset (BeOS): Use wildcard syntax.
63337
63338 2001-03-13  Jim Meyering  <meyering@lucent.com>
63339
63340         * lib/path-concat.c (path_concat)
63341         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
63342         concatenating e.g., `C:' and `foo'.
63343         From Bruno Haible.
63344
63345 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
63346
63347         * lib/localcharset.c (locale_charset): Don't use
63348         setlocale(LC_CTYPE,NULL). Don't return NULL.
63349         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
63350
63351 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
63352
63353         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
63354         support for DOS/DJGPP.
63355
63356 2001-03-01  Paul Eggert  <eggert@twinsun.com>
63357
63358         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
63359         lacks mkstemp.  Compile our own tempname.c if we compile our own
63360         mkstemp.c, as mkstemp relies on tempname.
63361
63362 2001-03-01  Jim Meyering  <meyering@lucent.com>
63363
63364         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
63365         AH_VERBATIM really does output its argument verbatim.
63366
63367 2001-02-28  Paul Eggert  <eggert@twinsun.com>
63368
63369         * lib/Makefile.am (libfetish_a_SOURCES):
63370         Add dup-safer.c, fopen-safer.c.
63371         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
63372
63373         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
63374         * lib/unistd-safer.h: New files.
63375
63376 2001-02-25  Paul Eggert  <eggert@twinsun.com>
63377
63378         The mkstemp replacement is taken from glibc 2.2.2, with some
63379         portability fixes for use outside glibc, as follows:
63380
63381         * lib/tempname.c (struct_stat64): New macro.
63382         (direxists, __gen_tempname): Use it.
63383         This avoids a portability problem with Solaris 8.
63384
63385         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
63386         (<stddef.h>, <stdint.h>, <string.h>):
63387         Include only if STDC_HEADERS || _LIBC.
63388         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
63389         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
63390         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
63391         (__set_errno): Define this macro if <errno.h> doesn't.
63392         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
63393         Define these macros if <stdio.h> doesn't.
63394         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
63395         Define these macros if <sys/stat.h>
63396         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
63397         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
63398         __xstat64): Define if not _LIBC.
63399         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
63400         (__gen_tempname): Invoke gettimeofday only if
63401         HAVE_GETTIMEOFDAY || _LIBC;
63402         otherwise, fall back on plain "time".
63403         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
63404
63405         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
63406
63407         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
63408
63409 2001-02-18  Paul Eggert  <eggert@twinsun.com>
63410
63411         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
63412
63413 2001-02-17  Paul Eggert  <eggert@twinsun.com>
63414
63415         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
63416         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
63417         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
63418         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
63419
63420 2001-02-17  Paul Eggert  <eggert@twinsun.com>
63421
63422         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
63423         Remove workaround macros for hosts that have mbrtowc but not
63424         mbstate_t, as we now insist on proper declarations for both
63425         before using mbrtowc.
63426
63427 2001-02-17  Jim Meyering  <meyering@lucent.com>
63428
63429         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
63430         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
63431         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
63432         UnixWare 7.1.1.
63433
63434         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
63435         rather than AC_CACHE_VAL.
63436
63437 2001-02-17  Jim Meyering  <meyering@lucent.com>
63438
63439         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
63440         around included file name.
63441
63442         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
63443
63444         * lib/strftime.c: Update from GNU libc (the only changes were to
63445         comments).
63446
63447 2001-02-17  Jim Meyering  <meyering@lucent.com>
63448
63449         * lib/regex.c: Update from libc.
63450
63451 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
63452
63453         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
63454         clash.
63455
63456 2001-02-16  Paul Eggert  <eggert@twinsun.com>
63457
63458         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
63459         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
63460         Reported by Mark Hounschell via Paul Eggert.
63461
63462 2001-02-07  Jim Meyering  <meyering@lucent.com>
63463
63464         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
63465
63466 2001-02-05  Jim Meyering  <meyering@lucent.com>
63467
63468         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
63469         it includes the patch required for `large file' support with at least
63470         HP-UX's 10.20 /bin/cc.
63471
63472 2001-02-03  Jim Meyering  <meyering@lucent.com>
63473
63474         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
63475         AS_IF, now that it works once again (mysteriously).
63476         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
63477
63478 2001-01-30  Jim Meyering  <meyering@lucent.com>
63479
63480         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
63481         * m4/chown.m4: Rename conftestchown to conftest.chown.
63482         * m4/rename.m4: s/conftestdir/conftest.d1/ and
63483         s/conftestdir2/conftest.d2/.
63484         * m4/utimes.m4: s/conftestdata/conftest.data/
63485         Inspired by Pavel Roskin's change in autoconf.
63486
63487 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
63488
63489         * lib/config.charset: Update for FreeBSD 4.2.
63490
63491 2001-01-27  Jim Meyering  <meyering@lucent.com>
63492
63493         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
63494         a use of AS_IF.
63495         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
63496
63497 2001-01-26  Jim Meyering  <meyering@lucent.com>
63498
63499         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
63500         quotearg.c includes it.
63501
63502 2001-01-26  Jim Meyering  <meyering@lucent.com>
63503
63504         * lib/quotearg.c: Include stddef.h.
63505         * lib/quote.c: Include stddef.h.
63506         Reported by Axel Kittenberger.
63507
63508         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
63509         line in double quotes so that it evokes a better diagnostic.
63510         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
63511         Reported by Axel Kittenberger.
63512
63513 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
63514
63515         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
63516         as if it was a `charset'.
63517
63518 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
63519
63520         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
63521         has const.
63522
63523 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
63524
63525         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
63526         to avoid a warning.  Add back 'const' to inptr.
63527
63528 2001-01-20  Jim Meyering  <meyering@lucent.com>
63529
63530         Be sure that headers are checked before used in code compiled
63531         for the type checks.
63532         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
63533         In place of that, invoke jm_CHECK_ALL_TYPES.
63534         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
63535         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
63536         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
63537         The check for ssize_t was mistakenly run before the test for unistd.h.
63538
63539         The configure-time check for stdbool.h was missing.
63540         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
63541         (jm_PREREQ_HASH): New function.
63542
63543 2001-01-17  Jim Meyering  <meyering@lucent.com>
63544
63545         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
63546         for autoconf-2.49c.
63547         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
63548
63549 2001-01-16  Jim Meyering  <meyering@lucent.com>
63550
63551         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
63552         From Bruno Haible.
63553
63554 2001-01-14  Jim Meyering  <meyering@lucent.com>
63555
63556         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
63557         foo and bar.  Create conftestdir/ in the script, not in the C code.
63558         Remove directories in the script, not in the C code.
63559         Remove conftestdir{,2} before trying to create the directory.
63560         Make the entire configure script fail if the mkdir fails.
63561
63562 2001-01-14  Jim Meyering  <meyering@lucent.com>
63563
63564         * lib/rename.c: New file.  From Volker Borchert.
63565         Include stdlib.h, string.h or strings.h, and xalloc.h.
63566         Use strip_trailing_slashes rather than open-coding it.
63567
63568 2001-01-03  Paul Eggert  <eggert@twinsun.com>
63569
63570         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
63571
63572 2001-01-03  Jim Meyering  <meyering@lucent.com>
63573
63574         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
63575         of local `inptr' to avoid warning with some system declarations of
63576         iconv.
63577
63578 2001-01-02  Volker Borchert  <bt@teknon.de>
63579
63580         * m4/rename.m4: New file.
63581         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
63582
63583 2001-01-01  Jim Meyering  <meyering@lucent.com>
63584
63585         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
63586         even on systems with utmpx.h.  It's necessary for the declaration of
63587         utmp's ut_user member.  Reported by Andreas Jaeger.
63588
63589         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
63590         available. They are required for the declarations of getgrgid and
63591         getpwuid resp.
63592         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
63593         Reported by Andreas Jaeger.
63594
63595 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
63596
63597         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
63598         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
63599         so `make install' also works in VPATH builds.
63600
63601 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
63602
63603         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
63604         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
63605         can be used in subdirectories.
63606
63607 2000-12-29  Paul Eggert  <eggert@twinsun.com>
63608
63609         * lib/modechange.c: Do not assume that mode_t uses the
63610         traditional octal encoding.  E.g. "chmod 1 FOO" should set
63611         the other-execute bit of FOO even if S_IXOTH != 1.
63612
63613         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
63614         WOTH, XOTH, ALLM): New macros.
63615         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
63616          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
63617         Use them.
63618         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
63619         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
63620         (mode_compile):
63621         No need to use uintmax_t; unsigned long is long enough.
63622         Don't bother to get suffix since we don't use it.
63623
63624 2000-12-26  Jim Meyering  <meyering@lucent.com>
63625
63626         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
63627         better with autoheader.
63628
63629 2000-12-24  Jim Meyering  <meyering@lucent.com>
63630
63631         * lib/hash.c (is_prime): Return explicit boolean values.
63632         (hash_get_first): Return NULL to appease Irix5.6's 89.
63633         Reported by Nelson Beebe.
63634
63635 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
63636
63637         * lib/localcharset.c (locale_charset): Add support for Win32.
63638
63639 2000-12-18  Paul Eggert  <eggert@twinsun.com>
63640
63641         * lib/physmem.h, lib/physmem.c: New files.
63642
63643         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
63644         (noinst_HEADERS): Add physmem.h.
63645
63646         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
63647         't' for compatibility with Solaris 8 sort.
63648
63649 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
63650
63651         * lib/config.charset: Add support for BeOS.
63652
63653 2000-12-17  Jim Meyering  <meyering@lucent.com>
63654
63655         * m4/dos.m4 (jm_AC_DOS): New file and macro.
63656         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
63657
63658 2000-12-16  Jim Meyering  <meyering@lucent.com>
63659
63660         This bug had a serious impact on chown: `chown N:M FILE' (for integer
63661         N and M) would have treated it like `chown N:N FILE'.
63662
63663         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
63664
63665 2000-12-16  Jim Meyering  <meyering@lucent.com>
63666
63667         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
63668         SHELLS_FILE to a file name that's useful on djgpp systems.
63669         Include stdlib.h.
63670         (ADDITIONAL_DEFAULT_SHELLS): Define.
63671         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
63672         Based mostly on a patch from Prashant TR.
63673
63674 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
63675
63676         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
63677         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
63678         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
63679
63680 2000-12-08  Andreas Schwab  <schwab@suse.de>
63681
63682         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
63683         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
63684
63685 2000-12-07  Jim Meyering  <meyering@lucent.com>
63686
63687         * lib/stripslash.c (ISSLASH): Define.
63688         (strip_trailing_slashes): Use ISSLASH rather than comparing against
63689         `/'.
63690         From Prashant TR.
63691
63692         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
63693         (dir_name_r): Declare this function as static.
63694         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
63695         manifest itself on a name containing a mix of slashes and
63696         backslashes.
63697         Make this function work with names starting with a DOS-style
63698         drive letter and colon prefix.
63699         (dir_name): Append `.' if necessary.
63700         Based mostly on patches from Prashant TR and Eli Zaretskii.
63701
63702         * lib/dirname.h (dir_name_r): Remove prototype.
63703
63704 2000-12-06  Paul Eggert  <eggert@twinsun.com>
63705
63706         * m4/off_t-format.m4: Remove this file.
63707         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
63708
63709 2000-12-06  Jim Meyering  <meyering@lucent.com>
63710
63711         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
63712         replacement strtoull, we may well need the replacement strtoul, too.
63713         Check for declarations of strtoul and strtoull.
63714         Check for strtol.  Mainly as a cue to cause automake to include
63715         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
63716         Check for limits.h -- strtol.c needs it.
63717
63718 2000-12-05  Jim Meyering  <meyering@lucent.com>
63719
63720         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
63721
63722 2000-12-04  Jim Meyering  <meyering@lucent.com>
63723
63724         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
63725         Also include memory.h, stdlib.h, unistd.h if appropriate.
63726         Reported by Andreas Jaeger (conflicting declaration of malloc).
63727
63728 2000-12-02  Jim Meyering  <meyering@lucent.com>
63729
63730         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
63731         * m4/jm-macros.m4 (jm_MACROS): require it.
63732
63733 2000-12-02  Jim Meyering  <meyering@lucent.com>
63734
63735         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
63736
63737 2000-12-01  Paul Eggert  <eggert@twinsun.com>
63738
63739         * lib/memrchr.c: Include <config.h> before any system include file.
63740
63741 2000-11-30  Jim Meyering  <meyering@lucent.com>
63742
63743         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
63744
63745 2000-11-30  Jim Meyering  <meyering@lucent.com>
63746
63747         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
63748
63749 2000-11-29  Paul Eggert  <eggert@twinsun.com>
63750
63751         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
63752
63753 2000-11-26  Jim Meyering  <meyering@lucent.com>
63754
63755         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
63756
63757 2000-11-22  Paul Eggert  <eggert@twinsun.com>
63758
63759         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
63760         size of (size_t) -1; it's not portable.
63761
63762 2000-11-17  Jim Meyering  <meyering@lucent.com>
63763
63764         * lib/strstr.c: Update from GNU libc.
63765
63766 2000-11-17  Akim Demaille  <akim@epita.fr>
63767
63768         * lib/obstack.h: Formatting changes.
63769         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
63770         prevent type checking.
63771         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
63772         cast the value to (void *): assigning a `foo *' to a `void *'
63773         variable is valid.
63774         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
63775
63776 2000-11-16  Jim Meyering  <meyering@lucent.com>
63777
63778         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
63779
63780 2000-11-11  Jim Meyering  <meyering@lucent.com>
63781
63782         * lib/error.c: Add a couple #includes, merging from GNU libc version.
63783
63784 2000-11-10  Jim Meyering  <meyering@lucent.com>
63785
63786         * lib/obstack.h: Update from GNU libc.
63787         * lib/obstack.c: Likewise.
63788
63789 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
63790
63791         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
63792
63793 2000-11-06  Paul Eggert  <eggert@twinsun.com>
63794
63795         * lib/getusershell.c (setusershell): Use rewind rather than
63796         fseek/fseeko, to avoid configuration hassles with fseeko.
63797         Don't bother opening SHELLS_FILE if shellstream is NULL;
63798         it's not necessary.
63799
63800 2000-11-05  Jim Meyering  <meyering@lucent.com>
63801
63802         * lib/makepath.h (make_dir): Declare.
63803         * lib/makepath.c (make_dir): Remove `static' attribute.
63804         Tweak a comment.
63805
63806 2000-11-04  Jim Meyering  <meyering@lucent.com>
63807
63808         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
63809
63810 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
63811
63812         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
63813         last one in a bucket, advance to the next bucket.
63814
63815 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
63816
63817         * lib/fnmatch.c: Do not comment out all the code if we are using
63818         the GNU C library, because in some cases we are replacing buggy
63819         code in the GNU C library itself.
63820
63821 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
63822
63823         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
63824         (regex_compile): Catch bogus \(\1\).
63825
63826 2000-10-30  Paul Eggert  <eggert@twinsun.com>
63827
63828         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
63829         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
63830         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
63831
63832 2000-10-30  Paul Eggert  <eggert@twinsun.com>
63833
63834         * lib/error.h, getline.h, modechange.h:
63835         Remove "2000" from Copyright line, as the file hasn't been
63836         changed this year other than in the copyright notice.
63837
63838         * lib/xalloc.h: Add "2000" to Copyright line, as this file
63839         was changed this year.
63840
63841 2000-10-29  Jim Meyering  <meyering@lucent.com>
63842
63843         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
63844         renaming.
63845         * m4/ls-mntd-fs.m4: Likewise
63846
63847 2000-10-29  Jim Meyering  <meyering@lucent.com>
63848
63849         * lib/xstat.in: Fix grammar in comment.
63850
63851 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
63852
63853         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
63854         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
63855         doesn't define __restrict_arr.
63856
63857 2000-10-28  Jim Meyering  <meyering@lucent.com>
63858
63859         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
63860         (jm_PREREQ_MEMCHR): New function.
63861
63862 2000-10-28  Jim Meyering  <meyering@lucent.com>
63863
63864         * lib/memchr.c: Update from libc.
63865         Adjust for portability:
63866         [HAVE_STDLIB_H]: Include stdlib.h.
63867         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
63868         Undef __memchr, too.
63869         [!weak_alias]: Define __memchr to memchr.
63870
63871         * lib/regex.c: Update from libc.
63872         * lib/regex.h: Likewise.
63873         * lib/getopt1.c: Likewise.
63874         * lib/memcmp.c: Likewise.
63875
63876         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
63877         Avoid using fseek, when possible -- it's broken by design.
63878         Patch by Ulrich Drepper.
63879
63880 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
63881
63882         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
63883         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
63884         Giving in to popular pressure to shut up the compiler with casts.
63885
63886 2000-10-26  Jim Meyering  <meyering@lucent.com>
63887
63888         * lib/strftime.c: Update from libc.
63889
63890 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
63891
63892         * regex.c: More `unsigned char' -> `re_char' changes.
63893         Also change several `int' into `re_wchar_t'.
63894         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
63895         (PUSH_FAILURE_POINTER): Don't cast any more.
63896         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
63897         We want GCC to complain, since this piece of code makes
63898         re_match non-reentrant, which *should* be fixed.
63899         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
63900         (EXTEND_BUFFER): Use RETALLOC.
63901         (SET_LIST_BIT): Don't cast.
63902         (re_wchar_t): New type.
63903         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
63904         that those two functions will always properly return.
63905         (IMMEDIATE_QUIT_CHECK): Cast to void.
63906         (analyse_first): Use recursion rather than an explicit stack.
63907         (re_compile_fastmap): Can't fail anymore.
63908         (re_search_2): Don't check re_compile_fastmap for failure.
63909         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
63910         Now also sets the new value (passed in a new argument).
63911         (re_match_2_internal): Use it.
63912         Also, use a new var `reg' of type size_t when looping through regs
63913         rather than reuse the inappropriate `mcnt'.
63914
63915 2000-10-25  Jim Meyering  <meyering@lucent.com>
63916
63917         * lib/obstack.c: Update from libc.
63918
63919 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
63920
63921         * regex.c (regex_compile): Change the way of handling a range from
63922         a char less than 256 to a char not less than 256.
63923
63924 2000-10-24  Andrew Innes  <andrewi@gnu.org>
63925
63926         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
63927         NT-Emacs only.
63928         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
63929         so that re_search functions only quit when callers expect them to.
63930
63931 2000-10-23  Jim Meyering  <meyering@lucent.com>
63932
63933         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
63934         wrong.  That set_locale call must not have any side effects.
63935         From Paul Eggert.
63936
63937 2000-10-22  Jim Meyering  <meyering@lucent.com>
63938
63939         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
63940         [CYCLIC]: Remove now-unused definition.
63941
63942         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
63943         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
63944         Suggestion from Ulrich Drepper.
63945
63946 2000-10-21  Jim Meyering  <meyering@lucent.com>
63947
63948         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
63949         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
63950         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
63951
63952 2000-10-21  Jim Meyering  <meyering@lucent.com>
63953
63954         * lib/dirname.c (memrchr): Declare if necessary.
63955         (dir_name): Remove the restriction that there be no
63956         trailing slashes.  Now, this code skips past them, effectively
63957         ignoring them.
63958         [TEST_DIRNAME] (main): New unit tests.
63959
63960         * lib/memrchr.c: New file from GNU libc.
63961         Undef __memrchr, too.
63962         [!weak_alias]: Define __memrchr to memrchr.
63963         Guard weak_alias use with `#ifdef weak_alias'.
63964
63965 2000-10-21  Jim Meyering  <meyering@lucent.com>
63966
63967         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
63968         (dir_name): Use dir_name_r.
63969         * lib/dirname.h (dir_name_r): Declare it.
63970
63971 2000-10-17  Jim Meyering  <meyering@lucent.com>
63972
63973         * lib/quote.h (PARAMS): Define and use.
63974         Reported by Akim Demaille.
63975
63976         * lib/getopt.c: Update from libc.
63977
63978 2000-10-16  Jim Meyering  <meyering@lucent.com>
63979
63980         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
63981         setlocale.
63982         From Jan Fedak.
63983
63984 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
63985
63986         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
63987
63988 2000-09-25  Jim Meyering  <meyering@lucent.com>
63989
63990         * lib/md5.h (rol): Define (from GnuPG).
63991
63992         * lib/sha.c: Give credit (GnuPG) where due.
63993         (M): Use rol rather than open-coding it.
63994         Add a FIXME comment.
63995
63996 2000-09-21  Jim Meyering  <meyering@lucent.com>
63997
63998         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
63999         Reported by Michael Stone.
64000
64001 2000-09-20  Jim Meyering  <meyering@lucent.com>
64002
64003         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
64004         (noinst_HEADERS): Add sha.h.
64005         Based on code from Scott G. Miller and from GnuPG.
64006
64007 2000-09-18  Jim Meyering  <meyering@lucent.com>
64008
64009         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
64010         LIBS. Otherwise, everyone ends up linking with -lelf for some
64011         configurations.
64012         Reported by Mike Stone.
64013
64014 2000-09-15  Jim Meyering  <meyering@lucent.com>
64015
64016         * lib/regex.c: Update from libc.
64017
64018 2000-09-10  Jim Meyering  <meyering@lucent.com>
64019
64020         * lib/getopt.c (_getopt_internal): Update from glibc.
64021
64022 2000-09-09  Jim Meyering  <meyering@lucent.com>
64023
64024         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
64025         think it should be used as a general replacement for isascii.
64026         * lib/fnmatch.c: Likewise.
64027         * lib/mbswidth.c: Likewise
64028         * lib/regex.c: Likewise.
64029
64030         Don't use atoi.
64031         * lib/userspec.c: Include sys/param.h and limits.h.
64032         Include xstrtol.h.
64033         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
64034         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
64035         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
64036         UID, GID.  Check range.
64037
64038 2000-09-06  Jim Meyering  <meyering@lucent.com>
64039
64040         * lib/getopt.c (_getopt_internal): Update from glibc.
64041
64042 2000-08-30  Jim Meyering  <meyering@lucent.com>
64043
64044         * lib/strftime.c: Merge in changes from GNU libc.
64045
64046 2000-08-26  Jim Meyering  <meyering@lucent.com>
64047
64048         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
64049         * m4/fpending.m4: New file.
64050
64051 2000-08-26  Jim Meyering  <meyering@lucent.com>
64052
64053         * lib/closeout.c: Include "__fpending.h".
64054         (close_stdout_status): Return right away if there's nothing to flush.
64055
64056         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
64057         * lib/__fpending.c: New file.
64058         * lib/__fpending.h: New file.
64059
64060 2000-08-20  Jim Meyering  <meyering@lucent.com>
64061
64062         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
64063         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
64064         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
64065
64066 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
64067
64068         Improve fileutils installation on systems where running
64069         programs (like install) can't be unlinked.
64070         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
64071         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
64072
64073 2000-08-07  Paul Eggert  <eggert@twinsun.com>
64074
64075         Standardize on "memory exhausted" instead of "Memory exhausted"
64076         or "virtual memory exhausted".
64077         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
64078         "virtual memory exhausted".
64079         * lib/same.c (same_name): Invoke xalloc_die instead of printing
64080         our own message.
64081         * lib/userspec.c (parse_user_spec): Likewise.
64082         * lib/bumpalloc.h: comment fix
64083         * lib/same.c, userspec.c: Include xalloc.h.
64084
64085         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
64086         not char *const and pointing to a constant array.
64087         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
64088         (xrealloc): Comment fix.
64089
64090         * lib/userspec.c (parse_user_spec):
64091         Don't translate a message until just before returning,
64092         to avoid unnecessary translation.
64093
64094 2000-08-07  Jim Meyering  <meyering@lucent.com>
64095
64096         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
64097         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
64098         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
64099         getgroups.c, gethostname.c, getopt.h, group-member.c,
64100         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
64101         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
64102         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
64103         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
64104         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
64105         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
64106         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
64107         yesno.c: Back out Copyright date changes for each file with no change
64108         this year.  This eases coordination with other programs using the same
64109         source code modules.  From Paul Eggert.
64110
64111 2000-08-06  Paul Eggert  <eggert@twinsun.com>
64112
64113         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
64114         not char, for compatibility with glibc 2.1.3 strftime.c.
64115
64116 2000-08-03  Greg McGary  <greg@mcgary.org>
64117
64118         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
64119         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
64120         (EXTEND_BUFFER): Use them.
64121
64122 2000-08-01  Jim Meyering  <meyering@lucent.com>
64123
64124         * lib/dirname.c (ISSLASH): Define.
64125         (BACKSLASH_IS_PATH_SEPARATOR): Define.
64126         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
64127         both `\' and `/' may be use as path separators.
64128         Based on a patch from Prashant TR.
64129
64130 2000-07-31  Paul Eggert  <eggert@twinsun.com>
64131
64132         * lib/quotearg.c (quotearg_n_options): Don't make the initial
64133         slot vector a constant, since it might get modified.
64134
64135 2000-07-31  Jim Meyering  <meyering@lucent.com>
64136
64137         * lib/xmalloc.c: Use `virtual memory exhausted', not
64138         `Memory exhausted'.
64139         * lib/obstack.c (print_and_abort): Likewise.
64140
64141 2000-07-30  Paul Eggert  <eggert@twinsun.com>
64142
64143         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
64144         buffer, so that the caller can always quote one small
64145         component of a "memory exhausted" message in slot 0.
64146         From a suggestion by Jim Meyering.
64147
64148 2000-07-30  Jim Meyering  <meyering@lucent.com>
64149
64150         * lib/makepath.c (make_path): Quote the other instance, too.
64151
64152         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
64153         (STATIC_BUF_SIZE): Define.
64154         (quotearg_n_options): Use only statically allocated storage when
64155         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
64156         than STATIC_BUF_SIZE.
64157
64158 2000-07-29  Jim Meyering  <meyering@lucent.com>
64159
64160         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
64161         * lib/dirname.c (dir_name): Likewise.
64162
64163         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
64164         `/'.
64165
64166         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
64167         (dir_name): Assert that there are no trailing slashes.
64168
64169 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
64170
64171         * lib/mbswidth.h (mbswidth): Add a flags argument.
64172         (mbswidth): New declaration.
64173         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
64174         * lib/mbswidth.c (mbswidth): Add a flags argument.
64175         (mbsnwidth): New function.
64176
64177 2000-07-24  Jim Meyering  <meyering@lucent.com>
64178
64179         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
64180
64181 2000-07-23  Paul Eggert  <eggert@twinsun.com>
64182
64183         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
64184
64185 2000-07-23  Paul Eggert  <eggert@twinsun.com>
64186
64187         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
64188         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
64189         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
64190         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
64191         invoke multibyte primitives.
64192
64193 2000-07-23  Paul Eggert  <eggert@twinsun.com>
64194
64195         * lib/quotearg.c:
64196         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
64197         so that mbstate_t is always defined.
64198
64199         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
64200         be 1 in at least one GCC installation, and this configuration
64201         error is likely to be common.  Ignoring MB_LEN_MAX hurts
64202         performance on hosts that have mbrtowc but have only unibyte
64203         locales, but I assume these hosts are rare.
64204
64205 2000-07-23  Paul Eggert  <eggert@twinsun.com>
64206
64207         * lib/mbswidth.c (_XOPEN_SOURCE):
64208         Don't define; this causes problems on Solaris 7.
64209         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
64210
64211 2000-07-23  Jim Meyering  <meyering@lucent.com>
64212
64213         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
64214         too: getgrgid, getpwuid, getuid.
64215
64216 2000-07-23  Jim Meyering  <meyering@lucent.com>
64217
64218         * lib/basename.c (base_name): Add an assertion.
64219
64220 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
64221
64222         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
64223         shadow its mbsinit function.
64224
64225 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
64226
64227         * lib/mbswidth.h: New file.
64228         * lib/mbswidth.c: New file.
64229         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
64230         (noinst_HEADERS): Add mbswidth.h.
64231
64232 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
64233
64234         * lib/config.charset: Add support for FreeBSD. Improve support for
64235         HP-UX and IRIX 6.
64236
64237 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
64238
64239         * m4/mbswidth.m4: New file.
64240         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
64241
64242 2000-07-15  Jim Meyering  <meyering@lucent.com>
64243
64244         * lib/makepath.c: Include quote.h.
64245         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
64246         corresponding argument in a `quote (...)' call.
64247         Give better diagnostics.
64248
64249         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
64250         (noinst_HEADERS): Add quote.h.
64251
64252         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
64253         from tar's src/misc.c.
64254         * lib/quote.h: New file.  Prototypes for same.
64255
64256 2000-07-14  Paul Eggert  <eggert@twinsun.com>
64257
64258         From a suggestion by Bruno Haible.
64259         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
64260         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
64261         to decide whether to define the BeOS workaround macro;
64262         this adjusts to the change to AC_MBSTATE_T.
64263
64264 2000-07-14  Jim Meyering  <meyering@lucent.com>
64265
64266         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
64267         jm_AC_TYPE_UINTMAX_T.
64268
64269 2000-07-13  Paul Eggert  <eggert@twinsun.com>
64270
64271         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
64272
64273         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
64274         quotearg_buffer_restyled): Add support for
64275         clocale_quoting_style.  Undo previous change to
64276         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
64277         and "{RIGHT QUOTATION MARK}" msgids.
64278
64279 2000-07-10  Paul Eggert  <eggert@twinsun.com>
64280
64281         From a suggestion by Bruno Haible.
64282         * m4/mbstate_t.m4 (AC_MBSTATE_T):
64283         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
64284         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
64285         and mbstate_t, to a single-part test that simply defines mbstate_t.
64286         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
64287         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
64288
64289 2000-07-10  Jim Meyering  <meyering@lucent.com>
64290
64291         * m4/strerror_r.m4: Mirror the correction made in autoconf.
64292
64293         * m4/gnu-source.m4: Output to confdefs.h directly.
64294         Suggestion from Akim Demaille.
64295
64296 2000-07-09  Paul Eggert  <eggert@twinsun.com>
64297
64298         The old behavior of quoting `like this' doesn't look good with
64299         newer, ISO-style fonts.  See:
64300         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
64301
64302         Instead, quote "like this" by default.  Let the translator
64303         tailor the locale-specific quoting behavior by providing
64304         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
64305
64306         * lib/quotearg.c (N_): New macro.
64307         (gettext_default): New function.
64308         (quotearg_buffer_restyled): Use
64309         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
64310         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
64311
64312 2000-07-09  Jim Meyering  <meyering@lucent.com>
64313
64314         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
64315         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
64316
64317         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
64318         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
64319
64320 2000-07-09  Jim Meyering  <meyering@lucent.com>
64321
64322         * lib/Most files: Update copyright dates to include 2000.
64323
64324 2000-07-08  Jim Meyering  <meyering@lucent.com>
64325
64326         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
64327         if not defined.
64328         (xgethostname): Remove now-unnecessary #ifdef.
64329         Move declaration of `err' into loop where it's used.
64330
64331 2000-07-05  Paul Eggert  <eggert@twinsun.com>
64332         and Bruno Haible  <haible@clisp.cons.org>
64333
64334         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
64335         only if the test for an object-type mbstate_t fails.  This
64336         prevents us from mistakenly reporting that mbstate_t is a
64337         system object type after we "#define mbstate_t int" to work
64338         around its lack.
64339
64340 2000-07-05  Paul Eggert  <eggert@twinsun.com>
64341         and Bruno Haible  <haible@clisp.cons.org>
64342
64343         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
64344
64345 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
64346
64347         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
64348         to strerror_r.
64349         Include <ctype.h> for use of isalpha.
64350
64351 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
64352
64353         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
64354         by allocating a larger buffer. Test the gethostname return value for
64355         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
64356         returns an error and ENAMETOOLONG isn't defined.
64357
64358 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
64359
64360         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
64361         dimension.
64362
64363 2000-07-04  Jim Meyering  <meyering@lucent.com>
64364
64365         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
64366         of the deprecated AC_CHECKING.
64367
64368 2000-07-04  Jim Meyering  <meyering@lucent.com>
64369
64370         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
64371         Reported by Bruno Haible.
64372
64373 2000-07-04  Jim Meyering  <meyering@lucent.com>
64374
64375         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
64376         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
64377         lacks mbrtowc.
64378
64379 2000-07-03  Paul Eggert  <eggert@twinsun.com>
64380
64381         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
64382         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
64383
64384 2000-07-03  Paul Eggert  <eggert@twinsun.com>
64385         and Bruno Haible  <haible@clisp.cons.org>
64386
64387         * lib/quotearg.c (mbrtowc):
64388         Assign to *pwc, and return 1 only if result is nonzero.
64389         (iswprint): Use ISPRINT when substituting our own mbrtowc.
64390
64391 2000-07-03  Jim Meyering  <meyering@lucent.com>
64392
64393         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
64394
64395 2000-07-03  Jim Meyering  <meyering@lucent.com>
64396
64397         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
64398         This is necessary to get a definition of e.g., UTMP_FILE on
64399         HP-UX 10.20.
64400         From Bob Proulx.
64401
64402 2000-07-02  Jim Meyering  <meyering@lucent.com>
64403
64404         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
64405
64406         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
64407         AC_LIBOBJ(function_name).
64408         * m4/chown.m4: Likewise.
64409         * m4/fnmatch.m4: Likewise.
64410         * m4/ftruncate.m4: Likewise.
64411         * m4/getgroups.m4: Likewise.
64412         * m4/getline.m4: Likewise.
64413         * m4/group-member.m4: Likewise.
64414         * m4/jm-macros.m4: Likewise.
64415         * m4/lstat.m4: Likewise.
64416         * m4/malloc.m4: Likewise.
64417         * m4/memcmp.m4: Likewise.
64418         * m4/nanosleep.m4: Likewise.
64419         * m4/putenv.m4: Likewise.
64420         * m4/realloc.m4: Likewise.
64421         * m4/regex.m4: Likewise.
64422         * m4/stat.m4: Likewise.
64423         * m4/strftime.m4: Likewise.
64424
64425 2000-07-02  Jim Meyering  <meyering@lucent.com>
64426
64427         * lib/quotearg.c (mbstate_t): Don't define here.
64428
64429 2000-07-02  Jim Meyering  <meyering@lucent.com>
64430
64431         * lib/nanosleep.c (SIGCONT): Define if not already defined.
64432
64433 2000-07-01  Jim Meyering  <meyering@lucent.com>
64434
64435         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
64436
64437 2000-07-01  Jim Meyering  <meyering@lucent.com>
64438
64439         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
64440         problem.
64441
64442 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
64443
64444         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
64445         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
64446
64447 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
64448
64449         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
64450         per change in ../m4/ls-mntd-fs.m4.
64451         (read_filesystem_list): Ignore symbolic links.
64452
64453 2000-06-29  Jim Meyering  <meyering@lucent.com>
64454
64455         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
64456         for declaration of strcmp.
64457
64458         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
64459
64460         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
64461         Avoid warning by casting result to `char *' to remove `const'.
64462
64463 2000-06-28  Jim Meyering  <meyering@lucent.com>
64464
64465         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
64466         included by quotearg.c, for which we perform this test.  From
64467         Bruno Haible.
64468
64469 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
64470
64471         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
64472         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
64473         <utmpx.h> exists, put readutmp.o into LIBOBJS.
64474
64475 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
64476
64477         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
64478
64479 2000-06-26  Paul Eggert  <eggert@twinsun.com>
64480
64481         savedir now sets errno on failure and invokes xmalloc to get memory.
64482         Fix a couple of other minor bugs while we're at it.
64483
64484         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
64485         (NAMLEN): Remove macro.
64486         (malloc, realloc): Remove decls.
64487         (stpcpy): Likewise.
64488         ("xalloc.h"): Include.
64489         (NAME_SIZE_DEFAULT): New macro.
64490         (savedir): Use xmalloc / xrealloc to allocate memory.
64491         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
64492         Skip "" directory entries.
64493         Use strlen to calculate directory entry length, since the old method
64494         is rarely used these days and isn't worth supporting.
64495         Don't use a pointer after freeing it.
64496         Check for integer overflow when calculating allocation size.
64497         Use memcpy to copy entries, instead of stpcpy.
64498         Set errno properly when returning NULL.
64499         Check for readdir error.
64500
64501 2000-06-26  Jim Meyering  <meyering@lucent.com>
64502
64503         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
64504
64505 2000-06-25  Jim Meyering  <meyering@lucent.com>
64506
64507         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
64508         Linux header bug when _XOPEN_SOURCE is defined to 500.
64509
64510 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
64511
64512         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
64513         deficiency.
64514
64515 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
64516
64517         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
64518         Include xalloc.h.
64519         Don't include <stdlib.h>.  Don't declare malloc, realloc.
64520
64521 2000-06-24  Jim Meyering  <meyering@lucent.com>
64522
64523         * m4/strerror_r.m4: Revive this file -- to try out an experimental
64524         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
64525         for which strerror does return char*, but which lacks a conveniently
64526         accessible declaration of the function.  If the compile-test says
64527         strerror_r doesn't work, then resort to a `run'-test that works on
64528         BeOS and segfaults on DEC Unix.
64529
64530 2000-06-24  Jim Meyering  <meyering@lucent.com>
64531
64532         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
64533
64534 2000-06-23  Paul Eggert  <eggert@twinsun.com>
64535
64536         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
64537         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
64538
64539 2000-06-23  Paul Eggert  <eggert@twinsun.com>
64540
64541         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
64542         (mbrtowc, mbstate_t): Define substitutes if
64543         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
64544         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
64545         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
64546
64547 2000-06-23  Jim Meyering  <meyering@lucent.com>
64548
64549         * m4/afs.m4: Add missing AC_MSG_RESULT.
64550         Reported by Bruno Haible.
64551
64552         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
64553         Suggestion from Bruno Haible.
64554
64555 2000-06-23  Jim Meyering  <meyering@lucent.com>
64556
64557         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
64558
64559 2000-06-21  Jim Meyering  <meyering@lucent.com>
64560
64561         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
64562
64563 2000-06-21  Jim Meyering  <meyering@lucent.com>
64564
64565         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
64566         (noinst_HEADERS): Add getstr.h.
64567
64568         * lib/getline.c (getstr): Move into a separate file.
64569         * lib/getstr.c (getstr): New file, extracted from getline.c, with
64570         the following changes: new parameter, delim2; both delim[12]
64571         parameters have type `int', not `char'.  The latter would lose
64572         with 8-bit delimiters.
64573         * lib/getstr.h: New file.
64574
64575 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
64576
64577         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
64578         than 1024, return a memory chunk of least possible size, instead
64579         of size PATH_MAX + 2. In the loop, increment the size proportionally.
64580         Use free/xmalloc instead of xrealloc to avoid copying for very long
64581         paths.
64582
64583 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
64584
64585         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
64586         the empty string.
64587
64588 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
64589
64590         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
64591         address, not strdup.  Include <stdlib.h> and don't declare free().
64592
64593 2000-06-19  Jim Meyering  <meyering@lucent.com>
64594
64595         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
64596
64597 2000-06-18  Jim Meyering  <meyering@lucent.com>
64598
64599         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
64600
64601         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
64602         `checking whether...' message to be consistent with that of the
64603         lstat test.
64604
64605 2000-06-18  Jim Meyering  <meyering@lucent.com>
64606
64607         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
64608         Besides, these days every porting target provides a mkdir function.
64609
64610         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
64611         needed. (this snippet comes from src/system.h).
64612
64613 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
64614
64615         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
64616
64617 2000-06-15  Paul Eggert  <eggert@twinsun.com>
64618
64619         * lib/human.c (adjust_value): New function.
64620         (human_readable_inexact): Apply rounding style even when
64621         printing approximate values.
64622
64623 2000-06-14  Paul Eggert  <eggert@twinsun.com>
64624
64625         * lib/human.c (human_readable_inexact): Allow an input block
64626         size that is not a multiple of the output block size, and vice versa.
64627         Reported by Piergiorgio Sartor.
64628
64629 2000-06-14  Paul Eggert  <eggert@twinsun.com>
64630
64631         * lib/getdate.y (get_date): Apply relative times after time
64632         zone indicator, not before.  Reported by Todd A. Jacobs.
64633
64634 2000-06-13  Jim Meyering  <meyering@lucent.com>
64635
64636         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
64637
64638         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
64639
64640 2000-06-12  Paul Eggert  <eggert@twinsun.com>
64641
64642         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
64643
64644 2000-06-12  Jim Meyering  <meyering@lucent.com>
64645
64646         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
64647         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
64648         optional argument.
64649         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
64650         the optional argument, `lib'.
64651
64652 2000-06-08  Jim Meyering  <meyering@lucent.com>
64653
64654         * m4/largefile.m4: Remove file (now that it's part of autoconf).
64655
64656 2000-06-04  Paul Eggert  <eggert@twinsun.com>
64657
64658         Rewrite largefile configuration so that we don't need to run
64659         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
64660         AC_CANONICAL_HOST in configure.in -- jmm]
64661
64662         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
64663         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
64664         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
64665         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
64666         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
64667         All uses changed.
64668         Instead of inspecting the output of getconf, try to compile the
64669         test program without and with the macro definition.
64670         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
64671         for getconf.  Instead, check for the needed flags by compiling
64672         test programs.
64673
64674 2000-06-04  Paul Eggert  <eggert@twinsun.com>
64675
64676         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
64677
64678 2000-06-04  Jim Meyering  <meyering@lucent.com>
64679
64680         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
64681         SunOS 4.1.4 for which gid_t is an unsigned type.
64682
64683 2000-06-03  Jim Meyering  <meyering@lucent.com>
64684
64685         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
64686         now that autoconf requires that.
64687
64688         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
64689         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
64690         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
64691
64692 2000-06-03  Jim Meyering  <meyering@lucent.com>
64693
64694         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
64695
64696 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
64697
64698         * m4/glibc21.m4: New file.
64699         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
64700
64701 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
64702
64703         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
64704         newer, don't install charset.alias.
64705         * lib/config.charset: Change the Linux/glibc rules so they become empty
64706         on glibc-2.1 or newer.
64707
64708 2000-06-02  Jim Meyering  <meyering@lucent.com>
64709
64710         * lib/mountlist.c: Back out last change.  Instead, do this...
64711         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
64712         me_dummy member using the same `ignore'-testing code.
64713         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
64714         fs_type strings.
64715         From Mark D. Roth.
64716
64717 2000-05-29  Jim Meyering  <meyering@lucent.com>
64718
64719         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
64720         mounts with the `ignore' attribute.  Based on a patch from
64721         Mark D. Roth.
64722
64723 2000-05-28  Jim Meyering  <meyering@lucent.com>
64724
64725         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
64726         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
64727         * m4/stat.m4: Likewise.
64728         * m4/lstat.m4: Likewise.
64729         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
64730
64731         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
64732         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
64733
64734 2000-05-26  Jim Meyering  <meyering@lucent.com>
64735
64736         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
64737
64738 2000-05-24  Jim Meyering  <meyering@lucent.com>
64739
64740         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
64741         autoconf requires that.
64742         * m4/lib-check.m4: Likewise.
64743         * m4/jm-macros.m4: Likewise.
64744         * m4/strftime.m4: Likewise.
64745
64746         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
64747         AC_CHECK_DECLS, now that autoconf requires that.
64748
64749 2000-05-22  Jim Meyering  <meyering@lucent.com>
64750
64751         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
64752         * m4/lstat.m4: Likewise.
64753
64754 2000-05-22  Jim Meyering  <meyering@lucent.com>
64755
64756         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
64757
64758 2000-05-20  Jim Meyering  <meyering@lucent.com>
64759
64760         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
64761         (jm_PREREQ): Use it.
64762
64763 2000-05-18  Jim Meyering  <meyering@lucent.com>
64764
64765         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
64766         back, too, since it may have been modified by allocate_entry.
64767         (hash_delete): Rewrite to use neither the assignment operator
64768         nor the comma operator in an if-expression.
64769
64770 2000-05-15  Paul Eggert  <eggert@twinsun.com>
64771
64772         * lib/closeout.c:
64773         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
64774         Remove; no longer needed.
64775         "quotearg.h": Add include.
64776         (file_name): Do not bother to explicitly initialize to NULL; it's less
64777         efficient on some hosts.
64778         (close_stdout_status): Remove test as to whether stdout was already
64779         closed; it breaks for the case "echo x | sort >&-".
64780         Quote file name colons.
64781         Do not assume that _("write error") lacks format strings.
64782
64783 2000-05-15  Jim Meyering  <meyering@lucent.com>
64784
64785         * lib/version-etc.c (version_etc_copyright): Update the copyright
64786         string used in all --version output.
64787
64788 2000-05-14  Jim Meyering  <meyering@lucent.com>
64789
64790         * lib/closeout.c (close_stdout_set_file_name): New function.
64791         (close_stdout_status): Use new file-scoped global.
64792         Return right away if fstat says the stdout file descriptor is invalid.
64793         * lib/closeout.h (close_stdout_set_file_name): Declare.
64794
64795 2000-05-10  Jim Meyering  <meyering@lucent.com>
64796
64797         * lib/closeout.c [default_exit_status]: New file-scoped variable.
64798         (close_stdout_set_status): New function.
64799         * lib/closeout.h (close_stdout_set_status): Declare.
64800
64801 2000-05-09  Jim Meyering  <meyering@lucent.com>
64802
64803         * m4/gettext.m4: Rename this...
64804         * m4/libintl.m4: ...to this.
64805
64806 2000-05-08  Jim Meyering  <meyering@lucent.com>
64807
64808         * lib/long-options.c: Don't include closeout.h.
64809         (parse_long_options): Don't call close_stdout for --version.
64810
64811 2000-05-06  Paul Eggert  <eggert@twinsun.com>
64812
64813         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
64814         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
64815         2.1.3 bug.  This avoids a clash when files like regex.c define
64816         _GNU_SOURCE.
64817
64818 2000-05-06  Jim Meyering  <meyering@lucent.com>
64819
64820         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
64821         (AC_REPLACE_FUNCS): Add strnlen.
64822
64823         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
64824         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
64825
64826         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
64827         AC_SEARCH_LIBS call for nanosleep.
64828         (LIB_NANOSLEEP): Set and AC_SUBST.
64829
64830 2000-05-06  Jim Meyering  <meyering@lucent.com>
64831
64832         * lib/strnlen.c: Undefine __strnlen and strnlen.
64833         [!weak_alias]: Define __strnlen to strnlen.
64834
64835         * lib/atexit.c: New file, from libiberty.
64836
64837 2000-05-06  Jim Meyering  <meyering@lucent.com>
64838
64839         * lib/closeout.c (close_stdout_status): Also check for errors on the
64840         stderr stream.
64841
64842 2000-05-05  Jim Meyering  <meyering@lucent.com>
64843
64844         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
64845         AC_SEARCH_LIBS call for clock_gettime.
64846         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
64847
64848         * m4/search-libs.m4: Update from autoconf.
64849
64850         su doesn't work on Solaris 2.6.
64851         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
64852         <shadow.h>.  Reported by Dragos Harabor.
64853
64854 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
64855
64856         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
64857         memcpy instead of xmalloc, xrealloc, path_concat.
64858         (locale_charset): Treat empty environment variables as absent.
64859         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
64860
64861 2000-05-04  Jim Meyering  <meyering@lucent.com>
64862
64863         * lib/getopt.c: Update from glibc.
64864         * lib/obstack.c: Likewise.
64865         * lib/obstack.h: Likewise.
64866         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
64867         file
64868
64869         * lib/regex.h: Likewise.
64870         * lib/strndup.c: Likewise.
64871         * lib/strnlen.c: New file, from glibc.
64872
64873 2000-05-03  Jim Meyering  <meyering@lucent.com>
64874
64875         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
64876
64877 2000-05-02  Paul Eggert  <eggert@twinsun.com>
64878
64879         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
64880         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
64881         compile-time test, rather than inspecting host and OS, to
64882         decide whether to define _LARGEFILE_SOURCE.
64883
64884 2000-05-01  Jim Meyering  <meyering@lucent.com>
64885
64886         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
64887
64888         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
64889         Based on a patch from Bruno Haible.
64890
64891 2000-05-01  Jim Meyering  <meyering@lucent.com>
64892
64893         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
64894
64895 2000-04-29  Jim Meyering  <meyering@lucent.com>
64896
64897         * lib/path-concat.c: Declare strdup only if it's not defined.
64898         * lib/canon-host.c: Likewise.
64899
64900 2000-04-28  Jim Meyering  <meyering@lucent.com>
64901
64902         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
64903         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
64904         is included first, then limits.h is included by locale.h by libintl.h.
64905         From John David Anglin.
64906
64907 2000-04-25  Jim Meyering  <meyering@lucent.com>
64908
64909         * lib/makepath.c (S_IRWXUGO): Define.
64910         (make_path): Always perform explicit chmod if MODE specifies any
64911         of the `special' permission bits.  Prompted by a bug report against
64912         install from Mate Wierdl and Joost van Baal.
64913
64914 2000-04-18  Jim Meyering  <meyering@lucent.com>
64915
64916         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
64917         (jm_PREREQ): Use it.
64918
64919 2000-04-18  Jim Meyering  <meyering@lucent.com>
64920
64921         * lib/README: New file.
64922
64923         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
64924         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
64925
64926 2000-04-17  Jim Meyering  <meyering@lucent.com>
64927
64928         Get it right :-)
64929         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
64930         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
64931         Suggestion from Akim Demaille.
64932
64933 2000-04-17  Jim Meyering  <meyering@lucent.com>
64934
64935         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
64936         the definition of it to rpl_strftime also defined-away the system's
64937         declaration.
64938
64939 2000-04-15  Jim Meyering  <meyering@lucent.com>
64940
64941         Use `C' to denote so-called `contiguous' files, the same way
64942         that tar does.
64943         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
64944         (ftypelet): Use S_ISCTG.
64945         From Michael Deutschmann.
64946
64947 2000-04-14  Jim Meyering  <meyering@lucent.com>
64948
64949         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
64950         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
64951         clobbered.
64952
64953 2000-04-14  Jim Meyering  <meyering@lucent.com>
64954
64955         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
64956
64957 2000-04-13  Jim Meyering  <meyering@lucent.com>
64958
64959         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
64960         AH_VERBATIM to insert required #ifndef into config.h.in.
64961         Suggestion from Akim Demaille.
64962
64963 2000-04-12  Jim Meyering  <meyering@lucent.com>
64964
64965         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
64966         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
64967         Christian Krackowizer.
64968
64969         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
64970         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
64971         (AC_SYS_LARGEFILE): Require.
64972         (AM_C_PROTOTYPES): Require.
64973
64974 2000-04-08  Jim Meyering  <meyering@lucent.com>
64975
64976         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
64977         names don't conflict.  Reported by Eli Zaretskii.
64978
64979 2000-04-07  Jim Meyering  <meyering@lucent.com>
64980
64981         * lib/putenv.c: Move inclusion of errno.h so it follows that of
64982         sys/types.h, to work around system header problems on AIX 3.2.5.
64983         From Bruno Haible.
64984
64985 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
64986
64987         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
64988         bug.  Deal with the different error behavior of Irix iconv.
64989
64990 2000-04-05  Paul Eggert  <eggert@twinsun.com>
64991
64992         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
64993         IRIX if the installer said otherwise.
64994
64995 2000-04-05  Jim Meyering  <meyering@lucent.com>
64996
64997         Portability tweaks required for ultrix4.3.
64998         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
64999         (jm_CHECK_DECLS): Add getutent to the list of functions.
65000         (_jm_DECL_HEADERS): Add utmpx.h.
65001         From John David Anglin.
65002
65003         * m4/strftime.m4: Back out the 2000-04-02 change.
65004         Instead of that change, simply undefine putenv in the test program.
65005
65006 2000-04-05  Jim Meyering  <meyering@lucent.com>
65007
65008         Portability tweaks required for ultrix4.3.
65009         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
65010         getutent.
65011         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
65012         * lib/canon-host.c: Declare strdup.
65013         * lib/path-concat.c: Likewise.
65014         From John David Anglin.
65015
65016 2000-04-04  Jim Meyering  <meyering@lucent.com>
65017
65018         Be more DOS 8.3-friendly.
65019         * lib/ref-add.sin: Renamed from ref-add.sed.in.
65020         * lib/ref-del.sin: Renamed from ref-del.sed.in.
65021         * lib/Makefile.am: Reflect renaming.
65022         Reported by Eli Zaretskii.
65023
65024         Use a temporary file name that won't clash with `charset.alias'
65025         in the DOS 8.3 name space.
65026         * lib/Makefile.am (charset_tmp): Define.
65027         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
65028         (uninstall-local): Likewise.
65029         Reported by Eli Zaretskii.
65030
65031 2000-04-03  Jim Meyering  <meyering@lucent.com>
65032
65033         * m4/gettext.m4: Fix typo in comment.
65034
65035         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
65036         textutils/configure.in).  Suggestion from Paul Eggert.
65037         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
65038
65039 2000-04-02  Paul Eggert  <eggert@twinsun.com>
65040
65041         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
65042         variable in the shell rather than using putenv, which isn't
65043         portable.  This avoids the configure-time inter-test dependency
65044         on the potentially-renamed putenv function.
65045
65046 2000-03-30  Paul Eggert  <eggert@twinsun.com>
65047
65048         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
65049         before checking struct stat.st_blksize, so that
65050         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
65051
65052 2000-03-29  Paul Eggert  <eggert@twinsun.com>
65053
65054         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
65055         since strftime.c uses HAVE_STRFTIME to decide whether to use
65056         the underlying strftime.
65057
65058 2000-03-29  Paul Eggert  <eggert@twinsun.com>
65059
65060         * lib/time/strftime.c (my_strftime): Make sure we call the system
65061         strftime, not ourselves, when invoking the underlying strftime.
65062
65063 2000-03-24  Jim Meyering  <meyering@lucent.com>
65064
65065         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
65066         (charset_alias): Define.
65067         (install-exec-local): Factor out common code.
65068         (uninstall-local): Split lines longer than 80.
65069         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
65070         (SUFFIXES): Define.
65071         (.sed.in.sed): New rule.  Don't redirect directly to $@.
65072         (CLEANFILES): Add ref-add.sed and ref-del.sed.
65073
65074 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
65075
65076         * lib/config.charset: Output a line containing "Packages using this
65077         file".
65078         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
65079         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
65080         ref-del.sed): New rules.
65081
65082 2000-03-17  Jim Meyering  <meyering@lucent.com>
65083
65084         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
65085         Otherwise, include <strings.h>
65086
65087 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
65088
65089         * lib/unicodeio.c (utf8_wctomb): New function.
65090         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
65091         format instead of in UCS-4 with platform dependent endianness.
65092
65093 2000-03-10  Jim Meyering  <meyering@lucent.com>
65094
65095         * m4/lib-check.m4: Look for getspnam in -lgen, too.
65096         From Marco Franzen.
65097
65098 2000-03-07  Paul Eggert  <eggert@twinsun.com>
65099
65100         * lib/savedir.c (savedir): Work even if directory size is
65101         negative; this can happen with some screwy NFS configurations.
65102
65103 2000-03-06  Jim Meyering  <meyering@lucent.com>
65104
65105         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
65106         if it's NULL (because we ran out of memory).  From Bruno Haible.
65107
65108 2000-03-05  Jim Meyering  <meyering@lucent.com>
65109
65110         * lib/localcharset.c ("path-concat.h"): Include.
65111         (get_charset_aliases): Use path_concat instead of ANSI string
65112         concatenation.
65113
65114         * lib/unicodeio.h (PARAMS): Define.
65115         Use it to guard prototype.
65116
65117 2000-03-04  Jim Meyering  <meyering@lucent.com>
65118
65119         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
65120         for lib/localcharset.c.
65121
65122 2000-03-04  Jim Meyering  <meyering@lucent.com>
65123
65124         * lib/Makefile.am (install-exec-local): Create $(libdir) before
65125         installing into it.
65126         (uninstall-local): Uncomment this rule so `make distcheck' works
65127         once again.
65128
65129         * lib/unicodeio.c (<errno.h>): Include it.
65130         (errno): Declare if not defined.
65131
65132         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
65133
65134         * lib/config.charset: New version, incorporating remarks from a linux
65135         i18n mailing list.  From Bruno Haible.
65136
65137 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
65138
65139         * m4/codeset.m4: New file.
65140         * m4/iconv.m4: New file.
65141         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
65142
65143 2000-03-03  Jim Meyering  <meyering@lucent.com>
65144
65145         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
65146
65147 2000-03-02  Jim Meyering  <meyering@lucent.com>
65148
65149         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
65150         the messages come out on separate lines.
65151
65152         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
65153         rather than jm_CHECK_DECLARATIONS.
65154         * m4/decl.m4: Remove now-unused file.
65155
65156         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
65157         geteuid.
65158
65159 2000-03-02  Jim Meyering  <meyering@lucent.com>
65160
65161         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
65162
65163 2000-03-01  Jim Meyering  <meyering@lucent.com>
65164
65165         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
65166         * lib/unicodeio.c: Likewise.
65167
65168 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
65169
65170         * lib/config.charset: New file.
65171         * lib/localcharset.c: New file.
65172         * lib/unicodeio.h, lib/unicodeio.c: New files.
65173         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
65174         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
65175         (noinst_HEADERS): Add unicodeio.h.
65176         (all-local, install-exec-local, charset.alias): New targets.
65177
65178 2000-02-28  Paul Eggert  <eggert@twinsun.com>
65179
65180         * lib/quotearg.c (ALERT_CHAR): New macro.
65181         (quotearg_buffer_restyled): Use it.
65182
65183 2000-02-27  Jim Meyering  <meyering@lucent.com>
65184
65185         * m4/check-decl.m4: Add getenv to the list.
65186
65187 2000-02-27  Jim Meyering  <meyering@lucent.com>
65188
65189         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
65190         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
65191
65192         * lib/backupfile.c: Guard inclusion of stdlib.h with
65193         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
65194         Declare malloc if needed.
65195
65196         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
65197         `#ifndef HAVE_DECL..'
65198         now that autoconf always defines the HAVE_DECL_ symbols.
65199         * lib/human.c: Likewise.
65200         * lib/same.c: Likewise.
65201         * lib/strtoumax.c: Likewise.
65202
65203         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
65204         declaration check was not run.
65205         * lib/hash.c: Likewise.
65206         * lib/human.c: Likewise.
65207         * lib/same.c: Likewise.
65208         * lib/strtoumax.c: Likewise.
65209
65210         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
65211         `.', then first look up the entire `.'-containing string as a login
65212         name.
65213
65214 2000-02-23  Jim Meyering  <meyering@lucent.com>
65215
65216         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
65217         in place of my hack.
65218
65219 2000-02-18  Paul Eggert  <eggert@twinsun.com>
65220
65221         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
65222         (textint): New typedef.
65223         (parser_control): Member year changed from int to textint.
65224         All uses changed.
65225         (YYSTYPE): Removed; replaced by %union with int and textint members.
65226         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
65227         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
65228         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
65229         (tSNUMBER, tUNUMBER): Now of type <textintval>.
65230         (date, number, to_year): Use width of number in digits, not its value,
65231         to determine whether it's a 2-digit year, or a 2-digit time.
65232         (yylex): Store number of digits of numeric tokens.
65233         Reported by John Kendall.
65234
65235         (parser_control): Changed from struct parser_control to typedef (for
65236         consistency).  All uses changed.
65237
65238         (tID): Removed; not used.
65239         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
65240
65241 2000-02-14  Paul Eggert  <eggert@twinsun.com>
65242
65243         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
65244         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
65245
65246 2000-02-12  Jim Meyering  <meyering@lucent.com>
65247
65248         * lib/userspec.c (ISDIGIT): Define it.
65249         (isdigit): Remove definition.
65250         (is_number): Use ISDIGIT, not isdigit.
65251         <libintl.h>: Include.
65252         (_ and N_): Define.
65253         (parse_user_spec): Mark translatable strings.
65254
65255 2000-02-10  Jim Meyering  <meyering@lucent.com>
65256
65257         With these changes, nanosleep.[ch] are finally enough like the other
65258         lib/* replacement files to compile on a few more losing systems.
65259
65260         * lib/nanosleep.h: Don't include config.h.
65261         Remove prototype from declaration of nanosleep.
65262         (PARAMS): Remove now-unneeded definition.
65263         * lib/nanosleep.c: #undef nanosleep.
65264         (rpl_nanosleep): Rename from nanosleep.
65265
65266 2000-02-10  Jim Meyering  <meyering@lucent.com>
65267
65268         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
65269         gnu_nanosleep to rpl_nanosleep.
65270
65271 2000-02-09  Jim Meyering  <meyering@lucent.com>
65272
65273         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
65274         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
65275
65276 2000-02-08  Akim Demaille  <akim@epita.fr>
65277
65278         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
65279         `[' and `]' and remove uses of `changequote'.
65280         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
65281         (AC_SYS_LARGEFILE): Likewise.
65282         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
65283         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
65284         of changequote.
65285         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
65286         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
65287         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
65288         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
65289
65290 2000-02-05  Jim Meyering  <meyering@lucent.com>
65291
65292         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
65293         Remove explicit use of AC_HEADER_TIME.  It is required by
65294         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
65295         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
65296         in autoconf whereby the expansion of the latter ended up preceding
65297         the expansion of its prerequisite, AC_HEADER_TIME.
65298         Reported by Volker Borchert.
65299
65300 2000-02-03  Jim Meyering  <meyering@lucent.com>
65301
65302         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
65303
65304 2000-02-03  Jim Meyering  <meyering@lucent.com>
65305
65306         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
65307         rather than with `#if HAVE_UTMPNAME'.
65308
65309 2000-02-02  Jim Meyering  <meyering@lucent.com>
65310
65311         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
65312         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
65313         Reported by Eli Zaretskii.
65314
65315 2000-02-01  Jim Meyering  <meyering@lucent.com>
65316
65317         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
65318
65319 2000-01-31  Jim Meyering  <meyering@lucent.com>
65320
65321         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
65322         functions.  Add the time.h and sys/time.h headers along with the
65323         AC_REQUIRE'ment of AC_HEADER_TIME.
65324
65325 2000-01-31  Jim Meyering  <meyering@lucent.com>
65326
65327         * lib/nanosleep.h (nanosleep): Guard declaration with
65328         `#if ! HAVE_DECL_NANOSLEEP'.
65329         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
65330         the declaration in that vendor's sys/timers.h.
65331         Reported by Christian Krackowizer.
65332
65333         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
65334         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
65335         (ISPRINT): Likewise.
65336         Reported by Tom Tromey.
65337
65338 2000-01-30  Jim Meyering  <meyering@lucent.com>
65339
65340         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
65341
65342         * m4/prereq.m4 (utmp_includes): Define.
65343         Check for ut_user and ut_name members in both struct utmpx
65344         and struct utmp.
65345
65346 2000-01-30  Jim Meyering  <meyering@lucent.com>
65347
65348         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
65349         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
65350         header files where only utmpx.ut_user is declared.
65351
65352         * lib/readutmp.h (UT_USER): Define.
65353
65354 2000-01-29  Jim Meyering  <meyering@lucent.com>
65355
65356         * m4/lib-check.m4: New file containing library-related checks from
65357         fileutils and sh-utils (textutils had none).
65358
65359 2000-01-28  Jim Meyering  <meyering@lucent.com>
65360
65361         * m4/perl.m4: Change format of warning message to look more like that
65362         from the missing script.  Suggestion from François Pinard.
65363
65364 2000-01-25  Jim Meyering  <meyering@lucent.com>
65365
65366         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
65367         well as time.h in the compile check.
65368         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
65369         Fix typo in cross-compiling case: s/yes/no/.
65370
65371 2000-01-23  Jim Meyering  <meyering@lucent.com>
65372
65373         * m4/jm-macros.m4: Move df-related tests here from
65374         fileutils/configure.in
65375
65376         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
65377         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
65378
65379         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
65380         s/space/ac_fsusage_space/.
65381         (jm_FILE_SYSTEM_USAGE): Take two parameters.
65382
65383         * m4/ftruncate.m4: New file (derived from part of
65384         fileutils/configure.in).
65385         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
65386         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
65387
65388         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
65389         AC_SUBST these here, rather than just in sh-util/configure.in, so
65390         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
65391         all the same.
65392         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
65393         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
65394         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
65395         (AC_SUBST(POW_LIBM)): Likewise.
65396         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
65397
65398 2000-01-23  Jim Meyering  <meyering@lucent.com>
65399
65400         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
65401         obstack.c.
65402
65403 2000-01-22  Jim Meyering  <meyering@lucent.com>
65404
65405         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
65406
65407         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
65408
65409         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
65410         configure.in
65411         (AC_CHECK_HEADERS): Likewise for sh-utils.
65412         (AC_CHECK_HEADERS): Likewise for textutils.
65413         Merge the three lists of headers.
65414
65415         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
65416         from fileutils' configure.in.
65417
65418         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
65419         code. Moved tests into their own function (_jm_DECL_HEADERS) in
65420         check-decl.m4.
65421
65422         * m4/check-decl.m4: Use #if rather than #ifdef.
65423         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
65424         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
65425         (_jm_DECL_HEADERS): Define new function.
65426         (jm_CHECK_DECLARATIONS): Require it.
65427
65428 2000-01-22  Jim Meyering  <meyering@lucent.com>
65429
65430         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
65431         [! HAVE_DECL_STRTOULL]: Declare strtoull.
65432         Required for some AIX systems.  Reported by Christian Krackowizer.
65433         [TESTING] (main): New function.
65434
65435         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
65436         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
65437         letters.
65438
65439         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
65440         iswprint.
65441
65442         * lib/strverscmp.c (ISDIGIT): Define.
65443         (strverscmp): Use ISDIGIT, not isdigit.
65444
65445 2000-01-19  Jim Meyering  <meyering@lucent.com>
65446
65447         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
65448         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
65449         defines `struct timespec' in <sys/time.h>
65450
65451         * m4/c-bs-a.m4: Remove uses of changequote altogether.
65452         Thanks to Akim for explaining.
65453
65454 2000-01-17  Paul Eggert  <eggert@twinsun.com>
65455
65456         * lib/nanosleep.c (nanosleep):
65457         Don't use SA_INTERRUPT to decide whether to call sigaction, as
65458         POSIX.1 doesn't require SA_INTERRUPT and some systems
65459         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
65460         it's been part of POSIX.1 since day 1 (in 1988).
65461
65462 2000-01-17  Jim Meyering  <meyering@lucent.com>
65463
65464         * lib/interlock: Remove unused file.  Reported by François Pinard.
65465
65466 2000-01-16  Paul Eggert  <eggert@twinsun.com>
65467
65468         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
65469         alert, backslash, formfeed, and vertical tab unnecessarily in
65470         shell quoting style.
65471
65472 2000-01-16  Jim Meyering  <meyering@lucent.com>
65473
65474         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
65475         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
65476         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
65477         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
65478
65479 2000-01-16  Jim Meyering  <meyering@lucent.com>
65480
65481         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
65482         because the latter didn't work.
65483
65484 2000-01-15  Jim Meyering  <meyering@lucent.com>
65485
65486         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
65487         (AC_REPLACE_FUNCS): Add memcpy and memset.
65488         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
65489         Add strpbrk.
65490         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
65491
65492 2000-01-12  Jim Meyering  <meyering@lucent.com>
65493
65494         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
65495         (jm_PREREQ): Use it.
65496         (jm_PREREQ_READUTMP): New macro.
65497         (jm_PREREQ): Use it.
65498
65499 2000-01-11  Paul Eggert  <eggert@twinsun.com>
65500
65501         Quote multibyte characters correctly.
65502         * m4/c-bs-a.m4: New file.
65503         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
65504         (jm_PREREQ): Use it.
65505
65506 2000-01-11  Paul Eggert  <eggert@twinsun.com>
65507
65508         * m4/uintmax_t.m4: Port to autoconf 2.13.
65509
65510 2000-01-08  Jim Meyering  <meyering@ascend.com>
65511
65512         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
65513         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
65514
65515 2000-01-04  Jim Meyering  <meyering@ascend.com>
65516
65517         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
65518         jm_STRUCT_DIRENT_D_TYPE.
65519         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
65520         jm_STRUCT_DIRENT_D_INO.
65521         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
65522         jm_STRUCT_UTIMBUF.
65523         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
65524         renamings.
65525         * m4/utime.m4: Likewise.
65526
65527         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
65528         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
65529
65530 2000-01-03  Paul Eggert  <eggert@twinsun.com>
65531
65532         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
65533         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
65534
65535 2000-01-02  Jim Meyering  <meyering@ascend.com>
65536
65537         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
65538         remember if this is necessary.
65539
65540 1999-12-26  Jim Meyering  <meyering@ascend.com>
65541
65542         * m4/jm-macros.m4: Use it here.
65543         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
65544
65545 1999-12-23  Jim Meyering  <meyering@ascend.com>
65546
65547         * m4/jm-macros.m4: Check for clock_gettime (moved from
65548         fileutils/configure.in)
65549         Check for gettimeofday.
65550
65551 1999-12-20  Jim Meyering  <meyering@ascend.com>
65552
65553         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
65554         autoconf-2.14a-1999-12-20.
65555
65556 1999-12-19  Jim Meyering  <meyering@ascend.com>
65557
65558         * m4/lstat-slash.m4: New file.
65559         * m4/jm-macros.m4: Use the new macro:
65560         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
65561
65562 1999-12-07  Jim Meyering  <meyering@ascend.com>
65563
65564         * m4/perl.m4: Require that File::Compare be available, too.
65565         Too many systems seem to lack it.
65566
65567         * m4/strftime.m4: Add checks for most of the cpp macros tested in
65568         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
65569
65570 1999-11-18  Paul Eggert  <eggert@twinsun.com>
65571
65572         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
65573         problem with the QNX 4.25 shell, which doesn't propagate exit
65574         status of failed commands inside shell assignments.
65575
65576 1999-11-17  Jim Meyering  <meyering@ascend.com>
65577
65578         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
65579
65580 1999-11-07  Jim Meyering  <meyering@ascend.com>
65581
65582         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
65583
65584 1999-11-06  Jim Meyering  <meyering@ascend.com>
65585
65586         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
65587         * m4/jm-macros.m4 (jm_MACROS): Use it here.
65588
65589 1999-11-05  Jim Meyering  <meyering@ascend.com>
65590
65591         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
65592         configure.in of textutils, fileutils, and sh-utils into this one
65593         (shared between those packages) file.
65594         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
65595         AC_STRUCT_ST_BLKSIZE.
65596
65597 1999-11-03  Jim Meyering  <meyering@ascend.com>
65598
65599         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
65600         of AC_CHECK_TYPE checks includes unistd.h.
65601         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
65602         Suggestion from Akim Demaille.
65603
65604 1999-10-30  Jim Meyering  <meyering@ascend.com>
65605
65606         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
65607         m4-quoted string.
65608         * m4/ls-mntd-fs.m4: Likewise.
65609         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
65610         * m4/jm-winsz1.m4: Likewise.
65611
65612         * m4/const.m4: Remove file, since the fix made it into the experimental
65613         version of autoconf.
65614         * m4/mktime.m4: Likewise.
65615
65616         * m4/check-type.m4: Remove file, now that the latest version of
65617         AC_CHECK_TYPE takes a third arg to specify additional #includes.
65618
65619         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
65620         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
65621         AC_CHECK_TYPE.
65622
65623 1999-10-04  Jim Meyering  <meyering@ascend.com>
65624
65625         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
65626
65627 1999-09-22  Paul Eggert  <eggert@twinsun.com>
65628
65629         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
65630         2.95.1 bug with HP-UX 10.20.
65631
65632 1999-09-17  Jim Meyering  <meyering@ascend.com>
65633
65634         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
65635         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
65636         due to missing strdup (against sh-utils-2.0).
65637
65638 1999-08-29  Jim Meyering  <meyering@ascend.com>
65639
65640         * m4/jm-macros.m4: Require jm_BISON.
65641         * m4/bison.m4: New file.
65642
65643 1999-08-17  Paul Eggert  <eggert@twinsun.com>
65644
65645         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
65646         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
65647
65648 1999-08-05  Jim Meyering  <meyering@ascend.com>
65649
65650         * m4/getline.m4: Rename test file from conftestdata to conftest.data
65651         to avoid conflicts with `conftest' on 8+3 filesystems.
65652         Suggestion from Eli Zaretskii.
65653
65654 1999-08-04  Jim Meyering  <meyering@ascend.com>
65655
65656         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
65657         fileutils and sh-utils (textutils's getline test was inadequate).
65658         (AM_FUNC_GETLINE): Run this test.
65659         (AC_CHECK_FUNCS): Check for getdelim.
65660         Reported by Bob Proulx.
65661
65662 1999-08-02  Jim Meyering  <meyering@ascend.com>
65663
65664         * m4/jm-macros.m4: Add a comment.
65665
65666 1999-08-01  Paul Eggert  <eggert@twinsun.com>
65667
65668         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
65669         <inttypes.h> defines strtoumax as a macro (and not as a
65670         function).
65671
65672 1999-08-01  Paul Eggert  <eggert@twinsun.com>
65673
65674         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
65675         that we can shift, multiply and divide unsigned long long
65676         values; Ultrix cc can't do it.
65677
65678 1999-08-01  Paul Eggert  <eggert@twinsun.com>
65679
65680         * m4/mktime.m4: New file, which is a preview of what should appear
65681         in the next public autoconf release.
65682
65683 1999-08-01  Paul Eggert  <eggert@twinsun.com>
65684
65685         * m4/lfs.m4: Remove this file.
65686         * m4/largefile.m4: New file.  It contains the old contents of
65687         lfs.m4, except that all names with prefix AC_LFS have been
65688         changed to use the prefix AC_SYS_LARGEFILE instead, to be
65689         compatible with future autoconf versions.  Also, some minor m4
65690         quoting problems have been fixed.
65691
65692 1999-08-01  Paul Eggert  <eggert@twinsun.com>
65693
65694         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
65695         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
65696         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
65697         and simplify the shell code.
65698
65699 1999-08-01  Jim Meyering  <meyering@ascend.com>
65700
65701         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
65702         m4.
65703
65704 1999-07-20  Jim Meyering  <meyering@ascend.com>
65705
65706         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
65707
65708 1999-07-15  Jim Meyering  <meyering@ascend.com>
65709
65710         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
65711
65712 1999-05-22  Jim Meyering  <meyering@ascend.com>
65713
65714         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
65715
65716 1999-05-20  Jim Meyering  <meyering@ascend.com>
65717
65718         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
65719         Add a colon after each `then' in case $4 is empty.
65720
65721 1999-05-16  Jim Meyering  <meyering@ascend.com>
65722
65723         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
65724
65725 1999-05-10  Jim Meyering  <meyering@ascend.com>
65726
65727         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
65728
65729         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
65730         AC_FUNC_MKTIME.
65731
65732 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
65733
65734         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
65735
65736 1999-05-04  Paul Eggert  <eggert@twinsun.com>
65737
65738         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
65739         not CPPFLAGS, so that linking works correctly in IRIX.
65740
65741 1999-04-30  Paul Eggert  <eggert@twinsun.com>
65742
65743         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
65744
65745 1999-04-20  Paul Eggert  <eggert@twinsun.com>
65746
65747         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
65748         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
65749         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
65750         jm_AC_TYPE_UNSIGNED_LONG_LONG.
65751         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
65752
65753         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
65754
65755 1999-04-20  Jim Meyering  <meyering@ascend.com>
65756
65757         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
65758         AC_REPLACE xstroull if necessary.  From Paul Eggert.
65759         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
65760
65761 1999-04-18  Jim Meyering  <meyering@ascend.com>
65762
65763         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
65764         * m4/jm-macros.m4: Use it.
65765
65766 1999-04-06  Jim Meyering  <meyering@ascend.com>
65767
65768         * m4/strftime.m4: Remove test for %f.
65769
65770 1999-03-29  Jim Meyering  <meyering@ascend.com>
65771
65772         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
65773         superset of the AC_TYPE_* checks in the textutils, fileutils,
65774         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
65775         AC_TYPE_PID_T.
65776
65777 1999-03-28  Jim Meyering  <meyering@ascend.com>
65778
65779         * m4/jm-macros.m4: Define GNU_PACKAGE here.
65780         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
65781         replaced e.g., in the *.sh files of the sh-utils.
65782
65783 1999-03-20  Jim Meyering  <meyering@ascend.com>
65784
65785         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
65786         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
65787         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
65788
65789 1999-03-19  Jim Meyering  <meyering@ascend.com>
65790
65791         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
65792
65793 1999-03-12  Jim Meyering  <meyering@ascend.com>
65794
65795         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
65796
65797 1999-03-07  Jim Meyering  <meyering@ascend.com>
65798
65799         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
65800         declared.
65801
65802 1999-02-17  Jim Meyering  <meyering@ascend.com>
65803
65804         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
65805         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
65806
65807 1999-02-07  Jim Meyering  <meyering@ascend.com>
65808
65809         * m4/group-member.m4: New file -- extracted from sh-utils'
65810         configure.in.
65811
65812         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
65813         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
65814
65815 1999-02-06  Jim Meyering  <meyering@ascend.com>
65816
65817         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
65818         * m4/fnmatch.m4: Likewise.
65819         * m4/getgroups.m4: Likewise.
65820         * m4/lstat.m4: Likewise.
65821         * m4/malloc.m4: Likewise.
65822         * m4/putenv.m4: Likewise.
65823         * m4/realloc.m4: Likewise.
65824         * m4/regex.m4: Likewise.
65825         * m4/stat.m4: Likewise.
65826         * m4/strftime.m4: Likewise.
65827         Suggestion from Alain Magloire.
65828
65829         * m4/chown.m4: Use `.$ac_objext', not `.o'.
65830         * m4/fnmatch.m4: Likewise.
65831         * m4/getgroups.m4: Likewise.
65832         * m4/getline.m4: Likewise.
65833         * m4/lstat.m4: Likewise.
65834         * m4/malloc.m4: Likewise.
65835         * m4/memcmp.m4: Likewise.
65836         * m4/putenv.m4: Likewise.
65837         * m4/realloc.m4: Likewise.
65838         * m4/regex.m4: Likewise.
65839         * m4/stat.m4: Likewise.
65840         * m4/strftime.m4: Likewise.
65841         Suggestion from Alain Magloire.
65842
65843         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
65844         an argument.
65845
65846         * m4/regex.m4: Add a run-time Test for proper operation of
65847         re_compile_pattern.
65848
65849 1999-01-31  Jim Meyering  <meyering@ascend.com>
65850
65851         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
65852
65853 1999-01-30  Jim Meyering  <meyering@ascend.com>
65854
65855         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
65856
65857         * m4/jm-mktime.m4: Make this a wrapper around the official
65858         AM_FUNC_MKTIME rather than my private copy, now that the official one
65859         is up to date.
65860         * m4/mktime.m4: Remove file.
65861
65862         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
65863         * m4/uptime.m4: Likewise.
65864         * m4/uintmax_t.m4: Likewise.
65865
65866 1999-01-28  Jim Meyering  <meyering@ascend.com>
65867
65868         * m4/jm-macros.m4: Use jm_AFS.
65869         * m4/afs.m4: New file (from fileutils' configure.in).
65870
65871         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
65872         * m4/chown.m4: Likewise.
65873         * m4/d-ino.m4: Likewise.
65874         * m4/d-type.m4: Likewise.
65875         * m4/fnmatch.m4: Likewise.
65876         * m4/getgroups.m4: Likewise.
65877         * m4/gettext.m4: Likewise.
65878         * m4/jm-mktime.m4: Likewise.
65879         * m4/jm-winsz2.m4: Likewise.
65880         * m4/lcmessage.m4: Likewise.
65881         * m4/ls-mntd-fs.m4: Likewise.
65882         * m4/malloc.m4: Likewise.
65883         * m4/memcmp.m4: Likewise.
65884         * m4/putenv.m4: Likewise.
65885         * m4/realloc.m4: Likewise.
65886         * m4/st_mtim.m4: Likewise.
65887         * m4/strftime.m4: Likewise.
65888
65889 1999-01-16  Jim Meyering  <meyering@ascend.com>
65890
65891         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
65892         (ARGMATCH_DIE_DECL): Define.
65893
65894 1999-01-12  Jim Meyering  <meyering@ascend.com>
65895
65896         * m4/Makefile.am.in: Rewrite to avoid using fmt.
65897         Reported by Lars Hecking.
65898
65899 1999-01-10  Jim Meyering  <meyering@ascend.com>
65900
65901         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
65902         gross kludge.
65903         * m4/inttypes_h.m4: Likewise.
65904         * m4/lstat.m4: Likewise.
65905         * m4/malloc.m4: Likewise.
65906         * m4/readdir.m4: Likewise.
65907         * m4/realloc.m4: Likewise.
65908         * m4/st_dm_mode.m4: Likewise.
65909         * m4/stat.m4: Likewise.
65910         * m4/utimbuf.m4: Likewise.
65911         * m4/utimes.m4: Likewise.
65912
65913         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
65914         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
65915         comments in config.h.in are meaningful.
65916
65917         * m4/jm-macros.m4: Require autoconf-2.13 here.
65918
65919         * m4/regex.m4: By default, don't use the included regex.c on systems
65920         with glibc 2.  Suggestion from Uli Drepper.
65921
65922 1999-01-02  Jim Meyering  <meyering@ascend.com>
65923
65924         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
65925
65926 1998-12-18  Jim Meyering  <meyering@ascend.com>
65927
65928         * m4/Makefile.am.in (Makefile.am): Simplify rule.
65929         Based on a suggestion from Lars Hecking.
65930
65931 1998-11-16  Paul Eggert  <eggert@twinsun.com>
65932
65933         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
65934
65935 1998-11-16  Jim Meyering  <meyering@ascend.com>
65936
65937         * m4/lfs.m4: Double-quote the `uname...` expression.
65938
65939 1998-11-14  Jim Meyering  <meyering@ascend.com>
65940
65941         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
65942         * m4/stat.m4: Likewise.
65943
65944 1998-11-03  Jim Meyering  <meyering@ascend.com>
65945
65946         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
65947         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
65948
65949 1998-10-18  Jim Meyering  <meyering@ascend.com>
65950
65951         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
65952
65953 1998-10-17  Jim Meyering  <meyering@ascend.com>
65954
65955         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
65956         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
65957         calls for those previously hard-coded headers.  Instead, take a new
65958         parameter.
65959         (jm_CHECK_DECLARATIONS): Reflect interface change.
65960         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
65961         (jm_CHECK_DECL_LOCALTIME_R): New macro.
65962
65963         * m4/mktime.m4: Test for spring-forward gap before long-running test.
65964
65965 1998-10-14  Jim Meyering  <meyering@ascend.com>
65966
65967         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
65968         instead of "TZ=America/Vancouver".  From Paul Eggert.
65969
65970 1998-10-11  Jim Meyering  <meyering@ascend.com>
65971
65972         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
65973         This adds a test for a recently added compatibility fix for mktime.c.
65974         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
65975
65976 1998-09-27  Jim Meyering  <meyering@ascend.com>
65977
65978         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
65979
65980         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
65981         ../configure.in, including a change from Gordon Matzigkeit to allow
65982         cross-compiling for the Hurd.
65983
65984         * m4/glibc.m4: New file/macro to test for the GNU C Library
65985         versions 1 and 2.  From Gordon Matzigkeit.
65986         Indent.
65987
65988 1998-09-21  Jim Meyering  <meyering@ascend.com>
65989
65990         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
65991
65992 1998-08-18  Paul Eggert  <eggert@twinsun.com>
65993
65994         Port nanosecond-resolution times to UnixWare 2.1.2 and
65995         pedantic Solaris 2.6.
65996
65997         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
65998         AC_STRUCT_ST_MTIM.
65999         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
66000         Generate name of ns member, instead of just 1 or undef.
66001         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
66002
66003 1998-08-15  Jim Meyering  <meyering@ascend.com>
66004
66005         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
66006         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
66007         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
66008         instead of jm_TYPE_SSIZE_T.
66009
66010 1998-08-12  Jim Meyering  <meyering@ascend.com>
66011
66012         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
66013
66014 1998-08-02  Jim Meyering  <meyering@ascend.com>
66015
66016         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
66017         in acconfig.h manually.
66018
66019 1998-07-31  Paul Eggert  <eggert@twinsun.com>
66020
66021         * m4/st_mtim.m4: New file.
66022
66023 1998-07-28  Jim Meyering  <meyering@ascend.com>
66024
66025         * m4/utimes.m4: Undef stat.
66026
66027 1998-07-25  Jim Meyering  <meyering@ascend.com>
66028
66029         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
66030         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
66031
66032 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
66033
66034         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
66035         uid and gid actually remain unchanged.
66036
66037 1998-07-07  Jim Meyering  <meyering@ascend.com>
66038
66039         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
66040
66041 1998-07-04  Jim Meyering  <meyering@ascend.com>
66042
66043         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
66044         to prove that this macro can be used in packages without regex.c.
66045
66046 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
66047
66048         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
66049         is to be used.
66050
66051 1998-07-03  Jim Meyering  <meyering@ascend.com>
66052
66053         * m4/gettext.m4: Add -lintl if it's found to be necessary.
66054
66055         * m4/gettext.m4: New file -- from gettext-0.10.35.
66056         * m4/lcmessage.m4: Likewise.
66057         * m4/progtest.m4: Likewise.
66058
66059         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
66060         * m4/jm-macros.m4: Require the new macro.
66061
66062 1998-06-29  Jim Meyering  <meyering@ascend.com>
66063
66064         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
66065         for the definition of NGROUPS (used in a system header included
66066         by sys/mount.h).
66067
66068 1998-06-28  Jim Meyering  <meyering@ascend.com>
66069
66070         * m4/ls-mntd-fs.m4: New file.
66071         * m4/fstypename.m4: New file.
66072
66073         * m4/jm-macros.m4: Require the new macro.
66074         * m4/jm-glibc-io.m4: New file.
66075
66076 1998-05-19  Jim Meyering  <meyering@ascend.com>
66077
66078         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
66079         * m4/lchown.m4: New file.
66080
66081         * m4/Makefile.am.in: New file.
66082         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
66083
66084 1998-05-14  Jim Meyering  <meyering@ascend.com>
66085
66086         * m4/Makefile.am (EXTRA_DIST): Add them.
66087         * m4/jm-macros.m4: New file.
66088         * m4/utimbuf.m4: New file.
66089
66090 1998-05-12  Jim Meyering  <meyering@ascend.com>
66091
66092         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
66093
66094 1998-05-11  Jim Meyering  <meyering@ascend.com>
66095
66096         * m4/isc-posix.m4: New file.
66097
66098 1998-05-10  Jim Meyering  <meyering@ascend.com>
66099
66100         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
66101
66102 1998-05-09  Jim Meyering  <meyering@ascend.com>
66103
66104         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
66105         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
66106         with automake.
66107
66108         * m4/ssize_t.m4: New file.
66109         * m4/mktime.m4: Remove file -- the new automake has this now.
66110
66111 1998-04-26  Jim Meyering  <meyering@ascend.com>
66112
66113         * m4/assert.m4: New file.
66114         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
66115
66116 1998-04-05  Jim Meyering  <meyering@ascend.com>
66117
66118         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
66119         (jm_PREREQ): Use it here.
66120
66121 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
66122
66123         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
66124         in acconfig.h.
66125
66126 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
66127
66128         * m4/prereq.m4: New file.
66129         * m4/error.m4: New file.
66130         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
66131
66132 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
66133
66134         * m4/getline.m4: Don't set am_cv_func_working_getline before the
66135         cache-check for the same variable -- that defeated the purpose of
66136         the test; the test program was never run.  This was a problem only
66137         on systems with losing getline functions -- HP-UX 10.20 is one.
66138         Reported by Bjorn Helgaas.
66139
66140 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
66141
66142         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
66143
66144 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
66145
66146         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
66147
66148         * m4/const.m4: New file.  Use an initializer in this declaration
66149         typedef int charset[2]; const charset x;
66150         Reported by Bob Glickstein.
66151
66152 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
66153
66154         * m4/chown.m4: Fix reversed types on -1 args to chown.
66155         From Kaveh Ghazi.
66156
66157 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
66158
66159         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
66160         Add lseek and memchr.
66161
66162         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
66163         T.E.Dickey <dickey@clark.net> said that some older preprocessors
66164         have a 20-character limit on names.
66165
66166 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
66167
66168         * m4/inttypes_h.m4: New file.
66169         * m4/uintmax_t.m4: New file.
66170         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
66171
66172
66173         -----
66174
66175         Local Variables:
66176         coding: utf-8
66177         End:
66178
66179         Copyright (C) 1997-2010 Free Software Foundation, Inc.
66180
66181         Copying and distribution of this file, with or without
66182         modification, are permitted provided the copyright notice
66183         and this notice are preserved.